diff --git a/.github/actions/did-custom-action-code-change/dist/index.js b/.github/actions/did-custom-action-code-change/dist/index.js index 2df5417..aba2b22 100644 --- a/.github/actions/did-custom-action-code-change/dist/index.js +++ b/.github/actions/did-custom-action-code-change/dist/index.js @@ -1,18 +1,47 @@ -var __commonJS = (cb, mod) => - function __require() { - return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - }; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // node_modules/@actions/core/lib/utils.js var require_utils = __commonJS({ - 'node_modules/@actions/core/lib/utils.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/@actions/core/lib/utils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.toCommandProperties = exports2.toCommandValue = void 0; function toCommandValue(input) { if (input === null || input === void 0) { - return ''; - } else if (typeof input === 'string' || input instanceof String) { + return ""; + } else if (typeof input === "string" || input instanceof String) { return input; } return JSON.stringify(input); @@ -37,62 +66,49 @@ var require_utils = __commonJS({ // node_modules/@actions/core/lib/command.js var require_command = __commonJS({ - 'node_modules/@actions/core/lib/command.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__createBinding) || - (Object.create - ? function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[k]; - } - }); - } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/@actions/core/lib/command.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = 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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.issue = exports2.issueCommand = void 0; - var os = __importStar(require('os')); + var os = __importStar(require("os")); var utils_1 = require_utils(); function issueCommand(command, properties, message) { const cmd = new Command(command, properties, message); process.stdout.write(cmd.toString() + os.EOL); } exports2.issueCommand = issueCommand; - function issue(name, message = '') { + function issue(name, message = "") { issueCommand(name, {}, message); } exports2.issue = issue; - var CMD_STRING = '::'; + var CMD_STRING = "::"; var Command = class { constructor(command, properties, message) { if (!command) { - command = 'missing.command'; + command = "missing.command"; } this.command = command; this.properties = properties; @@ -101,7 +117,7 @@ var require_command = __commonJS({ toString() { let cmdStr = CMD_STRING + this.command; if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; + cmdStr += " "; let first = true; for (const key in this.properties) { if (this.properties.hasOwnProperty(key)) { @@ -110,7 +126,7 @@ var require_command = __commonJS({ if (first) { first = false; } else { - cmdStr += ','; + cmdStr += ","; } cmdStr += `${key}=${escapeProperty(val)}`; } @@ -122,577 +138,379 @@ var require_command = __commonJS({ } }; function escapeData(s) { - return utils_1.toCommandValue(s).replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A'); + return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); } function escapeProperty(s) { - return utils_1 - .toCommandValue(s) - .replace(/%/g, '%25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A') - .replace(/:/g, '%3A') - .replace(/,/g, '%2C'); + return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); } } }); -// node_modules/uuid/dist/rng.js -var require_rng = __commonJS({ - 'node_modules/uuid/dist/rng.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = rng; - var _crypto = _interopRequireDefault(require('crypto')); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var rnds8Pool = new Uint8Array(256); - var poolPtr = rnds8Pool.length; - function rng() { - if (poolPtr > rnds8Pool.length - 16) { - _crypto.default.randomFillSync(rnds8Pool); - poolPtr = 0; - } - return rnds8Pool.slice(poolPtr, (poolPtr += 16)); - } +// node_modules/uuid/dist/esm-node/rng.js +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + import_crypto.default.randomFillSync(rnds8Pool); + poolPtr = 0; + } + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} +var import_crypto, rnds8Pool, poolPtr; +var init_rng = __esm({ + "node_modules/uuid/dist/esm-node/rng.js"() { + import_crypto = __toESM(require("crypto")); + rnds8Pool = new Uint8Array(256); + poolPtr = rnds8Pool.length; } }); -// node_modules/uuid/dist/regex.js -var require_regex = __commonJS({ - 'node_modules/uuid/dist/regex.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _default = - /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/regex.js +var regex_default; +var init_regex = __esm({ + "node_modules/uuid/dist/esm-node/regex.js"() { + regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; } }); -// node_modules/uuid/dist/validate.js -var require_validate = __commonJS({ - 'node_modules/uuid/dist/validate.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _regex = _interopRequireDefault(require_regex()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function validate(uuid) { - return typeof uuid === 'string' && _regex.default.test(uuid); - } - var _default = validate; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/validate.js +function validate(uuid) { + return typeof uuid === "string" && regex_default.test(uuid); +} +var validate_default; +var init_validate = __esm({ + "node_modules/uuid/dist/esm-node/validate.js"() { + init_regex(); + validate_default = validate; } }); -// node_modules/uuid/dist/stringify.js -var require_stringify = __commonJS({ - 'node_modules/uuid/dist/stringify.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _validate = _interopRequireDefault(require_validate()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var byteToHex = []; +// node_modules/uuid/dist/esm-node/stringify.js +function stringify(arr, offset = 0) { + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); + if (!validate_default(uuid)) { + throw TypeError("Stringified UUID is invalid"); + } + return uuid; +} +var byteToHex, stringify_default; +var init_stringify = __esm({ + "node_modules/uuid/dist/esm-node/stringify.js"() { + init_validate(); + byteToHex = []; for (let i = 0; i < 256; ++i) { byteToHex.push((i + 256).toString(16).substr(1)); } - function stringify(arr, offset = 0) { - const uuid = ( - byteToHex[arr[offset + 0]] + - byteToHex[arr[offset + 1]] + - byteToHex[arr[offset + 2]] + - byteToHex[arr[offset + 3]] + - '-' + - byteToHex[arr[offset + 4]] + - byteToHex[arr[offset + 5]] + - '-' + - byteToHex[arr[offset + 6]] + - byteToHex[arr[offset + 7]] + - '-' + - byteToHex[arr[offset + 8]] + - byteToHex[arr[offset + 9]] + - '-' + - byteToHex[arr[offset + 10]] + - byteToHex[arr[offset + 11]] + - byteToHex[arr[offset + 12]] + - byteToHex[arr[offset + 13]] + - byteToHex[arr[offset + 14]] + - byteToHex[arr[offset + 15]] - ).toLowerCase(); - if (!(0, _validate.default)(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - return uuid; - } - var _default = stringify; - exports2.default = _default; + stringify_default = stringify; } }); -// node_modules/uuid/dist/v1.js -var require_v1 = __commonJS({ - 'node_modules/uuid/dist/v1.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _rng = _interopRequireDefault(require_rng()); - var _stringify = _interopRequireDefault(require_stringify()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var _nodeId; - var _clockseq; - var _lastMSecs = 0; - var _lastNSecs = 0; - function v1(options, buf, offset) { - let i = (buf && offset) || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node || _nodeId; - let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || _rng.default)(); - if (node == null) { - node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - if (clockseq == null) { - clockseq = _clockseq = ((seedBytes[6] << 8) | seedBytes[7]) & 16383; - } - } - let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); - let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; - if (dt < 0 && options.clockseq === void 0) { - clockseq = (clockseq + 1) & 16383; - } - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { - nsecs = 0; - } - if (nsecs >= 1e4) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; - msecs += 122192928e5; - const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; - b[i++] = (tl >>> 24) & 255; - b[i++] = (tl >>> 16) & 255; - b[i++] = (tl >>> 8) & 255; - b[i++] = tl & 255; - const tmh = ((msecs / 4294967296) * 1e4) & 268435455; - b[i++] = (tmh >>> 8) & 255; - b[i++] = tmh & 255; - b[i++] = ((tmh >>> 24) & 15) | 16; - b[i++] = (tmh >>> 16) & 255; - b[i++] = (clockseq >>> 8) | 128; - b[i++] = clockseq & 255; - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - return buf || (0, _stringify.default)(b); - } - var _default = v1; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/v1.js +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + if (node == null) { + node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + if (clockseq == null) { + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; + } + } + let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); + let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + if (dt < 0 && options.clockseq === void 0) { + clockseq = clockseq + 1 & 16383; + } + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + nsecs = 0; + } + if (nsecs >= 1e4) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; + msecs += 122192928e5; + const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; + b[i++] = tl >>> 24 & 255; + b[i++] = tl >>> 16 & 255; + b[i++] = tl >>> 8 & 255; + b[i++] = tl & 255; + const tmh = msecs / 4294967296 * 1e4 & 268435455; + b[i++] = tmh >>> 8 & 255; + b[i++] = tmh & 255; + b[i++] = tmh >>> 24 & 15 | 16; + b[i++] = tmh >>> 16 & 255; + b[i++] = clockseq >>> 8 | 128; + b[i++] = clockseq & 255; + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + return buf || stringify_default(b); +} +var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; +var init_v1 = __esm({ + "node_modules/uuid/dist/esm-node/v1.js"() { + init_rng(); + init_stringify(); + _lastMSecs = 0; + _lastNSecs = 0; + v1_default = v1; } }); -// node_modules/uuid/dist/parse.js -var require_parse = __commonJS({ - 'node_modules/uuid/dist/parse.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _validate = _interopRequireDefault(require_validate()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function parse(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - let v; - const arr = new Uint8Array(16); - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = (v >>> 16) & 255; - arr[2] = (v >>> 8) & 255; - arr[3] = v & 255; - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 255; - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 255; - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 255; - arr[10] = ((v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776) & 255; - arr[11] = (v / 4294967296) & 255; - arr[12] = (v >>> 24) & 255; - arr[13] = (v >>> 16) & 255; - arr[14] = (v >>> 8) & 255; - arr[15] = v & 255; - return arr; - } - var _default = parse; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/parse.js +function parse(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + let v; + const arr = new Uint8Array(16); + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 255; + arr[2] = v >>> 8 & 255; + arr[3] = v & 255; + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 255; + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 255; + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 255; + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; + arr[11] = v / 4294967296 & 255; + arr[12] = v >>> 24 & 255; + arr[13] = v >>> 16 & 255; + arr[14] = v >>> 8 & 255; + arr[15] = v & 255; + return arr; +} +var parse_default; +var init_parse = __esm({ + "node_modules/uuid/dist/esm-node/parse.js"() { + init_validate(); + parse_default = parse; } }); -// node_modules/uuid/dist/v35.js -var require_v35 = __commonJS({ - 'node_modules/uuid/dist/v35.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = _default; - exports2.URL = exports2.DNS = void 0; - var _stringify = _interopRequireDefault(require_stringify()); - var _parse = _interopRequireDefault(require_parse()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); - const bytes = []; - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - return bytes; +// node_modules/uuid/dist/esm-node/v35.js +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); + const bytes = []; + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + return bytes; +} +function v35_default(name, version2, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === "string") { + value = stringToBytes(value); } - var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; - exports2.DNS = DNS; - var URL2 = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; - exports2.URL = URL2; - function _default(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === 'string') { - value = stringToBytes(value); - } - if (typeof namespace === 'string') { - namespace = (0, _parse.default)(namespace); - } - if (namespace.length !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = (bytes[6] & 15) | version; - bytes[8] = (bytes[8] & 63) | 128; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - return buf; - } - return (0, _stringify.default)(bytes); - } - try { - generateUUID.name = name; - } catch (err) {} - generateUUID.DNS = DNS; - generateUUID.URL = URL2; - return generateUUID; + if (typeof namespace === "string") { + namespace = parse_default(namespace); } - } -}); - -// node_modules/uuid/dist/md5.js -var require_md5 = __commonJS({ - 'node_modules/uuid/dist/md5.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _crypto = _interopRequireDefault(require('crypto')); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; + if (namespace.length !== 16) { + throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); } - function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - return _crypto.default.createHash('md5').update(bytes).digest(); + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 15 | version2; + bytes[8] = bytes[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + return buf; } - var _default = md5; - exports2.default = _default; + return stringify_default(bytes); + } + try { + generateUUID.name = name; + } catch (err) { + } + generateUUID.DNS = DNS; + generateUUID.URL = URL2; + return generateUUID; +} +var DNS, URL2; +var init_v35 = __esm({ + "node_modules/uuid/dist/esm-node/v35.js"() { + init_stringify(); + init_parse(); + DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; + URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; } }); -// node_modules/uuid/dist/v3.js -var require_v3 = __commonJS({ - 'node_modules/uuid/dist/v3.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _v = _interopRequireDefault(require_v35()); - var _md = _interopRequireDefault(require_md5()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var v3 = (0, _v.default)('v3', 48, _md.default); - var _default = v3; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/md5.js +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto2.default.createHash("md5").update(bytes).digest(); +} +var import_crypto2, md5_default; +var init_md5 = __esm({ + "node_modules/uuid/dist/esm-node/md5.js"() { + import_crypto2 = __toESM(require("crypto")); + md5_default = md5; } }); -// node_modules/uuid/dist/v4.js -var require_v4 = __commonJS({ - 'node_modules/uuid/dist/v4.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _rng = _interopRequireDefault(require_rng()); - var _stringify = _interopRequireDefault(require_stringify()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function v4(options, buf, offset) { - options = options || {}; - const rnds = options.random || (options.rng || _rng.default)(); - rnds[6] = (rnds[6] & 15) | 64; - rnds[8] = (rnds[8] & 63) | 128; - if (buf) { - offset = offset || 0; - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - return buf; - } - return (0, _stringify.default)(rnds); - } - var _default = v4; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/v3.js +var v3, v3_default; +var init_v3 = __esm({ + "node_modules/uuid/dist/esm-node/v3.js"() { + init_v35(); + init_md5(); + v3 = v35_default("v3", 48, md5_default); + v3_default = v3; } }); -// node_modules/uuid/dist/sha1.js -var require_sha1 = __commonJS({ - 'node_modules/uuid/dist/sha1.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _crypto = _interopRequireDefault(require('crypto')); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - return _crypto.default.createHash('sha1').update(bytes).digest(); +// node_modules/uuid/dist/esm-node/v4.js +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); + rnds[6] = rnds[6] & 15 | 64; + rnds[8] = rnds[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; } - var _default = sha1; - exports2.default = _default; + return buf; + } + return stringify_default(rnds); +} +var v4_default; +var init_v4 = __esm({ + "node_modules/uuid/dist/esm-node/v4.js"() { + init_rng(); + init_stringify(); + v4_default = v4; } }); -// node_modules/uuid/dist/v5.js -var require_v5 = __commonJS({ - 'node_modules/uuid/dist/v5.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _v = _interopRequireDefault(require_v35()); - var _sha = _interopRequireDefault(require_sha1()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - var v5 = (0, _v.default)('v5', 80, _sha.default); - var _default = v5; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/sha1.js +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto3.default.createHash("sha1").update(bytes).digest(); +} +var import_crypto3, sha1_default; +var init_sha1 = __esm({ + "node_modules/uuid/dist/esm-node/sha1.js"() { + import_crypto3 = __toESM(require("crypto")); + sha1_default = sha1; } }); -// node_modules/uuid/dist/nil.js -var require_nil = __commonJS({ - 'node_modules/uuid/dist/nil.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _default = '00000000-0000-0000-0000-000000000000'; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/v5.js +var v5, v5_default; +var init_v5 = __esm({ + "node_modules/uuid/dist/esm-node/v5.js"() { + init_v35(); + init_sha1(); + v5 = v35_default("v5", 80, sha1_default); + v5_default = v5; } }); -// node_modules/uuid/dist/version.js -var require_version = __commonJS({ - 'node_modules/uuid/dist/version.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - exports2.default = void 0; - var _validate = _interopRequireDefault(require_validate()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - function version(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - return parseInt(uuid.substr(14, 1), 16); - } - var _default = version; - exports2.default = _default; +// node_modules/uuid/dist/esm-node/nil.js +var nil_default; +var init_nil = __esm({ + "node_modules/uuid/dist/esm-node/nil.js"() { + nil_default = "00000000-0000-0000-0000-000000000000"; } }); -// node_modules/uuid/dist/index.js -var require_dist = __commonJS({ - 'node_modules/uuid/dist/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { - value: true - }); - Object.defineProperty(exports2, 'v1', { - enumerable: true, - get: function () { - return _v.default; - } - }); - Object.defineProperty(exports2, 'v3', { - enumerable: true, - get: function () { - return _v2.default; - } - }); - Object.defineProperty(exports2, 'v4', { - enumerable: true, - get: function () { - return _v3.default; - } - }); - Object.defineProperty(exports2, 'v5', { - enumerable: true, - get: function () { - return _v4.default; - } - }); - Object.defineProperty(exports2, 'NIL', { - enumerable: true, - get: function () { - return _nil.default; - } - }); - Object.defineProperty(exports2, 'version', { - enumerable: true, - get: function () { - return _version.default; - } - }); - Object.defineProperty(exports2, 'validate', { - enumerable: true, - get: function () { - return _validate.default; - } - }); - Object.defineProperty(exports2, 'stringify', { - enumerable: true, - get: function () { - return _stringify.default; - } - }); - Object.defineProperty(exports2, 'parse', { - enumerable: true, - get: function () { - return _parse.default; - } - }); - var _v = _interopRequireDefault(require_v1()); - var _v2 = _interopRequireDefault(require_v3()); - var _v3 = _interopRequireDefault(require_v4()); - var _v4 = _interopRequireDefault(require_v5()); - var _nil = _interopRequireDefault(require_nil()); - var _version = _interopRequireDefault(require_version()); - var _validate = _interopRequireDefault(require_validate()); - var _stringify = _interopRequireDefault(require_stringify()); - var _parse = _interopRequireDefault(require_parse()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } +// node_modules/uuid/dist/esm-node/version.js +function version(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + return parseInt(uuid.substr(14, 1), 16); +} +var version_default; +var init_version = __esm({ + "node_modules/uuid/dist/esm-node/version.js"() { + init_validate(); + version_default = version; + } +}); + +// node_modules/uuid/dist/esm-node/index.js +var esm_node_exports = {}; +__export(esm_node_exports, { + NIL: () => nil_default, + parse: () => parse_default, + stringify: () => stringify_default, + v1: () => v1_default, + v3: () => v3_default, + v4: () => v4_default, + v5: () => v5_default, + validate: () => validate_default, + version: () => version_default +}); +var init_esm_node = __esm({ + "node_modules/uuid/dist/esm-node/index.js"() { + init_v1(); + init_v3(); + init_v4(); + init_v5(); + init_nil(); + init_version(); + init_validate(); + init_stringify(); + init_parse(); } }); // node_modules/@actions/core/lib/file-command.js var require_file_command = __commonJS({ - 'node_modules/@actions/core/lib/file-command.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__createBinding) || - (Object.create - ? function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[k]; - } - }); - } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/@actions/core/lib/file-command.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = 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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.prepareKeyValueMessage = exports2.issueFileCommand = void 0; - var fs = __importStar(require('fs')); - var os = __importStar(require('os')); - var uuid_1 = require_dist(); + var fs = __importStar(require("fs")); + var os = __importStar(require("os")); + var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); var utils_1 = require_utils(); function issueFileCommand(command, message) { const filePath = process.env[`GITHUB_${command}`]; @@ -703,7 +521,7 @@ var require_file_command = __commonJS({ throw new Error(`Missing file at path: ${filePath}`); } fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { - encoding: 'utf8' + encoding: "utf8" }); } exports2.issueFileCommand = issueFileCommand; @@ -724,24 +542,29 @@ var require_file_command = __commonJS({ // node_modules/@actions/http-client/lib/proxy.js var require_proxy = __commonJS({ - 'node_modules/@actions/http-client/lib/proxy.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); + "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:'; + const usingSsl = reqUrl.protocol === "https:"; if (checkBypass(reqUrl)) { return void 0; } const proxyVar = (() => { if (usingSsl) { - return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + return process.env["https_proxy"] || process.env["HTTPS_PROXY"]; } else { - return process.env['http_proxy'] || process.env['HTTP_PROXY']; + return process.env["http_proxy"] || process.env["HTTP_PROXY"]; } })(); if (proxyVar) { - return new URL(proxyVar); + try { + return new DecodedURL(proxyVar); + } catch (_a) { + if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) + return new DecodedURL(`http://${proxyVar}`); + } } else { return void 0; } @@ -751,47 +574,65 @@ var require_proxy = __commonJS({ if (!reqUrl.hostname) { return false; } - const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + 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:') { + } else if (reqUrl.protocol === "http:") { reqPort = 80; - } else if (reqUrl.protocol === 'https:') { + } else if (reqUrl.protocol === "https:") { reqPort = 443; } const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === 'number') { + if (typeof reqPort === "number") { upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); } - for (const upperNoProxyItem of noProxy - .split(',') - .map(x => x.trim().toUpperCase()) - .filter(x => x)) { - if (upperReqHosts.some(x => x === upperNoProxyItem)) { + 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 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; + } + }; } }); // node_modules/tunnel/lib/tunnel.js var require_tunnel = __commonJS({ - 'node_modules/tunnel/lib/tunnel.js'(exports2) { - 'use strict'; - var net = require('net'); - var tls = require('tls'); - var http = require('http'); - var https = require('https'); - var events = require('events'); - var assert = require('assert'); - var util = require('util'); + "node_modules/tunnel/lib/tunnel.js"(exports2) { + "use strict"; + var net = require("net"); + var tls = require("tls"); + var http = require("http"); + var https = require("https"); + var events = require("events"); + var assert = require("assert"); + var util = require("util"); exports2.httpOverHttp = httpOverHttp; exports2.httpsOverHttp = httpsOverHttp; exports2.httpOverHttps = httpOverHttps; @@ -827,7 +668,7 @@ var require_tunnel = __commonJS({ self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; self.requests = []; self.sockets = []; - self.on('free', function onFree(socket, host, port, localAddress) { + self.on("free", function onFree(socket, host, port, localAddress) { var options2 = toOptions(host, port, localAddress); for (var i = 0, len = self.requests.length; i < len; ++i) { var pending = self.requests[i]; @@ -849,19 +690,19 @@ var require_tunnel = __commonJS({ self.requests.push(options); return; } - self.createSocket(options, function (socket) { - socket.on('free', onFree); - socket.on('close', onCloseOrRemove); - socket.on('agentRemove', onCloseOrRemove); + self.createSocket(options, function(socket) { + socket.on("free", onFree); + socket.on("close", onCloseOrRemove); + socket.on("agentRemove", onCloseOrRemove); req.onSocket(socket); function onFree() { - self.emit('free', socket, options); + self.emit("free", socket, options); } function onCloseOrRemove(err) { self.removeSocket(socket); - socket.removeListener('free', onFree); - socket.removeListener('close', onCloseOrRemove); - socket.removeListener('agentRemove', onCloseOrRemove); + socket.removeListener("free", onFree); + socket.removeListener("close", onCloseOrRemove); + socket.removeListener("agentRemove", onCloseOrRemove); } }); }; @@ -870,11 +711,11 @@ var require_tunnel = __commonJS({ var placeholder = {}; self.sockets.push(placeholder); var connectOptions = mergeOptions({}, self.proxyOptions, { - method: 'CONNECT', - path: options.host + ':' + options.port, + method: "CONNECT", + path: options.host + ":" + options.port, agent: false, headers: { - host: options.host + ':' + options.port + host: options.host + ":" + options.port } }); if (options.localAddress) { @@ -882,21 +723,21 @@ var require_tunnel = __commonJS({ } if (connectOptions.proxyAuth) { connectOptions.headers = connectOptions.headers || {}; - connectOptions.headers['Proxy-Authorization'] = 'Basic ' + new Buffer(connectOptions.proxyAuth).toString('base64'); + connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); } - debug('making CONNECT request'); + debug("making CONNECT request"); var connectReq = self.request(connectOptions); connectReq.useChunkedEncodingByDefault = false; - connectReq.once('response', onResponse); - connectReq.once('upgrade', onUpgrade); - connectReq.once('connect', onConnect); - connectReq.once('error', onError); + connectReq.once("response", onResponse); + connectReq.once("upgrade", onUpgrade); + connectReq.once("connect", onConnect); + connectReq.once("error", onError); connectReq.end(); function onResponse(res) { res.upgrade = true; } function onUpgrade(res, socket, head) { - process.nextTick(function () { + process.nextTick(function() { onConnect(res, socket, head); }); } @@ -904,33 +745,40 @@ var require_tunnel = __commonJS({ connectReq.removeAllListeners(); socket.removeAllListeners(); if (res.statusCode !== 200) { - debug('tunneling socket could not be established, statusCode=%d', res.statusCode); + debug( + "tunneling socket could not be established, statusCode=%d", + res.statusCode + ); socket.destroy(); - var error = new Error('tunneling socket could not be established, statusCode=' + res.statusCode); - error.code = 'ECONNRESET'; - options.request.emit('error', error); + var error = new Error("tunneling socket could not be established, statusCode=" + res.statusCode); + error.code = "ECONNRESET"; + options.request.emit("error", error); self.removeSocket(placeholder); return; } if (head.length > 0) { - debug('got illegal response body from proxy'); + debug("got illegal response body from proxy"); socket.destroy(); - var error = new Error('got illegal response body from proxy'); - error.code = 'ECONNRESET'; - options.request.emit('error', error); + var error = new Error("got illegal response body from proxy"); + error.code = "ECONNRESET"; + options.request.emit("error", error); self.removeSocket(placeholder); return; } - debug('tunneling connection has established'); + debug("tunneling connection has established"); self.sockets[self.sockets.indexOf(placeholder)] = socket; return cb(socket); } function onError(cause) { connectReq.removeAllListeners(); - debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack); - var error = new Error('tunneling socket could not be established, cause=' + cause.message); - error.code = 'ECONNRESET'; - options.request.emit('error', error); + debug( + "tunneling socket could not be established, cause=%s\n", + cause.message, + cause.stack + ); + var error = new Error("tunneling socket could not be established, cause=" + cause.message); + error.code = "ECONNRESET"; + options.request.emit("error", error); self.removeSocket(placeholder); } }; @@ -942,18 +790,18 @@ var require_tunnel = __commonJS({ this.sockets.splice(pos, 1); var pending = this.requests.shift(); if (pending) { - this.createSocket(pending, function (socket2) { + this.createSocket(pending, function(socket2) { pending.request.onSocket(socket2); }); } }; function createSecureSocket(options, cb) { var self = this; - TunnelingAgent.prototype.createSocket.call(self, options, function (socket) { - var hostHeader = options.request.getHeader('host'); + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader("host"); var tlsOptions = mergeOptions({}, self.options, { socket, - servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + servername: hostHeader ? hostHeader.replace(/:.*$/, "") : options.host }); var secureSocket = tls.connect(0, tlsOptions); self.sockets[self.sockets.indexOf(socket)] = secureSocket; @@ -961,7 +809,7 @@ var require_tunnel = __commonJS({ }); } function toOptions(host, port, localAddress) { - if (typeof host === 'string') { + if (typeof host === "string") { return { host, port, @@ -973,7 +821,7 @@ var require_tunnel = __commonJS({ function mergeOptions(target) { for (var i = 1, len = arguments.length; i < len; ++i) { var overrides = arguments[i]; - if (typeof overrides === 'object') { + if (typeof overrides === "object") { var keys = Object.keys(overrides); for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { var k = keys[j]; @@ -987,17 +835,18 @@ var require_tunnel = __commonJS({ } var debug; if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function () { + debug = function() { var args = Array.prototype.slice.call(arguments); - if (typeof args[0] === 'string') { - args[0] = 'TUNNEL: ' + args[0]; + if (typeof args[0] === "string") { + args[0] = "TUNNEL: " + args[0]; } else { - args.unshift('TUNNEL:'); + args.unshift("TUNNEL:"); } console.error.apply(console, args); }; } else { - debug = function () {}; + debug = function() { + }; } exports2.debug = debug; } @@ -1005,13136 +854,18827 @@ var require_tunnel = __commonJS({ // node_modules/tunnel/index.js var require_tunnel2 = __commonJS({ - 'node_modules/tunnel/index.js'(exports2, module2) { + "node_modules/tunnel/index.js"(exports2, module2) { module2.exports = require_tunnel(); } }); -// node_modules/@actions/http-client/lib/index.js -var require_lib = __commonJS({ - 'node_modules/@actions/http-client/lib/index.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__createBinding) || - (Object.create - ? function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[k]; - } - }); - } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = - (exports2 && exports2.__awaiter) || - function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P - ? value - : new P(function (resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function (resolve, 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 ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.HttpClient = - exports2.isHttps = - exports2.HttpClientResponse = - exports2.HttpClientError = - exports2.getProxyUrl = - exports2.MediaTypes = - exports2.Headers = - exports2.HttpCodes = - void 0; - var http = __importStar(require('http')); - var https = __importStar(require('https')); - var pm = __importStar(require_proxy()); - var tunnel = __importStar(require_tunnel2()); - var HttpCodes; - (function (HttpCodes2) { - HttpCodes2[(HttpCodes2['OK'] = 200)] = 'OK'; - HttpCodes2[(HttpCodes2['MultipleChoices'] = 300)] = 'MultipleChoices'; - HttpCodes2[(HttpCodes2['MovedPermanently'] = 301)] = 'MovedPermanently'; - HttpCodes2[(HttpCodes2['ResourceMoved'] = 302)] = 'ResourceMoved'; - HttpCodes2[(HttpCodes2['SeeOther'] = 303)] = 'SeeOther'; - HttpCodes2[(HttpCodes2['NotModified'] = 304)] = 'NotModified'; - HttpCodes2[(HttpCodes2['UseProxy'] = 305)] = 'UseProxy'; - HttpCodes2[(HttpCodes2['SwitchProxy'] = 306)] = 'SwitchProxy'; - HttpCodes2[(HttpCodes2['TemporaryRedirect'] = 307)] = 'TemporaryRedirect'; - HttpCodes2[(HttpCodes2['PermanentRedirect'] = 308)] = 'PermanentRedirect'; - HttpCodes2[(HttpCodes2['BadRequest'] = 400)] = 'BadRequest'; - HttpCodes2[(HttpCodes2['Unauthorized'] = 401)] = 'Unauthorized'; - HttpCodes2[(HttpCodes2['PaymentRequired'] = 402)] = 'PaymentRequired'; - HttpCodes2[(HttpCodes2['Forbidden'] = 403)] = 'Forbidden'; - HttpCodes2[(HttpCodes2['NotFound'] = 404)] = 'NotFound'; - HttpCodes2[(HttpCodes2['MethodNotAllowed'] = 405)] = 'MethodNotAllowed'; - HttpCodes2[(HttpCodes2['NotAcceptable'] = 406)] = 'NotAcceptable'; - HttpCodes2[(HttpCodes2['ProxyAuthenticationRequired'] = 407)] = 'ProxyAuthenticationRequired'; - HttpCodes2[(HttpCodes2['RequestTimeout'] = 408)] = 'RequestTimeout'; - HttpCodes2[(HttpCodes2['Conflict'] = 409)] = 'Conflict'; - HttpCodes2[(HttpCodes2['Gone'] = 410)] = 'Gone'; - HttpCodes2[(HttpCodes2['TooManyRequests'] = 429)] = 'TooManyRequests'; - HttpCodes2[(HttpCodes2['InternalServerError'] = 500)] = 'InternalServerError'; - HttpCodes2[(HttpCodes2['NotImplemented'] = 501)] = 'NotImplemented'; - HttpCodes2[(HttpCodes2['BadGateway'] = 502)] = 'BadGateway'; - HttpCodes2[(HttpCodes2['ServiceUnavailable'] = 503)] = 'ServiceUnavailable'; - HttpCodes2[(HttpCodes2['GatewayTimeout'] = 504)] = 'GatewayTimeout'; - })((HttpCodes = exports2.HttpCodes || (exports2.HttpCodes = {}))); - var Headers; - (function (Headers2) { - Headers2['Accept'] = 'accept'; - Headers2['ContentType'] = 'content-type'; - })((Headers = exports2.Headers || (exports2.Headers = {}))); - var MediaTypes; - (function (MediaTypes2) { - MediaTypes2['ApplicationJson'] = 'application/json'; - })((MediaTypes = exports2.MediaTypes || (exports2.MediaTypes = {}))); - function getProxyUrl(serverUrl) { - const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; - } - exports2.getProxyUrl = getProxyUrl; - var HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect - ]; - var HttpResponseRetryCodes = [HttpCodes.BadGateway, HttpCodes.ServiceUnavailable, HttpCodes.GatewayTimeout]; - var RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; - var ExponentialBackoffCeiling = 10; - var ExponentialBackoffTimeSlice = 5; - var HttpClientError = class extends Error { - constructor(message, statusCode) { +// node_modules/undici/lib/core/symbols.js +var require_symbols = __commonJS({ + "node_modules/undici/lib/core/symbols.js"(exports2, module2) { + module2.exports = { + kClose: Symbol("close"), + kDestroy: Symbol("destroy"), + kDispatch: Symbol("dispatch"), + kUrl: Symbol("url"), + kWriting: Symbol("writing"), + kResuming: Symbol("resuming"), + kQueue: Symbol("queue"), + kConnect: Symbol("connect"), + kConnecting: Symbol("connecting"), + kHeadersList: Symbol("headers list"), + kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), + kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), + kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), + kKeepAliveTimeoutValue: Symbol("keep alive timeout"), + kKeepAlive: Symbol("keep alive"), + kHeadersTimeout: Symbol("headers timeout"), + kBodyTimeout: Symbol("body timeout"), + kServerName: Symbol("server name"), + kLocalAddress: Symbol("local address"), + kHost: Symbol("host"), + kNoRef: Symbol("no ref"), + kBodyUsed: Symbol("used"), + kRunning: Symbol("running"), + kBlocking: Symbol("blocking"), + kPending: Symbol("pending"), + kSize: Symbol("size"), + kBusy: Symbol("busy"), + kQueued: Symbol("queued"), + kFree: Symbol("free"), + kConnected: Symbol("connected"), + kClosed: Symbol("closed"), + kNeedDrain: Symbol("need drain"), + kReset: Symbol("reset"), + kDestroyed: Symbol.for("nodejs.stream.destroyed"), + kMaxHeadersSize: Symbol("max headers size"), + kRunningIdx: Symbol("running index"), + kPendingIdx: Symbol("pending index"), + kError: Symbol("error"), + kClients: Symbol("clients"), + kClient: Symbol("client"), + kParser: Symbol("parser"), + kOnDestroyed: Symbol("destroy callbacks"), + kPipelining: Symbol("pipelining"), + kSocket: Symbol("socket"), + kHostHeader: Symbol("host header"), + kConnector: Symbol("connector"), + kStrictContentLength: Symbol("strict content length"), + kMaxRedirections: Symbol("maxRedirections"), + kMaxRequests: Symbol("maxRequestsPerClient"), + kProxy: Symbol("proxy agent options"), + kCounter: Symbol("socket request counter"), + kInterceptors: Symbol("dispatch interceptors"), + kMaxResponseSize: Symbol("max response size"), + kHTTP2Session: Symbol("http2Session"), + kHTTP2SessionState: Symbol("http2Session state"), + kHTTP2BuildRequest: Symbol("http2 build request"), + kHTTP1BuildRequest: Symbol("http1 build request"), + kHTTP2CopyHeaders: Symbol("http2 copy headers"), + kHTTPConnVersion: Symbol("http connection version"), + kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), + kConstruct: Symbol("constructable") + }; + } +}); + +// node_modules/undici/lib/core/errors.js +var require_errors = __commonJS({ + "node_modules/undici/lib/core/errors.js"(exports2, module2) { + "use strict"; + var UndiciError = class extends Error { + constructor(message) { super(message); - this.name = 'HttpClientError'; - this.statusCode = statusCode; - Object.setPrototypeOf(this, HttpClientError.prototype); + this.name = "UndiciError"; + this.code = "UND_ERR"; } }; - exports2.HttpClientError = HttpClientError; - var HttpClientResponse = class { + var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError { constructor(message) { - this.message = message; - } - readBody() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise(resolve => - __awaiter(this, void 0, void 0, function* () { - let output = Buffer.alloc(0); - this.message.on('data', chunk => { - output = Buffer.concat([output, chunk]); - }); - this.message.on('end', () => { - resolve(output.toString()); - }); - }) - ); - }); + super(message); + Error.captureStackTrace(this, _ConnectTimeoutError); + this.name = "ConnectTimeoutError"; + this.message = message || "Connect Timeout Error"; + this.code = "UND_ERR_CONNECT_TIMEOUT"; } }; - exports2.HttpClientResponse = HttpClientResponse; - function isHttps(requestUrl) { - const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; - } - exports2.isHttps = isHttps; - var HttpClient = class { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } + 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"; } - options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); - }); + }; + 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"; } - get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('GET', requestUrl, null, additionalHeaders || {}); - }); + }; + 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"; } - del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('DELETE', requestUrl, null, additionalHeaders || {}); - }); + }; + 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; } - post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('POST', requestUrl, data, additionalHeaders || {}); - }); + }; + 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"; } - patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PATCH', requestUrl, data, additionalHeaders || {}); - }); + }; + 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"; } - put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PUT', requestUrl, data, additionalHeaders || {}); - }); + }; + 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"; } - head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('HEAD', requestUrl, null, additionalHeaders || {}); - }); + }; + 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"; } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request(verb, requestUrl, stream, additionalHeaders); - }); + }; + 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"; } - getJson(requestUrl, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); - const res = yield this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + }; + 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"; } - postJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.ContentType, - MediaTypes.ApplicationJson - ); - const res = yield this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + }; + 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"; } - putJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.ContentType, - MediaTypes.ApplicationJson - ); - const res = yield this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + }; + 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"; } - patchJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.Accept, - MediaTypes.ApplicationJson - ); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader( - additionalHeaders, - Headers.ContentType, - MediaTypes.ApplicationJson - ); - const res = yield this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + }; + 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; } - request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, function* () { - if (this._disposed) { - throw new Error('Client has already been disposed.'); - } - const parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; - let numTries = 0; - let response; - do { - response = yield this.requestRaw(info, data); - if (response && response.message && response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (const handler of this.handlers) { - if (handler.canHandleAuthentication(response)) { - authenticationHandler = handler; - break; - } - } - if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); - } else { - return response; - } - } - let redirectsRemaining = this._maxRedirects; - while ( - response.message.statusCode && - HttpRedirectCodes.includes(response.message.statusCode) && - this._allowRedirects && - redirectsRemaining > 0 - ) { - const redirectUrl = response.message.headers['location']; - if (!redirectUrl) { - break; - } - const parsedRedirectUrl = new URL(redirectUrl); - if ( - parsedUrl.protocol === 'https:' && - parsedUrl.protocol !== parsedRedirectUrl.protocol && - !this._allowRedirectDowngrade - ) { - throw new Error( - 'Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.' - ); - } - yield response.readBody(); - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (const header in headers) { - if (header.toLowerCase() === 'authorization') { - delete headers[header]; - } - } - } - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = yield this.requestRaw(info, data); - redirectsRemaining--; - } - if (!response.message.statusCode || !HttpResponseRetryCodes.includes(response.message.statusCode)) { - return response; - } - numTries += 1; - if (numTries < maxTries) { - yield response.readBody(); - yield this._performExponentialBackoff(numTries); - } - } while (numTries < maxTries); - return response; - }); + }; + 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"; } - dispose() { - if (this._agent) { - this._agent.destroy(); + }; + 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_constants = __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; + } + Object.setPrototypeOf(headerNameLowerCasedRecord, null); + module2.exports = { + wellknownHeaderNames, + headerNameLowerCasedRecord + }; + } +}); + +// node_modules/undici/lib/core/util.js +var require_util = __commonJS({ + "node_modules/undici/lib/core/util.js"(exports2, module2) { + "use strict"; + var assert = require("assert"); + var { kDestroyed, kBodyUsed } = require_symbols(); + var { IncomingMessage } = require("http"); + var stream = require("stream"); + var net = require("net"); + var { InvalidArgumentError } = require_errors(); + var { Blob: Blob2 } = require("buffer"); + var nodeUtil = require("util"); + var { stringify: stringify2 } = require("querystring"); + var { headerNameLowerCasedRecord } = require_constants(); + 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 = stringify2(queryParams); + if (stringified) { + url += "?" + stringified; + } + 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:`."); } - this._disposed = true; + return url; } - requestRaw(info, data) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - function callbackForResult(err, res) { - if (err) { - reject(err); - } else if (!res) { - reject(new Error('Unknown error')); - } else { - resolve(res); - } - } - this.requestRawWithCallback(info, data, callbackForResult); - }); - }); + if (!url || typeof url !== "object") { + throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); } - requestRawWithCallback(info, data, onResult) { - if (typeof data === 'string') { - if (!info.options.headers) { - info.options.headers = {}; - } - info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + 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."); } - let callbackCalled = false; - function handleResult(err, res) { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); - } + if (url.path != null && typeof url.path !== "string") { + throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); } - const req = info.httpModule.request(info.options, msg => { - const res = new HttpClientResponse(msg); - handleResult(void 0, res); - }); - let socket; - req.on('socket', sock => { - socket = sock; - }); - req.setTimeout(this._socketTimeout || 3 * 6e4, () => { - if (socket) { - socket.end(); - } - handleResult(new Error(`Request timeout: ${info.options.path}`)); - }); - req.on('error', function (err) { - handleResult(err); - }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); + if (url.pathname != null && typeof url.pathname !== "string") { + throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); - } else { - req.end(); + if (url.hostname != null && typeof url.hostname !== "string") { + throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); } - } - getAgent(serverUrl) { - const parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); - } - _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === 'https:'; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port ? parseInt(info.parsedUrl.port) : defaultPort; - info.options.path = (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers['user-agent'] = this.userAgent; + if (url.origin != null && typeof url.origin !== "string") { + throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); } - info.options.agent = this._getAgent(info.parsedUrl); - if (this.handlers) { - for (const handler of this.handlers) { - handler.prepareRequest(info.options); - } + 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 path = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`; + if (origin.endsWith("/")) { + origin = origin.substring(0, origin.length - 1); } - return info; - } - _mergeHeaders(headers) { - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + if (path && !path.startsWith("/")) { + path = `/${path}`; } - return lowercaseKeys(headers || {}); + url = new URL(origin + path); } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; + return url; + } + function parseOrigin(url) { + url = parseURL(url); + if (url.pathname !== "/" || url.search || url.hash) { + throw new InvalidArgumentError("invalid url"); } - _getAgent(parsedUrl) { - let agent; - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (this._keepAlive && !useProxy) { - agent = this._agent; - } - if (agent) { - return agent; - } - const usingSsl = parsedUrl.protocol === 'https:'; - let maxSockets = 100; - if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + return url; + } + 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 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; + } + 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 destroy(stream2, err) { + if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { + return; + } + if (typeof stream2.destroy === "function") { + if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) { + stream2.socket = null; } - if (proxyUrl && proxyUrl.hostname) { - const agentOptions = { - maxSockets, - keepAlive: this._keepAlive, - proxy: Object.assign( - Object.assign( - {}, - (proxyUrl.username || proxyUrl.password) && { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` - } - ), - { host: proxyUrl.hostname, port: proxyUrl.port } - ) - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === 'https:'; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + 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 { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + obj[key] = headers[i + 1].toString("utf8"); } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; + } else { + if (!Array.isArray(val)) { + val = [val]; + obj[key] = val; + } + val.push(headers[i + 1].toString("utf8")); } - if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; + } + 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 { + ret.push(key, val); } - if (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (hasContentLength && contentDispositionIdx !== -1) { + ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); + } + return ret; + } + function isBuffer(buffer) { + return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); + } + function validateHandler(handler, method, upgrade) { + if (!handler || typeof handler !== "object") { + throw new InvalidArgumentError("handler must be an object"); + } + if (typeof handler.onConnect !== "function") { + throw new InvalidArgumentError("invalid onConnect method"); + } + if (typeof handler.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); + } + if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) { + throw new InvalidArgumentError("invalid onBodySent method"); + } + if (upgrade || method === "CONNECT") { + if (typeof handler.onUpgrade !== "function") { + throw new InvalidArgumentError("invalid onUpgrade method"); } - if (usingSsl && this._ignoreSslError) { - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); + } else { + if (typeof handler.onHeaders !== "function") { + throw new InvalidArgumentError("invalid onHeaders method"); + } + if (typeof handler.onData !== "function") { + throw new InvalidArgumentError("invalid onData method"); + } + if (typeof handler.onComplete !== "function") { + throw new InvalidArgumentError("invalid onComplete method"); } - return agent; } - _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, function* () { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise(resolve => setTimeout(() => resolve(), ms)); - }); + } + 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); } - _processResponse(res, options) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => - __awaiter(this, void 0, void 0, function* () { - const statusCode = res.message.statusCode || 0; - const response = { - statusCode, - result: null, - headers: {} - }; - if (statusCode === HttpCodes.NotFound) { - resolve(response); - } - function dateTimeDeserializer(key, value) { - if (typeof value === 'string') { - const a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - } - let obj; - let contents; - try { - contents = yield res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, dateTimeDeserializer); - } else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - } catch (err) {} - if (statusCode > 299) { - let msg; - if (obj && obj.message) { - msg = obj.message; - } else if (contents && contents.length > 0) { - msg = contents; - } else { - msg = `Failed request: (${statusCode})`; - } - const err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } else { - resolve(response); - } - }) - ); - }); + } + var ReadableStream; + function ReadableStreamFrom(iterable) { + if (!ReadableStream) { + ReadableStream = require("stream/web").ReadableStream; + } + if (ReadableStream.from) { + return ReadableStream.from(convertIterableToBuffer(iterable)); + } + let iterator; + return new ReadableStream( + { + async start() { + iterator = iterable[Symbol.asyncIterator](); + }, + async pull(controller) { + const { done, value } = await iterator.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 iterator.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 { + 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 }); + 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 = { + 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"] }; - exports2.HttpClient = HttpClient; - var lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); } }); -// node_modules/@actions/http-client/lib/auth.js -var require_auth = __commonJS({ - 'node_modules/@actions/http-client/lib/auth.js'(exports2) { - 'use strict'; - var __awaiter = - (exports2 && exports2.__awaiter) || - function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P - ? value - : new P(function (resolve) { - resolve(value); - }); +// node_modules/undici/lib/timers.js +var require_timers = __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); } - return new (P || (P = Promise))(function (resolve, 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 ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + if (timer.state === -1) { + timer.state = -2; + if (idx !== len - 1) { + fastTimers[idx] = fastTimers.pop(); + } else { + fastTimers.pop(); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.PersonalAccessTokenCredentialHandler = - exports2.BearerCredentialHandler = - exports2.BasicCredentialHandler = - void 0; - var BasicCredentialHandler = class { - constructor(username, password) { - this.username = username; - this.password = password; + len -= 1; + } else { + idx += 1; + } } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); + 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(); } - options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; } - canHandleAuthentication() { - return false; + } + 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; } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); + clear() { + this.state = -1; } }; - exports2.BasicCredentialHandler = BasicCredentialHandler; - var BearerCredentialHandler = class { - constructor(token2) { - this.token = token2; - } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); + 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); } - options.headers['Authorization'] = `Bearer ${this.token}`; } - canHandleAuthentication() { - return false; + }; + } +}); + +// 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; } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); + } + 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; }; - exports2.BearerCredentialHandler = BearerCredentialHandler; - var PersonalAccessTokenCredentialHandler = class { - constructor(token2) { - this.token = token2; + 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; + } } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); + 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); } - options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + return this._bufpos = pos + needleLength; + } else { + pos = len - needleLength; } - canHandleAuthentication() { - return false; + while (pos < len && (data[pos] !== needle[0] || Buffer.compare( + data.subarray(pos, pos + len - pos), + needle.subarray(0, len - pos) + ) !== 0)) { + ++pos; } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); + 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; }; - exports2.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; + 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/@actions/core/lib/oidc-utils.js -var require_oidc_utils = __commonJS({ - 'node_modules/@actions/core/lib/oidc-utils.js'(exports2) { - 'use strict'; - var __awaiter = - (exports2 && exports2.__awaiter) || - function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P - ? value - : new P(function (resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function (resolve, 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 ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); +// 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 ReadableStream = require("node:stream").Readable; + function PartStream(opts) { + ReadableStream.call(this, opts); + } + inherits(PartStream, ReadableStream); + 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]; + }; + } +}); + +// 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 self = 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 && !self.maxed) { + if (self.nread + end - start >= self.maxHeaderSize) { + end = self.maxHeaderSize - self.nread + start; + self.nread = self.maxHeaderSize; + self.maxed = true; + } else { + self.nread += end - start; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.OidcClient = void 0; - var http_client_1 = require_lib(); - var auth_1 = require_auth(); - var core_1 = require_core(); - var OidcClient = class { - static createHttpClient(allowRetry = true, maxRetry = 10) { - const requestOptions = { - allowRetries: allowRetry, - maxRetries: maxRetry - }; - return new http_client_1.HttpClient( - 'actions/oidc-client', - [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], - requestOptions - ); - } - static getRequestToken() { - const token2 = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; - if (!token2) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + self.buffer += data.toString("binary", start, end); } - return token2; - } - static getIDTokenUrl() { - const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; - if (!runtimeUrl) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + if (isMatch) { + self._finish(); } - return runtimeUrl; + }); + } + inherits(HeaderParser, EventEmitter); + HeaderParser.prototype.push = function(data) { + const r = this.ss.push(data); + if (this.finished) { + return r; } - static getCall(id_token_url) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - const httpclient = OidcClient.createHttpClient(); - const res = yield httpclient.getJson(id_token_url).catch(error => { - throw new Error(`Failed to get ID Token. - - Error Code : ${error.statusCode} - - Error Message: ${error.result.message}`); - }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; - if (!id_token) { - throw new Error('Response json body do not have ID Token field'); - } - return id_token; - }); + }; + 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; } - static getIDToken(audience) { - return __awaiter(this, void 0, void 0, function* () { - try { - let id_token_url = OidcClient.getIDTokenUrl(); - if (audience) { - const encodedAudience = encodeURIComponent(audience); - id_token_url = `${id_token_url}&audience=${encodedAudience}`; - } - core_1.debug(`ID token url is ${id_token_url}`); - const id_token = yield OidcClient.getCall(id_token_url); - core_1.setSecret(id_token); - return id_token; - } catch (error) { - throw new Error(`Error message: ${error.message}`); + 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; + } } }; - exports2.OidcClient = OidcClient; + module2.exports = HeaderParser; } }); -// node_modules/@actions/core/lib/summary.js -var require_summary = __commonJS({ - 'node_modules/@actions/core/lib/summary.js'(exports2) { - 'use strict'; - var __awaiter = - (exports2 && exports2.__awaiter) || - function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P - ? value - : new P(function (resolve) { - resolve(value); +// 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 self = this; + this._hparser = new HeaderParser(cfg); + this._hparser.on("header", function(header) { + self._inHeader = false; + self._part.emit("header", header); + }); + } + inherits(Dicer, WritableStream); + Dicer.prototype.emit = function(ev) { + if (ev === "finish" && !this._realFinish) { + if (!this._finished) { + const self = this; + process.nextTick(function() { + self.emit("error", new Error("Unexpected end of multipart data")); + if (self._part && !self._ignoreData) { + const type = self._isPreamble ? "Preamble" : "Part"; + self._part.emit("error", new Error(type + " terminated early due to unexpected end of multipart data")); + self._part.push(null); + process.nextTick(function() { + self._realFinish = true; + self.emit("finish"); + self._realFinish = false; }); - } - return new (P || (P = Promise))(function (resolve, 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; } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.summary = exports2.markdownSummary = exports2.SUMMARY_DOCS_URL = exports2.SUMMARY_ENV_VAR = void 0; - var os_1 = require('os'); - var fs_1 = require('fs'); - var { access, appendFile, writeFile } = fs_1.promises; - exports2.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; - exports2.SUMMARY_DOCS_URL = - 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; - var Summary = class { - constructor() { - this._buffer = ''; + self._realFinish = true; + self.emit("finish"); + self._realFinish = false; + }); + } + } else { + WritableStream.prototype.emit.apply(this, arguments); } - filePath() { - return __awaiter(this, void 0, void 0, function* () { - if (this._filePath) { - return this._filePath; - } - const pathFromEnv = process.env[exports2.SUMMARY_ENV_VAR]; - if (!pathFromEnv) { - throw new Error( - `Unable to find environment variable for $${exports2.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.` - ); - } - try { - yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } catch (_a) { - throw new Error( - `Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.` - ); + }; + 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._filePath = pathFromEnv; - return this._filePath; - }); - } - wrap(tag, content, attrs = {}) { - const htmlAttrs = Object.entries(attrs) - .map(([key, value]) => ` ${key}="${value}"`) - .join(''); - if (!content) { - return `<${tag}${htmlAttrs}>`; } - return `<${tag}${htmlAttrs}>${content}`; - } - write(options) { - return __awaiter(this, void 0, void 0, function* () { - const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); - const filePath = yield this.filePath(); - const writeFunc = overwrite ? writeFile : appendFile; - yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); - return this.emptyBuffer(); - }); - } - clear() { - return __awaiter(this, void 0, void 0, function* () { - return this.emptyBuffer().write({ overwrite: true }); - }); + const r = this._hparser.push(data); + if (!this._inHeader && r !== void 0 && r < data.length) { + data = data.slice(r); + } else { + return cb(); + } } - stringify() { - return this._buffer; + if (this._firstWrite) { + this._bparser.push(B_CRLF); + this._firstWrite = false; } - isEmptyBuffer() { - return this._buffer.length === 0; + this._bparser.push(data); + if (this._pause) { + this._cb = cb; + } else { + cb(); } - emptyBuffer() { - this._buffer = ''; - return this; + }; + Dicer.prototype.reset = function() { + this._part = void 0; + this._bparser = void 0; + this._hparser = void 0; + }; + Dicer.prototype.setBoundary = function(boundary) { + const self = this; + this._bparser = new StreamSearch("\r\n--" + boundary); + this._bparser.on("info", function(isMatch, data, start, end) { + self._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(); } - addRaw(text, addEOL = false) { - this._buffer += text; - return addEOL ? this.addEOL() : this; + }; + Dicer.prototype._oninfo = function(isMatch, data, start, end) { + let buf; + const self = 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 (self._parts === 0) { + self._realFinish = true; + self.emit("finish"); + self._realFinish = false; + } + } + if (this._dashes) { + return; + } } - addEOL() { - return this.addRaw(os_1.EOL); + if (this._justMatched) { + this._justMatched = false; } - addCodeBlock(code, lang) { - const attrs = Object.assign({}, lang && { lang }); - const element = this.wrap('pre', this.wrap('code', code), attrs); - return this.addRaw(element).addEOL(); + if (!this._part) { + this._part = new PartStream(this._partOpts); + this._part._read = function(n) { + self._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; + } } - addList(items, ordered = false) { - const tag = ordered ? 'ol' : 'ul'; - const listItems = items.map(item => this.wrap('li', item)).join(''); - const element = this.wrap(tag, listItems); - return this.addRaw(element).addEOL(); + 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); + } + } } - addTable(rows) { - const tableBody = rows - .map(row => { - const cells = row - .map(cell => { - if (typeof cell === 'string') { - return this.wrap('td', cell); + if (isMatch) { + this._hparser.reset(); + if (this._isPreamble) { + this._isPreamble = false; + } else { + if (start !== end) { + ++this._parts; + this._part.on("end", function() { + if (--self._parts === 0) { + if (self._finished) { + self._realFinish = true; + self.emit("finish"); + self._realFinish = false; + } else { + self._unpause(); } - const { header, data, colspan, rowspan } = cell; - const tag = header ? 'th' : 'td'; - const attrs = Object.assign(Object.assign({}, colspan && { colspan }), rowspan && { rowspan }); - return this.wrap(tag, data, attrs); - }) - .join(''); - return this.wrap('tr', cells); - }) - .join(''); - const element = this.wrap('table', tableBody); - return this.addRaw(element).addEOL(); - } - addDetails(label, content) { - const element = this.wrap('details', this.wrap('summary', label) + content); - return this.addRaw(element).addEOL(); - } - addImage(src, alt, options) { - const { width, height } = options || {}; - const attrs = Object.assign(Object.assign({}, width && { width }), height && { height }); - const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); - return this.addRaw(element).addEOL(); - } - addHeading(text, level) { - const tag = `h${level}`; - const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) ? tag : 'h1'; - const element = this.wrap(allowedTag, text); - return this.addRaw(element).addEOL(); - } - addSeparator() { - const element = this.wrap('hr', null); - return this.addRaw(element).addEOL(); - } - addBreak() { - const element = this.wrap('br', null); - return this.addRaw(element).addEOL(); + } + }); + } + } + this._part.push(null); + this._part = void 0; + this._ignoreData = false; + this._justMatched = true; + this._dashes = 0; } - addQuote(text, cite) { - const attrs = Object.assign({}, cite && { cite }); - const element = this.wrap('blockquote', text, attrs); - return this.addRaw(element).addEOL(); + }; + Dicer.prototype._unpause = function() { + if (!this._pause) { + return; } - addLink(text, href) { - const element = this.wrap('a', text, { href }); - return this.addRaw(element).addEOL(); + this._pause = false; + if (this._cb) { + const cb = this._cb; + this._cb = void 0; + cb(); } }; - var _summary = new Summary(); - exports2.markdownSummary = _summary; - exports2.summary = _summary; + module2.exports = Dicer; } }); -// node_modules/@actions/core/lib/path-utils.js -var require_path_utils = __commonJS({ - 'node_modules/@actions/core/lib/path-utils.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__createBinding) || - (Object.create - ? function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[k]; - } - }); - } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0; - var path = __importStar(require('path')); - function toPosixPath(pth) { - return pth.replace(/[\\]/g, '/'); - } - exports2.toPosixPath = toPosixPath; - function toWin32Path(pth) { - return pth.replace(/[/]/g, '\\'); +// 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); + } + } } - exports2.toWin32Path = toWin32Path; - function toPlatformPath(pth) { - return pth.replace(/[/\\]/g, path.sep); + 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(); + } + }; + function decodeText(text, sourceEncoding, destEncoding) { + if (text) { + return getDecoder(destEncoding)(text, sourceEncoding); + } + return text; } - exports2.toPlatformPath = toPlatformPath; + module2.exports = decodeText; } }); -// node_modules/@actions/core/lib/core.js -var require_core = __commonJS({ - 'node_modules/@actions/core/lib/core.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__createBinding) || - (Object.create - ? function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[k]; - } - }); - } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = - (exports2 && exports2.__awaiter) || - function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P - ? value - : new P(function (resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } +// 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(str) { + const res = []; + let state = STATE_KEY; + let charset = ""; + let inquote = false; + let escaping = false; + let p = 0; + let tmp = ""; + const len = str.length; + for (var i = 0; i < len; ++i) { + const char = str[i]; + if (char === "\\" && inquote) { + if (escaping) { + escaping = false; + } else { + escaping = true; + continue; } - function rejected(value) { - try { - step(generator['throw'](value)); - } catch (e) { - reject(e); + } else if (char === '"') { + if (!escaping) { + if (inquote) { + inquote = false; + state = STATE_KEY; + } else { + inquote = true; } + continue; + } else { + escaping = false; } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } else { + if (escaping && inquote) { + tmp += "\\"; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - 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_command(); - var file_command_1 = require_file_command(); - var utils_1 = require_utils(); - var os = __importStar(require('os')); - var path = __importStar(require('path')); - var oidc_utils_1 = require_oidc_utils(); - var ExitCode; - (function (ExitCode2) { - ExitCode2[(ExitCode2['Success'] = 0)] = 'Success'; - ExitCode2[(ExitCode2['Failure'] = 1)] = 'Failure'; - })((ExitCode = exports2.ExitCode || (exports2.ExitCode = {}))); - function exportVariable(name, val) { - const convertedVal = utils_1.toCommandValue(val); - process.env[name] = convertedVal; - const filePath = process.env['GITHUB_ENV'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); + 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; } - command_1.issueCommand('set-env', { name }, convertedVal); - } - exports2.exportVariable = exportVariable; - function setSecret(secret) { - command_1.issueCommand('add-mask', {}, secret); - } - exports2.setSecret = setSecret; - function addPath(inputPath) { - const filePath = process.env['GITHUB_PATH'] || ''; - if (filePath) { - file_command_1.issueFileCommand('PATH', inputPath); + 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; + } } else { - command_1.issueCommand('add-path', {}, inputPath); + res[p][1] = tmp; } - process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; + return res; } - exports2.addPath = addPath; - function getInput(name, options) { - const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; - if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); - } - if (options && options.trimWhitespace === false) { - return val; + 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(path) { + if (typeof path !== "string") { + return ""; + } + for (var i = path.length - 1; i >= 0; --i) { + switch (path.charCodeAt(i)) { + case 47: + // '/' + case 92: + path = path.slice(i + 1); + return path === ".." || path === "." ? "" : path; + } } - return val.trim(); - } - exports2.getInput = getInput; - function getMultilineInput(name, options) { - const inputs = getInput(name, options) - .split('\n') - .filter(x => x !== ''); - if (options && options.trimWhitespace === false) { - return inputs; + return path === ".." || path === "." ? "" : path; + }; + } +}); + +// 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 self = 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; + } } - return inputs.map(input => input.trim()); - } - exports2.getMultilineInput = getMultilineInput; - function getBooleanInput(name, options) { - const trueValue = ['true', 'True', 'TRUE']; - const falseValue = ['false', 'False', 'FALSE']; - const val = getInput(name, options); - if (trueValue.includes(val)) return true; - if (falseValue.includes(val)) return false; - throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name} -Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); - } - exports2.getBooleanInput = getBooleanInput; - function setOutput(name, value) { - const filePath = process.env['GITHUB_OUTPUT'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + function checkFinished() { + if (nends === 0 && finished && !boy._done) { + finished = false; + self.end(); + } } - process.stdout.write(os.EOL); - command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); - } - exports2.setOutput = setOutput; - function setCommandEcho(enabled) { - command_1.issue('echo', enabled ? 'on' : 'off'); - } - exports2.setCommandEcho = setCommandEcho; - function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); - } - exports2.setFailed = setFailed; - function isDebug() { - return process.env['RUNNER_DEBUG'] === '1'; - } - exports2.isDebug = isDebug; - function debug(message) { - command_1.issueCommand('debug', {}, message); - } - exports2.debug = debug; - function error(message, properties = {}) { - command_1.issueCommand( - 'error', - utils_1.toCommandProperties(properties), - message instanceof Error ? message.toString() : message - ); - } - exports2.error = error; - function warning(message, properties = {}) { - command_1.issueCommand( - 'warning', - utils_1.toCommandProperties(properties), - message instanceof Error ? message.toString() : message - ); - } - exports2.warning = warning; - function notice(message, properties = {}) { - command_1.issueCommand( - 'notice', - utils_1.toCommandProperties(properties), - message instanceof Error ? message.toString() : message - ); - } - exports2.notice = notice; - function info(message) { - process.stdout.write(message + os.EOL); - } - exports2.info = info; - function startGroup(name) { - command_1.issue('group', name); - } - exports2.startGroup = startGroup; - function endGroup() { - command_1.issue('endgroup'); - } - exports2.endGroup = endGroup; - function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { - startGroup(name); - let result; - try { - result = yield fn(); - } finally { - endGroup(); + 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() { + self._needDrain = false; + if (self._cb && !self._pause) { + const cb = self._cb; + self._cb = void 0; + cb(); } - return result; + }).on("part", function onPart(part) { + if (++self._nparts > partsLimit) { + self.parser.removeListener("part", onPart); + self.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) { + self.parser._ignore(); + return; + } + ++nends; + const file = new FileStream(fileOpts); + curFile = file; + file.on("end", function() { + --nends; + self._pause = false; + checkFinished(); + if (self._cb && !self._needDrain) { + const cb = self._cb; + self._cb = void 0; + cb(); + } + }); + file._read = function(n) { + if (!self._pause) { + return; + } + self._pause = false; + if (self._cb && !self._needDrain) { + const cb = self._cb; + self._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)) { + self._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(); }); } - exports2.group = group; - function saveState(name, value) { - const filePath = process.env['GITHUB_STATE'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + Multipart.prototype.write = function(chunk, cb) { + const r = this.parser.write(chunk); + if (r && !this._pause) { + cb(); + } else { + this._needDrain = !r; + this._cb = cb; } - command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); - } - exports2.saveState = saveState; - function getState(name) { - return process.env[`STATE_${name}`] || ''; + }; + Multipart.prototype.end = function() { + const self = this; + if (self.parser.writable) { + self.parser.end(); + } else if (!self._boy._done) { + process.nextTick(function() { + self._boy._done = true; + self._boy.emit("finish"); + }); + } + }; + function skipPart(part) { + part.resume(); } - exports2.getState = getState; - function getIDToken(aud) { - return __awaiter(this, void 0, void 0, function* () { - return yield oidc_utils_1.OidcClient.getIDToken(aud); - }); + function FileStream(opts) { + Readable.call(this, opts); + this.bytesRead = 0; + this.truncated = false; } - exports2.getIDToken = getIDToken; - var summary_1 = require_summary(); - Object.defineProperty(exports2, 'summary', { - enumerable: true, - get: function () { - return summary_1.summary; - } - }); - var summary_2 = require_summary(); - Object.defineProperty(exports2, 'markdownSummary', { - enumerable: true, - get: function () { - return summary_2.markdownSummary; - } - }); - var path_utils_1 = require_path_utils(); - Object.defineProperty(exports2, 'toPosixPath', { - enumerable: true, - get: function () { - return path_utils_1.toPosixPath; - } - }); - Object.defineProperty(exports2, 'toWin32Path', { - enumerable: true, - get: function () { - return path_utils_1.toWin32Path; - } - }); - Object.defineProperty(exports2, 'toPlatformPath', { - enumerable: true, - get: function () { - return path_utils_1.toPlatformPath; - } - }); + inherits(FileStream, Readable); + FileStream.prototype._read = function(n) { + }; + module2.exports = Multipart; } }); -// node_modules/@actions/github/lib/context.js -var require_context = __commonJS({ - '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 { - constructor() { - var _a, _b, _c; - this.payload = {}; - if (process.env.GITHUB_EVENT_PATH) { - if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { - this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); +// 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; + } + Decoder.prototype.write = function(str) { + str = str.replace(RE_PLUS, " "); + let res = ""; + let i = 0; + let p = 0; + const len = str.length; + for (; i < len; ++i) { + if (this.buffer !== void 0) { + if (!HEX[str.charCodeAt(i)]) { + res += "%" + this.buffer; + this.buffer = void 0; + --i; } else { - const path = process.env.GITHUB_EVENT_PATH; - process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + this.buffer += str[i]; + ++p; + if (this.buffer.length === 2) { + res += String.fromCharCode(parseInt(this.buffer, 16)); + this.buffer = void 0; + } } + } else if (str[i] === "%") { + if (i > p) { + res += str.substring(p, i); + p = i; + } + this.buffer = ""; + ++p; } - 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.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`; - } - get issue() { - const payload = this.payload; - return Object.assign(Object.assign({}, this.repo), { - number: (payload.issue || payload.pull_request || payload).number - }); } - get repo() { - if (process.env.GITHUB_REPOSITORY) { - const [owner, repo2] = process.env.GITHUB_REPOSITORY.split('/'); - return { owner, repo: repo2 }; - } - 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'"); + if (p < len && this.buffer === void 0) { + res += str.substring(p); } + return res; }; - exports2.Context = Context; + Decoder.prototype.reset = function() { + this.buffer = void 0; + }; + module2.exports = Decoder; } }); -// node_modules/@actions/github/lib/internal/utils.js -var require_utils2 = __commonJS({ - 'node_modules/@actions/github/lib/internal/utils.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__createBinding) || - (Object.create - ? function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[k]; - } - }); - } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.getApiBaseUrl = exports2.getProxyAgent = exports2.getAuthString = void 0; - var httpClient = __importStar(require_lib()); - function getAuthString(token2, options) { - if (!token2 && !options.auth) { - throw new Error('Parameter token or opts.auth is required'); - } else if (token2 && options.auth) { - throw new Error('Parameters token and opts.auth may not both be specified'); +// 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; + } } - return typeof options.auth === 'string' ? options.auth : `token ${token2}`; - } - exports2.getAuthString = getAuthString; - function getProxyAgent(destinationUrl) { - const hc = new httpClient.HttpClient(); - return hc.getAgent(destinationUrl); + 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; } - exports2.getProxyAgent = getProxyAgent; - function getApiBaseUrl() { - return process.env['GITHUB_API_URL'] || 'https://api.github.com'; - } - exports2.getApiBaseUrl = getApiBaseUrl; - } -}); - -// node_modules/universal-user-agent/dist-node/index.js -var require_dist_node = __commonJS({ - 'node_modules/universal-user-agent/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function getUserAgent() { - if (typeof navigator === 'object' && 'userAgent' in navigator) { - return navigator.userAgent; + 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; + } + } 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; + } + } } - if (typeof process === 'object' && 'version' in process) { - return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + cb(); + }; + UrlEncoded.prototype.end = function() { + if (this.boy._done) { + return; } - return ''; - } - exports2.getUserAgent = getUserAgent; + 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 + ); + } + this.boy._done = true; + this.boy.emit("finish"); + }; + module2.exports = UrlEncoded; } }); -// node_modules/before-after-hook/lib/register.js -var require_register = __commonJS({ - 'node_modules/before-after-hook/lib/register.js'(exports2, module2) { - module2.exports = register; - function register(state, name, method, options) { - if (typeof method !== 'function') { - throw new Error('method for before hook must be a function'); +// 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 (typeof opts !== "object") { + throw new TypeError("Busboy expected an options-Object."); + } + if (typeof opts.headers !== "object") { + throw new TypeError("Busboy expected an options-Object with headers-attribute."); + } + 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; + } + 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; } - if (!options) { - options = {}; + 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 (Array.isArray(name)) { - return name.reverse().reduce(function (callback, name2) { - return register.bind(null, state, name2, callback, options); - }, method)(); + if (UrlencodedParser.detect.test(parsed[0])) { + return new UrlencodedParser(this, cfg); } - return Promise.resolve().then(function () { - if (!state.registry[name]) { - return method(options); - } - return state.registry[name].reduce(function (method2, registered) { - return registered.hook.bind(null, method2, options); - }, method)(); - }); - } + 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/before-after-hook/lib/add.js -var require_add = __commonJS({ - 'node_modules/before-after-hook/lib/add.js'(exports2, module2) { - module2.exports = addHook; - function addHook(state, kind, name, hook) { - var orig = hook; - if (!state.registry[name]) { - state.registry[name] = []; - } - if (kind === 'before') { - hook = function (method, options) { - return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options)); - }; - } - if (kind === 'after') { - hook = function (method, options) { - var result; - return Promise.resolve() - .then(method.bind(null, options)) - .then(function (result_) { - result = result_; - return orig(result, options); - }) - .then(function () { - return result; - }); - }; - } - if (kind === 'error') { - hook = function (method, options) { - return Promise.resolve() - .then(method.bind(null, options)) - .catch(function (error) { - return orig(error, options); - }); - }; - } - state.registry[name].push({ - hook, - orig - }); - } +// node_modules/undici/lib/fetch/constants.js +var require_constants2 = __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; + } + })(); + 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; + }; + 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/before-after-hook/lib/remove.js -var require_remove = __commonJS({ - 'node_modules/before-after-hook/lib/remove.js'(exports2, module2) { - module2.exports = removeHook; - function removeHook(state, name, method) { - if (!state.registry[name]) { +// node_modules/undici/lib/fetch/global.js +var require_global = __commonJS({ + "node_modules/undici/lib/fetch/global.js"(exports2, module2) { + "use strict"; + var globalOrigin = 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 index = state.registry[name] - .map(function (registered) { - return registered.orig; - }) - .indexOf(method); - if (index === -1) { - 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}`); } - state.registry[name].splice(index, 1); + Object.defineProperty(globalThis, globalOrigin, { + value: parsedURL, + writable: true, + enumerable: false, + configurable: false + }); } + module2.exports = { + getGlobalOrigin, + setGlobalOrigin + }; } }); -// node_modules/before-after-hook/index.js -var require_before_after_hook = __commonJS({ - 'node_modules/before-after-hook/index.js'(exports2, module2) { - var register = require_register(); - var addHook = require_add(); - var removeHook = require_remove(); - var bind = Function.bind; - var bindable = bind.bind(bind); - function bindApi(hook, state, name) { - var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]); - hook.api = { remove: removeHookRef }; - hook.remove = removeHookRef; - ['before', 'error', 'after', 'wrap'].forEach(function (kind) { - var args = name ? [state, kind, name] : [state, kind]; - hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); - }); - } - function HookSingular() { - var singularHookName = 'h'; - var singularHookState = { - registry: {} - }; - var singularHook = register.bind(null, singularHookState, singularHookName); - bindApi(singularHook, singularHookState, singularHookName); - return singularHook; +// node_modules/undici/lib/fetch/util.js +var require_util2 = __commonJS({ + "node_modules/undici/lib/fetch/util.js"(exports2, module2) { + "use strict"; + var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants2(); + var { getGlobalOrigin } = require_global(); + var { performance: performance2 } = require("perf_hooks"); + var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util(); + var assert = require("assert"); + var { isUint8Array } = require("util/types"); + var supportedHashes = []; + var crypto4; + try { + crypto4 = require("crypto"); + const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; + supportedHashes = crypto4.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); + } catch { } - function HookCollection() { - var state = { - registry: {} - }; - var hook = register.bind(null, state); - bindApi(hook, state); - return hook; + function responseURL(response) { + const urlList = response.urlList; + const length = urlList.length; + return length === 0 ? null : urlList[length - 1].toString(); } - var collectionHookDeprecationMessageDisplayed = false; - function Hook() { - if (!collectionHookDeprecationMessageDisplayed) { - console.warn( - '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' - ); - collectionHookDeprecationMessageDisplayed = true; + function responseLocationURL(response, requestFragment) { + if (!redirectStatusSet.has(response.status)) { + return null; } - return HookCollection(); - } - Hook.Singular = HookSingular.bind(); - Hook.Collection = HookCollection.bind(); - module2.exports = Hook; - module2.exports.Hook = Hook; - module2.exports.Singular = Hook.Singular; - module2.exports.Collection = Hook.Collection; - } -}); - -// node_modules/is-plain-object/dist/is-plain-object.js -var require_is_plain_object = __commonJS({ - 'node_modules/is-plain-object/dist/is-plain-object.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function isObject(o) { - return Object.prototype.toString.call(o) === '[object Object]'; - } - function isPlainObject(o) { - var ctor, prot; - if (isObject(o) === false) return false; - ctor = o.constructor; - if (ctor === void 0) return true; - prot = ctor.prototype; - if (isObject(prot) === false) return false; - if (prot.hasOwnProperty('isPrototypeOf') === false) { - return false; + let location = response.headersList.get("location"); + if (location !== null && isValidHeaderValue(location)) { + location = new URL(location, responseURL(response)); } - return true; + if (location && !location.hash) { + location.hash = requestFragment; + } + return location; } - exports2.isPlainObject = isPlainObject; - } -}); - -// node_modules/@octokit/endpoint/dist-node/index.js -var require_dist_node2 = __commonJS({ - 'node_modules/@octokit/endpoint/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var isPlainObject = require_is_plain_object(); - var universalUserAgent = require_dist_node(); - function lowercaseKeys(object) { - if (!object) { - return {}; + function requestCurrentURL(request) { + return request.urlList[request.urlList.length - 1]; + } + function requestBadPort(request) { + const url = requestCurrentURL(request); + if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) { + return "blocked"; } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); + return "allowed"; } - function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { - if (isPlainObject.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 isErrorLike(object) { + return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); } - function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; + 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 obj; + return true; } - 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 (defaults && defaults.mediaType.previews.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews - .filter(preview => !mergedOptions.mediaType.previews.includes(preview)) - .concat(mergedOptions.mediaType.previews); + 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; } - 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; + function isValidHTTPToken(characters) { + if (characters.length === 0) { + return false; } - return ( - url + - separator + - names - .map(name => { - if (name === 'q') { - return 'q=' + parameters.q.split('+').map(encodeURIComponent).join('+'); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }) - .join('&') - ); + for (let i = 0; i < characters.length; ++i) { + if (!isTokenCharCode(characters.charCodeAt(i))) { + return false; + } + } + return true; } - var urlVariableRegex = /\{[^}]+\}/g; - function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, '').split(/,/); + function isValidHeaderName(potentialValue) { + return isValidHTTPToken(potentialValue); } - function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - if (!matches) { - return []; + function isValidHeaderValue(potentialValue) { + if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { + return false; } - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); - } - function omit(object, keysToOmit) { - return Object.keys(object) - .filter(option => !keysToOmit.includes(option)) - .reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); + if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { + return false; + } + return true; } - function encodeReserved(str) { - return str - .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 setRequestReferrerPolicyOnRedirect(request, 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 token2 = policyHeader[i - 1].trim(); + if (referrerPolicyTokens.has(token2)) { + policy = token2; + break; } - return part; - }) - .join(''); + } + } + if (policy !== "") { + request.referrerPolicy = policy; + } } - function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase(); - }); + function crossOriginResourcePolicyCheck() { + return "allowed"; } - function encodeValue(operator, value, key) { - value = operator === '+' || operator === '#' ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + '=' + value; - } else { - return value; - } + function corsCheck() { + return "success"; } - function isDefined(value) { - return value !== void 0 && value !== null; + function TAOCheck() { + return "success"; } - function isKeyOperator(operator) { - return operator === ';' || operator === '&' || operator === '?'; + function appendFetchMetadata(httpRequest) { + let header = null; + header = httpRequest.mode; + httpRequest.headersList.set("sec-fetch-mode", header); } - function getValues(context, operator, key, modifier) { - var value = context[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())); - } - }); + function appendRequestOriginHeader(request) { + let serializedOrigin = request.origin; + if (request.responseTainting === "cors" || request.mode === "websocket") { + if (serializedOrigin) { + request.headersList.append("origin", serializedOrigin); + } + } else if (request.method !== "GET" && request.method !== "HEAD") { + switch (request.referrerPolicy) { + case "no-referrer": + serializedOrigin = null; + break; + case "no-referrer-when-downgrade": + case "strict-origin": + case "strict-origin-when-cross-origin": + if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) { + serializedOrigin = null; } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + '=' + tmp.join(',')); - } else if (tmp.length !== 0) { - result.push(tmp.join(',')); + break; + case "same-origin": + if (!sameOrigin(request, requestCurrentURL(request))) { + serializedOrigin = null; } - } + break; + default: } - } else { - if (operator === ';') { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === '' && (operator === '&' || operator === '?')) { - result.push(encodeUnreserved(key) + '='); - } else if (value === '') { - result.push(''); + if (serializedOrigin) { + request.headersList.append("origin", serializedOrigin); } } - return result; } - function parseUrl(template) { + function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { + return performance2.now(); + } + function createOpaqueTimingInfo(timingInfo) { return { - expand: expand.bind(null, template) + 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 expand(template, context) { - var operators = ['+', '#', '.', '/', ';', '?', '&']; - return 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(context, 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); - } - }); + function makePolicyContainer() { + return { + referrerPolicy: "strict-origin-when-cross-origin" + }; } - 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(preview => - preview.replace( - /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, - `application/vnd$1$2.${options.mediaType.format}` - ) - ) - .join(','); - } - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader - .concat(options.mediaType.previews) - .map(preview => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : '+json'; - return `application/vnd.github.${preview}-preview${format}`; - }) - .join(','); + function clonePolicyContainer(policyContainer) { + return { + referrerPolicy: policyContainer.referrerPolicy + }; + } + function determineRequestsReferrer(request) { + const policy = request.referrerPolicy; + assert(policy); + let referrerSource = null; + if (request.referrer === "client") { + const globalOrigin = getGlobalOrigin(); + if (!globalOrigin || globalOrigin.origin === "null") { + return "no-referrer"; } - } - 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; - } else { - headers['content-length'] = 0; + referrerSource = new URL(globalOrigin); + } else if (request.referrer instanceof URL) { + referrerSource = request.referrer; + } + let referrerURL = stripURLForReferrer(referrerSource); + const referrerOrigin = stripURLForReferrer(referrerSource, true); + if (referrerURL.toString().length > 4096) { + referrerURL = referrerOrigin; + } + const areSameOrigin = sameOrigin(request, referrerURL); + const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.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(request); + 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 (!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 = '6.0.12'; - var userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; - var DEFAULTS = { - method: 'GET', - baseUrl: 'https://api.github.com', - headers: { - accept: 'application/vnd.github.v3+json', - 'user-agent': userAgent - }, - mediaType: { - format: '', - previews: [] - } - }; - var endpoint = withDefaults(null, DEFAULTS); - exports2.endpoint = endpoint; - } -}); - -// node_modules/webidl-conversions/lib/index.js -var require_lib2 = __commonJS({ - 'node_modules/webidl-conversions/lib/index.js'(exports2, module2) { - 'use strict'; - var conversions = {}; - module2.exports = conversions; - function sign(x) { - return x < 0 ? -1 : 1; - } - function evenRound(x) { - if (x % 1 === 0.5 && (x & 1) === 0) { - return Math.floor(x); - } else { - return Math.round(x); - } - } - function createNumberConversion(bitLength, typeOpts) { - if (!typeOpts.unsigned) { - --bitLength; - } - const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); - const upperBound = Math.pow(2, bitLength) - 1; - const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); - const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - return function (V, opts) { - if (!opts) opts = {}; - let x = +V; - if (opts.enforceRange) { - if (!Number.isFinite(x)) { - throw new TypeError('Argument is not a finite number'); - } - x = sign(x) * Math.floor(Math.abs(x)); - if (x < lowerBound || x > upperBound) { - throw new TypeError('Argument is not in byte range'); - } - return x; - } - if (!isNaN(x) && opts.clamp) { - x = evenRound(x); - if (x < lowerBound) x = lowerBound; - if (x > upperBound) x = upperBound; - return x; - } - if (!Number.isFinite(x) || x === 0) { - return 0; - } - x = sign(x) * Math.floor(Math.abs(x)); - x = x % moduloVal; - if (!typeOpts.unsigned && x >= moduloBound) { - return x - moduloVal; - } else if (typeOpts.unsigned) { - if (x < 0) { - x += moduloVal; - } else if (x === -0) { - return 0; - } - } - return x; - }; + 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; } - conversions['void'] = function () { - return void 0; - }; - conversions['boolean'] = function (val) { - return !!val; - }; - conversions['byte'] = createNumberConversion(8, { unsigned: false }); - conversions['octet'] = createNumberConversion(8, { unsigned: true }); - conversions['short'] = createNumberConversion(16, { unsigned: false }); - conversions['unsigned short'] = createNumberConversion(16, { unsigned: true }); - conversions['long'] = createNumberConversion(32, { unsigned: false }); - conversions['unsigned long'] = createNumberConversion(32, { unsigned: true }); - conversions['long long'] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); - conversions['unsigned long long'] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - conversions['double'] = function (V) { - const x = +V; - if (!Number.isFinite(x)) { - throw new TypeError('Argument is not a finite floating-point value'); - } - return x; - }; - conversions['unrestricted double'] = function (V) { - const x = +V; - if (isNaN(x)) { - throw new TypeError('Argument is NaN'); + function isURLPotentiallyTrustworthy(url) { + if (!(url instanceof URL)) { + return false; } - return x; - }; - conversions['float'] = conversions['double']; - conversions['unrestricted float'] = conversions['unrestricted double']; - conversions['DOMString'] = function (V, opts) { - if (!opts) opts = {}; - if (opts.treatNullAsEmptyString && V === null) { - return ''; + if (url.href === "about:blank" || url.href === "about:srcdoc") { + return true; } - return String(V); - }; - conversions['ByteString'] = function (V, opts) { - const x = String(V); - let c = void 0; - for (let i = 0; (c = x.codePointAt(i)) !== void 0; ++i) { - if (c > 255) { - throw new TypeError('Argument is not a valid bytestring'); + 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; } - return x; - }; - conversions['USVString'] = function (V) { - const S = String(V); - const n = S.length; - const U = []; - for (let i = 0; i < n; ++i) { - const c = S.charCodeAt(i); - if (c < 55296 || c > 57343) { - U.push(String.fromCodePoint(c)); - } else if (56320 <= c && c <= 57343) { - U.push(String.fromCodePoint(65533)); - } else { - if (i === n - 1) { - U.push(String.fromCodePoint(65533)); + } + function bytesMatch(bytes, metadataList) { + if (crypto4 === 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 = crypto4.createHash(algorithm).update(bytes).digest("base64"); + if (actualValue[actualValue.length - 1] === "=") { + if (actualValue[actualValue.length - 2] === "=") { + actualValue = actualValue.slice(0, -2); } else { - const d = S.charCodeAt(i + 1); - if (56320 <= d && d <= 57343) { - const a = c & 1023; - const b = d & 1023; - U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); - ++i; - } else { - U.push(String.fromCodePoint(65533)); - } + actualValue = actualValue.slice(0, -1); } } - } - return U.join(''); - }; - conversions['Date'] = function (V, opts) { - if (!(V instanceof Date)) { - throw new TypeError('Argument is not a Date object'); - } - if (isNaN(V)) { - return void 0; - } - return V; - }; - conversions['RegExp'] = function (V, opts) { - if (!(V instanceof RegExp)) { - V = new RegExp(V); - } - return V; - }; - } -}); - -// node_modules/whatwg-url/lib/utils.js -var require_utils3 = __commonJS({ - 'node_modules/whatwg-url/lib/utils.js'(exports2, module2) { - 'use strict'; - module2.exports.mixin = function mixin(target, source) { - const keys = Object.getOwnPropertyNames(source); - for (let i = 0; i < keys.length; ++i) { - Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); - } - }; - module2.exports.wrapperSymbol = Symbol('wrapper'); - module2.exports.implSymbol = Symbol('impl'); - module2.exports.wrapperForImpl = function (impl) { - return impl[module2.exports.wrapperSymbol]; - }; - module2.exports.implForWrapper = function (wrapper) { - return wrapper[module2.exports.implSymbol]; - }; - } -}); - -// node_modules/tr46/lib/mappingTable.json -var require_mappingTable = __commonJS({ - 'node_modules/tr46/lib/mappingTable.json'(exports2, module2) { - module2.exports = [ - [[0, 44], 'disallowed_STD3_valid'], - [[45, 46], 'valid'], - [[47, 47], 'disallowed_STD3_valid'], - [[48, 57], 'valid'], - [[58, 64], 'disallowed_STD3_valid'], - [[65, 65], 'mapped', [97]], - [[66, 66], 'mapped', [98]], - [[67, 67], 'mapped', [99]], - [[68, 68], 'mapped', [100]], - [[69, 69], 'mapped', [101]], - [[70, 70], 'mapped', [102]], - [[71, 71], 'mapped', [103]], - [[72, 72], 'mapped', [104]], - [[73, 73], 'mapped', [105]], - [[74, 74], 'mapped', [106]], - [[75, 75], 'mapped', [107]], - [[76, 76], 'mapped', [108]], - [[77, 77], 'mapped', [109]], - [[78, 78], 'mapped', [110]], - [[79, 79], 'mapped', [111]], - [[80, 80], 'mapped', [112]], - [[81, 81], 'mapped', [113]], - [[82, 82], 'mapped', [114]], - [[83, 83], 'mapped', [115]], - [[84, 84], 'mapped', [116]], - [[85, 85], 'mapped', [117]], - [[86, 86], 'mapped', [118]], - [[87, 87], 'mapped', [119]], - [[88, 88], 'mapped', [120]], - [[89, 89], 'mapped', [121]], - [[90, 90], 'mapped', [122]], - [[91, 96], 'disallowed_STD3_valid'], - [[97, 122], 'valid'], - [[123, 127], 'disallowed_STD3_valid'], - [[128, 159], 'disallowed'], - [[160, 160], 'disallowed_STD3_mapped', [32]], - [[161, 167], 'valid', [], 'NV8'], - [[168, 168], 'disallowed_STD3_mapped', [32, 776]], - [[169, 169], 'valid', [], 'NV8'], - [[170, 170], 'mapped', [97]], - [[171, 172], 'valid', [], 'NV8'], - [[173, 173], 'ignored'], - [[174, 174], 'valid', [], 'NV8'], - [[175, 175], 'disallowed_STD3_mapped', [32, 772]], - [[176, 177], 'valid', [], 'NV8'], - [[178, 178], 'mapped', [50]], - [[179, 179], 'mapped', [51]], - [[180, 180], 'disallowed_STD3_mapped', [32, 769]], - [[181, 181], 'mapped', [956]], - [[182, 182], 'valid', [], 'NV8'], - [[183, 183], 'valid'], - [[184, 184], 'disallowed_STD3_mapped', [32, 807]], - [[185, 185], 'mapped', [49]], - [[186, 186], 'mapped', [111]], - [[187, 187], 'valid', [], 'NV8'], - [[188, 188], 'mapped', [49, 8260, 52]], - [[189, 189], 'mapped', [49, 8260, 50]], - [[190, 190], 'mapped', [51, 8260, 52]], - [[191, 191], 'valid', [], 'NV8'], - [[192, 192], 'mapped', [224]], - [[193, 193], 'mapped', [225]], - [[194, 194], 'mapped', [226]], - [[195, 195], 'mapped', [227]], - [[196, 196], 'mapped', [228]], - [[197, 197], 'mapped', [229]], - [[198, 198], 'mapped', [230]], - [[199, 199], 'mapped', [231]], - [[200, 200], 'mapped', [232]], - [[201, 201], 'mapped', [233]], - [[202, 202], 'mapped', [234]], - [[203, 203], 'mapped', [235]], - [[204, 204], 'mapped', [236]], - [[205, 205], 'mapped', [237]], - [[206, 206], 'mapped', [238]], - [[207, 207], 'mapped', [239]], - [[208, 208], 'mapped', [240]], - [[209, 209], 'mapped', [241]], - [[210, 210], 'mapped', [242]], - [[211, 211], 'mapped', [243]], - [[212, 212], 'mapped', [244]], - [[213, 213], 'mapped', [245]], - [[214, 214], 'mapped', [246]], - [[215, 215], 'valid', [], 'NV8'], - [[216, 216], 'mapped', [248]], - [[217, 217], 'mapped', [249]], - [[218, 218], 'mapped', [250]], - [[219, 219], 'mapped', [251]], - [[220, 220], 'mapped', [252]], - [[221, 221], 'mapped', [253]], - [[222, 222], 'mapped', [254]], - [[223, 223], 'deviation', [115, 115]], - [[224, 246], 'valid'], - [[247, 247], 'valid', [], 'NV8'], - [[248, 255], 'valid'], - [[256, 256], 'mapped', [257]], - [[257, 257], 'valid'], - [[258, 258], 'mapped', [259]], - [[259, 259], 'valid'], - [[260, 260], 'mapped', [261]], - [[261, 261], 'valid'], - [[262, 262], 'mapped', [263]], - [[263, 263], 'valid'], - [[264, 264], 'mapped', [265]], - [[265, 265], 'valid'], - [[266, 266], 'mapped', [267]], - [[267, 267], 'valid'], - [[268, 268], 'mapped', [269]], - [[269, 269], 'valid'], - [[270, 270], 'mapped', [271]], - [[271, 271], 'valid'], - [[272, 272], 'mapped', [273]], - [[273, 273], 'valid'], - [[274, 274], 'mapped', [275]], - [[275, 275], 'valid'], - [[276, 276], 'mapped', [277]], - [[277, 277], 'valid'], - [[278, 278], 'mapped', [279]], - [[279, 279], 'valid'], - [[280, 280], 'mapped', [281]], - [[281, 281], 'valid'], - [[282, 282], 'mapped', [283]], - [[283, 283], 'valid'], - [[284, 284], 'mapped', [285]], - [[285, 285], 'valid'], - [[286, 286], 'mapped', [287]], - [[287, 287], 'valid'], - [[288, 288], 'mapped', [289]], - [[289, 289], 'valid'], - [[290, 290], 'mapped', [291]], - [[291, 291], 'valid'], - [[292, 292], 'mapped', [293]], - [[293, 293], 'valid'], - [[294, 294], 'mapped', [295]], - [[295, 295], 'valid'], - [[296, 296], 'mapped', [297]], - [[297, 297], 'valid'], - [[298, 298], 'mapped', [299]], - [[299, 299], 'valid'], - [[300, 300], 'mapped', [301]], - [[301, 301], 'valid'], - [[302, 302], 'mapped', [303]], - [[303, 303], 'valid'], - [[304, 304], 'mapped', [105, 775]], - [[305, 305], 'valid'], - [[306, 307], 'mapped', [105, 106]], - [[308, 308], 'mapped', [309]], - [[309, 309], 'valid'], - [[310, 310], 'mapped', [311]], - [[311, 312], 'valid'], - [[313, 313], 'mapped', [314]], - [[314, 314], 'valid'], - [[315, 315], 'mapped', [316]], - [[316, 316], 'valid'], - [[317, 317], 'mapped', [318]], - [[318, 318], 'valid'], - [[319, 320], 'mapped', [108, 183]], - [[321, 321], 'mapped', [322]], - [[322, 322], 'valid'], - [[323, 323], 'mapped', [324]], - [[324, 324], 'valid'], - [[325, 325], 'mapped', [326]], - [[326, 326], 'valid'], - [[327, 327], 'mapped', [328]], - [[328, 328], 'valid'], - [[329, 329], 'mapped', [700, 110]], - [[330, 330], 'mapped', [331]], - [[331, 331], 'valid'], - [[332, 332], 'mapped', [333]], - [[333, 333], 'valid'], - [[334, 334], 'mapped', [335]], - [[335, 335], 'valid'], - [[336, 336], 'mapped', [337]], - [[337, 337], 'valid'], - [[338, 338], 'mapped', [339]], - [[339, 339], 'valid'], - [[340, 340], 'mapped', [341]], - [[341, 341], 'valid'], - [[342, 342], 'mapped', [343]], - [[343, 343], 'valid'], - [[344, 344], 'mapped', [345]], - [[345, 345], 'valid'], - [[346, 346], 'mapped', [347]], - [[347, 347], 'valid'], - [[348, 348], 'mapped', [349]], - [[349, 349], 'valid'], - [[350, 350], 'mapped', [351]], - [[351, 351], 'valid'], - [[352, 352], 'mapped', [353]], - [[353, 353], 'valid'], - [[354, 354], 'mapped', [355]], - [[355, 355], 'valid'], - [[356, 356], 'mapped', [357]], - [[357, 357], 'valid'], - [[358, 358], 'mapped', [359]], - [[359, 359], 'valid'], - [[360, 360], 'mapped', [361]], - [[361, 361], 'valid'], - [[362, 362], 'mapped', [363]], - [[363, 363], 'valid'], - [[364, 364], 'mapped', [365]], - [[365, 365], 'valid'], - [[366, 366], 'mapped', [367]], - [[367, 367], 'valid'], - [[368, 368], 'mapped', [369]], - [[369, 369], 'valid'], - [[370, 370], 'mapped', [371]], - [[371, 371], 'valid'], - [[372, 372], 'mapped', [373]], - [[373, 373], 'valid'], - [[374, 374], 'mapped', [375]], - [[375, 375], 'valid'], - [[376, 376], 'mapped', [255]], - [[377, 377], 'mapped', [378]], - [[378, 378], 'valid'], - [[379, 379], 'mapped', [380]], - [[380, 380], 'valid'], - [[381, 381], 'mapped', [382]], - [[382, 382], 'valid'], - [[383, 383], 'mapped', [115]], - [[384, 384], 'valid'], - [[385, 385], 'mapped', [595]], - [[386, 386], 'mapped', [387]], - [[387, 387], 'valid'], - [[388, 388], 'mapped', [389]], - [[389, 389], 'valid'], - [[390, 390], 'mapped', [596]], - [[391, 391], 'mapped', [392]], - [[392, 392], 'valid'], - [[393, 393], 'mapped', [598]], - [[394, 394], 'mapped', [599]], - [[395, 395], 'mapped', [396]], - [[396, 397], 'valid'], - [[398, 398], 'mapped', [477]], - [[399, 399], 'mapped', [601]], - [[400, 400], 'mapped', [603]], - [[401, 401], 'mapped', [402]], - [[402, 402], 'valid'], - [[403, 403], 'mapped', [608]], - [[404, 404], 'mapped', [611]], - [[405, 405], 'valid'], - [[406, 406], 'mapped', [617]], - [[407, 407], 'mapped', [616]], - [[408, 408], 'mapped', [409]], - [[409, 411], 'valid'], - [[412, 412], 'mapped', [623]], - [[413, 413], 'mapped', [626]], - [[414, 414], 'valid'], - [[415, 415], 'mapped', [629]], - [[416, 416], 'mapped', [417]], - [[417, 417], 'valid'], - [[418, 418], 'mapped', [419]], - [[419, 419], 'valid'], - [[420, 420], 'mapped', [421]], - [[421, 421], 'valid'], - [[422, 422], 'mapped', [640]], - [[423, 423], 'mapped', [424]], - [[424, 424], 'valid'], - [[425, 425], 'mapped', [643]], - [[426, 427], 'valid'], - [[428, 428], 'mapped', [429]], - [[429, 429], 'valid'], - [[430, 430], 'mapped', [648]], - [[431, 431], 'mapped', [432]], - [[432, 432], 'valid'], - [[433, 433], 'mapped', [650]], - [[434, 434], 'mapped', [651]], - [[435, 435], 'mapped', [436]], - [[436, 436], 'valid'], - [[437, 437], 'mapped', [438]], - [[438, 438], 'valid'], - [[439, 439], 'mapped', [658]], - [[440, 440], 'mapped', [441]], - [[441, 443], 'valid'], - [[444, 444], 'mapped', [445]], - [[445, 451], 'valid'], - [[452, 454], 'mapped', [100, 382]], - [[455, 457], 'mapped', [108, 106]], - [[458, 460], 'mapped', [110, 106]], - [[461, 461], 'mapped', [462]], - [[462, 462], 'valid'], - [[463, 463], 'mapped', [464]], - [[464, 464], 'valid'], - [[465, 465], 'mapped', [466]], - [[466, 466], 'valid'], - [[467, 467], 'mapped', [468]], - [[468, 468], 'valid'], - [[469, 469], 'mapped', [470]], - [[470, 470], 'valid'], - [[471, 471], 'mapped', [472]], - [[472, 472], 'valid'], - [[473, 473], 'mapped', [474]], - [[474, 474], 'valid'], - [[475, 475], 'mapped', [476]], - [[476, 477], 'valid'], - [[478, 478], 'mapped', [479]], - [[479, 479], 'valid'], - [[480, 480], 'mapped', [481]], - [[481, 481], 'valid'], - [[482, 482], 'mapped', [483]], - [[483, 483], 'valid'], - [[484, 484], 'mapped', [485]], - [[485, 485], 'valid'], - [[486, 486], 'mapped', [487]], - [[487, 487], 'valid'], - [[488, 488], 'mapped', [489]], - [[489, 489], 'valid'], - [[490, 490], 'mapped', [491]], - [[491, 491], 'valid'], - [[492, 492], 'mapped', [493]], - [[493, 493], 'valid'], - [[494, 494], 'mapped', [495]], - [[495, 496], 'valid'], - [[497, 499], 'mapped', [100, 122]], - [[500, 500], 'mapped', [501]], - [[501, 501], 'valid'], - [[502, 502], 'mapped', [405]], - [[503, 503], 'mapped', [447]], - [[504, 504], 'mapped', [505]], - [[505, 505], 'valid'], - [[506, 506], 'mapped', [507]], - [[507, 507], 'valid'], - [[508, 508], 'mapped', [509]], - [[509, 509], 'valid'], - [[510, 510], 'mapped', [511]], - [[511, 511], 'valid'], - [[512, 512], 'mapped', [513]], - [[513, 513], 'valid'], - [[514, 514], 'mapped', [515]], - [[515, 515], 'valid'], - [[516, 516], 'mapped', [517]], - [[517, 517], 'valid'], - [[518, 518], 'mapped', [519]], - [[519, 519], 'valid'], - [[520, 520], 'mapped', [521]], - [[521, 521], 'valid'], - [[522, 522], 'mapped', [523]], - [[523, 523], 'valid'], - [[524, 524], 'mapped', [525]], - [[525, 525], 'valid'], - [[526, 526], 'mapped', [527]], - [[527, 527], 'valid'], - [[528, 528], 'mapped', [529]], - [[529, 529], 'valid'], - [[530, 530], 'mapped', [531]], - [[531, 531], 'valid'], - [[532, 532], 'mapped', [533]], - [[533, 533], 'valid'], - [[534, 534], 'mapped', [535]], - [[535, 535], 'valid'], - [[536, 536], 'mapped', [537]], - [[537, 537], 'valid'], - [[538, 538], 'mapped', [539]], - [[539, 539], 'valid'], - [[540, 540], 'mapped', [541]], - [[541, 541], 'valid'], - [[542, 542], 'mapped', [543]], - [[543, 543], 'valid'], - [[544, 544], 'mapped', [414]], - [[545, 545], 'valid'], - [[546, 546], 'mapped', [547]], - [[547, 547], 'valid'], - [[548, 548], 'mapped', [549]], - [[549, 549], 'valid'], - [[550, 550], 'mapped', [551]], - [[551, 551], 'valid'], - [[552, 552], 'mapped', [553]], - [[553, 553], 'valid'], - [[554, 554], 'mapped', [555]], - [[555, 555], 'valid'], - [[556, 556], 'mapped', [557]], - [[557, 557], 'valid'], - [[558, 558], 'mapped', [559]], - [[559, 559], 'valid'], - [[560, 560], 'mapped', [561]], - [[561, 561], 'valid'], - [[562, 562], 'mapped', [563]], - [[563, 563], 'valid'], - [[564, 566], 'valid'], - [[567, 569], 'valid'], - [[570, 570], 'mapped', [11365]], - [[571, 571], 'mapped', [572]], - [[572, 572], 'valid'], - [[573, 573], 'mapped', [410]], - [[574, 574], 'mapped', [11366]], - [[575, 576], 'valid'], - [[577, 577], 'mapped', [578]], - [[578, 578], 'valid'], - [[579, 579], 'mapped', [384]], - [[580, 580], 'mapped', [649]], - [[581, 581], 'mapped', [652]], - [[582, 582], 'mapped', [583]], - [[583, 583], 'valid'], - [[584, 584], 'mapped', [585]], - [[585, 585], 'valid'], - [[586, 586], 'mapped', [587]], - [[587, 587], 'valid'], - [[588, 588], 'mapped', [589]], - [[589, 589], 'valid'], - [[590, 590], 'mapped', [591]], - [[591, 591], 'valid'], - [[592, 680], 'valid'], - [[681, 685], 'valid'], - [[686, 687], 'valid'], - [[688, 688], 'mapped', [104]], - [[689, 689], 'mapped', [614]], - [[690, 690], 'mapped', [106]], - [[691, 691], 'mapped', [114]], - [[692, 692], 'mapped', [633]], - [[693, 693], 'mapped', [635]], - [[694, 694], 'mapped', [641]], - [[695, 695], 'mapped', [119]], - [[696, 696], 'mapped', [121]], - [[697, 705], 'valid'], - [[706, 709], 'valid', [], 'NV8'], - [[710, 721], 'valid'], - [[722, 727], 'valid', [], 'NV8'], - [[728, 728], 'disallowed_STD3_mapped', [32, 774]], - [[729, 729], 'disallowed_STD3_mapped', [32, 775]], - [[730, 730], 'disallowed_STD3_mapped', [32, 778]], - [[731, 731], 'disallowed_STD3_mapped', [32, 808]], - [[732, 732], 'disallowed_STD3_mapped', [32, 771]], - [[733, 733], 'disallowed_STD3_mapped', [32, 779]], - [[734, 734], 'valid', [], 'NV8'], - [[735, 735], 'valid', [], 'NV8'], - [[736, 736], 'mapped', [611]], - [[737, 737], 'mapped', [108]], - [[738, 738], 'mapped', [115]], - [[739, 739], 'mapped', [120]], - [[740, 740], 'mapped', [661]], - [[741, 745], 'valid', [], 'NV8'], - [[746, 747], 'valid', [], 'NV8'], - [[748, 748], 'valid'], - [[749, 749], 'valid', [], 'NV8'], - [[750, 750], 'valid'], - [[751, 767], 'valid', [], 'NV8'], - [[768, 831], 'valid'], - [[832, 832], 'mapped', [768]], - [[833, 833], 'mapped', [769]], - [[834, 834], 'valid'], - [[835, 835], 'mapped', [787]], - [[836, 836], 'mapped', [776, 769]], - [[837, 837], 'mapped', [953]], - [[838, 846], 'valid'], - [[847, 847], 'ignored'], - [[848, 855], 'valid'], - [[856, 860], 'valid'], - [[861, 863], 'valid'], - [[864, 865], 'valid'], - [[866, 866], 'valid'], - [[867, 879], 'valid'], - [[880, 880], 'mapped', [881]], - [[881, 881], 'valid'], - [[882, 882], 'mapped', [883]], - [[883, 883], 'valid'], - [[884, 884], 'mapped', [697]], - [[885, 885], 'valid'], - [[886, 886], 'mapped', [887]], - [[887, 887], 'valid'], - [[888, 889], 'disallowed'], - [[890, 890], 'disallowed_STD3_mapped', [32, 953]], - [[891, 893], 'valid'], - [[894, 894], 'disallowed_STD3_mapped', [59]], - [[895, 895], 'mapped', [1011]], - [[896, 899], 'disallowed'], - [[900, 900], 'disallowed_STD3_mapped', [32, 769]], - [[901, 901], 'disallowed_STD3_mapped', [32, 776, 769]], - [[902, 902], 'mapped', [940]], - [[903, 903], 'mapped', [183]], - [[904, 904], 'mapped', [941]], - [[905, 905], 'mapped', [942]], - [[906, 906], 'mapped', [943]], - [[907, 907], 'disallowed'], - [[908, 908], 'mapped', [972]], - [[909, 909], 'disallowed'], - [[910, 910], 'mapped', [973]], - [[911, 911], 'mapped', [974]], - [[912, 912], 'valid'], - [[913, 913], 'mapped', [945]], - [[914, 914], 'mapped', [946]], - [[915, 915], 'mapped', [947]], - [[916, 916], 'mapped', [948]], - [[917, 917], 'mapped', [949]], - [[918, 918], 'mapped', [950]], - [[919, 919], 'mapped', [951]], - [[920, 920], 'mapped', [952]], - [[921, 921], 'mapped', [953]], - [[922, 922], 'mapped', [954]], - [[923, 923], 'mapped', [955]], - [[924, 924], 'mapped', [956]], - [[925, 925], 'mapped', [957]], - [[926, 926], 'mapped', [958]], - [[927, 927], 'mapped', [959]], - [[928, 928], 'mapped', [960]], - [[929, 929], 'mapped', [961]], - [[930, 930], 'disallowed'], - [[931, 931], 'mapped', [963]], - [[932, 932], 'mapped', [964]], - [[933, 933], 'mapped', [965]], - [[934, 934], 'mapped', [966]], - [[935, 935], 'mapped', [967]], - [[936, 936], 'mapped', [968]], - [[937, 937], 'mapped', [969]], - [[938, 938], 'mapped', [970]], - [[939, 939], 'mapped', [971]], - [[940, 961], 'valid'], - [[962, 962], 'deviation', [963]], - [[963, 974], 'valid'], - [[975, 975], 'mapped', [983]], - [[976, 976], 'mapped', [946]], - [[977, 977], 'mapped', [952]], - [[978, 978], 'mapped', [965]], - [[979, 979], 'mapped', [973]], - [[980, 980], 'mapped', [971]], - [[981, 981], 'mapped', [966]], - [[982, 982], 'mapped', [960]], - [[983, 983], 'valid'], - [[984, 984], 'mapped', [985]], - [[985, 985], 'valid'], - [[986, 986], 'mapped', [987]], - [[987, 987], 'valid'], - [[988, 988], 'mapped', [989]], - [[989, 989], 'valid'], - [[990, 990], 'mapped', [991]], - [[991, 991], 'valid'], - [[992, 992], 'mapped', [993]], - [[993, 993], 'valid'], - [[994, 994], 'mapped', [995]], - [[995, 995], 'valid'], - [[996, 996], 'mapped', [997]], - [[997, 997], 'valid'], - [[998, 998], 'mapped', [999]], - [[999, 999], 'valid'], - [[1e3, 1e3], 'mapped', [1001]], - [[1001, 1001], 'valid'], - [[1002, 1002], 'mapped', [1003]], - [[1003, 1003], 'valid'], - [[1004, 1004], 'mapped', [1005]], - [[1005, 1005], 'valid'], - [[1006, 1006], 'mapped', [1007]], - [[1007, 1007], 'valid'], - [[1008, 1008], 'mapped', [954]], - [[1009, 1009], 'mapped', [961]], - [[1010, 1010], 'mapped', [963]], - [[1011, 1011], 'valid'], - [[1012, 1012], 'mapped', [952]], - [[1013, 1013], 'mapped', [949]], - [[1014, 1014], 'valid', [], 'NV8'], - [[1015, 1015], 'mapped', [1016]], - [[1016, 1016], 'valid'], - [[1017, 1017], 'mapped', [963]], - [[1018, 1018], 'mapped', [1019]], - [[1019, 1019], 'valid'], - [[1020, 1020], 'valid'], - [[1021, 1021], 'mapped', [891]], - [[1022, 1022], 'mapped', [892]], - [[1023, 1023], 'mapped', [893]], - [[1024, 1024], 'mapped', [1104]], - [[1025, 1025], 'mapped', [1105]], - [[1026, 1026], 'mapped', [1106]], - [[1027, 1027], 'mapped', [1107]], - [[1028, 1028], 'mapped', [1108]], - [[1029, 1029], 'mapped', [1109]], - [[1030, 1030], 'mapped', [1110]], - [[1031, 1031], 'mapped', [1111]], - [[1032, 1032], 'mapped', [1112]], - [[1033, 1033], 'mapped', [1113]], - [[1034, 1034], 'mapped', [1114]], - [[1035, 1035], 'mapped', [1115]], - [[1036, 1036], 'mapped', [1116]], - [[1037, 1037], 'mapped', [1117]], - [[1038, 1038], 'mapped', [1118]], - [[1039, 1039], 'mapped', [1119]], - [[1040, 1040], 'mapped', [1072]], - [[1041, 1041], 'mapped', [1073]], - [[1042, 1042], 'mapped', [1074]], - [[1043, 1043], 'mapped', [1075]], - [[1044, 1044], 'mapped', [1076]], - [[1045, 1045], 'mapped', [1077]], - [[1046, 1046], 'mapped', [1078]], - [[1047, 1047], 'mapped', [1079]], - [[1048, 1048], 'mapped', [1080]], - [[1049, 1049], 'mapped', [1081]], - [[1050, 1050], 'mapped', [1082]], - [[1051, 1051], 'mapped', [1083]], - [[1052, 1052], 'mapped', [1084]], - [[1053, 1053], 'mapped', [1085]], - [[1054, 1054], 'mapped', [1086]], - [[1055, 1055], 'mapped', [1087]], - [[1056, 1056], 'mapped', [1088]], - [[1057, 1057], 'mapped', [1089]], - [[1058, 1058], 'mapped', [1090]], - [[1059, 1059], 'mapped', [1091]], - [[1060, 1060], 'mapped', [1092]], - [[1061, 1061], 'mapped', [1093]], - [[1062, 1062], 'mapped', [1094]], - [[1063, 1063], 'mapped', [1095]], - [[1064, 1064], 'mapped', [1096]], - [[1065, 1065], 'mapped', [1097]], - [[1066, 1066], 'mapped', [1098]], - [[1067, 1067], 'mapped', [1099]], - [[1068, 1068], 'mapped', [1100]], - [[1069, 1069], 'mapped', [1101]], - [[1070, 1070], 'mapped', [1102]], - [[1071, 1071], 'mapped', [1103]], - [[1072, 1103], 'valid'], - [[1104, 1104], 'valid'], - [[1105, 1116], 'valid'], - [[1117, 1117], 'valid'], - [[1118, 1119], 'valid'], - [[1120, 1120], 'mapped', [1121]], - [[1121, 1121], 'valid'], - [[1122, 1122], 'mapped', [1123]], - [[1123, 1123], 'valid'], - [[1124, 1124], 'mapped', [1125]], - [[1125, 1125], 'valid'], - [[1126, 1126], 'mapped', [1127]], - [[1127, 1127], 'valid'], - [[1128, 1128], 'mapped', [1129]], - [[1129, 1129], 'valid'], - [[1130, 1130], 'mapped', [1131]], - [[1131, 1131], 'valid'], - [[1132, 1132], 'mapped', [1133]], - [[1133, 1133], 'valid'], - [[1134, 1134], 'mapped', [1135]], - [[1135, 1135], 'valid'], - [[1136, 1136], 'mapped', [1137]], - [[1137, 1137], 'valid'], - [[1138, 1138], 'mapped', [1139]], - [[1139, 1139], 'valid'], - [[1140, 1140], 'mapped', [1141]], - [[1141, 1141], 'valid'], - [[1142, 1142], 'mapped', [1143]], - [[1143, 1143], 'valid'], - [[1144, 1144], 'mapped', [1145]], - [[1145, 1145], 'valid'], - [[1146, 1146], 'mapped', [1147]], - [[1147, 1147], 'valid'], - [[1148, 1148], 'mapped', [1149]], - [[1149, 1149], 'valid'], - [[1150, 1150], 'mapped', [1151]], - [[1151, 1151], 'valid'], - [[1152, 1152], 'mapped', [1153]], - [[1153, 1153], 'valid'], - [[1154, 1154], 'valid', [], 'NV8'], - [[1155, 1158], 'valid'], - [[1159, 1159], 'valid'], - [[1160, 1161], 'valid', [], 'NV8'], - [[1162, 1162], 'mapped', [1163]], - [[1163, 1163], 'valid'], - [[1164, 1164], 'mapped', [1165]], - [[1165, 1165], 'valid'], - [[1166, 1166], 'mapped', [1167]], - [[1167, 1167], 'valid'], - [[1168, 1168], 'mapped', [1169]], - [[1169, 1169], 'valid'], - [[1170, 1170], 'mapped', [1171]], - [[1171, 1171], 'valid'], - [[1172, 1172], 'mapped', [1173]], - [[1173, 1173], 'valid'], - [[1174, 1174], 'mapped', [1175]], - [[1175, 1175], 'valid'], - [[1176, 1176], 'mapped', [1177]], - [[1177, 1177], 'valid'], - [[1178, 1178], 'mapped', [1179]], - [[1179, 1179], 'valid'], - [[1180, 1180], 'mapped', [1181]], - [[1181, 1181], 'valid'], - [[1182, 1182], 'mapped', [1183]], - [[1183, 1183], 'valid'], - [[1184, 1184], 'mapped', [1185]], - [[1185, 1185], 'valid'], - [[1186, 1186], 'mapped', [1187]], - [[1187, 1187], 'valid'], - [[1188, 1188], 'mapped', [1189]], - [[1189, 1189], 'valid'], - [[1190, 1190], 'mapped', [1191]], - [[1191, 1191], 'valid'], - [[1192, 1192], 'mapped', [1193]], - [[1193, 1193], 'valid'], - [[1194, 1194], 'mapped', [1195]], - [[1195, 1195], 'valid'], - [[1196, 1196], 'mapped', [1197]], - [[1197, 1197], 'valid'], - [[1198, 1198], 'mapped', [1199]], - [[1199, 1199], 'valid'], - [[1200, 1200], 'mapped', [1201]], - [[1201, 1201], 'valid'], - [[1202, 1202], 'mapped', [1203]], - [[1203, 1203], 'valid'], - [[1204, 1204], 'mapped', [1205]], - [[1205, 1205], 'valid'], - [[1206, 1206], 'mapped', [1207]], - [[1207, 1207], 'valid'], - [[1208, 1208], 'mapped', [1209]], - [[1209, 1209], 'valid'], - [[1210, 1210], 'mapped', [1211]], - [[1211, 1211], 'valid'], - [[1212, 1212], 'mapped', [1213]], - [[1213, 1213], 'valid'], - [[1214, 1214], 'mapped', [1215]], - [[1215, 1215], 'valid'], - [[1216, 1216], 'disallowed'], - [[1217, 1217], 'mapped', [1218]], - [[1218, 1218], 'valid'], - [[1219, 1219], 'mapped', [1220]], - [[1220, 1220], 'valid'], - [[1221, 1221], 'mapped', [1222]], - [[1222, 1222], 'valid'], - [[1223, 1223], 'mapped', [1224]], - [[1224, 1224], 'valid'], - [[1225, 1225], 'mapped', [1226]], - [[1226, 1226], 'valid'], - [[1227, 1227], 'mapped', [1228]], - [[1228, 1228], 'valid'], - [[1229, 1229], 'mapped', [1230]], - [[1230, 1230], 'valid'], - [[1231, 1231], 'valid'], - [[1232, 1232], 'mapped', [1233]], - [[1233, 1233], 'valid'], - [[1234, 1234], 'mapped', [1235]], - [[1235, 1235], 'valid'], - [[1236, 1236], 'mapped', [1237]], - [[1237, 1237], 'valid'], - [[1238, 1238], 'mapped', [1239]], - [[1239, 1239], 'valid'], - [[1240, 1240], 'mapped', [1241]], - [[1241, 1241], 'valid'], - [[1242, 1242], 'mapped', [1243]], - [[1243, 1243], 'valid'], - [[1244, 1244], 'mapped', [1245]], - [[1245, 1245], 'valid'], - [[1246, 1246], 'mapped', [1247]], - [[1247, 1247], 'valid'], - [[1248, 1248], 'mapped', [1249]], - [[1249, 1249], 'valid'], - [[1250, 1250], 'mapped', [1251]], - [[1251, 1251], 'valid'], - [[1252, 1252], 'mapped', [1253]], - [[1253, 1253], 'valid'], - [[1254, 1254], 'mapped', [1255]], - [[1255, 1255], 'valid'], - [[1256, 1256], 'mapped', [1257]], - [[1257, 1257], 'valid'], - [[1258, 1258], 'mapped', [1259]], - [[1259, 1259], 'valid'], - [[1260, 1260], 'mapped', [1261]], - [[1261, 1261], 'valid'], - [[1262, 1262], 'mapped', [1263]], - [[1263, 1263], 'valid'], - [[1264, 1264], 'mapped', [1265]], - [[1265, 1265], 'valid'], - [[1266, 1266], 'mapped', [1267]], - [[1267, 1267], 'valid'], - [[1268, 1268], 'mapped', [1269]], - [[1269, 1269], 'valid'], - [[1270, 1270], 'mapped', [1271]], - [[1271, 1271], 'valid'], - [[1272, 1272], 'mapped', [1273]], - [[1273, 1273], 'valid'], - [[1274, 1274], 'mapped', [1275]], - [[1275, 1275], 'valid'], - [[1276, 1276], 'mapped', [1277]], - [[1277, 1277], 'valid'], - [[1278, 1278], 'mapped', [1279]], - [[1279, 1279], 'valid'], - [[1280, 1280], 'mapped', [1281]], - [[1281, 1281], 'valid'], - [[1282, 1282], 'mapped', [1283]], - [[1283, 1283], 'valid'], - [[1284, 1284], 'mapped', [1285]], - [[1285, 1285], 'valid'], - [[1286, 1286], 'mapped', [1287]], - [[1287, 1287], 'valid'], - [[1288, 1288], 'mapped', [1289]], - [[1289, 1289], 'valid'], - [[1290, 1290], 'mapped', [1291]], - [[1291, 1291], 'valid'], - [[1292, 1292], 'mapped', [1293]], - [[1293, 1293], 'valid'], - [[1294, 1294], 'mapped', [1295]], - [[1295, 1295], 'valid'], - [[1296, 1296], 'mapped', [1297]], - [[1297, 1297], 'valid'], - [[1298, 1298], 'mapped', [1299]], - [[1299, 1299], 'valid'], - [[1300, 1300], 'mapped', [1301]], - [[1301, 1301], 'valid'], - [[1302, 1302], 'mapped', [1303]], - [[1303, 1303], 'valid'], - [[1304, 1304], 'mapped', [1305]], - [[1305, 1305], 'valid'], - [[1306, 1306], 'mapped', [1307]], - [[1307, 1307], 'valid'], - [[1308, 1308], 'mapped', [1309]], - [[1309, 1309], 'valid'], - [[1310, 1310], 'mapped', [1311]], - [[1311, 1311], 'valid'], - [[1312, 1312], 'mapped', [1313]], - [[1313, 1313], 'valid'], - [[1314, 1314], 'mapped', [1315]], - [[1315, 1315], 'valid'], - [[1316, 1316], 'mapped', [1317]], - [[1317, 1317], 'valid'], - [[1318, 1318], 'mapped', [1319]], - [[1319, 1319], 'valid'], - [[1320, 1320], 'mapped', [1321]], - [[1321, 1321], 'valid'], - [[1322, 1322], 'mapped', [1323]], - [[1323, 1323], 'valid'], - [[1324, 1324], 'mapped', [1325]], - [[1325, 1325], 'valid'], - [[1326, 1326], 'mapped', [1327]], - [[1327, 1327], 'valid'], - [[1328, 1328], 'disallowed'], - [[1329, 1329], 'mapped', [1377]], - [[1330, 1330], 'mapped', [1378]], - [[1331, 1331], 'mapped', [1379]], - [[1332, 1332], 'mapped', [1380]], - [[1333, 1333], 'mapped', [1381]], - [[1334, 1334], 'mapped', [1382]], - [[1335, 1335], 'mapped', [1383]], - [[1336, 1336], 'mapped', [1384]], - [[1337, 1337], 'mapped', [1385]], - [[1338, 1338], 'mapped', [1386]], - [[1339, 1339], 'mapped', [1387]], - [[1340, 1340], 'mapped', [1388]], - [[1341, 1341], 'mapped', [1389]], - [[1342, 1342], 'mapped', [1390]], - [[1343, 1343], 'mapped', [1391]], - [[1344, 1344], 'mapped', [1392]], - [[1345, 1345], 'mapped', [1393]], - [[1346, 1346], 'mapped', [1394]], - [[1347, 1347], 'mapped', [1395]], - [[1348, 1348], 'mapped', [1396]], - [[1349, 1349], 'mapped', [1397]], - [[1350, 1350], 'mapped', [1398]], - [[1351, 1351], 'mapped', [1399]], - [[1352, 1352], 'mapped', [1400]], - [[1353, 1353], 'mapped', [1401]], - [[1354, 1354], 'mapped', [1402]], - [[1355, 1355], 'mapped', [1403]], - [[1356, 1356], 'mapped', [1404]], - [[1357, 1357], 'mapped', [1405]], - [[1358, 1358], 'mapped', [1406]], - [[1359, 1359], 'mapped', [1407]], - [[1360, 1360], 'mapped', [1408]], - [[1361, 1361], 'mapped', [1409]], - [[1362, 1362], 'mapped', [1410]], - [[1363, 1363], 'mapped', [1411]], - [[1364, 1364], 'mapped', [1412]], - [[1365, 1365], 'mapped', [1413]], - [[1366, 1366], 'mapped', [1414]], - [[1367, 1368], 'disallowed'], - [[1369, 1369], 'valid'], - [[1370, 1375], 'valid', [], 'NV8'], - [[1376, 1376], 'disallowed'], - [[1377, 1414], 'valid'], - [[1415, 1415], 'mapped', [1381, 1410]], - [[1416, 1416], 'disallowed'], - [[1417, 1417], 'valid', [], 'NV8'], - [[1418, 1418], 'valid', [], 'NV8'], - [[1419, 1420], 'disallowed'], - [[1421, 1422], 'valid', [], 'NV8'], - [[1423, 1423], 'valid', [], 'NV8'], - [[1424, 1424], 'disallowed'], - [[1425, 1441], 'valid'], - [[1442, 1442], 'valid'], - [[1443, 1455], 'valid'], - [[1456, 1465], 'valid'], - [[1466, 1466], 'valid'], - [[1467, 1469], 'valid'], - [[1470, 1470], 'valid', [], 'NV8'], - [[1471, 1471], 'valid'], - [[1472, 1472], 'valid', [], 'NV8'], - [[1473, 1474], 'valid'], - [[1475, 1475], 'valid', [], 'NV8'], - [[1476, 1476], 'valid'], - [[1477, 1477], 'valid'], - [[1478, 1478], 'valid', [], 'NV8'], - [[1479, 1479], 'valid'], - [[1480, 1487], 'disallowed'], - [[1488, 1514], 'valid'], - [[1515, 1519], 'disallowed'], - [[1520, 1524], 'valid'], - [[1525, 1535], 'disallowed'], - [[1536, 1539], 'disallowed'], - [[1540, 1540], 'disallowed'], - [[1541, 1541], 'disallowed'], - [[1542, 1546], 'valid', [], 'NV8'], - [[1547, 1547], 'valid', [], 'NV8'], - [[1548, 1548], 'valid', [], 'NV8'], - [[1549, 1551], 'valid', [], 'NV8'], - [[1552, 1557], 'valid'], - [[1558, 1562], 'valid'], - [[1563, 1563], 'valid', [], 'NV8'], - [[1564, 1564], 'disallowed'], - [[1565, 1565], 'disallowed'], - [[1566, 1566], 'valid', [], 'NV8'], - [[1567, 1567], 'valid', [], 'NV8'], - [[1568, 1568], 'valid'], - [[1569, 1594], 'valid'], - [[1595, 1599], 'valid'], - [[1600, 1600], 'valid', [], 'NV8'], - [[1601, 1618], 'valid'], - [[1619, 1621], 'valid'], - [[1622, 1624], 'valid'], - [[1625, 1630], 'valid'], - [[1631, 1631], 'valid'], - [[1632, 1641], 'valid'], - [[1642, 1645], 'valid', [], 'NV8'], - [[1646, 1647], 'valid'], - [[1648, 1652], 'valid'], - [[1653, 1653], 'mapped', [1575, 1652]], - [[1654, 1654], 'mapped', [1608, 1652]], - [[1655, 1655], 'mapped', [1735, 1652]], - [[1656, 1656], 'mapped', [1610, 1652]], - [[1657, 1719], 'valid'], - [[1720, 1721], 'valid'], - [[1722, 1726], 'valid'], - [[1727, 1727], 'valid'], - [[1728, 1742], 'valid'], - [[1743, 1743], 'valid'], - [[1744, 1747], 'valid'], - [[1748, 1748], 'valid', [], 'NV8'], - [[1749, 1756], 'valid'], - [[1757, 1757], 'disallowed'], - [[1758, 1758], 'valid', [], 'NV8'], - [[1759, 1768], 'valid'], - [[1769, 1769], 'valid', [], 'NV8'], - [[1770, 1773], 'valid'], - [[1774, 1775], 'valid'], - [[1776, 1785], 'valid'], - [[1786, 1790], 'valid'], - [[1791, 1791], 'valid'], - [[1792, 1805], 'valid', [], 'NV8'], - [[1806, 1806], 'disallowed'], - [[1807, 1807], 'disallowed'], - [[1808, 1836], 'valid'], - [[1837, 1839], 'valid'], - [[1840, 1866], 'valid'], - [[1867, 1868], 'disallowed'], - [[1869, 1871], 'valid'], - [[1872, 1901], 'valid'], - [[1902, 1919], 'valid'], - [[1920, 1968], 'valid'], - [[1969, 1969], 'valid'], - [[1970, 1983], 'disallowed'], - [[1984, 2037], 'valid'], - [[2038, 2042], 'valid', [], 'NV8'], - [[2043, 2047], 'disallowed'], - [[2048, 2093], 'valid'], - [[2094, 2095], 'disallowed'], - [[2096, 2110], 'valid', [], 'NV8'], - [[2111, 2111], 'disallowed'], - [[2112, 2139], 'valid'], - [[2140, 2141], 'disallowed'], - [[2142, 2142], 'valid', [], 'NV8'], - [[2143, 2207], 'disallowed'], - [[2208, 2208], 'valid'], - [[2209, 2209], 'valid'], - [[2210, 2220], 'valid'], - [[2221, 2226], 'valid'], - [[2227, 2228], 'valid'], - [[2229, 2274], 'disallowed'], - [[2275, 2275], 'valid'], - [[2276, 2302], 'valid'], - [[2303, 2303], 'valid'], - [[2304, 2304], 'valid'], - [[2305, 2307], 'valid'], - [[2308, 2308], 'valid'], - [[2309, 2361], 'valid'], - [[2362, 2363], 'valid'], - [[2364, 2381], 'valid'], - [[2382, 2382], 'valid'], - [[2383, 2383], 'valid'], - [[2384, 2388], 'valid'], - [[2389, 2389], 'valid'], - [[2390, 2391], 'valid'], - [[2392, 2392], 'mapped', [2325, 2364]], - [[2393, 2393], 'mapped', [2326, 2364]], - [[2394, 2394], 'mapped', [2327, 2364]], - [[2395, 2395], 'mapped', [2332, 2364]], - [[2396, 2396], 'mapped', [2337, 2364]], - [[2397, 2397], 'mapped', [2338, 2364]], - [[2398, 2398], 'mapped', [2347, 2364]], - [[2399, 2399], 'mapped', [2351, 2364]], - [[2400, 2403], 'valid'], - [[2404, 2405], 'valid', [], 'NV8'], - [[2406, 2415], 'valid'], - [[2416, 2416], 'valid', [], 'NV8'], - [[2417, 2418], 'valid'], - [[2419, 2423], 'valid'], - [[2424, 2424], 'valid'], - [[2425, 2426], 'valid'], - [[2427, 2428], 'valid'], - [[2429, 2429], 'valid'], - [[2430, 2431], 'valid'], - [[2432, 2432], 'valid'], - [[2433, 2435], 'valid'], - [[2436, 2436], 'disallowed'], - [[2437, 2444], 'valid'], - [[2445, 2446], 'disallowed'], - [[2447, 2448], 'valid'], - [[2449, 2450], 'disallowed'], - [[2451, 2472], 'valid'], - [[2473, 2473], 'disallowed'], - [[2474, 2480], 'valid'], - [[2481, 2481], 'disallowed'], - [[2482, 2482], 'valid'], - [[2483, 2485], 'disallowed'], - [[2486, 2489], 'valid'], - [[2490, 2491], 'disallowed'], - [[2492, 2492], 'valid'], - [[2493, 2493], 'valid'], - [[2494, 2500], 'valid'], - [[2501, 2502], 'disallowed'], - [[2503, 2504], 'valid'], - [[2505, 2506], 'disallowed'], - [[2507, 2509], 'valid'], - [[2510, 2510], 'valid'], - [[2511, 2518], 'disallowed'], - [[2519, 2519], 'valid'], - [[2520, 2523], 'disallowed'], - [[2524, 2524], 'mapped', [2465, 2492]], - [[2525, 2525], 'mapped', [2466, 2492]], - [[2526, 2526], 'disallowed'], - [[2527, 2527], 'mapped', [2479, 2492]], - [[2528, 2531], 'valid'], - [[2532, 2533], 'disallowed'], - [[2534, 2545], 'valid'], - [[2546, 2554], 'valid', [], 'NV8'], - [[2555, 2555], 'valid', [], 'NV8'], - [[2556, 2560], 'disallowed'], - [[2561, 2561], 'valid'], - [[2562, 2562], 'valid'], - [[2563, 2563], 'valid'], - [[2564, 2564], 'disallowed'], - [[2565, 2570], 'valid'], - [[2571, 2574], 'disallowed'], - [[2575, 2576], 'valid'], - [[2577, 2578], 'disallowed'], - [[2579, 2600], 'valid'], - [[2601, 2601], 'disallowed'], - [[2602, 2608], 'valid'], - [[2609, 2609], 'disallowed'], - [[2610, 2610], 'valid'], - [[2611, 2611], 'mapped', [2610, 2620]], - [[2612, 2612], 'disallowed'], - [[2613, 2613], 'valid'], - [[2614, 2614], 'mapped', [2616, 2620]], - [[2615, 2615], 'disallowed'], - [[2616, 2617], 'valid'], - [[2618, 2619], 'disallowed'], - [[2620, 2620], 'valid'], - [[2621, 2621], 'disallowed'], - [[2622, 2626], 'valid'], - [[2627, 2630], 'disallowed'], - [[2631, 2632], 'valid'], - [[2633, 2634], 'disallowed'], - [[2635, 2637], 'valid'], - [[2638, 2640], 'disallowed'], - [[2641, 2641], 'valid'], - [[2642, 2648], 'disallowed'], - [[2649, 2649], 'mapped', [2582, 2620]], - [[2650, 2650], 'mapped', [2583, 2620]], - [[2651, 2651], 'mapped', [2588, 2620]], - [[2652, 2652], 'valid'], - [[2653, 2653], 'disallowed'], - [[2654, 2654], 'mapped', [2603, 2620]], - [[2655, 2661], 'disallowed'], - [[2662, 2676], 'valid'], - [[2677, 2677], 'valid'], - [[2678, 2688], 'disallowed'], - [[2689, 2691], 'valid'], - [[2692, 2692], 'disallowed'], - [[2693, 2699], 'valid'], - [[2700, 2700], 'valid'], - [[2701, 2701], 'valid'], - [[2702, 2702], 'disallowed'], - [[2703, 2705], 'valid'], - [[2706, 2706], 'disallowed'], - [[2707, 2728], 'valid'], - [[2729, 2729], 'disallowed'], - [[2730, 2736], 'valid'], - [[2737, 2737], 'disallowed'], - [[2738, 2739], 'valid'], - [[2740, 2740], 'disallowed'], - [[2741, 2745], 'valid'], - [[2746, 2747], 'disallowed'], - [[2748, 2757], 'valid'], - [[2758, 2758], 'disallowed'], - [[2759, 2761], 'valid'], - [[2762, 2762], 'disallowed'], - [[2763, 2765], 'valid'], - [[2766, 2767], 'disallowed'], - [[2768, 2768], 'valid'], - [[2769, 2783], 'disallowed'], - [[2784, 2784], 'valid'], - [[2785, 2787], 'valid'], - [[2788, 2789], 'disallowed'], - [[2790, 2799], 'valid'], - [[2800, 2800], 'valid', [], 'NV8'], - [[2801, 2801], 'valid', [], 'NV8'], - [[2802, 2808], 'disallowed'], - [[2809, 2809], 'valid'], - [[2810, 2816], 'disallowed'], - [[2817, 2819], 'valid'], - [[2820, 2820], 'disallowed'], - [[2821, 2828], 'valid'], - [[2829, 2830], 'disallowed'], - [[2831, 2832], 'valid'], - [[2833, 2834], 'disallowed'], - [[2835, 2856], 'valid'], - [[2857, 2857], 'disallowed'], - [[2858, 2864], 'valid'], - [[2865, 2865], 'disallowed'], - [[2866, 2867], 'valid'], - [[2868, 2868], 'disallowed'], - [[2869, 2869], 'valid'], - [[2870, 2873], 'valid'], - [[2874, 2875], 'disallowed'], - [[2876, 2883], 'valid'], - [[2884, 2884], 'valid'], - [[2885, 2886], 'disallowed'], - [[2887, 2888], 'valid'], - [[2889, 2890], 'disallowed'], - [[2891, 2893], 'valid'], - [[2894, 2901], 'disallowed'], - [[2902, 2903], 'valid'], - [[2904, 2907], 'disallowed'], - [[2908, 2908], 'mapped', [2849, 2876]], - [[2909, 2909], 'mapped', [2850, 2876]], - [[2910, 2910], 'disallowed'], - [[2911, 2913], 'valid'], - [[2914, 2915], 'valid'], - [[2916, 2917], 'disallowed'], - [[2918, 2927], 'valid'], - [[2928, 2928], 'valid', [], 'NV8'], - [[2929, 2929], 'valid'], - [[2930, 2935], 'valid', [], 'NV8'], - [[2936, 2945], 'disallowed'], - [[2946, 2947], 'valid'], - [[2948, 2948], 'disallowed'], - [[2949, 2954], 'valid'], - [[2955, 2957], 'disallowed'], - [[2958, 2960], 'valid'], - [[2961, 2961], 'disallowed'], - [[2962, 2965], 'valid'], - [[2966, 2968], 'disallowed'], - [[2969, 2970], 'valid'], - [[2971, 2971], 'disallowed'], - [[2972, 2972], 'valid'], - [[2973, 2973], 'disallowed'], - [[2974, 2975], 'valid'], - [[2976, 2978], 'disallowed'], - [[2979, 2980], 'valid'], - [[2981, 2983], 'disallowed'], - [[2984, 2986], 'valid'], - [[2987, 2989], 'disallowed'], - [[2990, 2997], 'valid'], - [[2998, 2998], 'valid'], - [[2999, 3001], 'valid'], - [[3002, 3005], 'disallowed'], - [[3006, 3010], 'valid'], - [[3011, 3013], 'disallowed'], - [[3014, 3016], 'valid'], - [[3017, 3017], 'disallowed'], - [[3018, 3021], 'valid'], - [[3022, 3023], 'disallowed'], - [[3024, 3024], 'valid'], - [[3025, 3030], 'disallowed'], - [[3031, 3031], 'valid'], - [[3032, 3045], 'disallowed'], - [[3046, 3046], 'valid'], - [[3047, 3055], 'valid'], - [[3056, 3058], 'valid', [], 'NV8'], - [[3059, 3066], 'valid', [], 'NV8'], - [[3067, 3071], 'disallowed'], - [[3072, 3072], 'valid'], - [[3073, 3075], 'valid'], - [[3076, 3076], 'disallowed'], - [[3077, 3084], 'valid'], - [[3085, 3085], 'disallowed'], - [[3086, 3088], 'valid'], - [[3089, 3089], 'disallowed'], - [[3090, 3112], 'valid'], - [[3113, 3113], 'disallowed'], - [[3114, 3123], 'valid'], - [[3124, 3124], 'valid'], - [[3125, 3129], 'valid'], - [[3130, 3132], 'disallowed'], - [[3133, 3133], 'valid'], - [[3134, 3140], 'valid'], - [[3141, 3141], 'disallowed'], - [[3142, 3144], 'valid'], - [[3145, 3145], 'disallowed'], - [[3146, 3149], 'valid'], - [[3150, 3156], 'disallowed'], - [[3157, 3158], 'valid'], - [[3159, 3159], 'disallowed'], - [[3160, 3161], 'valid'], - [[3162, 3162], 'valid'], - [[3163, 3167], 'disallowed'], - [[3168, 3169], 'valid'], - [[3170, 3171], 'valid'], - [[3172, 3173], 'disallowed'], - [[3174, 3183], 'valid'], - [[3184, 3191], 'disallowed'], - [[3192, 3199], 'valid', [], 'NV8'], - [[3200, 3200], 'disallowed'], - [[3201, 3201], 'valid'], - [[3202, 3203], 'valid'], - [[3204, 3204], 'disallowed'], - [[3205, 3212], 'valid'], - [[3213, 3213], 'disallowed'], - [[3214, 3216], 'valid'], - [[3217, 3217], 'disallowed'], - [[3218, 3240], 'valid'], - [[3241, 3241], 'disallowed'], - [[3242, 3251], 'valid'], - [[3252, 3252], 'disallowed'], - [[3253, 3257], 'valid'], - [[3258, 3259], 'disallowed'], - [[3260, 3261], 'valid'], - [[3262, 3268], 'valid'], - [[3269, 3269], 'disallowed'], - [[3270, 3272], 'valid'], - [[3273, 3273], 'disallowed'], - [[3274, 3277], 'valid'], - [[3278, 3284], 'disallowed'], - [[3285, 3286], 'valid'], - [[3287, 3293], 'disallowed'], - [[3294, 3294], 'valid'], - [[3295, 3295], 'disallowed'], - [[3296, 3297], 'valid'], - [[3298, 3299], 'valid'], - [[3300, 3301], 'disallowed'], - [[3302, 3311], 'valid'], - [[3312, 3312], 'disallowed'], - [[3313, 3314], 'valid'], - [[3315, 3328], 'disallowed'], - [[3329, 3329], 'valid'], - [[3330, 3331], 'valid'], - [[3332, 3332], 'disallowed'], - [[3333, 3340], 'valid'], - [[3341, 3341], 'disallowed'], - [[3342, 3344], 'valid'], - [[3345, 3345], 'disallowed'], - [[3346, 3368], 'valid'], - [[3369, 3369], 'valid'], - [[3370, 3385], 'valid'], - [[3386, 3386], 'valid'], - [[3387, 3388], 'disallowed'], - [[3389, 3389], 'valid'], - [[3390, 3395], 'valid'], - [[3396, 3396], 'valid'], - [[3397, 3397], 'disallowed'], - [[3398, 3400], 'valid'], - [[3401, 3401], 'disallowed'], - [[3402, 3405], 'valid'], - [[3406, 3406], 'valid'], - [[3407, 3414], 'disallowed'], - [[3415, 3415], 'valid'], - [[3416, 3422], 'disallowed'], - [[3423, 3423], 'valid'], - [[3424, 3425], 'valid'], - [[3426, 3427], 'valid'], - [[3428, 3429], 'disallowed'], - [[3430, 3439], 'valid'], - [[3440, 3445], 'valid', [], 'NV8'], - [[3446, 3448], 'disallowed'], - [[3449, 3449], 'valid', [], 'NV8'], - [[3450, 3455], 'valid'], - [[3456, 3457], 'disallowed'], - [[3458, 3459], 'valid'], - [[3460, 3460], 'disallowed'], - [[3461, 3478], 'valid'], - [[3479, 3481], 'disallowed'], - [[3482, 3505], 'valid'], - [[3506, 3506], 'disallowed'], - [[3507, 3515], 'valid'], - [[3516, 3516], 'disallowed'], - [[3517, 3517], 'valid'], - [[3518, 3519], 'disallowed'], - [[3520, 3526], 'valid'], - [[3527, 3529], 'disallowed'], - [[3530, 3530], 'valid'], - [[3531, 3534], 'disallowed'], - [[3535, 3540], 'valid'], - [[3541, 3541], 'disallowed'], - [[3542, 3542], 'valid'], - [[3543, 3543], 'disallowed'], - [[3544, 3551], 'valid'], - [[3552, 3557], 'disallowed'], - [[3558, 3567], 'valid'], - [[3568, 3569], 'disallowed'], - [[3570, 3571], 'valid'], - [[3572, 3572], 'valid', [], 'NV8'], - [[3573, 3584], 'disallowed'], - [[3585, 3634], 'valid'], - [[3635, 3635], 'mapped', [3661, 3634]], - [[3636, 3642], 'valid'], - [[3643, 3646], 'disallowed'], - [[3647, 3647], 'valid', [], 'NV8'], - [[3648, 3662], 'valid'], - [[3663, 3663], 'valid', [], 'NV8'], - [[3664, 3673], 'valid'], - [[3674, 3675], 'valid', [], 'NV8'], - [[3676, 3712], 'disallowed'], - [[3713, 3714], 'valid'], - [[3715, 3715], 'disallowed'], - [[3716, 3716], 'valid'], - [[3717, 3718], 'disallowed'], - [[3719, 3720], 'valid'], - [[3721, 3721], 'disallowed'], - [[3722, 3722], 'valid'], - [[3723, 3724], 'disallowed'], - [[3725, 3725], 'valid'], - [[3726, 3731], 'disallowed'], - [[3732, 3735], 'valid'], - [[3736, 3736], 'disallowed'], - [[3737, 3743], 'valid'], - [[3744, 3744], 'disallowed'], - [[3745, 3747], 'valid'], - [[3748, 3748], 'disallowed'], - [[3749, 3749], 'valid'], - [[3750, 3750], 'disallowed'], - [[3751, 3751], 'valid'], - [[3752, 3753], 'disallowed'], - [[3754, 3755], 'valid'], - [[3756, 3756], 'disallowed'], - [[3757, 3762], 'valid'], - [[3763, 3763], 'mapped', [3789, 3762]], - [[3764, 3769], 'valid'], - [[3770, 3770], 'disallowed'], - [[3771, 3773], 'valid'], - [[3774, 3775], 'disallowed'], - [[3776, 3780], 'valid'], - [[3781, 3781], 'disallowed'], - [[3782, 3782], 'valid'], - [[3783, 3783], 'disallowed'], - [[3784, 3789], 'valid'], - [[3790, 3791], 'disallowed'], - [[3792, 3801], 'valid'], - [[3802, 3803], 'disallowed'], - [[3804, 3804], 'mapped', [3755, 3737]], - [[3805, 3805], 'mapped', [3755, 3745]], - [[3806, 3807], 'valid'], - [[3808, 3839], 'disallowed'], - [[3840, 3840], 'valid'], - [[3841, 3850], 'valid', [], 'NV8'], - [[3851, 3851], 'valid'], - [[3852, 3852], 'mapped', [3851]], - [[3853, 3863], 'valid', [], 'NV8'], - [[3864, 3865], 'valid'], - [[3866, 3871], 'valid', [], 'NV8'], - [[3872, 3881], 'valid'], - [[3882, 3892], 'valid', [], 'NV8'], - [[3893, 3893], 'valid'], - [[3894, 3894], 'valid', [], 'NV8'], - [[3895, 3895], 'valid'], - [[3896, 3896], 'valid', [], 'NV8'], - [[3897, 3897], 'valid'], - [[3898, 3901], 'valid', [], 'NV8'], - [[3902, 3906], 'valid'], - [[3907, 3907], 'mapped', [3906, 4023]], - [[3908, 3911], 'valid'], - [[3912, 3912], 'disallowed'], - [[3913, 3916], 'valid'], - [[3917, 3917], 'mapped', [3916, 4023]], - [[3918, 3921], 'valid'], - [[3922, 3922], 'mapped', [3921, 4023]], - [[3923, 3926], 'valid'], - [[3927, 3927], 'mapped', [3926, 4023]], - [[3928, 3931], 'valid'], - [[3932, 3932], 'mapped', [3931, 4023]], - [[3933, 3944], 'valid'], - [[3945, 3945], 'mapped', [3904, 4021]], - [[3946, 3946], 'valid'], - [[3947, 3948], 'valid'], - [[3949, 3952], 'disallowed'], - [[3953, 3954], 'valid'], - [[3955, 3955], 'mapped', [3953, 3954]], - [[3956, 3956], 'valid'], - [[3957, 3957], 'mapped', [3953, 3956]], - [[3958, 3958], 'mapped', [4018, 3968]], - [[3959, 3959], 'mapped', [4018, 3953, 3968]], - [[3960, 3960], 'mapped', [4019, 3968]], - [[3961, 3961], 'mapped', [4019, 3953, 3968]], - [[3962, 3968], 'valid'], - [[3969, 3969], 'mapped', [3953, 3968]], - [[3970, 3972], 'valid'], - [[3973, 3973], 'valid', [], 'NV8'], - [[3974, 3979], 'valid'], - [[3980, 3983], 'valid'], - [[3984, 3986], 'valid'], - [[3987, 3987], 'mapped', [3986, 4023]], - [[3988, 3989], 'valid'], - [[3990, 3990], 'valid'], - [[3991, 3991], 'valid'], - [[3992, 3992], 'disallowed'], - [[3993, 3996], 'valid'], - [[3997, 3997], 'mapped', [3996, 4023]], - [[3998, 4001], 'valid'], - [[4002, 4002], 'mapped', [4001, 4023]], - [[4003, 4006], 'valid'], - [[4007, 4007], 'mapped', [4006, 4023]], - [[4008, 4011], 'valid'], - [[4012, 4012], 'mapped', [4011, 4023]], - [[4013, 4013], 'valid'], - [[4014, 4016], 'valid'], - [[4017, 4023], 'valid'], - [[4024, 4024], 'valid'], - [[4025, 4025], 'mapped', [3984, 4021]], - [[4026, 4028], 'valid'], - [[4029, 4029], 'disallowed'], - [[4030, 4037], 'valid', [], 'NV8'], - [[4038, 4038], 'valid'], - [[4039, 4044], 'valid', [], 'NV8'], - [[4045, 4045], 'disallowed'], - [[4046, 4046], 'valid', [], 'NV8'], - [[4047, 4047], 'valid', [], 'NV8'], - [[4048, 4049], 'valid', [], 'NV8'], - [[4050, 4052], 'valid', [], 'NV8'], - [[4053, 4056], 'valid', [], 'NV8'], - [[4057, 4058], 'valid', [], 'NV8'], - [[4059, 4095], 'disallowed'], - [[4096, 4129], 'valid'], - [[4130, 4130], 'valid'], - [[4131, 4135], 'valid'], - [[4136, 4136], 'valid'], - [[4137, 4138], 'valid'], - [[4139, 4139], 'valid'], - [[4140, 4146], 'valid'], - [[4147, 4149], 'valid'], - [[4150, 4153], 'valid'], - [[4154, 4159], 'valid'], - [[4160, 4169], 'valid'], - [[4170, 4175], 'valid', [], 'NV8'], - [[4176, 4185], 'valid'], - [[4186, 4249], 'valid'], - [[4250, 4253], 'valid'], - [[4254, 4255], 'valid', [], 'NV8'], - [[4256, 4293], 'disallowed'], - [[4294, 4294], 'disallowed'], - [[4295, 4295], 'mapped', [11559]], - [[4296, 4300], 'disallowed'], - [[4301, 4301], 'mapped', [11565]], - [[4302, 4303], 'disallowed'], - [[4304, 4342], 'valid'], - [[4343, 4344], 'valid'], - [[4345, 4346], 'valid'], - [[4347, 4347], 'valid', [], 'NV8'], - [[4348, 4348], 'mapped', [4316]], - [[4349, 4351], 'valid'], - [[4352, 4441], 'valid', [], 'NV8'], - [[4442, 4446], 'valid', [], 'NV8'], - [[4447, 4448], 'disallowed'], - [[4449, 4514], 'valid', [], 'NV8'], - [[4515, 4519], 'valid', [], 'NV8'], - [[4520, 4601], 'valid', [], 'NV8'], - [[4602, 4607], 'valid', [], 'NV8'], - [[4608, 4614], 'valid'], - [[4615, 4615], 'valid'], - [[4616, 4678], 'valid'], - [[4679, 4679], 'valid'], - [[4680, 4680], 'valid'], - [[4681, 4681], 'disallowed'], - [[4682, 4685], 'valid'], - [[4686, 4687], 'disallowed'], - [[4688, 4694], 'valid'], - [[4695, 4695], 'disallowed'], - [[4696, 4696], 'valid'], - [[4697, 4697], 'disallowed'], - [[4698, 4701], 'valid'], - [[4702, 4703], 'disallowed'], - [[4704, 4742], 'valid'], - [[4743, 4743], 'valid'], - [[4744, 4744], 'valid'], - [[4745, 4745], 'disallowed'], - [[4746, 4749], 'valid'], - [[4750, 4751], 'disallowed'], - [[4752, 4782], 'valid'], - [[4783, 4783], 'valid'], - [[4784, 4784], 'valid'], - [[4785, 4785], 'disallowed'], - [[4786, 4789], 'valid'], - [[4790, 4791], 'disallowed'], - [[4792, 4798], 'valid'], - [[4799, 4799], 'disallowed'], - [[4800, 4800], 'valid'], - [[4801, 4801], 'disallowed'], - [[4802, 4805], 'valid'], - [[4806, 4807], 'disallowed'], - [[4808, 4814], 'valid'], - [[4815, 4815], 'valid'], - [[4816, 4822], 'valid'], - [[4823, 4823], 'disallowed'], - [[4824, 4846], 'valid'], - [[4847, 4847], 'valid'], - [[4848, 4878], 'valid'], - [[4879, 4879], 'valid'], - [[4880, 4880], 'valid'], - [[4881, 4881], 'disallowed'], - [[4882, 4885], 'valid'], - [[4886, 4887], 'disallowed'], - [[4888, 4894], 'valid'], - [[4895, 4895], 'valid'], - [[4896, 4934], 'valid'], - [[4935, 4935], 'valid'], - [[4936, 4954], 'valid'], - [[4955, 4956], 'disallowed'], - [[4957, 4958], 'valid'], - [[4959, 4959], 'valid'], - [[4960, 4960], 'valid', [], 'NV8'], - [[4961, 4988], 'valid', [], 'NV8'], - [[4989, 4991], 'disallowed'], - [[4992, 5007], 'valid'], - [[5008, 5017], 'valid', [], 'NV8'], - [[5018, 5023], 'disallowed'], - [[5024, 5108], 'valid'], - [[5109, 5109], 'valid'], - [[5110, 5111], 'disallowed'], - [[5112, 5112], 'mapped', [5104]], - [[5113, 5113], 'mapped', [5105]], - [[5114, 5114], 'mapped', [5106]], - [[5115, 5115], 'mapped', [5107]], - [[5116, 5116], 'mapped', [5108]], - [[5117, 5117], 'mapped', [5109]], - [[5118, 5119], 'disallowed'], - [[5120, 5120], 'valid', [], 'NV8'], - [[5121, 5740], 'valid'], - [[5741, 5742], 'valid', [], 'NV8'], - [[5743, 5750], 'valid'], - [[5751, 5759], 'valid'], - [[5760, 5760], 'disallowed'], - [[5761, 5786], 'valid'], - [[5787, 5788], 'valid', [], 'NV8'], - [[5789, 5791], 'disallowed'], - [[5792, 5866], 'valid'], - [[5867, 5872], 'valid', [], 'NV8'], - [[5873, 5880], 'valid'], - [[5881, 5887], 'disallowed'], - [[5888, 5900], 'valid'], - [[5901, 5901], 'disallowed'], - [[5902, 5908], 'valid'], - [[5909, 5919], 'disallowed'], - [[5920, 5940], 'valid'], - [[5941, 5942], 'valid', [], 'NV8'], - [[5943, 5951], 'disallowed'], - [[5952, 5971], 'valid'], - [[5972, 5983], 'disallowed'], - [[5984, 5996], 'valid'], - [[5997, 5997], 'disallowed'], - [[5998, 6e3], 'valid'], - [[6001, 6001], 'disallowed'], - [[6002, 6003], 'valid'], - [[6004, 6015], 'disallowed'], - [[6016, 6067], 'valid'], - [[6068, 6069], 'disallowed'], - [[6070, 6099], 'valid'], - [[6100, 6102], 'valid', [], 'NV8'], - [[6103, 6103], 'valid'], - [[6104, 6107], 'valid', [], 'NV8'], - [[6108, 6108], 'valid'], - [[6109, 6109], 'valid'], - [[6110, 6111], 'disallowed'], - [[6112, 6121], 'valid'], - [[6122, 6127], 'disallowed'], - [[6128, 6137], 'valid', [], 'NV8'], - [[6138, 6143], 'disallowed'], - [[6144, 6149], 'valid', [], 'NV8'], - [[6150, 6150], 'disallowed'], - [[6151, 6154], 'valid', [], 'NV8'], - [[6155, 6157], 'ignored'], - [[6158, 6158], 'disallowed'], - [[6159, 6159], 'disallowed'], - [[6160, 6169], 'valid'], - [[6170, 6175], 'disallowed'], - [[6176, 6263], 'valid'], - [[6264, 6271], 'disallowed'], - [[6272, 6313], 'valid'], - [[6314, 6314], 'valid'], - [[6315, 6319], 'disallowed'], - [[6320, 6389], 'valid'], - [[6390, 6399], 'disallowed'], - [[6400, 6428], 'valid'], - [[6429, 6430], 'valid'], - [[6431, 6431], 'disallowed'], - [[6432, 6443], 'valid'], - [[6444, 6447], 'disallowed'], - [[6448, 6459], 'valid'], - [[6460, 6463], 'disallowed'], - [[6464, 6464], 'valid', [], 'NV8'], - [[6465, 6467], 'disallowed'], - [[6468, 6469], 'valid', [], 'NV8'], - [[6470, 6509], 'valid'], - [[6510, 6511], 'disallowed'], - [[6512, 6516], 'valid'], - [[6517, 6527], 'disallowed'], - [[6528, 6569], 'valid'], - [[6570, 6571], 'valid'], - [[6572, 6575], 'disallowed'], - [[6576, 6601], 'valid'], - [[6602, 6607], 'disallowed'], - [[6608, 6617], 'valid'], - [[6618, 6618], 'valid', [], 'XV8'], - [[6619, 6621], 'disallowed'], - [[6622, 6623], 'valid', [], 'NV8'], - [[6624, 6655], 'valid', [], 'NV8'], - [[6656, 6683], 'valid'], - [[6684, 6685], 'disallowed'], - [[6686, 6687], 'valid', [], 'NV8'], - [[6688, 6750], 'valid'], - [[6751, 6751], 'disallowed'], - [[6752, 6780], 'valid'], - [[6781, 6782], 'disallowed'], - [[6783, 6793], 'valid'], - [[6794, 6799], 'disallowed'], - [[6800, 6809], 'valid'], - [[6810, 6815], 'disallowed'], - [[6816, 6822], 'valid', [], 'NV8'], - [[6823, 6823], 'valid'], - [[6824, 6829], 'valid', [], 'NV8'], - [[6830, 6831], 'disallowed'], - [[6832, 6845], 'valid'], - [[6846, 6846], 'valid', [], 'NV8'], - [[6847, 6911], 'disallowed'], - [[6912, 6987], 'valid'], - [[6988, 6991], 'disallowed'], - [[6992, 7001], 'valid'], - [[7002, 7018], 'valid', [], 'NV8'], - [[7019, 7027], 'valid'], - [[7028, 7036], 'valid', [], 'NV8'], - [[7037, 7039], 'disallowed'], - [[7040, 7082], 'valid'], - [[7083, 7085], 'valid'], - [[7086, 7097], 'valid'], - [[7098, 7103], 'valid'], - [[7104, 7155], 'valid'], - [[7156, 7163], 'disallowed'], - [[7164, 7167], 'valid', [], 'NV8'], - [[7168, 7223], 'valid'], - [[7224, 7226], 'disallowed'], - [[7227, 7231], 'valid', [], 'NV8'], - [[7232, 7241], 'valid'], - [[7242, 7244], 'disallowed'], - [[7245, 7293], 'valid'], - [[7294, 7295], 'valid', [], 'NV8'], - [[7296, 7359], 'disallowed'], - [[7360, 7367], 'valid', [], 'NV8'], - [[7368, 7375], 'disallowed'], - [[7376, 7378], 'valid'], - [[7379, 7379], 'valid', [], 'NV8'], - [[7380, 7410], 'valid'], - [[7411, 7414], 'valid'], - [[7415, 7415], 'disallowed'], - [[7416, 7417], 'valid'], - [[7418, 7423], 'disallowed'], - [[7424, 7467], 'valid'], - [[7468, 7468], 'mapped', [97]], - [[7469, 7469], 'mapped', [230]], - [[7470, 7470], 'mapped', [98]], - [[7471, 7471], 'valid'], - [[7472, 7472], 'mapped', [100]], - [[7473, 7473], 'mapped', [101]], - [[7474, 7474], 'mapped', [477]], - [[7475, 7475], 'mapped', [103]], - [[7476, 7476], 'mapped', [104]], - [[7477, 7477], 'mapped', [105]], - [[7478, 7478], 'mapped', [106]], - [[7479, 7479], 'mapped', [107]], - [[7480, 7480], 'mapped', [108]], - [[7481, 7481], 'mapped', [109]], - [[7482, 7482], 'mapped', [110]], - [[7483, 7483], 'valid'], - [[7484, 7484], 'mapped', [111]], - [[7485, 7485], 'mapped', [547]], - [[7486, 7486], 'mapped', [112]], - [[7487, 7487], 'mapped', [114]], - [[7488, 7488], 'mapped', [116]], - [[7489, 7489], 'mapped', [117]], - [[7490, 7490], 'mapped', [119]], - [[7491, 7491], 'mapped', [97]], - [[7492, 7492], 'mapped', [592]], - [[7493, 7493], 'mapped', [593]], - [[7494, 7494], 'mapped', [7426]], - [[7495, 7495], 'mapped', [98]], - [[7496, 7496], 'mapped', [100]], - [[7497, 7497], 'mapped', [101]], - [[7498, 7498], 'mapped', [601]], - [[7499, 7499], 'mapped', [603]], - [[7500, 7500], 'mapped', [604]], - [[7501, 7501], 'mapped', [103]], - [[7502, 7502], 'valid'], - [[7503, 7503], 'mapped', [107]], - [[7504, 7504], 'mapped', [109]], - [[7505, 7505], 'mapped', [331]], - [[7506, 7506], 'mapped', [111]], - [[7507, 7507], 'mapped', [596]], - [[7508, 7508], 'mapped', [7446]], - [[7509, 7509], 'mapped', [7447]], - [[7510, 7510], 'mapped', [112]], - [[7511, 7511], 'mapped', [116]], - [[7512, 7512], 'mapped', [117]], - [[7513, 7513], 'mapped', [7453]], - [[7514, 7514], 'mapped', [623]], - [[7515, 7515], 'mapped', [118]], - [[7516, 7516], 'mapped', [7461]], - [[7517, 7517], 'mapped', [946]], - [[7518, 7518], 'mapped', [947]], - [[7519, 7519], 'mapped', [948]], - [[7520, 7520], 'mapped', [966]], - [[7521, 7521], 'mapped', [967]], - [[7522, 7522], 'mapped', [105]], - [[7523, 7523], 'mapped', [114]], - [[7524, 7524], 'mapped', [117]], - [[7525, 7525], 'mapped', [118]], - [[7526, 7526], 'mapped', [946]], - [[7527, 7527], 'mapped', [947]], - [[7528, 7528], 'mapped', [961]], - [[7529, 7529], 'mapped', [966]], - [[7530, 7530], 'mapped', [967]], - [[7531, 7531], 'valid'], - [[7532, 7543], 'valid'], - [[7544, 7544], 'mapped', [1085]], - [[7545, 7578], 'valid'], - [[7579, 7579], 'mapped', [594]], - [[7580, 7580], 'mapped', [99]], - [[7581, 7581], 'mapped', [597]], - [[7582, 7582], 'mapped', [240]], - [[7583, 7583], 'mapped', [604]], - [[7584, 7584], 'mapped', [102]], - [[7585, 7585], 'mapped', [607]], - [[7586, 7586], 'mapped', [609]], - [[7587, 7587], 'mapped', [613]], - [[7588, 7588], 'mapped', [616]], - [[7589, 7589], 'mapped', [617]], - [[7590, 7590], 'mapped', [618]], - [[7591, 7591], 'mapped', [7547]], - [[7592, 7592], 'mapped', [669]], - [[7593, 7593], 'mapped', [621]], - [[7594, 7594], 'mapped', [7557]], - [[7595, 7595], 'mapped', [671]], - [[7596, 7596], 'mapped', [625]], - [[7597, 7597], 'mapped', [624]], - [[7598, 7598], 'mapped', [626]], - [[7599, 7599], 'mapped', [627]], - [[7600, 7600], 'mapped', [628]], - [[7601, 7601], 'mapped', [629]], - [[7602, 7602], 'mapped', [632]], - [[7603, 7603], 'mapped', [642]], - [[7604, 7604], 'mapped', [643]], - [[7605, 7605], 'mapped', [427]], - [[7606, 7606], 'mapped', [649]], - [[7607, 7607], 'mapped', [650]], - [[7608, 7608], 'mapped', [7452]], - [[7609, 7609], 'mapped', [651]], - [[7610, 7610], 'mapped', [652]], - [[7611, 7611], 'mapped', [122]], - [[7612, 7612], 'mapped', [656]], - [[7613, 7613], 'mapped', [657]], - [[7614, 7614], 'mapped', [658]], - [[7615, 7615], 'mapped', [952]], - [[7616, 7619], 'valid'], - [[7620, 7626], 'valid'], - [[7627, 7654], 'valid'], - [[7655, 7669], 'valid'], - [[7670, 7675], 'disallowed'], - [[7676, 7676], 'valid'], - [[7677, 7677], 'valid'], - [[7678, 7679], 'valid'], - [[7680, 7680], 'mapped', [7681]], - [[7681, 7681], 'valid'], - [[7682, 7682], 'mapped', [7683]], - [[7683, 7683], 'valid'], - [[7684, 7684], 'mapped', [7685]], - [[7685, 7685], 'valid'], - [[7686, 7686], 'mapped', [7687]], - [[7687, 7687], 'valid'], - [[7688, 7688], 'mapped', [7689]], - [[7689, 7689], 'valid'], - [[7690, 7690], 'mapped', [7691]], - [[7691, 7691], 'valid'], - [[7692, 7692], 'mapped', [7693]], - [[7693, 7693], 'valid'], - [[7694, 7694], 'mapped', [7695]], - [[7695, 7695], 'valid'], - [[7696, 7696], 'mapped', [7697]], - [[7697, 7697], 'valid'], - [[7698, 7698], 'mapped', [7699]], - [[7699, 7699], 'valid'], - [[7700, 7700], 'mapped', [7701]], - [[7701, 7701], 'valid'], - [[7702, 7702], 'mapped', [7703]], - [[7703, 7703], 'valid'], - [[7704, 7704], 'mapped', [7705]], - [[7705, 7705], 'valid'], - [[7706, 7706], 'mapped', [7707]], - [[7707, 7707], 'valid'], - [[7708, 7708], 'mapped', [7709]], - [[7709, 7709], 'valid'], - [[7710, 7710], 'mapped', [7711]], - [[7711, 7711], 'valid'], - [[7712, 7712], 'mapped', [7713]], - [[7713, 7713], 'valid'], - [[7714, 7714], 'mapped', [7715]], - [[7715, 7715], 'valid'], - [[7716, 7716], 'mapped', [7717]], - [[7717, 7717], 'valid'], - [[7718, 7718], 'mapped', [7719]], - [[7719, 7719], 'valid'], - [[7720, 7720], 'mapped', [7721]], - [[7721, 7721], 'valid'], - [[7722, 7722], 'mapped', [7723]], - [[7723, 7723], 'valid'], - [[7724, 7724], 'mapped', [7725]], - [[7725, 7725], 'valid'], - [[7726, 7726], 'mapped', [7727]], - [[7727, 7727], 'valid'], - [[7728, 7728], 'mapped', [7729]], - [[7729, 7729], 'valid'], - [[7730, 7730], 'mapped', [7731]], - [[7731, 7731], 'valid'], - [[7732, 7732], 'mapped', [7733]], - [[7733, 7733], 'valid'], - [[7734, 7734], 'mapped', [7735]], - [[7735, 7735], 'valid'], - [[7736, 7736], 'mapped', [7737]], - [[7737, 7737], 'valid'], - [[7738, 7738], 'mapped', [7739]], - [[7739, 7739], 'valid'], - [[7740, 7740], 'mapped', [7741]], - [[7741, 7741], 'valid'], - [[7742, 7742], 'mapped', [7743]], - [[7743, 7743], 'valid'], - [[7744, 7744], 'mapped', [7745]], - [[7745, 7745], 'valid'], - [[7746, 7746], 'mapped', [7747]], - [[7747, 7747], 'valid'], - [[7748, 7748], 'mapped', [7749]], - [[7749, 7749], 'valid'], - [[7750, 7750], 'mapped', [7751]], - [[7751, 7751], 'valid'], - [[7752, 7752], 'mapped', [7753]], - [[7753, 7753], 'valid'], - [[7754, 7754], 'mapped', [7755]], - [[7755, 7755], 'valid'], - [[7756, 7756], 'mapped', [7757]], - [[7757, 7757], 'valid'], - [[7758, 7758], 'mapped', [7759]], - [[7759, 7759], 'valid'], - [[7760, 7760], 'mapped', [7761]], - [[7761, 7761], 'valid'], - [[7762, 7762], 'mapped', [7763]], - [[7763, 7763], 'valid'], - [[7764, 7764], 'mapped', [7765]], - [[7765, 7765], 'valid'], - [[7766, 7766], 'mapped', [7767]], - [[7767, 7767], 'valid'], - [[7768, 7768], 'mapped', [7769]], - [[7769, 7769], 'valid'], - [[7770, 7770], 'mapped', [7771]], - [[7771, 7771], 'valid'], - [[7772, 7772], 'mapped', [7773]], - [[7773, 7773], 'valid'], - [[7774, 7774], 'mapped', [7775]], - [[7775, 7775], 'valid'], - [[7776, 7776], 'mapped', [7777]], - [[7777, 7777], 'valid'], - [[7778, 7778], 'mapped', [7779]], - [[7779, 7779], 'valid'], - [[7780, 7780], 'mapped', [7781]], - [[7781, 7781], 'valid'], - [[7782, 7782], 'mapped', [7783]], - [[7783, 7783], 'valid'], - [[7784, 7784], 'mapped', [7785]], - [[7785, 7785], 'valid'], - [[7786, 7786], 'mapped', [7787]], - [[7787, 7787], 'valid'], - [[7788, 7788], 'mapped', [7789]], - [[7789, 7789], 'valid'], - [[7790, 7790], 'mapped', [7791]], - [[7791, 7791], 'valid'], - [[7792, 7792], 'mapped', [7793]], - [[7793, 7793], 'valid'], - [[7794, 7794], 'mapped', [7795]], - [[7795, 7795], 'valid'], - [[7796, 7796], 'mapped', [7797]], - [[7797, 7797], 'valid'], - [[7798, 7798], 'mapped', [7799]], - [[7799, 7799], 'valid'], - [[7800, 7800], 'mapped', [7801]], - [[7801, 7801], 'valid'], - [[7802, 7802], 'mapped', [7803]], - [[7803, 7803], 'valid'], - [[7804, 7804], 'mapped', [7805]], - [[7805, 7805], 'valid'], - [[7806, 7806], 'mapped', [7807]], - [[7807, 7807], 'valid'], - [[7808, 7808], 'mapped', [7809]], - [[7809, 7809], 'valid'], - [[7810, 7810], 'mapped', [7811]], - [[7811, 7811], 'valid'], - [[7812, 7812], 'mapped', [7813]], - [[7813, 7813], 'valid'], - [[7814, 7814], 'mapped', [7815]], - [[7815, 7815], 'valid'], - [[7816, 7816], 'mapped', [7817]], - [[7817, 7817], 'valid'], - [[7818, 7818], 'mapped', [7819]], - [[7819, 7819], 'valid'], - [[7820, 7820], 'mapped', [7821]], - [[7821, 7821], 'valid'], - [[7822, 7822], 'mapped', [7823]], - [[7823, 7823], 'valid'], - [[7824, 7824], 'mapped', [7825]], - [[7825, 7825], 'valid'], - [[7826, 7826], 'mapped', [7827]], - [[7827, 7827], 'valid'], - [[7828, 7828], 'mapped', [7829]], - [[7829, 7833], 'valid'], - [[7834, 7834], 'mapped', [97, 702]], - [[7835, 7835], 'mapped', [7777]], - [[7836, 7837], 'valid'], - [[7838, 7838], 'mapped', [115, 115]], - [[7839, 7839], 'valid'], - [[7840, 7840], 'mapped', [7841]], - [[7841, 7841], 'valid'], - [[7842, 7842], 'mapped', [7843]], - [[7843, 7843], 'valid'], - [[7844, 7844], 'mapped', [7845]], - [[7845, 7845], 'valid'], - [[7846, 7846], 'mapped', [7847]], - [[7847, 7847], 'valid'], - [[7848, 7848], 'mapped', [7849]], - [[7849, 7849], 'valid'], - [[7850, 7850], 'mapped', [7851]], - [[7851, 7851], 'valid'], - [[7852, 7852], 'mapped', [7853]], - [[7853, 7853], 'valid'], - [[7854, 7854], 'mapped', [7855]], - [[7855, 7855], 'valid'], - [[7856, 7856], 'mapped', [7857]], - [[7857, 7857], 'valid'], - [[7858, 7858], 'mapped', [7859]], - [[7859, 7859], 'valid'], - [[7860, 7860], 'mapped', [7861]], - [[7861, 7861], 'valid'], - [[7862, 7862], 'mapped', [7863]], - [[7863, 7863], 'valid'], - [[7864, 7864], 'mapped', [7865]], - [[7865, 7865], 'valid'], - [[7866, 7866], 'mapped', [7867]], - [[7867, 7867], 'valid'], - [[7868, 7868], 'mapped', [7869]], - [[7869, 7869], 'valid'], - [[7870, 7870], 'mapped', [7871]], - [[7871, 7871], 'valid'], - [[7872, 7872], 'mapped', [7873]], - [[7873, 7873], 'valid'], - [[7874, 7874], 'mapped', [7875]], - [[7875, 7875], 'valid'], - [[7876, 7876], 'mapped', [7877]], - [[7877, 7877], 'valid'], - [[7878, 7878], 'mapped', [7879]], - [[7879, 7879], 'valid'], - [[7880, 7880], 'mapped', [7881]], - [[7881, 7881], 'valid'], - [[7882, 7882], 'mapped', [7883]], - [[7883, 7883], 'valid'], - [[7884, 7884], 'mapped', [7885]], - [[7885, 7885], 'valid'], - [[7886, 7886], 'mapped', [7887]], - [[7887, 7887], 'valid'], - [[7888, 7888], 'mapped', [7889]], - [[7889, 7889], 'valid'], - [[7890, 7890], 'mapped', [7891]], - [[7891, 7891], 'valid'], - [[7892, 7892], 'mapped', [7893]], - [[7893, 7893], 'valid'], - [[7894, 7894], 'mapped', [7895]], - [[7895, 7895], 'valid'], - [[7896, 7896], 'mapped', [7897]], - [[7897, 7897], 'valid'], - [[7898, 7898], 'mapped', [7899]], - [[7899, 7899], 'valid'], - [[7900, 7900], 'mapped', [7901]], - [[7901, 7901], 'valid'], - [[7902, 7902], 'mapped', [7903]], - [[7903, 7903], 'valid'], - [[7904, 7904], 'mapped', [7905]], - [[7905, 7905], 'valid'], - [[7906, 7906], 'mapped', [7907]], - [[7907, 7907], 'valid'], - [[7908, 7908], 'mapped', [7909]], - [[7909, 7909], 'valid'], - [[7910, 7910], 'mapped', [7911]], - [[7911, 7911], 'valid'], - [[7912, 7912], 'mapped', [7913]], - [[7913, 7913], 'valid'], - [[7914, 7914], 'mapped', [7915]], - [[7915, 7915], 'valid'], - [[7916, 7916], 'mapped', [7917]], - [[7917, 7917], 'valid'], - [[7918, 7918], 'mapped', [7919]], - [[7919, 7919], 'valid'], - [[7920, 7920], 'mapped', [7921]], - [[7921, 7921], 'valid'], - [[7922, 7922], 'mapped', [7923]], - [[7923, 7923], 'valid'], - [[7924, 7924], 'mapped', [7925]], - [[7925, 7925], 'valid'], - [[7926, 7926], 'mapped', [7927]], - [[7927, 7927], 'valid'], - [[7928, 7928], 'mapped', [7929]], - [[7929, 7929], 'valid'], - [[7930, 7930], 'mapped', [7931]], - [[7931, 7931], 'valid'], - [[7932, 7932], 'mapped', [7933]], - [[7933, 7933], 'valid'], - [[7934, 7934], 'mapped', [7935]], - [[7935, 7935], 'valid'], - [[7936, 7943], 'valid'], - [[7944, 7944], 'mapped', [7936]], - [[7945, 7945], 'mapped', [7937]], - [[7946, 7946], 'mapped', [7938]], - [[7947, 7947], 'mapped', [7939]], - [[7948, 7948], 'mapped', [7940]], - [[7949, 7949], 'mapped', [7941]], - [[7950, 7950], 'mapped', [7942]], - [[7951, 7951], 'mapped', [7943]], - [[7952, 7957], 'valid'], - [[7958, 7959], 'disallowed'], - [[7960, 7960], 'mapped', [7952]], - [[7961, 7961], 'mapped', [7953]], - [[7962, 7962], 'mapped', [7954]], - [[7963, 7963], 'mapped', [7955]], - [[7964, 7964], 'mapped', [7956]], - [[7965, 7965], 'mapped', [7957]], - [[7966, 7967], 'disallowed'], - [[7968, 7975], 'valid'], - [[7976, 7976], 'mapped', [7968]], - [[7977, 7977], 'mapped', [7969]], - [[7978, 7978], 'mapped', [7970]], - [[7979, 7979], 'mapped', [7971]], - [[7980, 7980], 'mapped', [7972]], - [[7981, 7981], 'mapped', [7973]], - [[7982, 7982], 'mapped', [7974]], - [[7983, 7983], 'mapped', [7975]], - [[7984, 7991], 'valid'], - [[7992, 7992], 'mapped', [7984]], - [[7993, 7993], 'mapped', [7985]], - [[7994, 7994], 'mapped', [7986]], - [[7995, 7995], 'mapped', [7987]], - [[7996, 7996], 'mapped', [7988]], - [[7997, 7997], 'mapped', [7989]], - [[7998, 7998], 'mapped', [7990]], - [[7999, 7999], 'mapped', [7991]], - [[8e3, 8005], 'valid'], - [[8006, 8007], 'disallowed'], - [[8008, 8008], 'mapped', [8e3]], - [[8009, 8009], 'mapped', [8001]], - [[8010, 8010], 'mapped', [8002]], - [[8011, 8011], 'mapped', [8003]], - [[8012, 8012], 'mapped', [8004]], - [[8013, 8013], 'mapped', [8005]], - [[8014, 8015], 'disallowed'], - [[8016, 8023], 'valid'], - [[8024, 8024], 'disallowed'], - [[8025, 8025], 'mapped', [8017]], - [[8026, 8026], 'disallowed'], - [[8027, 8027], 'mapped', [8019]], - [[8028, 8028], 'disallowed'], - [[8029, 8029], 'mapped', [8021]], - [[8030, 8030], 'disallowed'], - [[8031, 8031], 'mapped', [8023]], - [[8032, 8039], 'valid'], - [[8040, 8040], 'mapped', [8032]], - [[8041, 8041], 'mapped', [8033]], - [[8042, 8042], 'mapped', [8034]], - [[8043, 8043], 'mapped', [8035]], - [[8044, 8044], 'mapped', [8036]], - [[8045, 8045], 'mapped', [8037]], - [[8046, 8046], 'mapped', [8038]], - [[8047, 8047], 'mapped', [8039]], - [[8048, 8048], 'valid'], - [[8049, 8049], 'mapped', [940]], - [[8050, 8050], 'valid'], - [[8051, 8051], 'mapped', [941]], - [[8052, 8052], 'valid'], - [[8053, 8053], 'mapped', [942]], - [[8054, 8054], 'valid'], - [[8055, 8055], 'mapped', [943]], - [[8056, 8056], 'valid'], - [[8057, 8057], 'mapped', [972]], - [[8058, 8058], 'valid'], - [[8059, 8059], 'mapped', [973]], - [[8060, 8060], 'valid'], - [[8061, 8061], 'mapped', [974]], - [[8062, 8063], 'disallowed'], - [[8064, 8064], 'mapped', [7936, 953]], - [[8065, 8065], 'mapped', [7937, 953]], - [[8066, 8066], 'mapped', [7938, 953]], - [[8067, 8067], 'mapped', [7939, 953]], - [[8068, 8068], 'mapped', [7940, 953]], - [[8069, 8069], 'mapped', [7941, 953]], - [[8070, 8070], 'mapped', [7942, 953]], - [[8071, 8071], 'mapped', [7943, 953]], - [[8072, 8072], 'mapped', [7936, 953]], - [[8073, 8073], 'mapped', [7937, 953]], - [[8074, 8074], 'mapped', [7938, 953]], - [[8075, 8075], 'mapped', [7939, 953]], - [[8076, 8076], 'mapped', [7940, 953]], - [[8077, 8077], 'mapped', [7941, 953]], - [[8078, 8078], 'mapped', [7942, 953]], - [[8079, 8079], 'mapped', [7943, 953]], - [[8080, 8080], 'mapped', [7968, 953]], - [[8081, 8081], 'mapped', [7969, 953]], - [[8082, 8082], 'mapped', [7970, 953]], - [[8083, 8083], 'mapped', [7971, 953]], - [[8084, 8084], 'mapped', [7972, 953]], - [[8085, 8085], 'mapped', [7973, 953]], - [[8086, 8086], 'mapped', [7974, 953]], - [[8087, 8087], 'mapped', [7975, 953]], - [[8088, 8088], 'mapped', [7968, 953]], - [[8089, 8089], 'mapped', [7969, 953]], - [[8090, 8090], 'mapped', [7970, 953]], - [[8091, 8091], 'mapped', [7971, 953]], - [[8092, 8092], 'mapped', [7972, 953]], - [[8093, 8093], 'mapped', [7973, 953]], - [[8094, 8094], 'mapped', [7974, 953]], - [[8095, 8095], 'mapped', [7975, 953]], - [[8096, 8096], 'mapped', [8032, 953]], - [[8097, 8097], 'mapped', [8033, 953]], - [[8098, 8098], 'mapped', [8034, 953]], - [[8099, 8099], 'mapped', [8035, 953]], - [[8100, 8100], 'mapped', [8036, 953]], - [[8101, 8101], 'mapped', [8037, 953]], - [[8102, 8102], 'mapped', [8038, 953]], - [[8103, 8103], 'mapped', [8039, 953]], - [[8104, 8104], 'mapped', [8032, 953]], - [[8105, 8105], 'mapped', [8033, 953]], - [[8106, 8106], 'mapped', [8034, 953]], - [[8107, 8107], 'mapped', [8035, 953]], - [[8108, 8108], 'mapped', [8036, 953]], - [[8109, 8109], 'mapped', [8037, 953]], - [[8110, 8110], 'mapped', [8038, 953]], - [[8111, 8111], 'mapped', [8039, 953]], - [[8112, 8113], 'valid'], - [[8114, 8114], 'mapped', [8048, 953]], - [[8115, 8115], 'mapped', [945, 953]], - [[8116, 8116], 'mapped', [940, 953]], - [[8117, 8117], 'disallowed'], - [[8118, 8118], 'valid'], - [[8119, 8119], 'mapped', [8118, 953]], - [[8120, 8120], 'mapped', [8112]], - [[8121, 8121], 'mapped', [8113]], - [[8122, 8122], 'mapped', [8048]], - [[8123, 8123], 'mapped', [940]], - [[8124, 8124], 'mapped', [945, 953]], - [[8125, 8125], 'disallowed_STD3_mapped', [32, 787]], - [[8126, 8126], 'mapped', [953]], - [[8127, 8127], 'disallowed_STD3_mapped', [32, 787]], - [[8128, 8128], 'disallowed_STD3_mapped', [32, 834]], - [[8129, 8129], 'disallowed_STD3_mapped', [32, 776, 834]], - [[8130, 8130], 'mapped', [8052, 953]], - [[8131, 8131], 'mapped', [951, 953]], - [[8132, 8132], 'mapped', [942, 953]], - [[8133, 8133], 'disallowed'], - [[8134, 8134], 'valid'], - [[8135, 8135], 'mapped', [8134, 953]], - [[8136, 8136], 'mapped', [8050]], - [[8137, 8137], 'mapped', [941]], - [[8138, 8138], 'mapped', [8052]], - [[8139, 8139], 'mapped', [942]], - [[8140, 8140], 'mapped', [951, 953]], - [[8141, 8141], 'disallowed_STD3_mapped', [32, 787, 768]], - [[8142, 8142], 'disallowed_STD3_mapped', [32, 787, 769]], - [[8143, 8143], 'disallowed_STD3_mapped', [32, 787, 834]], - [[8144, 8146], 'valid'], - [[8147, 8147], 'mapped', [912]], - [[8148, 8149], 'disallowed'], - [[8150, 8151], 'valid'], - [[8152, 8152], 'mapped', [8144]], - [[8153, 8153], 'mapped', [8145]], - [[8154, 8154], 'mapped', [8054]], - [[8155, 8155], 'mapped', [943]], - [[8156, 8156], 'disallowed'], - [[8157, 8157], 'disallowed_STD3_mapped', [32, 788, 768]], - [[8158, 8158], 'disallowed_STD3_mapped', [32, 788, 769]], - [[8159, 8159], 'disallowed_STD3_mapped', [32, 788, 834]], - [[8160, 8162], 'valid'], - [[8163, 8163], 'mapped', [944]], - [[8164, 8167], 'valid'], - [[8168, 8168], 'mapped', [8160]], - [[8169, 8169], 'mapped', [8161]], - [[8170, 8170], 'mapped', [8058]], - [[8171, 8171], 'mapped', [973]], - [[8172, 8172], 'mapped', [8165]], - [[8173, 8173], 'disallowed_STD3_mapped', [32, 776, 768]], - [[8174, 8174], 'disallowed_STD3_mapped', [32, 776, 769]], - [[8175, 8175], 'disallowed_STD3_mapped', [96]], - [[8176, 8177], 'disallowed'], - [[8178, 8178], 'mapped', [8060, 953]], - [[8179, 8179], 'mapped', [969, 953]], - [[8180, 8180], 'mapped', [974, 953]], - [[8181, 8181], 'disallowed'], - [[8182, 8182], 'valid'], - [[8183, 8183], 'mapped', [8182, 953]], - [[8184, 8184], 'mapped', [8056]], - [[8185, 8185], 'mapped', [972]], - [[8186, 8186], 'mapped', [8060]], - [[8187, 8187], 'mapped', [974]], - [[8188, 8188], 'mapped', [969, 953]], - [[8189, 8189], 'disallowed_STD3_mapped', [32, 769]], - [[8190, 8190], 'disallowed_STD3_mapped', [32, 788]], - [[8191, 8191], 'disallowed'], - [[8192, 8202], 'disallowed_STD3_mapped', [32]], - [[8203, 8203], 'ignored'], - [[8204, 8205], 'deviation', []], - [[8206, 8207], 'disallowed'], - [[8208, 8208], 'valid', [], 'NV8'], - [[8209, 8209], 'mapped', [8208]], - [[8210, 8214], 'valid', [], 'NV8'], - [[8215, 8215], 'disallowed_STD3_mapped', [32, 819]], - [[8216, 8227], 'valid', [], 'NV8'], - [[8228, 8230], 'disallowed'], - [[8231, 8231], 'valid', [], 'NV8'], - [[8232, 8238], 'disallowed'], - [[8239, 8239], 'disallowed_STD3_mapped', [32]], - [[8240, 8242], 'valid', [], 'NV8'], - [[8243, 8243], 'mapped', [8242, 8242]], - [[8244, 8244], 'mapped', [8242, 8242, 8242]], - [[8245, 8245], 'valid', [], 'NV8'], - [[8246, 8246], 'mapped', [8245, 8245]], - [[8247, 8247], 'mapped', [8245, 8245, 8245]], - [[8248, 8251], 'valid', [], 'NV8'], - [[8252, 8252], 'disallowed_STD3_mapped', [33, 33]], - [[8253, 8253], 'valid', [], 'NV8'], - [[8254, 8254], 'disallowed_STD3_mapped', [32, 773]], - [[8255, 8262], 'valid', [], 'NV8'], - [[8263, 8263], 'disallowed_STD3_mapped', [63, 63]], - [[8264, 8264], 'disallowed_STD3_mapped', [63, 33]], - [[8265, 8265], 'disallowed_STD3_mapped', [33, 63]], - [[8266, 8269], 'valid', [], 'NV8'], - [[8270, 8274], 'valid', [], 'NV8'], - [[8275, 8276], 'valid', [], 'NV8'], - [[8277, 8278], 'valid', [], 'NV8'], - [[8279, 8279], 'mapped', [8242, 8242, 8242, 8242]], - [[8280, 8286], 'valid', [], 'NV8'], - [[8287, 8287], 'disallowed_STD3_mapped', [32]], - [[8288, 8288], 'ignored'], - [[8289, 8291], 'disallowed'], - [[8292, 8292], 'ignored'], - [[8293, 8293], 'disallowed'], - [[8294, 8297], 'disallowed'], - [[8298, 8303], 'disallowed'], - [[8304, 8304], 'mapped', [48]], - [[8305, 8305], 'mapped', [105]], - [[8306, 8307], 'disallowed'], - [[8308, 8308], 'mapped', [52]], - [[8309, 8309], 'mapped', [53]], - [[8310, 8310], 'mapped', [54]], - [[8311, 8311], 'mapped', [55]], - [[8312, 8312], 'mapped', [56]], - [[8313, 8313], 'mapped', [57]], - [[8314, 8314], 'disallowed_STD3_mapped', [43]], - [[8315, 8315], 'mapped', [8722]], - [[8316, 8316], 'disallowed_STD3_mapped', [61]], - [[8317, 8317], 'disallowed_STD3_mapped', [40]], - [[8318, 8318], 'disallowed_STD3_mapped', [41]], - [[8319, 8319], 'mapped', [110]], - [[8320, 8320], 'mapped', [48]], - [[8321, 8321], 'mapped', [49]], - [[8322, 8322], 'mapped', [50]], - [[8323, 8323], 'mapped', [51]], - [[8324, 8324], 'mapped', [52]], - [[8325, 8325], 'mapped', [53]], - [[8326, 8326], 'mapped', [54]], - [[8327, 8327], 'mapped', [55]], - [[8328, 8328], 'mapped', [56]], - [[8329, 8329], 'mapped', [57]], - [[8330, 8330], 'disallowed_STD3_mapped', [43]], - [[8331, 8331], 'mapped', [8722]], - [[8332, 8332], 'disallowed_STD3_mapped', [61]], - [[8333, 8333], 'disallowed_STD3_mapped', [40]], - [[8334, 8334], 'disallowed_STD3_mapped', [41]], - [[8335, 8335], 'disallowed'], - [[8336, 8336], 'mapped', [97]], - [[8337, 8337], 'mapped', [101]], - [[8338, 8338], 'mapped', [111]], - [[8339, 8339], 'mapped', [120]], - [[8340, 8340], 'mapped', [601]], - [[8341, 8341], 'mapped', [104]], - [[8342, 8342], 'mapped', [107]], - [[8343, 8343], 'mapped', [108]], - [[8344, 8344], 'mapped', [109]], - [[8345, 8345], 'mapped', [110]], - [[8346, 8346], 'mapped', [112]], - [[8347, 8347], 'mapped', [115]], - [[8348, 8348], 'mapped', [116]], - [[8349, 8351], 'disallowed'], - [[8352, 8359], 'valid', [], 'NV8'], - [[8360, 8360], 'mapped', [114, 115]], - [[8361, 8362], 'valid', [], 'NV8'], - [[8363, 8363], 'valid', [], 'NV8'], - [[8364, 8364], 'valid', [], 'NV8'], - [[8365, 8367], 'valid', [], 'NV8'], - [[8368, 8369], 'valid', [], 'NV8'], - [[8370, 8373], 'valid', [], 'NV8'], - [[8374, 8376], 'valid', [], 'NV8'], - [[8377, 8377], 'valid', [], 'NV8'], - [[8378, 8378], 'valid', [], 'NV8'], - [[8379, 8381], 'valid', [], 'NV8'], - [[8382, 8382], 'valid', [], 'NV8'], - [[8383, 8399], 'disallowed'], - [[8400, 8417], 'valid', [], 'NV8'], - [[8418, 8419], 'valid', [], 'NV8'], - [[8420, 8426], 'valid', [], 'NV8'], - [[8427, 8427], 'valid', [], 'NV8'], - [[8428, 8431], 'valid', [], 'NV8'], - [[8432, 8432], 'valid', [], 'NV8'], - [[8433, 8447], 'disallowed'], - [[8448, 8448], 'disallowed_STD3_mapped', [97, 47, 99]], - [[8449, 8449], 'disallowed_STD3_mapped', [97, 47, 115]], - [[8450, 8450], 'mapped', [99]], - [[8451, 8451], 'mapped', [176, 99]], - [[8452, 8452], 'valid', [], 'NV8'], - [[8453, 8453], 'disallowed_STD3_mapped', [99, 47, 111]], - [[8454, 8454], 'disallowed_STD3_mapped', [99, 47, 117]], - [[8455, 8455], 'mapped', [603]], - [[8456, 8456], 'valid', [], 'NV8'], - [[8457, 8457], 'mapped', [176, 102]], - [[8458, 8458], 'mapped', [103]], - [[8459, 8462], 'mapped', [104]], - [[8463, 8463], 'mapped', [295]], - [[8464, 8465], 'mapped', [105]], - [[8466, 8467], 'mapped', [108]], - [[8468, 8468], 'valid', [], 'NV8'], - [[8469, 8469], 'mapped', [110]], - [[8470, 8470], 'mapped', [110, 111]], - [[8471, 8472], 'valid', [], 'NV8'], - [[8473, 8473], 'mapped', [112]], - [[8474, 8474], 'mapped', [113]], - [[8475, 8477], 'mapped', [114]], - [[8478, 8479], 'valid', [], 'NV8'], - [[8480, 8480], 'mapped', [115, 109]], - [[8481, 8481], 'mapped', [116, 101, 108]], - [[8482, 8482], 'mapped', [116, 109]], - [[8483, 8483], 'valid', [], 'NV8'], - [[8484, 8484], 'mapped', [122]], - [[8485, 8485], 'valid', [], 'NV8'], - [[8486, 8486], 'mapped', [969]], - [[8487, 8487], 'valid', [], 'NV8'], - [[8488, 8488], 'mapped', [122]], - [[8489, 8489], 'valid', [], 'NV8'], - [[8490, 8490], 'mapped', [107]], - [[8491, 8491], 'mapped', [229]], - [[8492, 8492], 'mapped', [98]], - [[8493, 8493], 'mapped', [99]], - [[8494, 8494], 'valid', [], 'NV8'], - [[8495, 8496], 'mapped', [101]], - [[8497, 8497], 'mapped', [102]], - [[8498, 8498], 'disallowed'], - [[8499, 8499], 'mapped', [109]], - [[8500, 8500], 'mapped', [111]], - [[8501, 8501], 'mapped', [1488]], - [[8502, 8502], 'mapped', [1489]], - [[8503, 8503], 'mapped', [1490]], - [[8504, 8504], 'mapped', [1491]], - [[8505, 8505], 'mapped', [105]], - [[8506, 8506], 'valid', [], 'NV8'], - [[8507, 8507], 'mapped', [102, 97, 120]], - [[8508, 8508], 'mapped', [960]], - [[8509, 8510], 'mapped', [947]], - [[8511, 8511], 'mapped', [960]], - [[8512, 8512], 'mapped', [8721]], - [[8513, 8516], 'valid', [], 'NV8'], - [[8517, 8518], 'mapped', [100]], - [[8519, 8519], 'mapped', [101]], - [[8520, 8520], 'mapped', [105]], - [[8521, 8521], 'mapped', [106]], - [[8522, 8523], 'valid', [], 'NV8'], - [[8524, 8524], 'valid', [], 'NV8'], - [[8525, 8525], 'valid', [], 'NV8'], - [[8526, 8526], 'valid'], - [[8527, 8527], 'valid', [], 'NV8'], - [[8528, 8528], 'mapped', [49, 8260, 55]], - [[8529, 8529], 'mapped', [49, 8260, 57]], - [[8530, 8530], 'mapped', [49, 8260, 49, 48]], - [[8531, 8531], 'mapped', [49, 8260, 51]], - [[8532, 8532], 'mapped', [50, 8260, 51]], - [[8533, 8533], 'mapped', [49, 8260, 53]], - [[8534, 8534], 'mapped', [50, 8260, 53]], - [[8535, 8535], 'mapped', [51, 8260, 53]], - [[8536, 8536], 'mapped', [52, 8260, 53]], - [[8537, 8537], 'mapped', [49, 8260, 54]], - [[8538, 8538], 'mapped', [53, 8260, 54]], - [[8539, 8539], 'mapped', [49, 8260, 56]], - [[8540, 8540], 'mapped', [51, 8260, 56]], - [[8541, 8541], 'mapped', [53, 8260, 56]], - [[8542, 8542], 'mapped', [55, 8260, 56]], - [[8543, 8543], 'mapped', [49, 8260]], - [[8544, 8544], 'mapped', [105]], - [[8545, 8545], 'mapped', [105, 105]], - [[8546, 8546], 'mapped', [105, 105, 105]], - [[8547, 8547], 'mapped', [105, 118]], - [[8548, 8548], 'mapped', [118]], - [[8549, 8549], 'mapped', [118, 105]], - [[8550, 8550], 'mapped', [118, 105, 105]], - [[8551, 8551], 'mapped', [118, 105, 105, 105]], - [[8552, 8552], 'mapped', [105, 120]], - [[8553, 8553], 'mapped', [120]], - [[8554, 8554], 'mapped', [120, 105]], - [[8555, 8555], 'mapped', [120, 105, 105]], - [[8556, 8556], 'mapped', [108]], - [[8557, 8557], 'mapped', [99]], - [[8558, 8558], 'mapped', [100]], - [[8559, 8559], 'mapped', [109]], - [[8560, 8560], 'mapped', [105]], - [[8561, 8561], 'mapped', [105, 105]], - [[8562, 8562], 'mapped', [105, 105, 105]], - [[8563, 8563], 'mapped', [105, 118]], - [[8564, 8564], 'mapped', [118]], - [[8565, 8565], 'mapped', [118, 105]], - [[8566, 8566], 'mapped', [118, 105, 105]], - [[8567, 8567], 'mapped', [118, 105, 105, 105]], - [[8568, 8568], 'mapped', [105, 120]], - [[8569, 8569], 'mapped', [120]], - [[8570, 8570], 'mapped', [120, 105]], - [[8571, 8571], 'mapped', [120, 105, 105]], - [[8572, 8572], 'mapped', [108]], - [[8573, 8573], 'mapped', [99]], - [[8574, 8574], 'mapped', [100]], - [[8575, 8575], 'mapped', [109]], - [[8576, 8578], 'valid', [], 'NV8'], - [[8579, 8579], 'disallowed'], - [[8580, 8580], 'valid'], - [[8581, 8584], 'valid', [], 'NV8'], - [[8585, 8585], 'mapped', [48, 8260, 51]], - [[8586, 8587], 'valid', [], 'NV8'], - [[8588, 8591], 'disallowed'], - [[8592, 8682], 'valid', [], 'NV8'], - [[8683, 8691], 'valid', [], 'NV8'], - [[8692, 8703], 'valid', [], 'NV8'], - [[8704, 8747], 'valid', [], 'NV8'], - [[8748, 8748], 'mapped', [8747, 8747]], - [[8749, 8749], 'mapped', [8747, 8747, 8747]], - [[8750, 8750], 'valid', [], 'NV8'], - [[8751, 8751], 'mapped', [8750, 8750]], - [[8752, 8752], 'mapped', [8750, 8750, 8750]], - [[8753, 8799], 'valid', [], 'NV8'], - [[8800, 8800], 'disallowed_STD3_valid'], - [[8801, 8813], 'valid', [], 'NV8'], - [[8814, 8815], 'disallowed_STD3_valid'], - [[8816, 8945], 'valid', [], 'NV8'], - [[8946, 8959], 'valid', [], 'NV8'], - [[8960, 8960], 'valid', [], 'NV8'], - [[8961, 8961], 'valid', [], 'NV8'], - [[8962, 9e3], 'valid', [], 'NV8'], - [[9001, 9001], 'mapped', [12296]], - [[9002, 9002], 'mapped', [12297]], - [[9003, 9082], 'valid', [], 'NV8'], - [[9083, 9083], 'valid', [], 'NV8'], - [[9084, 9084], 'valid', [], 'NV8'], - [[9085, 9114], 'valid', [], 'NV8'], - [[9115, 9166], 'valid', [], 'NV8'], - [[9167, 9168], 'valid', [], 'NV8'], - [[9169, 9179], 'valid', [], 'NV8'], - [[9180, 9191], 'valid', [], 'NV8'], - [[9192, 9192], 'valid', [], 'NV8'], - [[9193, 9203], 'valid', [], 'NV8'], - [[9204, 9210], 'valid', [], 'NV8'], - [[9211, 9215], 'disallowed'], - [[9216, 9252], 'valid', [], 'NV8'], - [[9253, 9254], 'valid', [], 'NV8'], - [[9255, 9279], 'disallowed'], - [[9280, 9290], 'valid', [], 'NV8'], - [[9291, 9311], 'disallowed'], - [[9312, 9312], 'mapped', [49]], - [[9313, 9313], 'mapped', [50]], - [[9314, 9314], 'mapped', [51]], - [[9315, 9315], 'mapped', [52]], - [[9316, 9316], 'mapped', [53]], - [[9317, 9317], 'mapped', [54]], - [[9318, 9318], 'mapped', [55]], - [[9319, 9319], 'mapped', [56]], - [[9320, 9320], 'mapped', [57]], - [[9321, 9321], 'mapped', [49, 48]], - [[9322, 9322], 'mapped', [49, 49]], - [[9323, 9323], 'mapped', [49, 50]], - [[9324, 9324], 'mapped', [49, 51]], - [[9325, 9325], 'mapped', [49, 52]], - [[9326, 9326], 'mapped', [49, 53]], - [[9327, 9327], 'mapped', [49, 54]], - [[9328, 9328], 'mapped', [49, 55]], - [[9329, 9329], 'mapped', [49, 56]], - [[9330, 9330], 'mapped', [49, 57]], - [[9331, 9331], 'mapped', [50, 48]], - [[9332, 9332], 'disallowed_STD3_mapped', [40, 49, 41]], - [[9333, 9333], 'disallowed_STD3_mapped', [40, 50, 41]], - [[9334, 9334], 'disallowed_STD3_mapped', [40, 51, 41]], - [[9335, 9335], 'disallowed_STD3_mapped', [40, 52, 41]], - [[9336, 9336], 'disallowed_STD3_mapped', [40, 53, 41]], - [[9337, 9337], 'disallowed_STD3_mapped', [40, 54, 41]], - [[9338, 9338], 'disallowed_STD3_mapped', [40, 55, 41]], - [[9339, 9339], 'disallowed_STD3_mapped', [40, 56, 41]], - [[9340, 9340], 'disallowed_STD3_mapped', [40, 57, 41]], - [[9341, 9341], 'disallowed_STD3_mapped', [40, 49, 48, 41]], - [[9342, 9342], 'disallowed_STD3_mapped', [40, 49, 49, 41]], - [[9343, 9343], 'disallowed_STD3_mapped', [40, 49, 50, 41]], - [[9344, 9344], 'disallowed_STD3_mapped', [40, 49, 51, 41]], - [[9345, 9345], 'disallowed_STD3_mapped', [40, 49, 52, 41]], - [[9346, 9346], 'disallowed_STD3_mapped', [40, 49, 53, 41]], - [[9347, 9347], 'disallowed_STD3_mapped', [40, 49, 54, 41]], - [[9348, 9348], 'disallowed_STD3_mapped', [40, 49, 55, 41]], - [[9349, 9349], 'disallowed_STD3_mapped', [40, 49, 56, 41]], - [[9350, 9350], 'disallowed_STD3_mapped', [40, 49, 57, 41]], - [[9351, 9351], 'disallowed_STD3_mapped', [40, 50, 48, 41]], - [[9352, 9371], 'disallowed'], - [[9372, 9372], 'disallowed_STD3_mapped', [40, 97, 41]], - [[9373, 9373], 'disallowed_STD3_mapped', [40, 98, 41]], - [[9374, 9374], 'disallowed_STD3_mapped', [40, 99, 41]], - [[9375, 9375], 'disallowed_STD3_mapped', [40, 100, 41]], - [[9376, 9376], 'disallowed_STD3_mapped', [40, 101, 41]], - [[9377, 9377], 'disallowed_STD3_mapped', [40, 102, 41]], - [[9378, 9378], 'disallowed_STD3_mapped', [40, 103, 41]], - [[9379, 9379], 'disallowed_STD3_mapped', [40, 104, 41]], - [[9380, 9380], 'disallowed_STD3_mapped', [40, 105, 41]], - [[9381, 9381], 'disallowed_STD3_mapped', [40, 106, 41]], - [[9382, 9382], 'disallowed_STD3_mapped', [40, 107, 41]], - [[9383, 9383], 'disallowed_STD3_mapped', [40, 108, 41]], - [[9384, 9384], 'disallowed_STD3_mapped', [40, 109, 41]], - [[9385, 9385], 'disallowed_STD3_mapped', [40, 110, 41]], - [[9386, 9386], 'disallowed_STD3_mapped', [40, 111, 41]], - [[9387, 9387], 'disallowed_STD3_mapped', [40, 112, 41]], - [[9388, 9388], 'disallowed_STD3_mapped', [40, 113, 41]], - [[9389, 9389], 'disallowed_STD3_mapped', [40, 114, 41]], - [[9390, 9390], 'disallowed_STD3_mapped', [40, 115, 41]], - [[9391, 9391], 'disallowed_STD3_mapped', [40, 116, 41]], - [[9392, 9392], 'disallowed_STD3_mapped', [40, 117, 41]], - [[9393, 9393], 'disallowed_STD3_mapped', [40, 118, 41]], - [[9394, 9394], 'disallowed_STD3_mapped', [40, 119, 41]], - [[9395, 9395], 'disallowed_STD3_mapped', [40, 120, 41]], - [[9396, 9396], 'disallowed_STD3_mapped', [40, 121, 41]], - [[9397, 9397], 'disallowed_STD3_mapped', [40, 122, 41]], - [[9398, 9398], 'mapped', [97]], - [[9399, 9399], 'mapped', [98]], - [[9400, 9400], 'mapped', [99]], - [[9401, 9401], 'mapped', [100]], - [[9402, 9402], 'mapped', [101]], - [[9403, 9403], 'mapped', [102]], - [[9404, 9404], 'mapped', [103]], - [[9405, 9405], 'mapped', [104]], - [[9406, 9406], 'mapped', [105]], - [[9407, 9407], 'mapped', [106]], - [[9408, 9408], 'mapped', [107]], - [[9409, 9409], 'mapped', [108]], - [[9410, 9410], 'mapped', [109]], - [[9411, 9411], 'mapped', [110]], - [[9412, 9412], 'mapped', [111]], - [[9413, 9413], 'mapped', [112]], - [[9414, 9414], 'mapped', [113]], - [[9415, 9415], 'mapped', [114]], - [[9416, 9416], 'mapped', [115]], - [[9417, 9417], 'mapped', [116]], - [[9418, 9418], 'mapped', [117]], - [[9419, 9419], 'mapped', [118]], - [[9420, 9420], 'mapped', [119]], - [[9421, 9421], 'mapped', [120]], - [[9422, 9422], 'mapped', [121]], - [[9423, 9423], 'mapped', [122]], - [[9424, 9424], 'mapped', [97]], - [[9425, 9425], 'mapped', [98]], - [[9426, 9426], 'mapped', [99]], - [[9427, 9427], 'mapped', [100]], - [[9428, 9428], 'mapped', [101]], - [[9429, 9429], 'mapped', [102]], - [[9430, 9430], 'mapped', [103]], - [[9431, 9431], 'mapped', [104]], - [[9432, 9432], 'mapped', [105]], - [[9433, 9433], 'mapped', [106]], - [[9434, 9434], 'mapped', [107]], - [[9435, 9435], 'mapped', [108]], - [[9436, 9436], 'mapped', [109]], - [[9437, 9437], 'mapped', [110]], - [[9438, 9438], 'mapped', [111]], - [[9439, 9439], 'mapped', [112]], - [[9440, 9440], 'mapped', [113]], - [[9441, 9441], 'mapped', [114]], - [[9442, 9442], 'mapped', [115]], - [[9443, 9443], 'mapped', [116]], - [[9444, 9444], 'mapped', [117]], - [[9445, 9445], 'mapped', [118]], - [[9446, 9446], 'mapped', [119]], - [[9447, 9447], 'mapped', [120]], - [[9448, 9448], 'mapped', [121]], - [[9449, 9449], 'mapped', [122]], - [[9450, 9450], 'mapped', [48]], - [[9451, 9470], 'valid', [], 'NV8'], - [[9471, 9471], 'valid', [], 'NV8'], - [[9472, 9621], 'valid', [], 'NV8'], - [[9622, 9631], 'valid', [], 'NV8'], - [[9632, 9711], 'valid', [], 'NV8'], - [[9712, 9719], 'valid', [], 'NV8'], - [[9720, 9727], 'valid', [], 'NV8'], - [[9728, 9747], 'valid', [], 'NV8'], - [[9748, 9749], 'valid', [], 'NV8'], - [[9750, 9751], 'valid', [], 'NV8'], - [[9752, 9752], 'valid', [], 'NV8'], - [[9753, 9753], 'valid', [], 'NV8'], - [[9754, 9839], 'valid', [], 'NV8'], - [[9840, 9841], 'valid', [], 'NV8'], - [[9842, 9853], 'valid', [], 'NV8'], - [[9854, 9855], 'valid', [], 'NV8'], - [[9856, 9865], 'valid', [], 'NV8'], - [[9866, 9873], 'valid', [], 'NV8'], - [[9874, 9884], 'valid', [], 'NV8'], - [[9885, 9885], 'valid', [], 'NV8'], - [[9886, 9887], 'valid', [], 'NV8'], - [[9888, 9889], 'valid', [], 'NV8'], - [[9890, 9905], 'valid', [], 'NV8'], - [[9906, 9906], 'valid', [], 'NV8'], - [[9907, 9916], 'valid', [], 'NV8'], - [[9917, 9919], 'valid', [], 'NV8'], - [[9920, 9923], 'valid', [], 'NV8'], - [[9924, 9933], 'valid', [], 'NV8'], - [[9934, 9934], 'valid', [], 'NV8'], - [[9935, 9953], 'valid', [], 'NV8'], - [[9954, 9954], 'valid', [], 'NV8'], - [[9955, 9955], 'valid', [], 'NV8'], - [[9956, 9959], 'valid', [], 'NV8'], - [[9960, 9983], 'valid', [], 'NV8'], - [[9984, 9984], 'valid', [], 'NV8'], - [[9985, 9988], 'valid', [], 'NV8'], - [[9989, 9989], 'valid', [], 'NV8'], - [[9990, 9993], 'valid', [], 'NV8'], - [[9994, 9995], 'valid', [], 'NV8'], - [[9996, 10023], 'valid', [], 'NV8'], - [[10024, 10024], 'valid', [], 'NV8'], - [[10025, 10059], 'valid', [], 'NV8'], - [[10060, 10060], 'valid', [], 'NV8'], - [[10061, 10061], 'valid', [], 'NV8'], - [[10062, 10062], 'valid', [], 'NV8'], - [[10063, 10066], 'valid', [], 'NV8'], - [[10067, 10069], 'valid', [], 'NV8'], - [[10070, 10070], 'valid', [], 'NV8'], - [[10071, 10071], 'valid', [], 'NV8'], - [[10072, 10078], 'valid', [], 'NV8'], - [[10079, 10080], 'valid', [], 'NV8'], - [[10081, 10087], 'valid', [], 'NV8'], - [[10088, 10101], 'valid', [], 'NV8'], - [[10102, 10132], 'valid', [], 'NV8'], - [[10133, 10135], 'valid', [], 'NV8'], - [[10136, 10159], 'valid', [], 'NV8'], - [[10160, 10160], 'valid', [], 'NV8'], - [[10161, 10174], 'valid', [], 'NV8'], - [[10175, 10175], 'valid', [], 'NV8'], - [[10176, 10182], 'valid', [], 'NV8'], - [[10183, 10186], 'valid', [], 'NV8'], - [[10187, 10187], 'valid', [], 'NV8'], - [[10188, 10188], 'valid', [], 'NV8'], - [[10189, 10189], 'valid', [], 'NV8'], - [[10190, 10191], 'valid', [], 'NV8'], - [[10192, 10219], 'valid', [], 'NV8'], - [[10220, 10223], 'valid', [], 'NV8'], - [[10224, 10239], 'valid', [], 'NV8'], - [[10240, 10495], 'valid', [], 'NV8'], - [[10496, 10763], 'valid', [], 'NV8'], - [[10764, 10764], 'mapped', [8747, 8747, 8747, 8747]], - [[10765, 10867], 'valid', [], 'NV8'], - [[10868, 10868], 'disallowed_STD3_mapped', [58, 58, 61]], - [[10869, 10869], 'disallowed_STD3_mapped', [61, 61]], - [[10870, 10870], 'disallowed_STD3_mapped', [61, 61, 61]], - [[10871, 10971], 'valid', [], 'NV8'], - [[10972, 10972], 'mapped', [10973, 824]], - [[10973, 11007], 'valid', [], 'NV8'], - [[11008, 11021], 'valid', [], 'NV8'], - [[11022, 11027], 'valid', [], 'NV8'], - [[11028, 11034], 'valid', [], 'NV8'], - [[11035, 11039], 'valid', [], 'NV8'], - [[11040, 11043], 'valid', [], 'NV8'], - [[11044, 11084], 'valid', [], 'NV8'], - [[11085, 11087], 'valid', [], 'NV8'], - [[11088, 11092], 'valid', [], 'NV8'], - [[11093, 11097], 'valid', [], 'NV8'], - [[11098, 11123], 'valid', [], 'NV8'], - [[11124, 11125], 'disallowed'], - [[11126, 11157], 'valid', [], 'NV8'], - [[11158, 11159], 'disallowed'], - [[11160, 11193], 'valid', [], 'NV8'], - [[11194, 11196], 'disallowed'], - [[11197, 11208], 'valid', [], 'NV8'], - [[11209, 11209], 'disallowed'], - [[11210, 11217], 'valid', [], 'NV8'], - [[11218, 11243], 'disallowed'], - [[11244, 11247], 'valid', [], 'NV8'], - [[11248, 11263], 'disallowed'], - [[11264, 11264], 'mapped', [11312]], - [[11265, 11265], 'mapped', [11313]], - [[11266, 11266], 'mapped', [11314]], - [[11267, 11267], 'mapped', [11315]], - [[11268, 11268], 'mapped', [11316]], - [[11269, 11269], 'mapped', [11317]], - [[11270, 11270], 'mapped', [11318]], - [[11271, 11271], 'mapped', [11319]], - [[11272, 11272], 'mapped', [11320]], - [[11273, 11273], 'mapped', [11321]], - [[11274, 11274], 'mapped', [11322]], - [[11275, 11275], 'mapped', [11323]], - [[11276, 11276], 'mapped', [11324]], - [[11277, 11277], 'mapped', [11325]], - [[11278, 11278], 'mapped', [11326]], - [[11279, 11279], 'mapped', [11327]], - [[11280, 11280], 'mapped', [11328]], - [[11281, 11281], 'mapped', [11329]], - [[11282, 11282], 'mapped', [11330]], - [[11283, 11283], 'mapped', [11331]], - [[11284, 11284], 'mapped', [11332]], - [[11285, 11285], 'mapped', [11333]], - [[11286, 11286], 'mapped', [11334]], - [[11287, 11287], 'mapped', [11335]], - [[11288, 11288], 'mapped', [11336]], - [[11289, 11289], 'mapped', [11337]], - [[11290, 11290], 'mapped', [11338]], - [[11291, 11291], 'mapped', [11339]], - [[11292, 11292], 'mapped', [11340]], - [[11293, 11293], 'mapped', [11341]], - [[11294, 11294], 'mapped', [11342]], - [[11295, 11295], 'mapped', [11343]], - [[11296, 11296], 'mapped', [11344]], - [[11297, 11297], 'mapped', [11345]], - [[11298, 11298], 'mapped', [11346]], - [[11299, 11299], 'mapped', [11347]], - [[11300, 11300], 'mapped', [11348]], - [[11301, 11301], 'mapped', [11349]], - [[11302, 11302], 'mapped', [11350]], - [[11303, 11303], 'mapped', [11351]], - [[11304, 11304], 'mapped', [11352]], - [[11305, 11305], 'mapped', [11353]], - [[11306, 11306], 'mapped', [11354]], - [[11307, 11307], 'mapped', [11355]], - [[11308, 11308], 'mapped', [11356]], - [[11309, 11309], 'mapped', [11357]], - [[11310, 11310], 'mapped', [11358]], - [[11311, 11311], 'disallowed'], - [[11312, 11358], 'valid'], - [[11359, 11359], 'disallowed'], - [[11360, 11360], 'mapped', [11361]], - [[11361, 11361], 'valid'], - [[11362, 11362], 'mapped', [619]], - [[11363, 11363], 'mapped', [7549]], - [[11364, 11364], 'mapped', [637]], - [[11365, 11366], 'valid'], - [[11367, 11367], 'mapped', [11368]], - [[11368, 11368], 'valid'], - [[11369, 11369], 'mapped', [11370]], - [[11370, 11370], 'valid'], - [[11371, 11371], 'mapped', [11372]], - [[11372, 11372], 'valid'], - [[11373, 11373], 'mapped', [593]], - [[11374, 11374], 'mapped', [625]], - [[11375, 11375], 'mapped', [592]], - [[11376, 11376], 'mapped', [594]], - [[11377, 11377], 'valid'], - [[11378, 11378], 'mapped', [11379]], - [[11379, 11379], 'valid'], - [[11380, 11380], 'valid'], - [[11381, 11381], 'mapped', [11382]], - [[11382, 11383], 'valid'], - [[11384, 11387], 'valid'], - [[11388, 11388], 'mapped', [106]], - [[11389, 11389], 'mapped', [118]], - [[11390, 11390], 'mapped', [575]], - [[11391, 11391], 'mapped', [576]], - [[11392, 11392], 'mapped', [11393]], - [[11393, 11393], 'valid'], - [[11394, 11394], 'mapped', [11395]], - [[11395, 11395], 'valid'], - [[11396, 11396], 'mapped', [11397]], - [[11397, 11397], 'valid'], - [[11398, 11398], 'mapped', [11399]], - [[11399, 11399], 'valid'], - [[11400, 11400], 'mapped', [11401]], - [[11401, 11401], 'valid'], - [[11402, 11402], 'mapped', [11403]], - [[11403, 11403], 'valid'], - [[11404, 11404], 'mapped', [11405]], - [[11405, 11405], 'valid'], - [[11406, 11406], 'mapped', [11407]], - [[11407, 11407], 'valid'], - [[11408, 11408], 'mapped', [11409]], - [[11409, 11409], 'valid'], - [[11410, 11410], 'mapped', [11411]], - [[11411, 11411], 'valid'], - [[11412, 11412], 'mapped', [11413]], - [[11413, 11413], 'valid'], - [[11414, 11414], 'mapped', [11415]], - [[11415, 11415], 'valid'], - [[11416, 11416], 'mapped', [11417]], - [[11417, 11417], 'valid'], - [[11418, 11418], 'mapped', [11419]], - [[11419, 11419], 'valid'], - [[11420, 11420], 'mapped', [11421]], - [[11421, 11421], 'valid'], - [[11422, 11422], 'mapped', [11423]], - [[11423, 11423], 'valid'], - [[11424, 11424], 'mapped', [11425]], - [[11425, 11425], 'valid'], - [[11426, 11426], 'mapped', [11427]], - [[11427, 11427], 'valid'], - [[11428, 11428], 'mapped', [11429]], - [[11429, 11429], 'valid'], - [[11430, 11430], 'mapped', [11431]], - [[11431, 11431], 'valid'], - [[11432, 11432], 'mapped', [11433]], - [[11433, 11433], 'valid'], - [[11434, 11434], 'mapped', [11435]], - [[11435, 11435], 'valid'], - [[11436, 11436], 'mapped', [11437]], - [[11437, 11437], 'valid'], - [[11438, 11438], 'mapped', [11439]], - [[11439, 11439], 'valid'], - [[11440, 11440], 'mapped', [11441]], - [[11441, 11441], 'valid'], - [[11442, 11442], 'mapped', [11443]], - [[11443, 11443], 'valid'], - [[11444, 11444], 'mapped', [11445]], - [[11445, 11445], 'valid'], - [[11446, 11446], 'mapped', [11447]], - [[11447, 11447], 'valid'], - [[11448, 11448], 'mapped', [11449]], - [[11449, 11449], 'valid'], - [[11450, 11450], 'mapped', [11451]], - [[11451, 11451], 'valid'], - [[11452, 11452], 'mapped', [11453]], - [[11453, 11453], 'valid'], - [[11454, 11454], 'mapped', [11455]], - [[11455, 11455], 'valid'], - [[11456, 11456], 'mapped', [11457]], - [[11457, 11457], 'valid'], - [[11458, 11458], 'mapped', [11459]], - [[11459, 11459], 'valid'], - [[11460, 11460], 'mapped', [11461]], - [[11461, 11461], 'valid'], - [[11462, 11462], 'mapped', [11463]], - [[11463, 11463], 'valid'], - [[11464, 11464], 'mapped', [11465]], - [[11465, 11465], 'valid'], - [[11466, 11466], 'mapped', [11467]], - [[11467, 11467], 'valid'], - [[11468, 11468], 'mapped', [11469]], - [[11469, 11469], 'valid'], - [[11470, 11470], 'mapped', [11471]], - [[11471, 11471], 'valid'], - [[11472, 11472], 'mapped', [11473]], - [[11473, 11473], 'valid'], - [[11474, 11474], 'mapped', [11475]], - [[11475, 11475], 'valid'], - [[11476, 11476], 'mapped', [11477]], - [[11477, 11477], 'valid'], - [[11478, 11478], 'mapped', [11479]], - [[11479, 11479], 'valid'], - [[11480, 11480], 'mapped', [11481]], - [[11481, 11481], 'valid'], - [[11482, 11482], 'mapped', [11483]], - [[11483, 11483], 'valid'], - [[11484, 11484], 'mapped', [11485]], - [[11485, 11485], 'valid'], - [[11486, 11486], 'mapped', [11487]], - [[11487, 11487], 'valid'], - [[11488, 11488], 'mapped', [11489]], - [[11489, 11489], 'valid'], - [[11490, 11490], 'mapped', [11491]], - [[11491, 11492], 'valid'], - [[11493, 11498], 'valid', [], 'NV8'], - [[11499, 11499], 'mapped', [11500]], - [[11500, 11500], 'valid'], - [[11501, 11501], 'mapped', [11502]], - [[11502, 11505], 'valid'], - [[11506, 11506], 'mapped', [11507]], - [[11507, 11507], 'valid'], - [[11508, 11512], 'disallowed'], - [[11513, 11519], 'valid', [], 'NV8'], - [[11520, 11557], 'valid'], - [[11558, 11558], 'disallowed'], - [[11559, 11559], 'valid'], - [[11560, 11564], 'disallowed'], - [[11565, 11565], 'valid'], - [[11566, 11567], 'disallowed'], - [[11568, 11621], 'valid'], - [[11622, 11623], 'valid'], - [[11624, 11630], 'disallowed'], - [[11631, 11631], 'mapped', [11617]], - [[11632, 11632], 'valid', [], 'NV8'], - [[11633, 11646], 'disallowed'], - [[11647, 11647], 'valid'], - [[11648, 11670], 'valid'], - [[11671, 11679], 'disallowed'], - [[11680, 11686], 'valid'], - [[11687, 11687], 'disallowed'], - [[11688, 11694], 'valid'], - [[11695, 11695], 'disallowed'], - [[11696, 11702], 'valid'], - [[11703, 11703], 'disallowed'], - [[11704, 11710], 'valid'], - [[11711, 11711], 'disallowed'], - [[11712, 11718], 'valid'], - [[11719, 11719], 'disallowed'], - [[11720, 11726], 'valid'], - [[11727, 11727], 'disallowed'], - [[11728, 11734], 'valid'], - [[11735, 11735], 'disallowed'], - [[11736, 11742], 'valid'], - [[11743, 11743], 'disallowed'], - [[11744, 11775], 'valid'], - [[11776, 11799], 'valid', [], 'NV8'], - [[11800, 11803], 'valid', [], 'NV8'], - [[11804, 11805], 'valid', [], 'NV8'], - [[11806, 11822], 'valid', [], 'NV8'], - [[11823, 11823], 'valid'], - [[11824, 11824], 'valid', [], 'NV8'], - [[11825, 11825], 'valid', [], 'NV8'], - [[11826, 11835], 'valid', [], 'NV8'], - [[11836, 11842], 'valid', [], 'NV8'], - [[11843, 11903], 'disallowed'], - [[11904, 11929], 'valid', [], 'NV8'], - [[11930, 11930], 'disallowed'], - [[11931, 11934], 'valid', [], 'NV8'], - [[11935, 11935], 'mapped', [27597]], - [[11936, 12018], 'valid', [], 'NV8'], - [[12019, 12019], 'mapped', [40863]], - [[12020, 12031], 'disallowed'], - [[12032, 12032], 'mapped', [19968]], - [[12033, 12033], 'mapped', [20008]], - [[12034, 12034], 'mapped', [20022]], - [[12035, 12035], 'mapped', [20031]], - [[12036, 12036], 'mapped', [20057]], - [[12037, 12037], 'mapped', [20101]], - [[12038, 12038], 'mapped', [20108]], - [[12039, 12039], 'mapped', [20128]], - [[12040, 12040], 'mapped', [20154]], - [[12041, 12041], 'mapped', [20799]], - [[12042, 12042], 'mapped', [20837]], - [[12043, 12043], 'mapped', [20843]], - [[12044, 12044], 'mapped', [20866]], - [[12045, 12045], 'mapped', [20886]], - [[12046, 12046], 'mapped', [20907]], - [[12047, 12047], 'mapped', [20960]], - [[12048, 12048], 'mapped', [20981]], - [[12049, 12049], 'mapped', [20992]], - [[12050, 12050], 'mapped', [21147]], - [[12051, 12051], 'mapped', [21241]], - [[12052, 12052], 'mapped', [21269]], - [[12053, 12053], 'mapped', [21274]], - [[12054, 12054], 'mapped', [21304]], - [[12055, 12055], 'mapped', [21313]], - [[12056, 12056], 'mapped', [21340]], - [[12057, 12057], 'mapped', [21353]], - [[12058, 12058], 'mapped', [21378]], - [[12059, 12059], 'mapped', [21430]], - [[12060, 12060], 'mapped', [21448]], - [[12061, 12061], 'mapped', [21475]], - [[12062, 12062], 'mapped', [22231]], - [[12063, 12063], 'mapped', [22303]], - [[12064, 12064], 'mapped', [22763]], - [[12065, 12065], 'mapped', [22786]], - [[12066, 12066], 'mapped', [22794]], - [[12067, 12067], 'mapped', [22805]], - [[12068, 12068], 'mapped', [22823]], - [[12069, 12069], 'mapped', [22899]], - [[12070, 12070], 'mapped', [23376]], - [[12071, 12071], 'mapped', [23424]], - [[12072, 12072], 'mapped', [23544]], - [[12073, 12073], 'mapped', [23567]], - [[12074, 12074], 'mapped', [23586]], - [[12075, 12075], 'mapped', [23608]], - [[12076, 12076], 'mapped', [23662]], - [[12077, 12077], 'mapped', [23665]], - [[12078, 12078], 'mapped', [24027]], - [[12079, 12079], 'mapped', [24037]], - [[12080, 12080], 'mapped', [24049]], - [[12081, 12081], 'mapped', [24062]], - [[12082, 12082], 'mapped', [24178]], - [[12083, 12083], 'mapped', [24186]], - [[12084, 12084], 'mapped', [24191]], - [[12085, 12085], 'mapped', [24308]], - [[12086, 12086], 'mapped', [24318]], - [[12087, 12087], 'mapped', [24331]], - [[12088, 12088], 'mapped', [24339]], - [[12089, 12089], 'mapped', [24400]], - [[12090, 12090], 'mapped', [24417]], - [[12091, 12091], 'mapped', [24435]], - [[12092, 12092], 'mapped', [24515]], - [[12093, 12093], 'mapped', [25096]], - [[12094, 12094], 'mapped', [25142]], - [[12095, 12095], 'mapped', [25163]], - [[12096, 12096], 'mapped', [25903]], - [[12097, 12097], 'mapped', [25908]], - [[12098, 12098], 'mapped', [25991]], - [[12099, 12099], 'mapped', [26007]], - [[12100, 12100], 'mapped', [26020]], - [[12101, 12101], 'mapped', [26041]], - [[12102, 12102], 'mapped', [26080]], - [[12103, 12103], 'mapped', [26085]], - [[12104, 12104], 'mapped', [26352]], - [[12105, 12105], 'mapped', [26376]], - [[12106, 12106], 'mapped', [26408]], - [[12107, 12107], 'mapped', [27424]], - [[12108, 12108], 'mapped', [27490]], - [[12109, 12109], 'mapped', [27513]], - [[12110, 12110], 'mapped', [27571]], - [[12111, 12111], 'mapped', [27595]], - [[12112, 12112], 'mapped', [27604]], - [[12113, 12113], 'mapped', [27611]], - [[12114, 12114], 'mapped', [27663]], - [[12115, 12115], 'mapped', [27668]], - [[12116, 12116], 'mapped', [27700]], - [[12117, 12117], 'mapped', [28779]], - [[12118, 12118], 'mapped', [29226]], - [[12119, 12119], 'mapped', [29238]], - [[12120, 12120], 'mapped', [29243]], - [[12121, 12121], 'mapped', [29247]], - [[12122, 12122], 'mapped', [29255]], - [[12123, 12123], 'mapped', [29273]], - [[12124, 12124], 'mapped', [29275]], - [[12125, 12125], 'mapped', [29356]], - [[12126, 12126], 'mapped', [29572]], - [[12127, 12127], 'mapped', [29577]], - [[12128, 12128], 'mapped', [29916]], - [[12129, 12129], 'mapped', [29926]], - [[12130, 12130], 'mapped', [29976]], - [[12131, 12131], 'mapped', [29983]], - [[12132, 12132], 'mapped', [29992]], - [[12133, 12133], 'mapped', [3e4]], - [[12134, 12134], 'mapped', [30091]], - [[12135, 12135], 'mapped', [30098]], - [[12136, 12136], 'mapped', [30326]], - [[12137, 12137], 'mapped', [30333]], - [[12138, 12138], 'mapped', [30382]], - [[12139, 12139], 'mapped', [30399]], - [[12140, 12140], 'mapped', [30446]], - [[12141, 12141], 'mapped', [30683]], - [[12142, 12142], 'mapped', [30690]], - [[12143, 12143], 'mapped', [30707]], - [[12144, 12144], 'mapped', [31034]], - [[12145, 12145], 'mapped', [31160]], - [[12146, 12146], 'mapped', [31166]], - [[12147, 12147], 'mapped', [31348]], - [[12148, 12148], 'mapped', [31435]], - [[12149, 12149], 'mapped', [31481]], - [[12150, 12150], 'mapped', [31859]], - [[12151, 12151], 'mapped', [31992]], - [[12152, 12152], 'mapped', [32566]], - [[12153, 12153], 'mapped', [32593]], - [[12154, 12154], 'mapped', [32650]], - [[12155, 12155], 'mapped', [32701]], - [[12156, 12156], 'mapped', [32769]], - [[12157, 12157], 'mapped', [32780]], - [[12158, 12158], 'mapped', [32786]], - [[12159, 12159], 'mapped', [32819]], - [[12160, 12160], 'mapped', [32895]], - [[12161, 12161], 'mapped', [32905]], - [[12162, 12162], 'mapped', [33251]], - [[12163, 12163], 'mapped', [33258]], - [[12164, 12164], 'mapped', [33267]], - [[12165, 12165], 'mapped', [33276]], - [[12166, 12166], 'mapped', [33292]], - [[12167, 12167], 'mapped', [33307]], - [[12168, 12168], 'mapped', [33311]], - [[12169, 12169], 'mapped', [33390]], - [[12170, 12170], 'mapped', [33394]], - [[12171, 12171], 'mapped', [33400]], - [[12172, 12172], 'mapped', [34381]], - [[12173, 12173], 'mapped', [34411]], - [[12174, 12174], 'mapped', [34880]], - [[12175, 12175], 'mapped', [34892]], - [[12176, 12176], 'mapped', [34915]], - [[12177, 12177], 'mapped', [35198]], - [[12178, 12178], 'mapped', [35211]], - [[12179, 12179], 'mapped', [35282]], - [[12180, 12180], 'mapped', [35328]], - [[12181, 12181], 'mapped', [35895]], - [[12182, 12182], 'mapped', [35910]], - [[12183, 12183], 'mapped', [35925]], - [[12184, 12184], 'mapped', [35960]], - [[12185, 12185], 'mapped', [35997]], - [[12186, 12186], 'mapped', [36196]], - [[12187, 12187], 'mapped', [36208]], - [[12188, 12188], 'mapped', [36275]], - [[12189, 12189], 'mapped', [36523]], - [[12190, 12190], 'mapped', [36554]], - [[12191, 12191], 'mapped', [36763]], - [[12192, 12192], 'mapped', [36784]], - [[12193, 12193], 'mapped', [36789]], - [[12194, 12194], 'mapped', [37009]], - [[12195, 12195], 'mapped', [37193]], - [[12196, 12196], 'mapped', [37318]], - [[12197, 12197], 'mapped', [37324]], - [[12198, 12198], 'mapped', [37329]], - [[12199, 12199], 'mapped', [38263]], - [[12200, 12200], 'mapped', [38272]], - [[12201, 12201], 'mapped', [38428]], - [[12202, 12202], 'mapped', [38582]], - [[12203, 12203], 'mapped', [38585]], - [[12204, 12204], 'mapped', [38632]], - [[12205, 12205], 'mapped', [38737]], - [[12206, 12206], 'mapped', [38750]], - [[12207, 12207], 'mapped', [38754]], - [[12208, 12208], 'mapped', [38761]], - [[12209, 12209], 'mapped', [38859]], - [[12210, 12210], 'mapped', [38893]], - [[12211, 12211], 'mapped', [38899]], - [[12212, 12212], 'mapped', [38913]], - [[12213, 12213], 'mapped', [39080]], - [[12214, 12214], 'mapped', [39131]], - [[12215, 12215], 'mapped', [39135]], - [[12216, 12216], 'mapped', [39318]], - [[12217, 12217], 'mapped', [39321]], - [[12218, 12218], 'mapped', [39340]], - [[12219, 12219], 'mapped', [39592]], - [[12220, 12220], 'mapped', [39640]], - [[12221, 12221], 'mapped', [39647]], - [[12222, 12222], 'mapped', [39717]], - [[12223, 12223], 'mapped', [39727]], - [[12224, 12224], 'mapped', [39730]], - [[12225, 12225], 'mapped', [39740]], - [[12226, 12226], 'mapped', [39770]], - [[12227, 12227], 'mapped', [40165]], - [[12228, 12228], 'mapped', [40565]], - [[12229, 12229], 'mapped', [40575]], - [[12230, 12230], 'mapped', [40613]], - [[12231, 12231], 'mapped', [40635]], - [[12232, 12232], 'mapped', [40643]], - [[12233, 12233], 'mapped', [40653]], - [[12234, 12234], 'mapped', [40657]], - [[12235, 12235], 'mapped', [40697]], - [[12236, 12236], 'mapped', [40701]], - [[12237, 12237], 'mapped', [40718]], - [[12238, 12238], 'mapped', [40723]], - [[12239, 12239], 'mapped', [40736]], - [[12240, 12240], 'mapped', [40763]], - [[12241, 12241], 'mapped', [40778]], - [[12242, 12242], 'mapped', [40786]], - [[12243, 12243], 'mapped', [40845]], - [[12244, 12244], 'mapped', [40860]], - [[12245, 12245], 'mapped', [40864]], - [[12246, 12271], 'disallowed'], - [[12272, 12283], 'disallowed'], - [[12284, 12287], 'disallowed'], - [[12288, 12288], 'disallowed_STD3_mapped', [32]], - [[12289, 12289], 'valid', [], 'NV8'], - [[12290, 12290], 'mapped', [46]], - [[12291, 12292], 'valid', [], 'NV8'], - [[12293, 12295], 'valid'], - [[12296, 12329], 'valid', [], 'NV8'], - [[12330, 12333], 'valid'], - [[12334, 12341], 'valid', [], 'NV8'], - [[12342, 12342], 'mapped', [12306]], - [[12343, 12343], 'valid', [], 'NV8'], - [[12344, 12344], 'mapped', [21313]], - [[12345, 12345], 'mapped', [21316]], - [[12346, 12346], 'mapped', [21317]], - [[12347, 12347], 'valid', [], 'NV8'], - [[12348, 12348], 'valid'], - [[12349, 12349], 'valid', [], 'NV8'], - [[12350, 12350], 'valid', [], 'NV8'], - [[12351, 12351], 'valid', [], 'NV8'], - [[12352, 12352], 'disallowed'], - [[12353, 12436], 'valid'], - [[12437, 12438], 'valid'], - [[12439, 12440], 'disallowed'], - [[12441, 12442], 'valid'], - [[12443, 12443], 'disallowed_STD3_mapped', [32, 12441]], - [[12444, 12444], 'disallowed_STD3_mapped', [32, 12442]], - [[12445, 12446], 'valid'], - [[12447, 12447], 'mapped', [12424, 12426]], - [[12448, 12448], 'valid', [], 'NV8'], - [[12449, 12542], 'valid'], - [[12543, 12543], 'mapped', [12467, 12488]], - [[12544, 12548], 'disallowed'], - [[12549, 12588], 'valid'], - [[12589, 12589], 'valid'], - [[12590, 12592], 'disallowed'], - [[12593, 12593], 'mapped', [4352]], - [[12594, 12594], 'mapped', [4353]], - [[12595, 12595], 'mapped', [4522]], - [[12596, 12596], 'mapped', [4354]], - [[12597, 12597], 'mapped', [4524]], - [[12598, 12598], 'mapped', [4525]], - [[12599, 12599], 'mapped', [4355]], - [[12600, 12600], 'mapped', [4356]], - [[12601, 12601], 'mapped', [4357]], - [[12602, 12602], 'mapped', [4528]], - [[12603, 12603], 'mapped', [4529]], - [[12604, 12604], 'mapped', [4530]], - [[12605, 12605], 'mapped', [4531]], - [[12606, 12606], 'mapped', [4532]], - [[12607, 12607], 'mapped', [4533]], - [[12608, 12608], 'mapped', [4378]], - [[12609, 12609], 'mapped', [4358]], - [[12610, 12610], 'mapped', [4359]], - [[12611, 12611], 'mapped', [4360]], - [[12612, 12612], 'mapped', [4385]], - [[12613, 12613], 'mapped', [4361]], - [[12614, 12614], 'mapped', [4362]], - [[12615, 12615], 'mapped', [4363]], - [[12616, 12616], 'mapped', [4364]], - [[12617, 12617], 'mapped', [4365]], - [[12618, 12618], 'mapped', [4366]], - [[12619, 12619], 'mapped', [4367]], - [[12620, 12620], 'mapped', [4368]], - [[12621, 12621], 'mapped', [4369]], - [[12622, 12622], 'mapped', [4370]], - [[12623, 12623], 'mapped', [4449]], - [[12624, 12624], 'mapped', [4450]], - [[12625, 12625], 'mapped', [4451]], - [[12626, 12626], 'mapped', [4452]], - [[12627, 12627], 'mapped', [4453]], - [[12628, 12628], 'mapped', [4454]], - [[12629, 12629], 'mapped', [4455]], - [[12630, 12630], 'mapped', [4456]], - [[12631, 12631], 'mapped', [4457]], - [[12632, 12632], 'mapped', [4458]], - [[12633, 12633], 'mapped', [4459]], - [[12634, 12634], 'mapped', [4460]], - [[12635, 12635], 'mapped', [4461]], - [[12636, 12636], 'mapped', [4462]], - [[12637, 12637], 'mapped', [4463]], - [[12638, 12638], 'mapped', [4464]], - [[12639, 12639], 'mapped', [4465]], - [[12640, 12640], 'mapped', [4466]], - [[12641, 12641], 'mapped', [4467]], - [[12642, 12642], 'mapped', [4468]], - [[12643, 12643], 'mapped', [4469]], - [[12644, 12644], 'disallowed'], - [[12645, 12645], 'mapped', [4372]], - [[12646, 12646], 'mapped', [4373]], - [[12647, 12647], 'mapped', [4551]], - [[12648, 12648], 'mapped', [4552]], - [[12649, 12649], 'mapped', [4556]], - [[12650, 12650], 'mapped', [4558]], - [[12651, 12651], 'mapped', [4563]], - [[12652, 12652], 'mapped', [4567]], - [[12653, 12653], 'mapped', [4569]], - [[12654, 12654], 'mapped', [4380]], - [[12655, 12655], 'mapped', [4573]], - [[12656, 12656], 'mapped', [4575]], - [[12657, 12657], 'mapped', [4381]], - [[12658, 12658], 'mapped', [4382]], - [[12659, 12659], 'mapped', [4384]], - [[12660, 12660], 'mapped', [4386]], - [[12661, 12661], 'mapped', [4387]], - [[12662, 12662], 'mapped', [4391]], - [[12663, 12663], 'mapped', [4393]], - [[12664, 12664], 'mapped', [4395]], - [[12665, 12665], 'mapped', [4396]], - [[12666, 12666], 'mapped', [4397]], - [[12667, 12667], 'mapped', [4398]], - [[12668, 12668], 'mapped', [4399]], - [[12669, 12669], 'mapped', [4402]], - [[12670, 12670], 'mapped', [4406]], - [[12671, 12671], 'mapped', [4416]], - [[12672, 12672], 'mapped', [4423]], - [[12673, 12673], 'mapped', [4428]], - [[12674, 12674], 'mapped', [4593]], - [[12675, 12675], 'mapped', [4594]], - [[12676, 12676], 'mapped', [4439]], - [[12677, 12677], 'mapped', [4440]], - [[12678, 12678], 'mapped', [4441]], - [[12679, 12679], 'mapped', [4484]], - [[12680, 12680], 'mapped', [4485]], - [[12681, 12681], 'mapped', [4488]], - [[12682, 12682], 'mapped', [4497]], - [[12683, 12683], 'mapped', [4498]], - [[12684, 12684], 'mapped', [4500]], - [[12685, 12685], 'mapped', [4510]], - [[12686, 12686], 'mapped', [4513]], - [[12687, 12687], 'disallowed'], - [[12688, 12689], 'valid', [], 'NV8'], - [[12690, 12690], 'mapped', [19968]], - [[12691, 12691], 'mapped', [20108]], - [[12692, 12692], 'mapped', [19977]], - [[12693, 12693], 'mapped', [22235]], - [[12694, 12694], 'mapped', [19978]], - [[12695, 12695], 'mapped', [20013]], - [[12696, 12696], 'mapped', [19979]], - [[12697, 12697], 'mapped', [30002]], - [[12698, 12698], 'mapped', [20057]], - [[12699, 12699], 'mapped', [19993]], - [[12700, 12700], 'mapped', [19969]], - [[12701, 12701], 'mapped', [22825]], - [[12702, 12702], 'mapped', [22320]], - [[12703, 12703], 'mapped', [20154]], - [[12704, 12727], 'valid'], - [[12728, 12730], 'valid'], - [[12731, 12735], 'disallowed'], - [[12736, 12751], 'valid', [], 'NV8'], - [[12752, 12771], 'valid', [], 'NV8'], - [[12772, 12783], 'disallowed'], - [[12784, 12799], 'valid'], - [[12800, 12800], 'disallowed_STD3_mapped', [40, 4352, 41]], - [[12801, 12801], 'disallowed_STD3_mapped', [40, 4354, 41]], - [[12802, 12802], 'disallowed_STD3_mapped', [40, 4355, 41]], - [[12803, 12803], 'disallowed_STD3_mapped', [40, 4357, 41]], - [[12804, 12804], 'disallowed_STD3_mapped', [40, 4358, 41]], - [[12805, 12805], 'disallowed_STD3_mapped', [40, 4359, 41]], - [[12806, 12806], 'disallowed_STD3_mapped', [40, 4361, 41]], - [[12807, 12807], 'disallowed_STD3_mapped', [40, 4363, 41]], - [[12808, 12808], 'disallowed_STD3_mapped', [40, 4364, 41]], - [[12809, 12809], 'disallowed_STD3_mapped', [40, 4366, 41]], - [[12810, 12810], 'disallowed_STD3_mapped', [40, 4367, 41]], - [[12811, 12811], 'disallowed_STD3_mapped', [40, 4368, 41]], - [[12812, 12812], 'disallowed_STD3_mapped', [40, 4369, 41]], - [[12813, 12813], 'disallowed_STD3_mapped', [40, 4370, 41]], - [[12814, 12814], 'disallowed_STD3_mapped', [40, 44032, 41]], - [[12815, 12815], 'disallowed_STD3_mapped', [40, 45208, 41]], - [[12816, 12816], 'disallowed_STD3_mapped', [40, 45796, 41]], - [[12817, 12817], 'disallowed_STD3_mapped', [40, 46972, 41]], - [[12818, 12818], 'disallowed_STD3_mapped', [40, 47560, 41]], - [[12819, 12819], 'disallowed_STD3_mapped', [40, 48148, 41]], - [[12820, 12820], 'disallowed_STD3_mapped', [40, 49324, 41]], - [[12821, 12821], 'disallowed_STD3_mapped', [40, 50500, 41]], - [[12822, 12822], 'disallowed_STD3_mapped', [40, 51088, 41]], - [[12823, 12823], 'disallowed_STD3_mapped', [40, 52264, 41]], - [[12824, 12824], 'disallowed_STD3_mapped', [40, 52852, 41]], - [[12825, 12825], 'disallowed_STD3_mapped', [40, 53440, 41]], - [[12826, 12826], 'disallowed_STD3_mapped', [40, 54028, 41]], - [[12827, 12827], 'disallowed_STD3_mapped', [40, 54616, 41]], - [[12828, 12828], 'disallowed_STD3_mapped', [40, 51452, 41]], - [[12829, 12829], 'disallowed_STD3_mapped', [40, 50724, 51204, 41]], - [[12830, 12830], 'disallowed_STD3_mapped', [40, 50724, 54980, 41]], - [[12831, 12831], 'disallowed'], - [[12832, 12832], 'disallowed_STD3_mapped', [40, 19968, 41]], - [[12833, 12833], 'disallowed_STD3_mapped', [40, 20108, 41]], - [[12834, 12834], 'disallowed_STD3_mapped', [40, 19977, 41]], - [[12835, 12835], 'disallowed_STD3_mapped', [40, 22235, 41]], - [[12836, 12836], 'disallowed_STD3_mapped', [40, 20116, 41]], - [[12837, 12837], 'disallowed_STD3_mapped', [40, 20845, 41]], - [[12838, 12838], 'disallowed_STD3_mapped', [40, 19971, 41]], - [[12839, 12839], 'disallowed_STD3_mapped', [40, 20843, 41]], - [[12840, 12840], 'disallowed_STD3_mapped', [40, 20061, 41]], - [[12841, 12841], 'disallowed_STD3_mapped', [40, 21313, 41]], - [[12842, 12842], 'disallowed_STD3_mapped', [40, 26376, 41]], - [[12843, 12843], 'disallowed_STD3_mapped', [40, 28779, 41]], - [[12844, 12844], 'disallowed_STD3_mapped', [40, 27700, 41]], - [[12845, 12845], 'disallowed_STD3_mapped', [40, 26408, 41]], - [[12846, 12846], 'disallowed_STD3_mapped', [40, 37329, 41]], - [[12847, 12847], 'disallowed_STD3_mapped', [40, 22303, 41]], - [[12848, 12848], 'disallowed_STD3_mapped', [40, 26085, 41]], - [[12849, 12849], 'disallowed_STD3_mapped', [40, 26666, 41]], - [[12850, 12850], 'disallowed_STD3_mapped', [40, 26377, 41]], - [[12851, 12851], 'disallowed_STD3_mapped', [40, 31038, 41]], - [[12852, 12852], 'disallowed_STD3_mapped', [40, 21517, 41]], - [[12853, 12853], 'disallowed_STD3_mapped', [40, 29305, 41]], - [[12854, 12854], 'disallowed_STD3_mapped', [40, 36001, 41]], - [[12855, 12855], 'disallowed_STD3_mapped', [40, 31069, 41]], - [[12856, 12856], 'disallowed_STD3_mapped', [40, 21172, 41]], - [[12857, 12857], 'disallowed_STD3_mapped', [40, 20195, 41]], - [[12858, 12858], 'disallowed_STD3_mapped', [40, 21628, 41]], - [[12859, 12859], 'disallowed_STD3_mapped', [40, 23398, 41]], - [[12860, 12860], 'disallowed_STD3_mapped', [40, 30435, 41]], - [[12861, 12861], 'disallowed_STD3_mapped', [40, 20225, 41]], - [[12862, 12862], 'disallowed_STD3_mapped', [40, 36039, 41]], - [[12863, 12863], 'disallowed_STD3_mapped', [40, 21332, 41]], - [[12864, 12864], 'disallowed_STD3_mapped', [40, 31085, 41]], - [[12865, 12865], 'disallowed_STD3_mapped', [40, 20241, 41]], - [[12866, 12866], 'disallowed_STD3_mapped', [40, 33258, 41]], - [[12867, 12867], 'disallowed_STD3_mapped', [40, 33267, 41]], - [[12868, 12868], 'mapped', [21839]], - [[12869, 12869], 'mapped', [24188]], - [[12870, 12870], 'mapped', [25991]], - [[12871, 12871], 'mapped', [31631]], - [[12872, 12879], 'valid', [], 'NV8'], - [[12880, 12880], 'mapped', [112, 116, 101]], - [[12881, 12881], 'mapped', [50, 49]], - [[12882, 12882], 'mapped', [50, 50]], - [[12883, 12883], 'mapped', [50, 51]], - [[12884, 12884], 'mapped', [50, 52]], - [[12885, 12885], 'mapped', [50, 53]], - [[12886, 12886], 'mapped', [50, 54]], - [[12887, 12887], 'mapped', [50, 55]], - [[12888, 12888], 'mapped', [50, 56]], - [[12889, 12889], 'mapped', [50, 57]], - [[12890, 12890], 'mapped', [51, 48]], - [[12891, 12891], 'mapped', [51, 49]], - [[12892, 12892], 'mapped', [51, 50]], - [[12893, 12893], 'mapped', [51, 51]], - [[12894, 12894], 'mapped', [51, 52]], - [[12895, 12895], 'mapped', [51, 53]], - [[12896, 12896], 'mapped', [4352]], - [[12897, 12897], 'mapped', [4354]], - [[12898, 12898], 'mapped', [4355]], - [[12899, 12899], 'mapped', [4357]], - [[12900, 12900], 'mapped', [4358]], - [[12901, 12901], 'mapped', [4359]], - [[12902, 12902], 'mapped', [4361]], - [[12903, 12903], 'mapped', [4363]], - [[12904, 12904], 'mapped', [4364]], - [[12905, 12905], 'mapped', [4366]], - [[12906, 12906], 'mapped', [4367]], - [[12907, 12907], 'mapped', [4368]], - [[12908, 12908], 'mapped', [4369]], - [[12909, 12909], 'mapped', [4370]], - [[12910, 12910], 'mapped', [44032]], - [[12911, 12911], 'mapped', [45208]], - [[12912, 12912], 'mapped', [45796]], - [[12913, 12913], 'mapped', [46972]], - [[12914, 12914], 'mapped', [47560]], - [[12915, 12915], 'mapped', [48148]], - [[12916, 12916], 'mapped', [49324]], - [[12917, 12917], 'mapped', [50500]], - [[12918, 12918], 'mapped', [51088]], - [[12919, 12919], 'mapped', [52264]], - [[12920, 12920], 'mapped', [52852]], - [[12921, 12921], 'mapped', [53440]], - [[12922, 12922], 'mapped', [54028]], - [[12923, 12923], 'mapped', [54616]], - [[12924, 12924], 'mapped', [52280, 44256]], - [[12925, 12925], 'mapped', [51452, 51032]], - [[12926, 12926], 'mapped', [50864]], - [[12927, 12927], 'valid', [], 'NV8'], - [[12928, 12928], 'mapped', [19968]], - [[12929, 12929], 'mapped', [20108]], - [[12930, 12930], 'mapped', [19977]], - [[12931, 12931], 'mapped', [22235]], - [[12932, 12932], 'mapped', [20116]], - [[12933, 12933], 'mapped', [20845]], - [[12934, 12934], 'mapped', [19971]], - [[12935, 12935], 'mapped', [20843]], - [[12936, 12936], 'mapped', [20061]], - [[12937, 12937], 'mapped', [21313]], - [[12938, 12938], 'mapped', [26376]], - [[12939, 12939], 'mapped', [28779]], - [[12940, 12940], 'mapped', [27700]], - [[12941, 12941], 'mapped', [26408]], - [[12942, 12942], 'mapped', [37329]], - [[12943, 12943], 'mapped', [22303]], - [[12944, 12944], 'mapped', [26085]], - [[12945, 12945], 'mapped', [26666]], - [[12946, 12946], 'mapped', [26377]], - [[12947, 12947], 'mapped', [31038]], - [[12948, 12948], 'mapped', [21517]], - [[12949, 12949], 'mapped', [29305]], - [[12950, 12950], 'mapped', [36001]], - [[12951, 12951], 'mapped', [31069]], - [[12952, 12952], 'mapped', [21172]], - [[12953, 12953], 'mapped', [31192]], - [[12954, 12954], 'mapped', [30007]], - [[12955, 12955], 'mapped', [22899]], - [[12956, 12956], 'mapped', [36969]], - [[12957, 12957], 'mapped', [20778]], - [[12958, 12958], 'mapped', [21360]], - [[12959, 12959], 'mapped', [27880]], - [[12960, 12960], 'mapped', [38917]], - [[12961, 12961], 'mapped', [20241]], - [[12962, 12962], 'mapped', [20889]], - [[12963, 12963], 'mapped', [27491]], - [[12964, 12964], 'mapped', [19978]], - [[12965, 12965], 'mapped', [20013]], - [[12966, 12966], 'mapped', [19979]], - [[12967, 12967], 'mapped', [24038]], - [[12968, 12968], 'mapped', [21491]], - [[12969, 12969], 'mapped', [21307]], - [[12970, 12970], 'mapped', [23447]], - [[12971, 12971], 'mapped', [23398]], - [[12972, 12972], 'mapped', [30435]], - [[12973, 12973], 'mapped', [20225]], - [[12974, 12974], 'mapped', [36039]], - [[12975, 12975], 'mapped', [21332]], - [[12976, 12976], 'mapped', [22812]], - [[12977, 12977], 'mapped', [51, 54]], - [[12978, 12978], 'mapped', [51, 55]], - [[12979, 12979], 'mapped', [51, 56]], - [[12980, 12980], 'mapped', [51, 57]], - [[12981, 12981], 'mapped', [52, 48]], - [[12982, 12982], 'mapped', [52, 49]], - [[12983, 12983], 'mapped', [52, 50]], - [[12984, 12984], 'mapped', [52, 51]], - [[12985, 12985], 'mapped', [52, 52]], - [[12986, 12986], 'mapped', [52, 53]], - [[12987, 12987], 'mapped', [52, 54]], - [[12988, 12988], 'mapped', [52, 55]], - [[12989, 12989], 'mapped', [52, 56]], - [[12990, 12990], 'mapped', [52, 57]], - [[12991, 12991], 'mapped', [53, 48]], - [[12992, 12992], 'mapped', [49, 26376]], - [[12993, 12993], 'mapped', [50, 26376]], - [[12994, 12994], 'mapped', [51, 26376]], - [[12995, 12995], 'mapped', [52, 26376]], - [[12996, 12996], 'mapped', [53, 26376]], - [[12997, 12997], 'mapped', [54, 26376]], - [[12998, 12998], 'mapped', [55, 26376]], - [[12999, 12999], 'mapped', [56, 26376]], - [[13e3, 13e3], 'mapped', [57, 26376]], - [[13001, 13001], 'mapped', [49, 48, 26376]], - [[13002, 13002], 'mapped', [49, 49, 26376]], - [[13003, 13003], 'mapped', [49, 50, 26376]], - [[13004, 13004], 'mapped', [104, 103]], - [[13005, 13005], 'mapped', [101, 114, 103]], - [[13006, 13006], 'mapped', [101, 118]], - [[13007, 13007], 'mapped', [108, 116, 100]], - [[13008, 13008], 'mapped', [12450]], - [[13009, 13009], 'mapped', [12452]], - [[13010, 13010], 'mapped', [12454]], - [[13011, 13011], 'mapped', [12456]], - [[13012, 13012], 'mapped', [12458]], - [[13013, 13013], 'mapped', [12459]], - [[13014, 13014], 'mapped', [12461]], - [[13015, 13015], 'mapped', [12463]], - [[13016, 13016], 'mapped', [12465]], - [[13017, 13017], 'mapped', [12467]], - [[13018, 13018], 'mapped', [12469]], - [[13019, 13019], 'mapped', [12471]], - [[13020, 13020], 'mapped', [12473]], - [[13021, 13021], 'mapped', [12475]], - [[13022, 13022], 'mapped', [12477]], - [[13023, 13023], 'mapped', [12479]], - [[13024, 13024], 'mapped', [12481]], - [[13025, 13025], 'mapped', [12484]], - [[13026, 13026], 'mapped', [12486]], - [[13027, 13027], 'mapped', [12488]], - [[13028, 13028], 'mapped', [12490]], - [[13029, 13029], 'mapped', [12491]], - [[13030, 13030], 'mapped', [12492]], - [[13031, 13031], 'mapped', [12493]], - [[13032, 13032], 'mapped', [12494]], - [[13033, 13033], 'mapped', [12495]], - [[13034, 13034], 'mapped', [12498]], - [[13035, 13035], 'mapped', [12501]], - [[13036, 13036], 'mapped', [12504]], - [[13037, 13037], 'mapped', [12507]], - [[13038, 13038], 'mapped', [12510]], - [[13039, 13039], 'mapped', [12511]], - [[13040, 13040], 'mapped', [12512]], - [[13041, 13041], 'mapped', [12513]], - [[13042, 13042], 'mapped', [12514]], - [[13043, 13043], 'mapped', [12516]], - [[13044, 13044], 'mapped', [12518]], - [[13045, 13045], 'mapped', [12520]], - [[13046, 13046], 'mapped', [12521]], - [[13047, 13047], 'mapped', [12522]], - [[13048, 13048], 'mapped', [12523]], - [[13049, 13049], 'mapped', [12524]], - [[13050, 13050], 'mapped', [12525]], - [[13051, 13051], 'mapped', [12527]], - [[13052, 13052], 'mapped', [12528]], - [[13053, 13053], 'mapped', [12529]], - [[13054, 13054], 'mapped', [12530]], - [[13055, 13055], 'disallowed'], - [[13056, 13056], 'mapped', [12450, 12497, 12540, 12488]], - [[13057, 13057], 'mapped', [12450, 12523, 12501, 12449]], - [[13058, 13058], 'mapped', [12450, 12531, 12506, 12450]], - [[13059, 13059], 'mapped', [12450, 12540, 12523]], - [[13060, 13060], 'mapped', [12452, 12491, 12531, 12464]], - [[13061, 13061], 'mapped', [12452, 12531, 12481]], - [[13062, 13062], 'mapped', [12454, 12457, 12531]], - [[13063, 13063], 'mapped', [12456, 12473, 12463, 12540, 12489]], - [[13064, 13064], 'mapped', [12456, 12540, 12459, 12540]], - [[13065, 13065], 'mapped', [12458, 12531, 12473]], - [[13066, 13066], 'mapped', [12458, 12540, 12512]], - [[13067, 13067], 'mapped', [12459, 12452, 12522]], - [[13068, 13068], 'mapped', [12459, 12521, 12483, 12488]], - [[13069, 13069], 'mapped', [12459, 12525, 12522, 12540]], - [[13070, 13070], 'mapped', [12460, 12525, 12531]], - [[13071, 13071], 'mapped', [12460, 12531, 12510]], - [[13072, 13072], 'mapped', [12462, 12460]], - [[13073, 13073], 'mapped', [12462, 12491, 12540]], - [[13074, 13074], 'mapped', [12461, 12517, 12522, 12540]], - [[13075, 13075], 'mapped', [12462, 12523, 12480, 12540]], - [[13076, 13076], 'mapped', [12461, 12525]], - [[13077, 13077], 'mapped', [12461, 12525, 12464, 12521, 12512]], - [[13078, 13078], 'mapped', [12461, 12525, 12513, 12540, 12488, 12523]], - [[13079, 13079], 'mapped', [12461, 12525, 12527, 12483, 12488]], - [[13080, 13080], 'mapped', [12464, 12521, 12512]], - [[13081, 13081], 'mapped', [12464, 12521, 12512, 12488, 12531]], - [[13082, 13082], 'mapped', [12463, 12523, 12476, 12452, 12525]], - [[13083, 13083], 'mapped', [12463, 12525, 12540, 12493]], - [[13084, 13084], 'mapped', [12465, 12540, 12473]], - [[13085, 13085], 'mapped', [12467, 12523, 12490]], - [[13086, 13086], 'mapped', [12467, 12540, 12509]], - [[13087, 13087], 'mapped', [12469, 12452, 12463, 12523]], - [[13088, 13088], 'mapped', [12469, 12531, 12481, 12540, 12512]], - [[13089, 13089], 'mapped', [12471, 12522, 12531, 12464]], - [[13090, 13090], 'mapped', [12475, 12531, 12481]], - [[13091, 13091], 'mapped', [12475, 12531, 12488]], - [[13092, 13092], 'mapped', [12480, 12540, 12473]], - [[13093, 13093], 'mapped', [12487, 12471]], - [[13094, 13094], 'mapped', [12489, 12523]], - [[13095, 13095], 'mapped', [12488, 12531]], - [[13096, 13096], 'mapped', [12490, 12494]], - [[13097, 13097], 'mapped', [12494, 12483, 12488]], - [[13098, 13098], 'mapped', [12495, 12452, 12484]], - [[13099, 13099], 'mapped', [12497, 12540, 12475, 12531, 12488]], - [[13100, 13100], 'mapped', [12497, 12540, 12484]], - [[13101, 13101], 'mapped', [12496, 12540, 12524, 12523]], - [[13102, 13102], 'mapped', [12500, 12450, 12473, 12488, 12523]], - [[13103, 13103], 'mapped', [12500, 12463, 12523]], - [[13104, 13104], 'mapped', [12500, 12467]], - [[13105, 13105], 'mapped', [12499, 12523]], - [[13106, 13106], 'mapped', [12501, 12449, 12521, 12483, 12489]], - [[13107, 13107], 'mapped', [12501, 12451, 12540, 12488]], - [[13108, 13108], 'mapped', [12502, 12483, 12471, 12455, 12523]], - [[13109, 13109], 'mapped', [12501, 12521, 12531]], - [[13110, 13110], 'mapped', [12504, 12463, 12479, 12540, 12523]], - [[13111, 13111], 'mapped', [12506, 12477]], - [[13112, 13112], 'mapped', [12506, 12491, 12498]], - [[13113, 13113], 'mapped', [12504, 12523, 12484]], - [[13114, 13114], 'mapped', [12506, 12531, 12473]], - [[13115, 13115], 'mapped', [12506, 12540, 12472]], - [[13116, 13116], 'mapped', [12505, 12540, 12479]], - [[13117, 13117], 'mapped', [12509, 12452, 12531, 12488]], - [[13118, 13118], 'mapped', [12508, 12523, 12488]], - [[13119, 13119], 'mapped', [12507, 12531]], - [[13120, 13120], 'mapped', [12509, 12531, 12489]], - [[13121, 13121], 'mapped', [12507, 12540, 12523]], - [[13122, 13122], 'mapped', [12507, 12540, 12531]], - [[13123, 13123], 'mapped', [12510, 12452, 12463, 12525]], - [[13124, 13124], 'mapped', [12510, 12452, 12523]], - [[13125, 13125], 'mapped', [12510, 12483, 12495]], - [[13126, 13126], 'mapped', [12510, 12523, 12463]], - [[13127, 13127], 'mapped', [12510, 12531, 12471, 12519, 12531]], - [[13128, 13128], 'mapped', [12511, 12463, 12525, 12531]], - [[13129, 13129], 'mapped', [12511, 12522]], - [[13130, 13130], 'mapped', [12511, 12522, 12496, 12540, 12523]], - [[13131, 13131], 'mapped', [12513, 12460]], - [[13132, 13132], 'mapped', [12513, 12460, 12488, 12531]], - [[13133, 13133], 'mapped', [12513, 12540, 12488, 12523]], - [[13134, 13134], 'mapped', [12516, 12540, 12489]], - [[13135, 13135], 'mapped', [12516, 12540, 12523]], - [[13136, 13136], 'mapped', [12518, 12450, 12531]], - [[13137, 13137], 'mapped', [12522, 12483, 12488, 12523]], - [[13138, 13138], 'mapped', [12522, 12521]], - [[13139, 13139], 'mapped', [12523, 12500, 12540]], - [[13140, 13140], 'mapped', [12523, 12540, 12502, 12523]], - [[13141, 13141], 'mapped', [12524, 12512]], - [[13142, 13142], 'mapped', [12524, 12531, 12488, 12466, 12531]], - [[13143, 13143], 'mapped', [12527, 12483, 12488]], - [[13144, 13144], 'mapped', [48, 28857]], - [[13145, 13145], 'mapped', [49, 28857]], - [[13146, 13146], 'mapped', [50, 28857]], - [[13147, 13147], 'mapped', [51, 28857]], - [[13148, 13148], 'mapped', [52, 28857]], - [[13149, 13149], 'mapped', [53, 28857]], - [[13150, 13150], 'mapped', [54, 28857]], - [[13151, 13151], 'mapped', [55, 28857]], - [[13152, 13152], 'mapped', [56, 28857]], - [[13153, 13153], 'mapped', [57, 28857]], - [[13154, 13154], 'mapped', [49, 48, 28857]], - [[13155, 13155], 'mapped', [49, 49, 28857]], - [[13156, 13156], 'mapped', [49, 50, 28857]], - [[13157, 13157], 'mapped', [49, 51, 28857]], - [[13158, 13158], 'mapped', [49, 52, 28857]], - [[13159, 13159], 'mapped', [49, 53, 28857]], - [[13160, 13160], 'mapped', [49, 54, 28857]], - [[13161, 13161], 'mapped', [49, 55, 28857]], - [[13162, 13162], 'mapped', [49, 56, 28857]], - [[13163, 13163], 'mapped', [49, 57, 28857]], - [[13164, 13164], 'mapped', [50, 48, 28857]], - [[13165, 13165], 'mapped', [50, 49, 28857]], - [[13166, 13166], 'mapped', [50, 50, 28857]], - [[13167, 13167], 'mapped', [50, 51, 28857]], - [[13168, 13168], 'mapped', [50, 52, 28857]], - [[13169, 13169], 'mapped', [104, 112, 97]], - [[13170, 13170], 'mapped', [100, 97]], - [[13171, 13171], 'mapped', [97, 117]], - [[13172, 13172], 'mapped', [98, 97, 114]], - [[13173, 13173], 'mapped', [111, 118]], - [[13174, 13174], 'mapped', [112, 99]], - [[13175, 13175], 'mapped', [100, 109]], - [[13176, 13176], 'mapped', [100, 109, 50]], - [[13177, 13177], 'mapped', [100, 109, 51]], - [[13178, 13178], 'mapped', [105, 117]], - [[13179, 13179], 'mapped', [24179, 25104]], - [[13180, 13180], 'mapped', [26157, 21644]], - [[13181, 13181], 'mapped', [22823, 27491]], - [[13182, 13182], 'mapped', [26126, 27835]], - [[13183, 13183], 'mapped', [26666, 24335, 20250, 31038]], - [[13184, 13184], 'mapped', [112, 97]], - [[13185, 13185], 'mapped', [110, 97]], - [[13186, 13186], 'mapped', [956, 97]], - [[13187, 13187], 'mapped', [109, 97]], - [[13188, 13188], 'mapped', [107, 97]], - [[13189, 13189], 'mapped', [107, 98]], - [[13190, 13190], 'mapped', [109, 98]], - [[13191, 13191], 'mapped', [103, 98]], - [[13192, 13192], 'mapped', [99, 97, 108]], - [[13193, 13193], 'mapped', [107, 99, 97, 108]], - [[13194, 13194], 'mapped', [112, 102]], - [[13195, 13195], 'mapped', [110, 102]], - [[13196, 13196], 'mapped', [956, 102]], - [[13197, 13197], 'mapped', [956, 103]], - [[13198, 13198], 'mapped', [109, 103]], - [[13199, 13199], 'mapped', [107, 103]], - [[13200, 13200], 'mapped', [104, 122]], - [[13201, 13201], 'mapped', [107, 104, 122]], - [[13202, 13202], 'mapped', [109, 104, 122]], - [[13203, 13203], 'mapped', [103, 104, 122]], - [[13204, 13204], 'mapped', [116, 104, 122]], - [[13205, 13205], 'mapped', [956, 108]], - [[13206, 13206], 'mapped', [109, 108]], - [[13207, 13207], 'mapped', [100, 108]], - [[13208, 13208], 'mapped', [107, 108]], - [[13209, 13209], 'mapped', [102, 109]], - [[13210, 13210], 'mapped', [110, 109]], - [[13211, 13211], 'mapped', [956, 109]], - [[13212, 13212], 'mapped', [109, 109]], - [[13213, 13213], 'mapped', [99, 109]], - [[13214, 13214], 'mapped', [107, 109]], - [[13215, 13215], 'mapped', [109, 109, 50]], - [[13216, 13216], 'mapped', [99, 109, 50]], - [[13217, 13217], 'mapped', [109, 50]], - [[13218, 13218], 'mapped', [107, 109, 50]], - [[13219, 13219], 'mapped', [109, 109, 51]], - [[13220, 13220], 'mapped', [99, 109, 51]], - [[13221, 13221], 'mapped', [109, 51]], - [[13222, 13222], 'mapped', [107, 109, 51]], - [[13223, 13223], 'mapped', [109, 8725, 115]], - [[13224, 13224], 'mapped', [109, 8725, 115, 50]], - [[13225, 13225], 'mapped', [112, 97]], - [[13226, 13226], 'mapped', [107, 112, 97]], - [[13227, 13227], 'mapped', [109, 112, 97]], - [[13228, 13228], 'mapped', [103, 112, 97]], - [[13229, 13229], 'mapped', [114, 97, 100]], - [[13230, 13230], 'mapped', [114, 97, 100, 8725, 115]], - [[13231, 13231], 'mapped', [114, 97, 100, 8725, 115, 50]], - [[13232, 13232], 'mapped', [112, 115]], - [[13233, 13233], 'mapped', [110, 115]], - [[13234, 13234], 'mapped', [956, 115]], - [[13235, 13235], 'mapped', [109, 115]], - [[13236, 13236], 'mapped', [112, 118]], - [[13237, 13237], 'mapped', [110, 118]], - [[13238, 13238], 'mapped', [956, 118]], - [[13239, 13239], 'mapped', [109, 118]], - [[13240, 13240], 'mapped', [107, 118]], - [[13241, 13241], 'mapped', [109, 118]], - [[13242, 13242], 'mapped', [112, 119]], - [[13243, 13243], 'mapped', [110, 119]], - [[13244, 13244], 'mapped', [956, 119]], - [[13245, 13245], 'mapped', [109, 119]], - [[13246, 13246], 'mapped', [107, 119]], - [[13247, 13247], 'mapped', [109, 119]], - [[13248, 13248], 'mapped', [107, 969]], - [[13249, 13249], 'mapped', [109, 969]], - [[13250, 13250], 'disallowed'], - [[13251, 13251], 'mapped', [98, 113]], - [[13252, 13252], 'mapped', [99, 99]], - [[13253, 13253], 'mapped', [99, 100]], - [[13254, 13254], 'mapped', [99, 8725, 107, 103]], - [[13255, 13255], 'disallowed'], - [[13256, 13256], 'mapped', [100, 98]], - [[13257, 13257], 'mapped', [103, 121]], - [[13258, 13258], 'mapped', [104, 97]], - [[13259, 13259], 'mapped', [104, 112]], - [[13260, 13260], 'mapped', [105, 110]], - [[13261, 13261], 'mapped', [107, 107]], - [[13262, 13262], 'mapped', [107, 109]], - [[13263, 13263], 'mapped', [107, 116]], - [[13264, 13264], 'mapped', [108, 109]], - [[13265, 13265], 'mapped', [108, 110]], - [[13266, 13266], 'mapped', [108, 111, 103]], - [[13267, 13267], 'mapped', [108, 120]], - [[13268, 13268], 'mapped', [109, 98]], - [[13269, 13269], 'mapped', [109, 105, 108]], - [[13270, 13270], 'mapped', [109, 111, 108]], - [[13271, 13271], 'mapped', [112, 104]], - [[13272, 13272], 'disallowed'], - [[13273, 13273], 'mapped', [112, 112, 109]], - [[13274, 13274], 'mapped', [112, 114]], - [[13275, 13275], 'mapped', [115, 114]], - [[13276, 13276], 'mapped', [115, 118]], - [[13277, 13277], 'mapped', [119, 98]], - [[13278, 13278], 'mapped', [118, 8725, 109]], - [[13279, 13279], 'mapped', [97, 8725, 109]], - [[13280, 13280], 'mapped', [49, 26085]], - [[13281, 13281], 'mapped', [50, 26085]], - [[13282, 13282], 'mapped', [51, 26085]], - [[13283, 13283], 'mapped', [52, 26085]], - [[13284, 13284], 'mapped', [53, 26085]], - [[13285, 13285], 'mapped', [54, 26085]], - [[13286, 13286], 'mapped', [55, 26085]], - [[13287, 13287], 'mapped', [56, 26085]], - [[13288, 13288], 'mapped', [57, 26085]], - [[13289, 13289], 'mapped', [49, 48, 26085]], - [[13290, 13290], 'mapped', [49, 49, 26085]], - [[13291, 13291], 'mapped', [49, 50, 26085]], - [[13292, 13292], 'mapped', [49, 51, 26085]], - [[13293, 13293], 'mapped', [49, 52, 26085]], - [[13294, 13294], 'mapped', [49, 53, 26085]], - [[13295, 13295], 'mapped', [49, 54, 26085]], - [[13296, 13296], 'mapped', [49, 55, 26085]], - [[13297, 13297], 'mapped', [49, 56, 26085]], - [[13298, 13298], 'mapped', [49, 57, 26085]], - [[13299, 13299], 'mapped', [50, 48, 26085]], - [[13300, 13300], 'mapped', [50, 49, 26085]], - [[13301, 13301], 'mapped', [50, 50, 26085]], - [[13302, 13302], 'mapped', [50, 51, 26085]], - [[13303, 13303], 'mapped', [50, 52, 26085]], - [[13304, 13304], 'mapped', [50, 53, 26085]], - [[13305, 13305], 'mapped', [50, 54, 26085]], - [[13306, 13306], 'mapped', [50, 55, 26085]], - [[13307, 13307], 'mapped', [50, 56, 26085]], - [[13308, 13308], 'mapped', [50, 57, 26085]], - [[13309, 13309], 'mapped', [51, 48, 26085]], - [[13310, 13310], 'mapped', [51, 49, 26085]], - [[13311, 13311], 'mapped', [103, 97, 108]], - [[13312, 19893], 'valid'], - [[19894, 19903], 'disallowed'], - [[19904, 19967], 'valid', [], 'NV8'], - [[19968, 40869], 'valid'], - [[40870, 40891], 'valid'], - [[40892, 40899], 'valid'], - [[40900, 40907], 'valid'], - [[40908, 40908], 'valid'], - [[40909, 40917], 'valid'], - [[40918, 40959], 'disallowed'], - [[40960, 42124], 'valid'], - [[42125, 42127], 'disallowed'], - [[42128, 42145], 'valid', [], 'NV8'], - [[42146, 42147], 'valid', [], 'NV8'], - [[42148, 42163], 'valid', [], 'NV8'], - [[42164, 42164], 'valid', [], 'NV8'], - [[42165, 42176], 'valid', [], 'NV8'], - [[42177, 42177], 'valid', [], 'NV8'], - [[42178, 42180], 'valid', [], 'NV8'], - [[42181, 42181], 'valid', [], 'NV8'], - [[42182, 42182], 'valid', [], 'NV8'], - [[42183, 42191], 'disallowed'], - [[42192, 42237], 'valid'], - [[42238, 42239], 'valid', [], 'NV8'], - [[42240, 42508], 'valid'], - [[42509, 42511], 'valid', [], 'NV8'], - [[42512, 42539], 'valid'], - [[42540, 42559], 'disallowed'], - [[42560, 42560], 'mapped', [42561]], - [[42561, 42561], 'valid'], - [[42562, 42562], 'mapped', [42563]], - [[42563, 42563], 'valid'], - [[42564, 42564], 'mapped', [42565]], - [[42565, 42565], 'valid'], - [[42566, 42566], 'mapped', [42567]], - [[42567, 42567], 'valid'], - [[42568, 42568], 'mapped', [42569]], - [[42569, 42569], 'valid'], - [[42570, 42570], 'mapped', [42571]], - [[42571, 42571], 'valid'], - [[42572, 42572], 'mapped', [42573]], - [[42573, 42573], 'valid'], - [[42574, 42574], 'mapped', [42575]], - [[42575, 42575], 'valid'], - [[42576, 42576], 'mapped', [42577]], - [[42577, 42577], 'valid'], - [[42578, 42578], 'mapped', [42579]], - [[42579, 42579], 'valid'], - [[42580, 42580], 'mapped', [42581]], - [[42581, 42581], 'valid'], - [[42582, 42582], 'mapped', [42583]], - [[42583, 42583], 'valid'], - [[42584, 42584], 'mapped', [42585]], - [[42585, 42585], 'valid'], - [[42586, 42586], 'mapped', [42587]], - [[42587, 42587], 'valid'], - [[42588, 42588], 'mapped', [42589]], - [[42589, 42589], 'valid'], - [[42590, 42590], 'mapped', [42591]], - [[42591, 42591], 'valid'], - [[42592, 42592], 'mapped', [42593]], - [[42593, 42593], 'valid'], - [[42594, 42594], 'mapped', [42595]], - [[42595, 42595], 'valid'], - [[42596, 42596], 'mapped', [42597]], - [[42597, 42597], 'valid'], - [[42598, 42598], 'mapped', [42599]], - [[42599, 42599], 'valid'], - [[42600, 42600], 'mapped', [42601]], - [[42601, 42601], 'valid'], - [[42602, 42602], 'mapped', [42603]], - [[42603, 42603], 'valid'], - [[42604, 42604], 'mapped', [42605]], - [[42605, 42607], 'valid'], - [[42608, 42611], 'valid', [], 'NV8'], - [[42612, 42619], 'valid'], - [[42620, 42621], 'valid'], - [[42622, 42622], 'valid', [], 'NV8'], - [[42623, 42623], 'valid'], - [[42624, 42624], 'mapped', [42625]], - [[42625, 42625], 'valid'], - [[42626, 42626], 'mapped', [42627]], - [[42627, 42627], 'valid'], - [[42628, 42628], 'mapped', [42629]], - [[42629, 42629], 'valid'], - [[42630, 42630], 'mapped', [42631]], - [[42631, 42631], 'valid'], - [[42632, 42632], 'mapped', [42633]], - [[42633, 42633], 'valid'], - [[42634, 42634], 'mapped', [42635]], - [[42635, 42635], 'valid'], - [[42636, 42636], 'mapped', [42637]], - [[42637, 42637], 'valid'], - [[42638, 42638], 'mapped', [42639]], - [[42639, 42639], 'valid'], - [[42640, 42640], 'mapped', [42641]], - [[42641, 42641], 'valid'], - [[42642, 42642], 'mapped', [42643]], - [[42643, 42643], 'valid'], - [[42644, 42644], 'mapped', [42645]], - [[42645, 42645], 'valid'], - [[42646, 42646], 'mapped', [42647]], - [[42647, 42647], 'valid'], - [[42648, 42648], 'mapped', [42649]], - [[42649, 42649], 'valid'], - [[42650, 42650], 'mapped', [42651]], - [[42651, 42651], 'valid'], - [[42652, 42652], 'mapped', [1098]], - [[42653, 42653], 'mapped', [1100]], - [[42654, 42654], 'valid'], - [[42655, 42655], 'valid'], - [[42656, 42725], 'valid'], - [[42726, 42735], 'valid', [], 'NV8'], - [[42736, 42737], 'valid'], - [[42738, 42743], 'valid', [], 'NV8'], - [[42744, 42751], 'disallowed'], - [[42752, 42774], 'valid', [], 'NV8'], - [[42775, 42778], 'valid'], - [[42779, 42783], 'valid'], - [[42784, 42785], 'valid', [], 'NV8'], - [[42786, 42786], 'mapped', [42787]], - [[42787, 42787], 'valid'], - [[42788, 42788], 'mapped', [42789]], - [[42789, 42789], 'valid'], - [[42790, 42790], 'mapped', [42791]], - [[42791, 42791], 'valid'], - [[42792, 42792], 'mapped', [42793]], - [[42793, 42793], 'valid'], - [[42794, 42794], 'mapped', [42795]], - [[42795, 42795], 'valid'], - [[42796, 42796], 'mapped', [42797]], - [[42797, 42797], 'valid'], - [[42798, 42798], 'mapped', [42799]], - [[42799, 42801], 'valid'], - [[42802, 42802], 'mapped', [42803]], - [[42803, 42803], 'valid'], - [[42804, 42804], 'mapped', [42805]], - [[42805, 42805], 'valid'], - [[42806, 42806], 'mapped', [42807]], - [[42807, 42807], 'valid'], - [[42808, 42808], 'mapped', [42809]], - [[42809, 42809], 'valid'], - [[42810, 42810], 'mapped', [42811]], - [[42811, 42811], 'valid'], - [[42812, 42812], 'mapped', [42813]], - [[42813, 42813], 'valid'], - [[42814, 42814], 'mapped', [42815]], - [[42815, 42815], 'valid'], - [[42816, 42816], 'mapped', [42817]], - [[42817, 42817], 'valid'], - [[42818, 42818], 'mapped', [42819]], - [[42819, 42819], 'valid'], - [[42820, 42820], 'mapped', [42821]], - [[42821, 42821], 'valid'], - [[42822, 42822], 'mapped', [42823]], - [[42823, 42823], 'valid'], - [[42824, 42824], 'mapped', [42825]], - [[42825, 42825], 'valid'], - [[42826, 42826], 'mapped', [42827]], - [[42827, 42827], 'valid'], - [[42828, 42828], 'mapped', [42829]], - [[42829, 42829], 'valid'], - [[42830, 42830], 'mapped', [42831]], - [[42831, 42831], 'valid'], - [[42832, 42832], 'mapped', [42833]], - [[42833, 42833], 'valid'], - [[42834, 42834], 'mapped', [42835]], - [[42835, 42835], 'valid'], - [[42836, 42836], 'mapped', [42837]], - [[42837, 42837], 'valid'], - [[42838, 42838], 'mapped', [42839]], - [[42839, 42839], 'valid'], - [[42840, 42840], 'mapped', [42841]], - [[42841, 42841], 'valid'], - [[42842, 42842], 'mapped', [42843]], - [[42843, 42843], 'valid'], - [[42844, 42844], 'mapped', [42845]], - [[42845, 42845], 'valid'], - [[42846, 42846], 'mapped', [42847]], - [[42847, 42847], 'valid'], - [[42848, 42848], 'mapped', [42849]], - [[42849, 42849], 'valid'], - [[42850, 42850], 'mapped', [42851]], - [[42851, 42851], 'valid'], - [[42852, 42852], 'mapped', [42853]], - [[42853, 42853], 'valid'], - [[42854, 42854], 'mapped', [42855]], - [[42855, 42855], 'valid'], - [[42856, 42856], 'mapped', [42857]], - [[42857, 42857], 'valid'], - [[42858, 42858], 'mapped', [42859]], - [[42859, 42859], 'valid'], - [[42860, 42860], 'mapped', [42861]], - [[42861, 42861], 'valid'], - [[42862, 42862], 'mapped', [42863]], - [[42863, 42863], 'valid'], - [[42864, 42864], 'mapped', [42863]], - [[42865, 42872], 'valid'], - [[42873, 42873], 'mapped', [42874]], - [[42874, 42874], 'valid'], - [[42875, 42875], 'mapped', [42876]], - [[42876, 42876], 'valid'], - [[42877, 42877], 'mapped', [7545]], - [[42878, 42878], 'mapped', [42879]], - [[42879, 42879], 'valid'], - [[42880, 42880], 'mapped', [42881]], - [[42881, 42881], 'valid'], - [[42882, 42882], 'mapped', [42883]], - [[42883, 42883], 'valid'], - [[42884, 42884], 'mapped', [42885]], - [[42885, 42885], 'valid'], - [[42886, 42886], 'mapped', [42887]], - [[42887, 42888], 'valid'], - [[42889, 42890], 'valid', [], 'NV8'], - [[42891, 42891], 'mapped', [42892]], - [[42892, 42892], 'valid'], - [[42893, 42893], 'mapped', [613]], - [[42894, 42894], 'valid'], - [[42895, 42895], 'valid'], - [[42896, 42896], 'mapped', [42897]], - [[42897, 42897], 'valid'], - [[42898, 42898], 'mapped', [42899]], - [[42899, 42899], 'valid'], - [[42900, 42901], 'valid'], - [[42902, 42902], 'mapped', [42903]], - [[42903, 42903], 'valid'], - [[42904, 42904], 'mapped', [42905]], - [[42905, 42905], 'valid'], - [[42906, 42906], 'mapped', [42907]], - [[42907, 42907], 'valid'], - [[42908, 42908], 'mapped', [42909]], - [[42909, 42909], 'valid'], - [[42910, 42910], 'mapped', [42911]], - [[42911, 42911], 'valid'], - [[42912, 42912], 'mapped', [42913]], - [[42913, 42913], 'valid'], - [[42914, 42914], 'mapped', [42915]], - [[42915, 42915], 'valid'], - [[42916, 42916], 'mapped', [42917]], - [[42917, 42917], 'valid'], - [[42918, 42918], 'mapped', [42919]], - [[42919, 42919], 'valid'], - [[42920, 42920], 'mapped', [42921]], - [[42921, 42921], 'valid'], - [[42922, 42922], 'mapped', [614]], - [[42923, 42923], 'mapped', [604]], - [[42924, 42924], 'mapped', [609]], - [[42925, 42925], 'mapped', [620]], - [[42926, 42927], 'disallowed'], - [[42928, 42928], 'mapped', [670]], - [[42929, 42929], 'mapped', [647]], - [[42930, 42930], 'mapped', [669]], - [[42931, 42931], 'mapped', [43859]], - [[42932, 42932], 'mapped', [42933]], - [[42933, 42933], 'valid'], - [[42934, 42934], 'mapped', [42935]], - [[42935, 42935], 'valid'], - [[42936, 42998], 'disallowed'], - [[42999, 42999], 'valid'], - [[43e3, 43e3], 'mapped', [295]], - [[43001, 43001], 'mapped', [339]], - [[43002, 43002], 'valid'], - [[43003, 43007], 'valid'], - [[43008, 43047], 'valid'], - [[43048, 43051], 'valid', [], 'NV8'], - [[43052, 43055], 'disallowed'], - [[43056, 43065], 'valid', [], 'NV8'], - [[43066, 43071], 'disallowed'], - [[43072, 43123], 'valid'], - [[43124, 43127], 'valid', [], 'NV8'], - [[43128, 43135], 'disallowed'], - [[43136, 43204], 'valid'], - [[43205, 43213], 'disallowed'], - [[43214, 43215], 'valid', [], 'NV8'], - [[43216, 43225], 'valid'], - [[43226, 43231], 'disallowed'], - [[43232, 43255], 'valid'], - [[43256, 43258], 'valid', [], 'NV8'], - [[43259, 43259], 'valid'], - [[43260, 43260], 'valid', [], 'NV8'], - [[43261, 43261], 'valid'], - [[43262, 43263], 'disallowed'], - [[43264, 43309], 'valid'], - [[43310, 43311], 'valid', [], 'NV8'], - [[43312, 43347], 'valid'], - [[43348, 43358], 'disallowed'], - [[43359, 43359], 'valid', [], 'NV8'], - [[43360, 43388], 'valid', [], 'NV8'], - [[43389, 43391], 'disallowed'], - [[43392, 43456], 'valid'], - [[43457, 43469], 'valid', [], 'NV8'], - [[43470, 43470], 'disallowed'], - [[43471, 43481], 'valid'], - [[43482, 43485], 'disallowed'], - [[43486, 43487], 'valid', [], 'NV8'], - [[43488, 43518], 'valid'], - [[43519, 43519], 'disallowed'], - [[43520, 43574], 'valid'], - [[43575, 43583], 'disallowed'], - [[43584, 43597], 'valid'], - [[43598, 43599], 'disallowed'], - [[43600, 43609], 'valid'], - [[43610, 43611], 'disallowed'], - [[43612, 43615], 'valid', [], 'NV8'], - [[43616, 43638], 'valid'], - [[43639, 43641], 'valid', [], 'NV8'], - [[43642, 43643], 'valid'], - [[43644, 43647], 'valid'], - [[43648, 43714], 'valid'], - [[43715, 43738], 'disallowed'], - [[43739, 43741], 'valid'], - [[43742, 43743], 'valid', [], 'NV8'], - [[43744, 43759], 'valid'], - [[43760, 43761], 'valid', [], 'NV8'], - [[43762, 43766], 'valid'], - [[43767, 43776], 'disallowed'], - [[43777, 43782], 'valid'], - [[43783, 43784], 'disallowed'], - [[43785, 43790], 'valid'], - [[43791, 43792], 'disallowed'], - [[43793, 43798], 'valid'], - [[43799, 43807], 'disallowed'], - [[43808, 43814], 'valid'], - [[43815, 43815], 'disallowed'], - [[43816, 43822], 'valid'], - [[43823, 43823], 'disallowed'], - [[43824, 43866], 'valid'], - [[43867, 43867], 'valid', [], 'NV8'], - [[43868, 43868], 'mapped', [42791]], - [[43869, 43869], 'mapped', [43831]], - [[43870, 43870], 'mapped', [619]], - [[43871, 43871], 'mapped', [43858]], - [[43872, 43875], 'valid'], - [[43876, 43877], 'valid'], - [[43878, 43887], 'disallowed'], - [[43888, 43888], 'mapped', [5024]], - [[43889, 43889], 'mapped', [5025]], - [[43890, 43890], 'mapped', [5026]], - [[43891, 43891], 'mapped', [5027]], - [[43892, 43892], 'mapped', [5028]], - [[43893, 43893], 'mapped', [5029]], - [[43894, 43894], 'mapped', [5030]], - [[43895, 43895], 'mapped', [5031]], - [[43896, 43896], 'mapped', [5032]], - [[43897, 43897], 'mapped', [5033]], - [[43898, 43898], 'mapped', [5034]], - [[43899, 43899], 'mapped', [5035]], - [[43900, 43900], 'mapped', [5036]], - [[43901, 43901], 'mapped', [5037]], - [[43902, 43902], 'mapped', [5038]], - [[43903, 43903], 'mapped', [5039]], - [[43904, 43904], 'mapped', [5040]], - [[43905, 43905], 'mapped', [5041]], - [[43906, 43906], 'mapped', [5042]], - [[43907, 43907], 'mapped', [5043]], - [[43908, 43908], 'mapped', [5044]], - [[43909, 43909], 'mapped', [5045]], - [[43910, 43910], 'mapped', [5046]], - [[43911, 43911], 'mapped', [5047]], - [[43912, 43912], 'mapped', [5048]], - [[43913, 43913], 'mapped', [5049]], - [[43914, 43914], 'mapped', [5050]], - [[43915, 43915], 'mapped', [5051]], - [[43916, 43916], 'mapped', [5052]], - [[43917, 43917], 'mapped', [5053]], - [[43918, 43918], 'mapped', [5054]], - [[43919, 43919], 'mapped', [5055]], - [[43920, 43920], 'mapped', [5056]], - [[43921, 43921], 'mapped', [5057]], - [[43922, 43922], 'mapped', [5058]], - [[43923, 43923], 'mapped', [5059]], - [[43924, 43924], 'mapped', [5060]], - [[43925, 43925], 'mapped', [5061]], - [[43926, 43926], 'mapped', [5062]], - [[43927, 43927], 'mapped', [5063]], - [[43928, 43928], 'mapped', [5064]], - [[43929, 43929], 'mapped', [5065]], - [[43930, 43930], 'mapped', [5066]], - [[43931, 43931], 'mapped', [5067]], - [[43932, 43932], 'mapped', [5068]], - [[43933, 43933], 'mapped', [5069]], - [[43934, 43934], 'mapped', [5070]], - [[43935, 43935], 'mapped', [5071]], - [[43936, 43936], 'mapped', [5072]], - [[43937, 43937], 'mapped', [5073]], - [[43938, 43938], 'mapped', [5074]], - [[43939, 43939], 'mapped', [5075]], - [[43940, 43940], 'mapped', [5076]], - [[43941, 43941], 'mapped', [5077]], - [[43942, 43942], 'mapped', [5078]], - [[43943, 43943], 'mapped', [5079]], - [[43944, 43944], 'mapped', [5080]], - [[43945, 43945], 'mapped', [5081]], - [[43946, 43946], 'mapped', [5082]], - [[43947, 43947], 'mapped', [5083]], - [[43948, 43948], 'mapped', [5084]], - [[43949, 43949], 'mapped', [5085]], - [[43950, 43950], 'mapped', [5086]], - [[43951, 43951], 'mapped', [5087]], - [[43952, 43952], 'mapped', [5088]], - [[43953, 43953], 'mapped', [5089]], - [[43954, 43954], 'mapped', [5090]], - [[43955, 43955], 'mapped', [5091]], - [[43956, 43956], 'mapped', [5092]], - [[43957, 43957], 'mapped', [5093]], - [[43958, 43958], 'mapped', [5094]], - [[43959, 43959], 'mapped', [5095]], - [[43960, 43960], 'mapped', [5096]], - [[43961, 43961], 'mapped', [5097]], - [[43962, 43962], 'mapped', [5098]], - [[43963, 43963], 'mapped', [5099]], - [[43964, 43964], 'mapped', [5100]], - [[43965, 43965], 'mapped', [5101]], - [[43966, 43966], 'mapped', [5102]], - [[43967, 43967], 'mapped', [5103]], - [[43968, 44010], 'valid'], - [[44011, 44011], 'valid', [], 'NV8'], - [[44012, 44013], 'valid'], - [[44014, 44015], 'disallowed'], - [[44016, 44025], 'valid'], - [[44026, 44031], 'disallowed'], - [[44032, 55203], 'valid'], - [[55204, 55215], 'disallowed'], - [[55216, 55238], 'valid', [], 'NV8'], - [[55239, 55242], 'disallowed'], - [[55243, 55291], 'valid', [], 'NV8'], - [[55292, 55295], 'disallowed'], - [[55296, 57343], 'disallowed'], - [[57344, 63743], 'disallowed'], - [[63744, 63744], 'mapped', [35912]], - [[63745, 63745], 'mapped', [26356]], - [[63746, 63746], 'mapped', [36554]], - [[63747, 63747], 'mapped', [36040]], - [[63748, 63748], 'mapped', [28369]], - [[63749, 63749], 'mapped', [20018]], - [[63750, 63750], 'mapped', [21477]], - [[63751, 63752], 'mapped', [40860]], - [[63753, 63753], 'mapped', [22865]], - [[63754, 63754], 'mapped', [37329]], - [[63755, 63755], 'mapped', [21895]], - [[63756, 63756], 'mapped', [22856]], - [[63757, 63757], 'mapped', [25078]], - [[63758, 63758], 'mapped', [30313]], - [[63759, 63759], 'mapped', [32645]], - [[63760, 63760], 'mapped', [34367]], - [[63761, 63761], 'mapped', [34746]], - [[63762, 63762], 'mapped', [35064]], - [[63763, 63763], 'mapped', [37007]], - [[63764, 63764], 'mapped', [27138]], - [[63765, 63765], 'mapped', [27931]], - [[63766, 63766], 'mapped', [28889]], - [[63767, 63767], 'mapped', [29662]], - [[63768, 63768], 'mapped', [33853]], - [[63769, 63769], 'mapped', [37226]], - [[63770, 63770], 'mapped', [39409]], - [[63771, 63771], 'mapped', [20098]], - [[63772, 63772], 'mapped', [21365]], - [[63773, 63773], 'mapped', [27396]], - [[63774, 63774], 'mapped', [29211]], - [[63775, 63775], 'mapped', [34349]], - [[63776, 63776], 'mapped', [40478]], - [[63777, 63777], 'mapped', [23888]], - [[63778, 63778], 'mapped', [28651]], - [[63779, 63779], 'mapped', [34253]], - [[63780, 63780], 'mapped', [35172]], - [[63781, 63781], 'mapped', [25289]], - [[63782, 63782], 'mapped', [33240]], - [[63783, 63783], 'mapped', [34847]], - [[63784, 63784], 'mapped', [24266]], - [[63785, 63785], 'mapped', [26391]], - [[63786, 63786], 'mapped', [28010]], - [[63787, 63787], 'mapped', [29436]], - [[63788, 63788], 'mapped', [37070]], - [[63789, 63789], 'mapped', [20358]], - [[63790, 63790], 'mapped', [20919]], - [[63791, 63791], 'mapped', [21214]], - [[63792, 63792], 'mapped', [25796]], - [[63793, 63793], 'mapped', [27347]], - [[63794, 63794], 'mapped', [29200]], - [[63795, 63795], 'mapped', [30439]], - [[63796, 63796], 'mapped', [32769]], - [[63797, 63797], 'mapped', [34310]], - [[63798, 63798], 'mapped', [34396]], - [[63799, 63799], 'mapped', [36335]], - [[63800, 63800], 'mapped', [38706]], - [[63801, 63801], 'mapped', [39791]], - [[63802, 63802], 'mapped', [40442]], - [[63803, 63803], 'mapped', [30860]], - [[63804, 63804], 'mapped', [31103]], - [[63805, 63805], 'mapped', [32160]], - [[63806, 63806], 'mapped', [33737]], - [[63807, 63807], 'mapped', [37636]], - [[63808, 63808], 'mapped', [40575]], - [[63809, 63809], 'mapped', [35542]], - [[63810, 63810], 'mapped', [22751]], - [[63811, 63811], 'mapped', [24324]], - [[63812, 63812], 'mapped', [31840]], - [[63813, 63813], 'mapped', [32894]], - [[63814, 63814], 'mapped', [29282]], - [[63815, 63815], 'mapped', [30922]], - [[63816, 63816], 'mapped', [36034]], - [[63817, 63817], 'mapped', [38647]], - [[63818, 63818], 'mapped', [22744]], - [[63819, 63819], 'mapped', [23650]], - [[63820, 63820], 'mapped', [27155]], - [[63821, 63821], 'mapped', [28122]], - [[63822, 63822], 'mapped', [28431]], - [[63823, 63823], 'mapped', [32047]], - [[63824, 63824], 'mapped', [32311]], - [[63825, 63825], 'mapped', [38475]], - [[63826, 63826], 'mapped', [21202]], - [[63827, 63827], 'mapped', [32907]], - [[63828, 63828], 'mapped', [20956]], - [[63829, 63829], 'mapped', [20940]], - [[63830, 63830], 'mapped', [31260]], - [[63831, 63831], 'mapped', [32190]], - [[63832, 63832], 'mapped', [33777]], - [[63833, 63833], 'mapped', [38517]], - [[63834, 63834], 'mapped', [35712]], - [[63835, 63835], 'mapped', [25295]], - [[63836, 63836], 'mapped', [27138]], - [[63837, 63837], 'mapped', [35582]], - [[63838, 63838], 'mapped', [20025]], - [[63839, 63839], 'mapped', [23527]], - [[63840, 63840], 'mapped', [24594]], - [[63841, 63841], 'mapped', [29575]], - [[63842, 63842], 'mapped', [30064]], - [[63843, 63843], 'mapped', [21271]], - [[63844, 63844], 'mapped', [30971]], - [[63845, 63845], 'mapped', [20415]], - [[63846, 63846], 'mapped', [24489]], - [[63847, 63847], 'mapped', [19981]], - [[63848, 63848], 'mapped', [27852]], - [[63849, 63849], 'mapped', [25976]], - [[63850, 63850], 'mapped', [32034]], - [[63851, 63851], 'mapped', [21443]], - [[63852, 63852], 'mapped', [22622]], - [[63853, 63853], 'mapped', [30465]], - [[63854, 63854], 'mapped', [33865]], - [[63855, 63855], 'mapped', [35498]], - [[63856, 63856], 'mapped', [27578]], - [[63857, 63857], 'mapped', [36784]], - [[63858, 63858], 'mapped', [27784]], - [[63859, 63859], 'mapped', [25342]], - [[63860, 63860], 'mapped', [33509]], - [[63861, 63861], 'mapped', [25504]], - [[63862, 63862], 'mapped', [30053]], - [[63863, 63863], 'mapped', [20142]], - [[63864, 63864], 'mapped', [20841]], - [[63865, 63865], 'mapped', [20937]], - [[63866, 63866], 'mapped', [26753]], - [[63867, 63867], 'mapped', [31975]], - [[63868, 63868], 'mapped', [33391]], - [[63869, 63869], 'mapped', [35538]], - [[63870, 63870], 'mapped', [37327]], - [[63871, 63871], 'mapped', [21237]], - [[63872, 63872], 'mapped', [21570]], - [[63873, 63873], 'mapped', [22899]], - [[63874, 63874], 'mapped', [24300]], - [[63875, 63875], 'mapped', [26053]], - [[63876, 63876], 'mapped', [28670]], - [[63877, 63877], 'mapped', [31018]], - [[63878, 63878], 'mapped', [38317]], - [[63879, 63879], 'mapped', [39530]], - [[63880, 63880], 'mapped', [40599]], - [[63881, 63881], 'mapped', [40654]], - [[63882, 63882], 'mapped', [21147]], - [[63883, 63883], 'mapped', [26310]], - [[63884, 63884], 'mapped', [27511]], - [[63885, 63885], 'mapped', [36706]], - [[63886, 63886], 'mapped', [24180]], - [[63887, 63887], 'mapped', [24976]], - [[63888, 63888], 'mapped', [25088]], - [[63889, 63889], 'mapped', [25754]], - [[63890, 63890], 'mapped', [28451]], - [[63891, 63891], 'mapped', [29001]], - [[63892, 63892], 'mapped', [29833]], - [[63893, 63893], 'mapped', [31178]], - [[63894, 63894], 'mapped', [32244]], - [[63895, 63895], 'mapped', [32879]], - [[63896, 63896], 'mapped', [36646]], - [[63897, 63897], 'mapped', [34030]], - [[63898, 63898], 'mapped', [36899]], - [[63899, 63899], 'mapped', [37706]], - [[63900, 63900], 'mapped', [21015]], - [[63901, 63901], 'mapped', [21155]], - [[63902, 63902], 'mapped', [21693]], - [[63903, 63903], 'mapped', [28872]], - [[63904, 63904], 'mapped', [35010]], - [[63905, 63905], 'mapped', [35498]], - [[63906, 63906], 'mapped', [24265]], - [[63907, 63907], 'mapped', [24565]], - [[63908, 63908], 'mapped', [25467]], - [[63909, 63909], 'mapped', [27566]], - [[63910, 63910], 'mapped', [31806]], - [[63911, 63911], 'mapped', [29557]], - [[63912, 63912], 'mapped', [20196]], - [[63913, 63913], 'mapped', [22265]], - [[63914, 63914], 'mapped', [23527]], - [[63915, 63915], 'mapped', [23994]], - [[63916, 63916], 'mapped', [24604]], - [[63917, 63917], 'mapped', [29618]], - [[63918, 63918], 'mapped', [29801]], - [[63919, 63919], 'mapped', [32666]], - [[63920, 63920], 'mapped', [32838]], - [[63921, 63921], 'mapped', [37428]], - [[63922, 63922], 'mapped', [38646]], - [[63923, 63923], 'mapped', [38728]], - [[63924, 63924], 'mapped', [38936]], - [[63925, 63925], 'mapped', [20363]], - [[63926, 63926], 'mapped', [31150]], - [[63927, 63927], 'mapped', [37300]], - [[63928, 63928], 'mapped', [38584]], - [[63929, 63929], 'mapped', [24801]], - [[63930, 63930], 'mapped', [20102]], - [[63931, 63931], 'mapped', [20698]], - [[63932, 63932], 'mapped', [23534]], - [[63933, 63933], 'mapped', [23615]], - [[63934, 63934], 'mapped', [26009]], - [[63935, 63935], 'mapped', [27138]], - [[63936, 63936], 'mapped', [29134]], - [[63937, 63937], 'mapped', [30274]], - [[63938, 63938], 'mapped', [34044]], - [[63939, 63939], 'mapped', [36988]], - [[63940, 63940], 'mapped', [40845]], - [[63941, 63941], 'mapped', [26248]], - [[63942, 63942], 'mapped', [38446]], - [[63943, 63943], 'mapped', [21129]], - [[63944, 63944], 'mapped', [26491]], - [[63945, 63945], 'mapped', [26611]], - [[63946, 63946], 'mapped', [27969]], - [[63947, 63947], 'mapped', [28316]], - [[63948, 63948], 'mapped', [29705]], - [[63949, 63949], 'mapped', [30041]], - [[63950, 63950], 'mapped', [30827]], - [[63951, 63951], 'mapped', [32016]], - [[63952, 63952], 'mapped', [39006]], - [[63953, 63953], 'mapped', [20845]], - [[63954, 63954], 'mapped', [25134]], - [[63955, 63955], 'mapped', [38520]], - [[63956, 63956], 'mapped', [20523]], - [[63957, 63957], 'mapped', [23833]], - [[63958, 63958], 'mapped', [28138]], - [[63959, 63959], 'mapped', [36650]], - [[63960, 63960], 'mapped', [24459]], - [[63961, 63961], 'mapped', [24900]], - [[63962, 63962], 'mapped', [26647]], - [[63963, 63963], 'mapped', [29575]], - [[63964, 63964], 'mapped', [38534]], - [[63965, 63965], 'mapped', [21033]], - [[63966, 63966], 'mapped', [21519]], - [[63967, 63967], 'mapped', [23653]], - [[63968, 63968], 'mapped', [26131]], - [[63969, 63969], 'mapped', [26446]], - [[63970, 63970], 'mapped', [26792]], - [[63971, 63971], 'mapped', [27877]], - [[63972, 63972], 'mapped', [29702]], - [[63973, 63973], 'mapped', [30178]], - [[63974, 63974], 'mapped', [32633]], - [[63975, 63975], 'mapped', [35023]], - [[63976, 63976], 'mapped', [35041]], - [[63977, 63977], 'mapped', [37324]], - [[63978, 63978], 'mapped', [38626]], - [[63979, 63979], 'mapped', [21311]], - [[63980, 63980], 'mapped', [28346]], - [[63981, 63981], 'mapped', [21533]], - [[63982, 63982], 'mapped', [29136]], - [[63983, 63983], 'mapped', [29848]], - [[63984, 63984], 'mapped', [34298]], - [[63985, 63985], 'mapped', [38563]], - [[63986, 63986], 'mapped', [40023]], - [[63987, 63987], 'mapped', [40607]], - [[63988, 63988], 'mapped', [26519]], - [[63989, 63989], 'mapped', [28107]], - [[63990, 63990], 'mapped', [33256]], - [[63991, 63991], 'mapped', [31435]], - [[63992, 63992], 'mapped', [31520]], - [[63993, 63993], 'mapped', [31890]], - [[63994, 63994], 'mapped', [29376]], - [[63995, 63995], 'mapped', [28825]], - [[63996, 63996], 'mapped', [35672]], - [[63997, 63997], 'mapped', [20160]], - [[63998, 63998], 'mapped', [33590]], - [[63999, 63999], 'mapped', [21050]], - [[64e3, 64e3], 'mapped', [20999]], - [[64001, 64001], 'mapped', [24230]], - [[64002, 64002], 'mapped', [25299]], - [[64003, 64003], 'mapped', [31958]], - [[64004, 64004], 'mapped', [23429]], - [[64005, 64005], 'mapped', [27934]], - [[64006, 64006], 'mapped', [26292]], - [[64007, 64007], 'mapped', [36667]], - [[64008, 64008], 'mapped', [34892]], - [[64009, 64009], 'mapped', [38477]], - [[64010, 64010], 'mapped', [35211]], - [[64011, 64011], 'mapped', [24275]], - [[64012, 64012], 'mapped', [20800]], - [[64013, 64013], 'mapped', [21952]], - [[64014, 64015], 'valid'], - [[64016, 64016], 'mapped', [22618]], - [[64017, 64017], 'valid'], - [[64018, 64018], 'mapped', [26228]], - [[64019, 64020], 'valid'], - [[64021, 64021], 'mapped', [20958]], - [[64022, 64022], 'mapped', [29482]], - [[64023, 64023], 'mapped', [30410]], - [[64024, 64024], 'mapped', [31036]], - [[64025, 64025], 'mapped', [31070]], - [[64026, 64026], 'mapped', [31077]], - [[64027, 64027], 'mapped', [31119]], - [[64028, 64028], 'mapped', [38742]], - [[64029, 64029], 'mapped', [31934]], - [[64030, 64030], 'mapped', [32701]], - [[64031, 64031], 'valid'], - [[64032, 64032], 'mapped', [34322]], - [[64033, 64033], 'valid'], - [[64034, 64034], 'mapped', [35576]], - [[64035, 64036], 'valid'], - [[64037, 64037], 'mapped', [36920]], - [[64038, 64038], 'mapped', [37117]], - [[64039, 64041], 'valid'], - [[64042, 64042], 'mapped', [39151]], - [[64043, 64043], 'mapped', [39164]], - [[64044, 64044], 'mapped', [39208]], - [[64045, 64045], 'mapped', [40372]], - [[64046, 64046], 'mapped', [37086]], - [[64047, 64047], 'mapped', [38583]], - [[64048, 64048], 'mapped', [20398]], - [[64049, 64049], 'mapped', [20711]], - [[64050, 64050], 'mapped', [20813]], - [[64051, 64051], 'mapped', [21193]], - [[64052, 64052], 'mapped', [21220]], - [[64053, 64053], 'mapped', [21329]], - [[64054, 64054], 'mapped', [21917]], - [[64055, 64055], 'mapped', [22022]], - [[64056, 64056], 'mapped', [22120]], - [[64057, 64057], 'mapped', [22592]], - [[64058, 64058], 'mapped', [22696]], - [[64059, 64059], 'mapped', [23652]], - [[64060, 64060], 'mapped', [23662]], - [[64061, 64061], 'mapped', [24724]], - [[64062, 64062], 'mapped', [24936]], - [[64063, 64063], 'mapped', [24974]], - [[64064, 64064], 'mapped', [25074]], - [[64065, 64065], 'mapped', [25935]], - [[64066, 64066], 'mapped', [26082]], - [[64067, 64067], 'mapped', [26257]], - [[64068, 64068], 'mapped', [26757]], - [[64069, 64069], 'mapped', [28023]], - [[64070, 64070], 'mapped', [28186]], - [[64071, 64071], 'mapped', [28450]], - [[64072, 64072], 'mapped', [29038]], - [[64073, 64073], 'mapped', [29227]], - [[64074, 64074], 'mapped', [29730]], - [[64075, 64075], 'mapped', [30865]], - [[64076, 64076], 'mapped', [31038]], - [[64077, 64077], 'mapped', [31049]], - [[64078, 64078], 'mapped', [31048]], - [[64079, 64079], 'mapped', [31056]], - [[64080, 64080], 'mapped', [31062]], - [[64081, 64081], 'mapped', [31069]], - [[64082, 64082], 'mapped', [31117]], - [[64083, 64083], 'mapped', [31118]], - [[64084, 64084], 'mapped', [31296]], - [[64085, 64085], 'mapped', [31361]], - [[64086, 64086], 'mapped', [31680]], - [[64087, 64087], 'mapped', [32244]], - [[64088, 64088], 'mapped', [32265]], - [[64089, 64089], 'mapped', [32321]], - [[64090, 64090], 'mapped', [32626]], - [[64091, 64091], 'mapped', [32773]], - [[64092, 64092], 'mapped', [33261]], - [[64093, 64094], 'mapped', [33401]], - [[64095, 64095], 'mapped', [33879]], - [[64096, 64096], 'mapped', [35088]], - [[64097, 64097], 'mapped', [35222]], - [[64098, 64098], 'mapped', [35585]], - [[64099, 64099], 'mapped', [35641]], - [[64100, 64100], 'mapped', [36051]], - [[64101, 64101], 'mapped', [36104]], - [[64102, 64102], 'mapped', [36790]], - [[64103, 64103], 'mapped', [36920]], - [[64104, 64104], 'mapped', [38627]], - [[64105, 64105], 'mapped', [38911]], - [[64106, 64106], 'mapped', [38971]], - [[64107, 64107], 'mapped', [24693]], - [[64108, 64108], 'mapped', [148206]], - [[64109, 64109], 'mapped', [33304]], - [[64110, 64111], 'disallowed'], - [[64112, 64112], 'mapped', [20006]], - [[64113, 64113], 'mapped', [20917]], - [[64114, 64114], 'mapped', [20840]], - [[64115, 64115], 'mapped', [20352]], - [[64116, 64116], 'mapped', [20805]], - [[64117, 64117], 'mapped', [20864]], - [[64118, 64118], 'mapped', [21191]], - [[64119, 64119], 'mapped', [21242]], - [[64120, 64120], 'mapped', [21917]], - [[64121, 64121], 'mapped', [21845]], - [[64122, 64122], 'mapped', [21913]], - [[64123, 64123], 'mapped', [21986]], - [[64124, 64124], 'mapped', [22618]], - [[64125, 64125], 'mapped', [22707]], - [[64126, 64126], 'mapped', [22852]], - [[64127, 64127], 'mapped', [22868]], - [[64128, 64128], 'mapped', [23138]], - [[64129, 64129], 'mapped', [23336]], - [[64130, 64130], 'mapped', [24274]], - [[64131, 64131], 'mapped', [24281]], - [[64132, 64132], 'mapped', [24425]], - [[64133, 64133], 'mapped', [24493]], - [[64134, 64134], 'mapped', [24792]], - [[64135, 64135], 'mapped', [24910]], - [[64136, 64136], 'mapped', [24840]], - [[64137, 64137], 'mapped', [24974]], - [[64138, 64138], 'mapped', [24928]], - [[64139, 64139], 'mapped', [25074]], - [[64140, 64140], 'mapped', [25140]], - [[64141, 64141], 'mapped', [25540]], - [[64142, 64142], 'mapped', [25628]], - [[64143, 64143], 'mapped', [25682]], - [[64144, 64144], 'mapped', [25942]], - [[64145, 64145], 'mapped', [26228]], - [[64146, 64146], 'mapped', [26391]], - [[64147, 64147], 'mapped', [26395]], - [[64148, 64148], 'mapped', [26454]], - [[64149, 64149], 'mapped', [27513]], - [[64150, 64150], 'mapped', [27578]], - [[64151, 64151], 'mapped', [27969]], - [[64152, 64152], 'mapped', [28379]], - [[64153, 64153], 'mapped', [28363]], - [[64154, 64154], 'mapped', [28450]], - [[64155, 64155], 'mapped', [28702]], - [[64156, 64156], 'mapped', [29038]], - [[64157, 64157], 'mapped', [30631]], - [[64158, 64158], 'mapped', [29237]], - [[64159, 64159], 'mapped', [29359]], - [[64160, 64160], 'mapped', [29482]], - [[64161, 64161], 'mapped', [29809]], - [[64162, 64162], 'mapped', [29958]], - [[64163, 64163], 'mapped', [30011]], - [[64164, 64164], 'mapped', [30237]], - [[64165, 64165], 'mapped', [30239]], - [[64166, 64166], 'mapped', [30410]], - [[64167, 64167], 'mapped', [30427]], - [[64168, 64168], 'mapped', [30452]], - [[64169, 64169], 'mapped', [30538]], - [[64170, 64170], 'mapped', [30528]], - [[64171, 64171], 'mapped', [30924]], - [[64172, 64172], 'mapped', [31409]], - [[64173, 64173], 'mapped', [31680]], - [[64174, 64174], 'mapped', [31867]], - [[64175, 64175], 'mapped', [32091]], - [[64176, 64176], 'mapped', [32244]], - [[64177, 64177], 'mapped', [32574]], - [[64178, 64178], 'mapped', [32773]], - [[64179, 64179], 'mapped', [33618]], - [[64180, 64180], 'mapped', [33775]], - [[64181, 64181], 'mapped', [34681]], - [[64182, 64182], 'mapped', [35137]], - [[64183, 64183], 'mapped', [35206]], - [[64184, 64184], 'mapped', [35222]], - [[64185, 64185], 'mapped', [35519]], - [[64186, 64186], 'mapped', [35576]], - [[64187, 64187], 'mapped', [35531]], - [[64188, 64188], 'mapped', [35585]], - [[64189, 64189], 'mapped', [35582]], - [[64190, 64190], 'mapped', [35565]], - [[64191, 64191], 'mapped', [35641]], - [[64192, 64192], 'mapped', [35722]], - [[64193, 64193], 'mapped', [36104]], - [[64194, 64194], 'mapped', [36664]], - [[64195, 64195], 'mapped', [36978]], - [[64196, 64196], 'mapped', [37273]], - [[64197, 64197], 'mapped', [37494]], - [[64198, 64198], 'mapped', [38524]], - [[64199, 64199], 'mapped', [38627]], - [[64200, 64200], 'mapped', [38742]], - [[64201, 64201], 'mapped', [38875]], - [[64202, 64202], 'mapped', [38911]], - [[64203, 64203], 'mapped', [38923]], - [[64204, 64204], 'mapped', [38971]], - [[64205, 64205], 'mapped', [39698]], - [[64206, 64206], 'mapped', [40860]], - [[64207, 64207], 'mapped', [141386]], - [[64208, 64208], 'mapped', [141380]], - [[64209, 64209], 'mapped', [144341]], - [[64210, 64210], 'mapped', [15261]], - [[64211, 64211], 'mapped', [16408]], - [[64212, 64212], 'mapped', [16441]], - [[64213, 64213], 'mapped', [152137]], - [[64214, 64214], 'mapped', [154832]], - [[64215, 64215], 'mapped', [163539]], - [[64216, 64216], 'mapped', [40771]], - [[64217, 64217], 'mapped', [40846]], - [[64218, 64255], 'disallowed'], - [[64256, 64256], 'mapped', [102, 102]], - [[64257, 64257], 'mapped', [102, 105]], - [[64258, 64258], 'mapped', [102, 108]], - [[64259, 64259], 'mapped', [102, 102, 105]], - [[64260, 64260], 'mapped', [102, 102, 108]], - [[64261, 64262], 'mapped', [115, 116]], - [[64263, 64274], 'disallowed'], - [[64275, 64275], 'mapped', [1396, 1398]], - [[64276, 64276], 'mapped', [1396, 1381]], - [[64277, 64277], 'mapped', [1396, 1387]], - [[64278, 64278], 'mapped', [1406, 1398]], - [[64279, 64279], 'mapped', [1396, 1389]], - [[64280, 64284], 'disallowed'], - [[64285, 64285], 'mapped', [1497, 1460]], - [[64286, 64286], 'valid'], - [[64287, 64287], 'mapped', [1522, 1463]], - [[64288, 64288], 'mapped', [1506]], - [[64289, 64289], 'mapped', [1488]], - [[64290, 64290], 'mapped', [1491]], - [[64291, 64291], 'mapped', [1492]], - [[64292, 64292], 'mapped', [1499]], - [[64293, 64293], 'mapped', [1500]], - [[64294, 64294], 'mapped', [1501]], - [[64295, 64295], 'mapped', [1512]], - [[64296, 64296], 'mapped', [1514]], - [[64297, 64297], 'disallowed_STD3_mapped', [43]], - [[64298, 64298], 'mapped', [1513, 1473]], - [[64299, 64299], 'mapped', [1513, 1474]], - [[64300, 64300], 'mapped', [1513, 1468, 1473]], - [[64301, 64301], 'mapped', [1513, 1468, 1474]], - [[64302, 64302], 'mapped', [1488, 1463]], - [[64303, 64303], 'mapped', [1488, 1464]], - [[64304, 64304], 'mapped', [1488, 1468]], - [[64305, 64305], 'mapped', [1489, 1468]], - [[64306, 64306], 'mapped', [1490, 1468]], - [[64307, 64307], 'mapped', [1491, 1468]], - [[64308, 64308], 'mapped', [1492, 1468]], - [[64309, 64309], 'mapped', [1493, 1468]], - [[64310, 64310], 'mapped', [1494, 1468]], - [[64311, 64311], 'disallowed'], - [[64312, 64312], 'mapped', [1496, 1468]], - [[64313, 64313], 'mapped', [1497, 1468]], - [[64314, 64314], 'mapped', [1498, 1468]], - [[64315, 64315], 'mapped', [1499, 1468]], - [[64316, 64316], 'mapped', [1500, 1468]], - [[64317, 64317], 'disallowed'], - [[64318, 64318], 'mapped', [1502, 1468]], - [[64319, 64319], 'disallowed'], - [[64320, 64320], 'mapped', [1504, 1468]], - [[64321, 64321], 'mapped', [1505, 1468]], - [[64322, 64322], 'disallowed'], - [[64323, 64323], 'mapped', [1507, 1468]], - [[64324, 64324], 'mapped', [1508, 1468]], - [[64325, 64325], 'disallowed'], - [[64326, 64326], 'mapped', [1510, 1468]], - [[64327, 64327], 'mapped', [1511, 1468]], - [[64328, 64328], 'mapped', [1512, 1468]], - [[64329, 64329], 'mapped', [1513, 1468]], - [[64330, 64330], 'mapped', [1514, 1468]], - [[64331, 64331], 'mapped', [1493, 1465]], - [[64332, 64332], 'mapped', [1489, 1471]], - [[64333, 64333], 'mapped', [1499, 1471]], - [[64334, 64334], 'mapped', [1508, 1471]], - [[64335, 64335], 'mapped', [1488, 1500]], - [[64336, 64337], 'mapped', [1649]], - [[64338, 64341], 'mapped', [1659]], - [[64342, 64345], 'mapped', [1662]], - [[64346, 64349], 'mapped', [1664]], - [[64350, 64353], 'mapped', [1658]], - [[64354, 64357], 'mapped', [1663]], - [[64358, 64361], 'mapped', [1657]], - [[64362, 64365], 'mapped', [1700]], - [[64366, 64369], 'mapped', [1702]], - [[64370, 64373], 'mapped', [1668]], - [[64374, 64377], 'mapped', [1667]], - [[64378, 64381], 'mapped', [1670]], - [[64382, 64385], 'mapped', [1671]], - [[64386, 64387], 'mapped', [1677]], - [[64388, 64389], 'mapped', [1676]], - [[64390, 64391], 'mapped', [1678]], - [[64392, 64393], 'mapped', [1672]], - [[64394, 64395], 'mapped', [1688]], - [[64396, 64397], 'mapped', [1681]], - [[64398, 64401], 'mapped', [1705]], - [[64402, 64405], 'mapped', [1711]], - [[64406, 64409], 'mapped', [1715]], - [[64410, 64413], 'mapped', [1713]], - [[64414, 64415], 'mapped', [1722]], - [[64416, 64419], 'mapped', [1723]], - [[64420, 64421], 'mapped', [1728]], - [[64422, 64425], 'mapped', [1729]], - [[64426, 64429], 'mapped', [1726]], - [[64430, 64431], 'mapped', [1746]], - [[64432, 64433], 'mapped', [1747]], - [[64434, 64449], 'valid', [], 'NV8'], - [[64450, 64466], 'disallowed'], - [[64467, 64470], 'mapped', [1709]], - [[64471, 64472], 'mapped', [1735]], - [[64473, 64474], 'mapped', [1734]], - [[64475, 64476], 'mapped', [1736]], - [[64477, 64477], 'mapped', [1735, 1652]], - [[64478, 64479], 'mapped', [1739]], - [[64480, 64481], 'mapped', [1733]], - [[64482, 64483], 'mapped', [1737]], - [[64484, 64487], 'mapped', [1744]], - [[64488, 64489], 'mapped', [1609]], - [[64490, 64491], 'mapped', [1574, 1575]], - [[64492, 64493], 'mapped', [1574, 1749]], - [[64494, 64495], 'mapped', [1574, 1608]], - [[64496, 64497], 'mapped', [1574, 1735]], - [[64498, 64499], 'mapped', [1574, 1734]], - [[64500, 64501], 'mapped', [1574, 1736]], - [[64502, 64504], 'mapped', [1574, 1744]], - [[64505, 64507], 'mapped', [1574, 1609]], - [[64508, 64511], 'mapped', [1740]], - [[64512, 64512], 'mapped', [1574, 1580]], - [[64513, 64513], 'mapped', [1574, 1581]], - [[64514, 64514], 'mapped', [1574, 1605]], - [[64515, 64515], 'mapped', [1574, 1609]], - [[64516, 64516], 'mapped', [1574, 1610]], - [[64517, 64517], 'mapped', [1576, 1580]], - [[64518, 64518], 'mapped', [1576, 1581]], - [[64519, 64519], 'mapped', [1576, 1582]], - [[64520, 64520], 'mapped', [1576, 1605]], - [[64521, 64521], 'mapped', [1576, 1609]], - [[64522, 64522], 'mapped', [1576, 1610]], - [[64523, 64523], 'mapped', [1578, 1580]], - [[64524, 64524], 'mapped', [1578, 1581]], - [[64525, 64525], 'mapped', [1578, 1582]], - [[64526, 64526], 'mapped', [1578, 1605]], - [[64527, 64527], 'mapped', [1578, 1609]], - [[64528, 64528], 'mapped', [1578, 1610]], - [[64529, 64529], 'mapped', [1579, 1580]], - [[64530, 64530], 'mapped', [1579, 1605]], - [[64531, 64531], 'mapped', [1579, 1609]], - [[64532, 64532], 'mapped', [1579, 1610]], - [[64533, 64533], 'mapped', [1580, 1581]], - [[64534, 64534], 'mapped', [1580, 1605]], - [[64535, 64535], 'mapped', [1581, 1580]], - [[64536, 64536], 'mapped', [1581, 1605]], - [[64537, 64537], 'mapped', [1582, 1580]], - [[64538, 64538], 'mapped', [1582, 1581]], - [[64539, 64539], 'mapped', [1582, 1605]], - [[64540, 64540], 'mapped', [1587, 1580]], - [[64541, 64541], 'mapped', [1587, 1581]], - [[64542, 64542], 'mapped', [1587, 1582]], - [[64543, 64543], 'mapped', [1587, 1605]], - [[64544, 64544], 'mapped', [1589, 1581]], - [[64545, 64545], 'mapped', [1589, 1605]], - [[64546, 64546], 'mapped', [1590, 1580]], - [[64547, 64547], 'mapped', [1590, 1581]], - [[64548, 64548], 'mapped', [1590, 1582]], - [[64549, 64549], 'mapped', [1590, 1605]], - [[64550, 64550], 'mapped', [1591, 1581]], - [[64551, 64551], 'mapped', [1591, 1605]], - [[64552, 64552], 'mapped', [1592, 1605]], - [[64553, 64553], 'mapped', [1593, 1580]], - [[64554, 64554], 'mapped', [1593, 1605]], - [[64555, 64555], 'mapped', [1594, 1580]], - [[64556, 64556], 'mapped', [1594, 1605]], - [[64557, 64557], 'mapped', [1601, 1580]], - [[64558, 64558], 'mapped', [1601, 1581]], - [[64559, 64559], 'mapped', [1601, 1582]], - [[64560, 64560], 'mapped', [1601, 1605]], - [[64561, 64561], 'mapped', [1601, 1609]], - [[64562, 64562], 'mapped', [1601, 1610]], - [[64563, 64563], 'mapped', [1602, 1581]], - [[64564, 64564], 'mapped', [1602, 1605]], - [[64565, 64565], 'mapped', [1602, 1609]], - [[64566, 64566], 'mapped', [1602, 1610]], - [[64567, 64567], 'mapped', [1603, 1575]], - [[64568, 64568], 'mapped', [1603, 1580]], - [[64569, 64569], 'mapped', [1603, 1581]], - [[64570, 64570], 'mapped', [1603, 1582]], - [[64571, 64571], 'mapped', [1603, 1604]], - [[64572, 64572], 'mapped', [1603, 1605]], - [[64573, 64573], 'mapped', [1603, 1609]], - [[64574, 64574], 'mapped', [1603, 1610]], - [[64575, 64575], 'mapped', [1604, 1580]], - [[64576, 64576], 'mapped', [1604, 1581]], - [[64577, 64577], 'mapped', [1604, 1582]], - [[64578, 64578], 'mapped', [1604, 1605]], - [[64579, 64579], 'mapped', [1604, 1609]], - [[64580, 64580], 'mapped', [1604, 1610]], - [[64581, 64581], 'mapped', [1605, 1580]], - [[64582, 64582], 'mapped', [1605, 1581]], - [[64583, 64583], 'mapped', [1605, 1582]], - [[64584, 64584], 'mapped', [1605, 1605]], - [[64585, 64585], 'mapped', [1605, 1609]], - [[64586, 64586], 'mapped', [1605, 1610]], - [[64587, 64587], 'mapped', [1606, 1580]], - [[64588, 64588], 'mapped', [1606, 1581]], - [[64589, 64589], 'mapped', [1606, 1582]], - [[64590, 64590], 'mapped', [1606, 1605]], - [[64591, 64591], 'mapped', [1606, 1609]], - [[64592, 64592], 'mapped', [1606, 1610]], - [[64593, 64593], 'mapped', [1607, 1580]], - [[64594, 64594], 'mapped', [1607, 1605]], - [[64595, 64595], 'mapped', [1607, 1609]], - [[64596, 64596], 'mapped', [1607, 1610]], - [[64597, 64597], 'mapped', [1610, 1580]], - [[64598, 64598], 'mapped', [1610, 1581]], - [[64599, 64599], 'mapped', [1610, 1582]], - [[64600, 64600], 'mapped', [1610, 1605]], - [[64601, 64601], 'mapped', [1610, 1609]], - [[64602, 64602], 'mapped', [1610, 1610]], - [[64603, 64603], 'mapped', [1584, 1648]], - [[64604, 64604], 'mapped', [1585, 1648]], - [[64605, 64605], 'mapped', [1609, 1648]], - [[64606, 64606], 'disallowed_STD3_mapped', [32, 1612, 1617]], - [[64607, 64607], 'disallowed_STD3_mapped', [32, 1613, 1617]], - [[64608, 64608], 'disallowed_STD3_mapped', [32, 1614, 1617]], - [[64609, 64609], 'disallowed_STD3_mapped', [32, 1615, 1617]], - [[64610, 64610], 'disallowed_STD3_mapped', [32, 1616, 1617]], - [[64611, 64611], 'disallowed_STD3_mapped', [32, 1617, 1648]], - [[64612, 64612], 'mapped', [1574, 1585]], - [[64613, 64613], 'mapped', [1574, 1586]], - [[64614, 64614], 'mapped', [1574, 1605]], - [[64615, 64615], 'mapped', [1574, 1606]], - [[64616, 64616], 'mapped', [1574, 1609]], - [[64617, 64617], 'mapped', [1574, 1610]], - [[64618, 64618], 'mapped', [1576, 1585]], - [[64619, 64619], 'mapped', [1576, 1586]], - [[64620, 64620], 'mapped', [1576, 1605]], - [[64621, 64621], 'mapped', [1576, 1606]], - [[64622, 64622], 'mapped', [1576, 1609]], - [[64623, 64623], 'mapped', [1576, 1610]], - [[64624, 64624], 'mapped', [1578, 1585]], - [[64625, 64625], 'mapped', [1578, 1586]], - [[64626, 64626], 'mapped', [1578, 1605]], - [[64627, 64627], 'mapped', [1578, 1606]], - [[64628, 64628], 'mapped', [1578, 1609]], - [[64629, 64629], 'mapped', [1578, 1610]], - [[64630, 64630], 'mapped', [1579, 1585]], - [[64631, 64631], 'mapped', [1579, 1586]], - [[64632, 64632], 'mapped', [1579, 1605]], - [[64633, 64633], 'mapped', [1579, 1606]], - [[64634, 64634], 'mapped', [1579, 1609]], - [[64635, 64635], 'mapped', [1579, 1610]], - [[64636, 64636], 'mapped', [1601, 1609]], - [[64637, 64637], 'mapped', [1601, 1610]], - [[64638, 64638], 'mapped', [1602, 1609]], - [[64639, 64639], 'mapped', [1602, 1610]], - [[64640, 64640], 'mapped', [1603, 1575]], - [[64641, 64641], 'mapped', [1603, 1604]], - [[64642, 64642], 'mapped', [1603, 1605]], - [[64643, 64643], 'mapped', [1603, 1609]], - [[64644, 64644], 'mapped', [1603, 1610]], - [[64645, 64645], 'mapped', [1604, 1605]], - [[64646, 64646], 'mapped', [1604, 1609]], - [[64647, 64647], 'mapped', [1604, 1610]], - [[64648, 64648], 'mapped', [1605, 1575]], - [[64649, 64649], 'mapped', [1605, 1605]], - [[64650, 64650], 'mapped', [1606, 1585]], - [[64651, 64651], 'mapped', [1606, 1586]], - [[64652, 64652], 'mapped', [1606, 1605]], - [[64653, 64653], 'mapped', [1606, 1606]], - [[64654, 64654], 'mapped', [1606, 1609]], - [[64655, 64655], 'mapped', [1606, 1610]], - [[64656, 64656], 'mapped', [1609, 1648]], - [[64657, 64657], 'mapped', [1610, 1585]], - [[64658, 64658], 'mapped', [1610, 1586]], - [[64659, 64659], 'mapped', [1610, 1605]], - [[64660, 64660], 'mapped', [1610, 1606]], - [[64661, 64661], 'mapped', [1610, 1609]], - [[64662, 64662], 'mapped', [1610, 1610]], - [[64663, 64663], 'mapped', [1574, 1580]], - [[64664, 64664], 'mapped', [1574, 1581]], - [[64665, 64665], 'mapped', [1574, 1582]], - [[64666, 64666], 'mapped', [1574, 1605]], - [[64667, 64667], 'mapped', [1574, 1607]], - [[64668, 64668], 'mapped', [1576, 1580]], - [[64669, 64669], 'mapped', [1576, 1581]], - [[64670, 64670], 'mapped', [1576, 1582]], - [[64671, 64671], 'mapped', [1576, 1605]], - [[64672, 64672], 'mapped', [1576, 1607]], - [[64673, 64673], 'mapped', [1578, 1580]], - [[64674, 64674], 'mapped', [1578, 1581]], - [[64675, 64675], 'mapped', [1578, 1582]], - [[64676, 64676], 'mapped', [1578, 1605]], - [[64677, 64677], 'mapped', [1578, 1607]], - [[64678, 64678], 'mapped', [1579, 1605]], - [[64679, 64679], 'mapped', [1580, 1581]], - [[64680, 64680], 'mapped', [1580, 1605]], - [[64681, 64681], 'mapped', [1581, 1580]], - [[64682, 64682], 'mapped', [1581, 1605]], - [[64683, 64683], 'mapped', [1582, 1580]], - [[64684, 64684], 'mapped', [1582, 1605]], - [[64685, 64685], 'mapped', [1587, 1580]], - [[64686, 64686], 'mapped', [1587, 1581]], - [[64687, 64687], 'mapped', [1587, 1582]], - [[64688, 64688], 'mapped', [1587, 1605]], - [[64689, 64689], 'mapped', [1589, 1581]], - [[64690, 64690], 'mapped', [1589, 1582]], - [[64691, 64691], 'mapped', [1589, 1605]], - [[64692, 64692], 'mapped', [1590, 1580]], - [[64693, 64693], 'mapped', [1590, 1581]], - [[64694, 64694], 'mapped', [1590, 1582]], - [[64695, 64695], 'mapped', [1590, 1605]], - [[64696, 64696], 'mapped', [1591, 1581]], - [[64697, 64697], 'mapped', [1592, 1605]], - [[64698, 64698], 'mapped', [1593, 1580]], - [[64699, 64699], 'mapped', [1593, 1605]], - [[64700, 64700], 'mapped', [1594, 1580]], - [[64701, 64701], 'mapped', [1594, 1605]], - [[64702, 64702], 'mapped', [1601, 1580]], - [[64703, 64703], 'mapped', [1601, 1581]], - [[64704, 64704], 'mapped', [1601, 1582]], - [[64705, 64705], 'mapped', [1601, 1605]], - [[64706, 64706], 'mapped', [1602, 1581]], - [[64707, 64707], 'mapped', [1602, 1605]], - [[64708, 64708], 'mapped', [1603, 1580]], - [[64709, 64709], 'mapped', [1603, 1581]], - [[64710, 64710], 'mapped', [1603, 1582]], - [[64711, 64711], 'mapped', [1603, 1604]], - [[64712, 64712], 'mapped', [1603, 1605]], - [[64713, 64713], 'mapped', [1604, 1580]], - [[64714, 64714], 'mapped', [1604, 1581]], - [[64715, 64715], 'mapped', [1604, 1582]], - [[64716, 64716], 'mapped', [1604, 1605]], - [[64717, 64717], 'mapped', [1604, 1607]], - [[64718, 64718], 'mapped', [1605, 1580]], - [[64719, 64719], 'mapped', [1605, 1581]], - [[64720, 64720], 'mapped', [1605, 1582]], - [[64721, 64721], 'mapped', [1605, 1605]], - [[64722, 64722], 'mapped', [1606, 1580]], - [[64723, 64723], 'mapped', [1606, 1581]], - [[64724, 64724], 'mapped', [1606, 1582]], - [[64725, 64725], 'mapped', [1606, 1605]], - [[64726, 64726], 'mapped', [1606, 1607]], - [[64727, 64727], 'mapped', [1607, 1580]], - [[64728, 64728], 'mapped', [1607, 1605]], - [[64729, 64729], 'mapped', [1607, 1648]], - [[64730, 64730], 'mapped', [1610, 1580]], - [[64731, 64731], 'mapped', [1610, 1581]], - [[64732, 64732], 'mapped', [1610, 1582]], - [[64733, 64733], 'mapped', [1610, 1605]], - [[64734, 64734], 'mapped', [1610, 1607]], - [[64735, 64735], 'mapped', [1574, 1605]], - [[64736, 64736], 'mapped', [1574, 1607]], - [[64737, 64737], 'mapped', [1576, 1605]], - [[64738, 64738], 'mapped', [1576, 1607]], - [[64739, 64739], 'mapped', [1578, 1605]], - [[64740, 64740], 'mapped', [1578, 1607]], - [[64741, 64741], 'mapped', [1579, 1605]], - [[64742, 64742], 'mapped', [1579, 1607]], - [[64743, 64743], 'mapped', [1587, 1605]], - [[64744, 64744], 'mapped', [1587, 1607]], - [[64745, 64745], 'mapped', [1588, 1605]], - [[64746, 64746], 'mapped', [1588, 1607]], - [[64747, 64747], 'mapped', [1603, 1604]], - [[64748, 64748], 'mapped', [1603, 1605]], - [[64749, 64749], 'mapped', [1604, 1605]], - [[64750, 64750], 'mapped', [1606, 1605]], - [[64751, 64751], 'mapped', [1606, 1607]], - [[64752, 64752], 'mapped', [1610, 1605]], - [[64753, 64753], 'mapped', [1610, 1607]], - [[64754, 64754], 'mapped', [1600, 1614, 1617]], - [[64755, 64755], 'mapped', [1600, 1615, 1617]], - [[64756, 64756], 'mapped', [1600, 1616, 1617]], - [[64757, 64757], 'mapped', [1591, 1609]], - [[64758, 64758], 'mapped', [1591, 1610]], - [[64759, 64759], 'mapped', [1593, 1609]], - [[64760, 64760], 'mapped', [1593, 1610]], - [[64761, 64761], 'mapped', [1594, 1609]], - [[64762, 64762], 'mapped', [1594, 1610]], - [[64763, 64763], 'mapped', [1587, 1609]], - [[64764, 64764], 'mapped', [1587, 1610]], - [[64765, 64765], 'mapped', [1588, 1609]], - [[64766, 64766], 'mapped', [1588, 1610]], - [[64767, 64767], 'mapped', [1581, 1609]], - [[64768, 64768], 'mapped', [1581, 1610]], - [[64769, 64769], 'mapped', [1580, 1609]], - [[64770, 64770], 'mapped', [1580, 1610]], - [[64771, 64771], 'mapped', [1582, 1609]], - [[64772, 64772], 'mapped', [1582, 1610]], - [[64773, 64773], 'mapped', [1589, 1609]], - [[64774, 64774], 'mapped', [1589, 1610]], - [[64775, 64775], 'mapped', [1590, 1609]], - [[64776, 64776], 'mapped', [1590, 1610]], - [[64777, 64777], 'mapped', [1588, 1580]], - [[64778, 64778], 'mapped', [1588, 1581]], - [[64779, 64779], 'mapped', [1588, 1582]], - [[64780, 64780], 'mapped', [1588, 1605]], - [[64781, 64781], 'mapped', [1588, 1585]], - [[64782, 64782], 'mapped', [1587, 1585]], - [[64783, 64783], 'mapped', [1589, 1585]], - [[64784, 64784], 'mapped', [1590, 1585]], - [[64785, 64785], 'mapped', [1591, 1609]], - [[64786, 64786], 'mapped', [1591, 1610]], - [[64787, 64787], 'mapped', [1593, 1609]], - [[64788, 64788], 'mapped', [1593, 1610]], - [[64789, 64789], 'mapped', [1594, 1609]], - [[64790, 64790], 'mapped', [1594, 1610]], - [[64791, 64791], 'mapped', [1587, 1609]], - [[64792, 64792], 'mapped', [1587, 1610]], - [[64793, 64793], 'mapped', [1588, 1609]], - [[64794, 64794], 'mapped', [1588, 1610]], - [[64795, 64795], 'mapped', [1581, 1609]], - [[64796, 64796], 'mapped', [1581, 1610]], - [[64797, 64797], 'mapped', [1580, 1609]], - [[64798, 64798], 'mapped', [1580, 1610]], - [[64799, 64799], 'mapped', [1582, 1609]], - [[64800, 64800], 'mapped', [1582, 1610]], - [[64801, 64801], 'mapped', [1589, 1609]], - [[64802, 64802], 'mapped', [1589, 1610]], - [[64803, 64803], 'mapped', [1590, 1609]], - [[64804, 64804], 'mapped', [1590, 1610]], - [[64805, 64805], 'mapped', [1588, 1580]], - [[64806, 64806], 'mapped', [1588, 1581]], - [[64807, 64807], 'mapped', [1588, 1582]], - [[64808, 64808], 'mapped', [1588, 1605]], - [[64809, 64809], 'mapped', [1588, 1585]], - [[64810, 64810], 'mapped', [1587, 1585]], - [[64811, 64811], 'mapped', [1589, 1585]], - [[64812, 64812], 'mapped', [1590, 1585]], - [[64813, 64813], 'mapped', [1588, 1580]], - [[64814, 64814], 'mapped', [1588, 1581]], - [[64815, 64815], 'mapped', [1588, 1582]], - [[64816, 64816], 'mapped', [1588, 1605]], - [[64817, 64817], 'mapped', [1587, 1607]], - [[64818, 64818], 'mapped', [1588, 1607]], - [[64819, 64819], 'mapped', [1591, 1605]], - [[64820, 64820], 'mapped', [1587, 1580]], - [[64821, 64821], 'mapped', [1587, 1581]], - [[64822, 64822], 'mapped', [1587, 1582]], - [[64823, 64823], 'mapped', [1588, 1580]], - [[64824, 64824], 'mapped', [1588, 1581]], - [[64825, 64825], 'mapped', [1588, 1582]], - [[64826, 64826], 'mapped', [1591, 1605]], - [[64827, 64827], 'mapped', [1592, 1605]], - [[64828, 64829], 'mapped', [1575, 1611]], - [[64830, 64831], 'valid', [], 'NV8'], - [[64832, 64847], 'disallowed'], - [[64848, 64848], 'mapped', [1578, 1580, 1605]], - [[64849, 64850], 'mapped', [1578, 1581, 1580]], - [[64851, 64851], 'mapped', [1578, 1581, 1605]], - [[64852, 64852], 'mapped', [1578, 1582, 1605]], - [[64853, 64853], 'mapped', [1578, 1605, 1580]], - [[64854, 64854], 'mapped', [1578, 1605, 1581]], - [[64855, 64855], 'mapped', [1578, 1605, 1582]], - [[64856, 64857], 'mapped', [1580, 1605, 1581]], - [[64858, 64858], 'mapped', [1581, 1605, 1610]], - [[64859, 64859], 'mapped', [1581, 1605, 1609]], - [[64860, 64860], 'mapped', [1587, 1581, 1580]], - [[64861, 64861], 'mapped', [1587, 1580, 1581]], - [[64862, 64862], 'mapped', [1587, 1580, 1609]], - [[64863, 64864], 'mapped', [1587, 1605, 1581]], - [[64865, 64865], 'mapped', [1587, 1605, 1580]], - [[64866, 64867], 'mapped', [1587, 1605, 1605]], - [[64868, 64869], 'mapped', [1589, 1581, 1581]], - [[64870, 64870], 'mapped', [1589, 1605, 1605]], - [[64871, 64872], 'mapped', [1588, 1581, 1605]], - [[64873, 64873], 'mapped', [1588, 1580, 1610]], - [[64874, 64875], 'mapped', [1588, 1605, 1582]], - [[64876, 64877], 'mapped', [1588, 1605, 1605]], - [[64878, 64878], 'mapped', [1590, 1581, 1609]], - [[64879, 64880], 'mapped', [1590, 1582, 1605]], - [[64881, 64882], 'mapped', [1591, 1605, 1581]], - [[64883, 64883], 'mapped', [1591, 1605, 1605]], - [[64884, 64884], 'mapped', [1591, 1605, 1610]], - [[64885, 64885], 'mapped', [1593, 1580, 1605]], - [[64886, 64887], 'mapped', [1593, 1605, 1605]], - [[64888, 64888], 'mapped', [1593, 1605, 1609]], - [[64889, 64889], 'mapped', [1594, 1605, 1605]], - [[64890, 64890], 'mapped', [1594, 1605, 1610]], - [[64891, 64891], 'mapped', [1594, 1605, 1609]], - [[64892, 64893], 'mapped', [1601, 1582, 1605]], - [[64894, 64894], 'mapped', [1602, 1605, 1581]], - [[64895, 64895], 'mapped', [1602, 1605, 1605]], - [[64896, 64896], 'mapped', [1604, 1581, 1605]], - [[64897, 64897], 'mapped', [1604, 1581, 1610]], - [[64898, 64898], 'mapped', [1604, 1581, 1609]], - [[64899, 64900], 'mapped', [1604, 1580, 1580]], - [[64901, 64902], 'mapped', [1604, 1582, 1605]], - [[64903, 64904], 'mapped', [1604, 1605, 1581]], - [[64905, 64905], 'mapped', [1605, 1581, 1580]], - [[64906, 64906], 'mapped', [1605, 1581, 1605]], - [[64907, 64907], 'mapped', [1605, 1581, 1610]], - [[64908, 64908], 'mapped', [1605, 1580, 1581]], - [[64909, 64909], 'mapped', [1605, 1580, 1605]], - [[64910, 64910], 'mapped', [1605, 1582, 1580]], - [[64911, 64911], 'mapped', [1605, 1582, 1605]], - [[64912, 64913], 'disallowed'], - [[64914, 64914], 'mapped', [1605, 1580, 1582]], - [[64915, 64915], 'mapped', [1607, 1605, 1580]], - [[64916, 64916], 'mapped', [1607, 1605, 1605]], - [[64917, 64917], 'mapped', [1606, 1581, 1605]], - [[64918, 64918], 'mapped', [1606, 1581, 1609]], - [[64919, 64920], 'mapped', [1606, 1580, 1605]], - [[64921, 64921], 'mapped', [1606, 1580, 1609]], - [[64922, 64922], 'mapped', [1606, 1605, 1610]], - [[64923, 64923], 'mapped', [1606, 1605, 1609]], - [[64924, 64925], 'mapped', [1610, 1605, 1605]], - [[64926, 64926], 'mapped', [1576, 1582, 1610]], - [[64927, 64927], 'mapped', [1578, 1580, 1610]], - [[64928, 64928], 'mapped', [1578, 1580, 1609]], - [[64929, 64929], 'mapped', [1578, 1582, 1610]], - [[64930, 64930], 'mapped', [1578, 1582, 1609]], - [[64931, 64931], 'mapped', [1578, 1605, 1610]], - [[64932, 64932], 'mapped', [1578, 1605, 1609]], - [[64933, 64933], 'mapped', [1580, 1605, 1610]], - [[64934, 64934], 'mapped', [1580, 1581, 1609]], - [[64935, 64935], 'mapped', [1580, 1605, 1609]], - [[64936, 64936], 'mapped', [1587, 1582, 1609]], - [[64937, 64937], 'mapped', [1589, 1581, 1610]], - [[64938, 64938], 'mapped', [1588, 1581, 1610]], - [[64939, 64939], 'mapped', [1590, 1581, 1610]], - [[64940, 64940], 'mapped', [1604, 1580, 1610]], - [[64941, 64941], 'mapped', [1604, 1605, 1610]], - [[64942, 64942], 'mapped', [1610, 1581, 1610]], - [[64943, 64943], 'mapped', [1610, 1580, 1610]], - [[64944, 64944], 'mapped', [1610, 1605, 1610]], - [[64945, 64945], 'mapped', [1605, 1605, 1610]], - [[64946, 64946], 'mapped', [1602, 1605, 1610]], - [[64947, 64947], 'mapped', [1606, 1581, 1610]], - [[64948, 64948], 'mapped', [1602, 1605, 1581]], - [[64949, 64949], 'mapped', [1604, 1581, 1605]], - [[64950, 64950], 'mapped', [1593, 1605, 1610]], - [[64951, 64951], 'mapped', [1603, 1605, 1610]], - [[64952, 64952], 'mapped', [1606, 1580, 1581]], - [[64953, 64953], 'mapped', [1605, 1582, 1610]], - [[64954, 64954], 'mapped', [1604, 1580, 1605]], - [[64955, 64955], 'mapped', [1603, 1605, 1605]], - [[64956, 64956], 'mapped', [1604, 1580, 1605]], - [[64957, 64957], 'mapped', [1606, 1580, 1581]], - [[64958, 64958], 'mapped', [1580, 1581, 1610]], - [[64959, 64959], 'mapped', [1581, 1580, 1610]], - [[64960, 64960], 'mapped', [1605, 1580, 1610]], - [[64961, 64961], 'mapped', [1601, 1605, 1610]], - [[64962, 64962], 'mapped', [1576, 1581, 1610]], - [[64963, 64963], 'mapped', [1603, 1605, 1605]], - [[64964, 64964], 'mapped', [1593, 1580, 1605]], - [[64965, 64965], 'mapped', [1589, 1605, 1605]], - [[64966, 64966], 'mapped', [1587, 1582, 1610]], - [[64967, 64967], 'mapped', [1606, 1580, 1610]], - [[64968, 64975], 'disallowed'], - [[64976, 65007], 'disallowed'], - [[65008, 65008], 'mapped', [1589, 1604, 1746]], - [[65009, 65009], 'mapped', [1602, 1604, 1746]], - [[65010, 65010], 'mapped', [1575, 1604, 1604, 1607]], - [[65011, 65011], 'mapped', [1575, 1603, 1576, 1585]], - [[65012, 65012], 'mapped', [1605, 1581, 1605, 1583]], - [[65013, 65013], 'mapped', [1589, 1604, 1593, 1605]], - [[65014, 65014], 'mapped', [1585, 1587, 1608, 1604]], - [[65015, 65015], 'mapped', [1593, 1604, 1610, 1607]], - [[65016, 65016], 'mapped', [1608, 1587, 1604, 1605]], - [[65017, 65017], 'mapped', [1589, 1604, 1609]], - [ - [65018, 65018], - 'disallowed_STD3_mapped', - [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605] - ], - [[65019, 65019], 'disallowed_STD3_mapped', [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], - [[65020, 65020], 'mapped', [1585, 1740, 1575, 1604]], - [[65021, 65021], 'valid', [], 'NV8'], - [[65022, 65023], 'disallowed'], - [[65024, 65039], 'ignored'], - [[65040, 65040], 'disallowed_STD3_mapped', [44]], - [[65041, 65041], 'mapped', [12289]], - [[65042, 65042], 'disallowed'], - [[65043, 65043], 'disallowed_STD3_mapped', [58]], - [[65044, 65044], 'disallowed_STD3_mapped', [59]], - [[65045, 65045], 'disallowed_STD3_mapped', [33]], - [[65046, 65046], 'disallowed_STD3_mapped', [63]], - [[65047, 65047], 'mapped', [12310]], - [[65048, 65048], 'mapped', [12311]], - [[65049, 65049], 'disallowed'], - [[65050, 65055], 'disallowed'], - [[65056, 65059], 'valid'], - [[65060, 65062], 'valid'], - [[65063, 65069], 'valid'], - [[65070, 65071], 'valid'], - [[65072, 65072], 'disallowed'], - [[65073, 65073], 'mapped', [8212]], - [[65074, 65074], 'mapped', [8211]], - [[65075, 65076], 'disallowed_STD3_mapped', [95]], - [[65077, 65077], 'disallowed_STD3_mapped', [40]], - [[65078, 65078], 'disallowed_STD3_mapped', [41]], - [[65079, 65079], 'disallowed_STD3_mapped', [123]], - [[65080, 65080], 'disallowed_STD3_mapped', [125]], - [[65081, 65081], 'mapped', [12308]], - [[65082, 65082], 'mapped', [12309]], - [[65083, 65083], 'mapped', [12304]], - [[65084, 65084], 'mapped', [12305]], - [[65085, 65085], 'mapped', [12298]], - [[65086, 65086], 'mapped', [12299]], - [[65087, 65087], 'mapped', [12296]], - [[65088, 65088], 'mapped', [12297]], - [[65089, 65089], 'mapped', [12300]], - [[65090, 65090], 'mapped', [12301]], - [[65091, 65091], 'mapped', [12302]], - [[65092, 65092], 'mapped', [12303]], - [[65093, 65094], 'valid', [], 'NV8'], - [[65095, 65095], 'disallowed_STD3_mapped', [91]], - [[65096, 65096], 'disallowed_STD3_mapped', [93]], - [[65097, 65100], 'disallowed_STD3_mapped', [32, 773]], - [[65101, 65103], 'disallowed_STD3_mapped', [95]], - [[65104, 65104], 'disallowed_STD3_mapped', [44]], - [[65105, 65105], 'mapped', [12289]], - [[65106, 65106], 'disallowed'], - [[65107, 65107], 'disallowed'], - [[65108, 65108], 'disallowed_STD3_mapped', [59]], - [[65109, 65109], 'disallowed_STD3_mapped', [58]], - [[65110, 65110], 'disallowed_STD3_mapped', [63]], - [[65111, 65111], 'disallowed_STD3_mapped', [33]], - [[65112, 65112], 'mapped', [8212]], - [[65113, 65113], 'disallowed_STD3_mapped', [40]], - [[65114, 65114], 'disallowed_STD3_mapped', [41]], - [[65115, 65115], 'disallowed_STD3_mapped', [123]], - [[65116, 65116], 'disallowed_STD3_mapped', [125]], - [[65117, 65117], 'mapped', [12308]], - [[65118, 65118], 'mapped', [12309]], - [[65119, 65119], 'disallowed_STD3_mapped', [35]], - [[65120, 65120], 'disallowed_STD3_mapped', [38]], - [[65121, 65121], 'disallowed_STD3_mapped', [42]], - [[65122, 65122], 'disallowed_STD3_mapped', [43]], - [[65123, 65123], 'mapped', [45]], - [[65124, 65124], 'disallowed_STD3_mapped', [60]], - [[65125, 65125], 'disallowed_STD3_mapped', [62]], - [[65126, 65126], 'disallowed_STD3_mapped', [61]], - [[65127, 65127], 'disallowed'], - [[65128, 65128], 'disallowed_STD3_mapped', [92]], - [[65129, 65129], 'disallowed_STD3_mapped', [36]], - [[65130, 65130], 'disallowed_STD3_mapped', [37]], - [[65131, 65131], 'disallowed_STD3_mapped', [64]], - [[65132, 65135], 'disallowed'], - [[65136, 65136], 'disallowed_STD3_mapped', [32, 1611]], - [[65137, 65137], 'mapped', [1600, 1611]], - [[65138, 65138], 'disallowed_STD3_mapped', [32, 1612]], - [[65139, 65139], 'valid'], - [[65140, 65140], 'disallowed_STD3_mapped', [32, 1613]], - [[65141, 65141], 'disallowed'], - [[65142, 65142], 'disallowed_STD3_mapped', [32, 1614]], - [[65143, 65143], 'mapped', [1600, 1614]], - [[65144, 65144], 'disallowed_STD3_mapped', [32, 1615]], - [[65145, 65145], 'mapped', [1600, 1615]], - [[65146, 65146], 'disallowed_STD3_mapped', [32, 1616]], - [[65147, 65147], 'mapped', [1600, 1616]], - [[65148, 65148], 'disallowed_STD3_mapped', [32, 1617]], - [[65149, 65149], 'mapped', [1600, 1617]], - [[65150, 65150], 'disallowed_STD3_mapped', [32, 1618]], - [[65151, 65151], 'mapped', [1600, 1618]], - [[65152, 65152], 'mapped', [1569]], - [[65153, 65154], 'mapped', [1570]], - [[65155, 65156], 'mapped', [1571]], - [[65157, 65158], 'mapped', [1572]], - [[65159, 65160], 'mapped', [1573]], - [[65161, 65164], 'mapped', [1574]], - [[65165, 65166], 'mapped', [1575]], - [[65167, 65170], 'mapped', [1576]], - [[65171, 65172], 'mapped', [1577]], - [[65173, 65176], 'mapped', [1578]], - [[65177, 65180], 'mapped', [1579]], - [[65181, 65184], 'mapped', [1580]], - [[65185, 65188], 'mapped', [1581]], - [[65189, 65192], 'mapped', [1582]], - [[65193, 65194], 'mapped', [1583]], - [[65195, 65196], 'mapped', [1584]], - [[65197, 65198], 'mapped', [1585]], - [[65199, 65200], 'mapped', [1586]], - [[65201, 65204], 'mapped', [1587]], - [[65205, 65208], 'mapped', [1588]], - [[65209, 65212], 'mapped', [1589]], - [[65213, 65216], 'mapped', [1590]], - [[65217, 65220], 'mapped', [1591]], - [[65221, 65224], 'mapped', [1592]], - [[65225, 65228], 'mapped', [1593]], - [[65229, 65232], 'mapped', [1594]], - [[65233, 65236], 'mapped', [1601]], - [[65237, 65240], 'mapped', [1602]], - [[65241, 65244], 'mapped', [1603]], - [[65245, 65248], 'mapped', [1604]], - [[65249, 65252], 'mapped', [1605]], - [[65253, 65256], 'mapped', [1606]], - [[65257, 65260], 'mapped', [1607]], - [[65261, 65262], 'mapped', [1608]], - [[65263, 65264], 'mapped', [1609]], - [[65265, 65268], 'mapped', [1610]], - [[65269, 65270], 'mapped', [1604, 1570]], - [[65271, 65272], 'mapped', [1604, 1571]], - [[65273, 65274], 'mapped', [1604, 1573]], - [[65275, 65276], 'mapped', [1604, 1575]], - [[65277, 65278], 'disallowed'], - [[65279, 65279], 'ignored'], - [[65280, 65280], 'disallowed'], - [[65281, 65281], 'disallowed_STD3_mapped', [33]], - [[65282, 65282], 'disallowed_STD3_mapped', [34]], - [[65283, 65283], 'disallowed_STD3_mapped', [35]], - [[65284, 65284], 'disallowed_STD3_mapped', [36]], - [[65285, 65285], 'disallowed_STD3_mapped', [37]], - [[65286, 65286], 'disallowed_STD3_mapped', [38]], - [[65287, 65287], 'disallowed_STD3_mapped', [39]], - [[65288, 65288], 'disallowed_STD3_mapped', [40]], - [[65289, 65289], 'disallowed_STD3_mapped', [41]], - [[65290, 65290], 'disallowed_STD3_mapped', [42]], - [[65291, 65291], 'disallowed_STD3_mapped', [43]], - [[65292, 65292], 'disallowed_STD3_mapped', [44]], - [[65293, 65293], 'mapped', [45]], - [[65294, 65294], 'mapped', [46]], - [[65295, 65295], 'disallowed_STD3_mapped', [47]], - [[65296, 65296], 'mapped', [48]], - [[65297, 65297], 'mapped', [49]], - [[65298, 65298], 'mapped', [50]], - [[65299, 65299], 'mapped', [51]], - [[65300, 65300], 'mapped', [52]], - [[65301, 65301], 'mapped', [53]], - [[65302, 65302], 'mapped', [54]], - [[65303, 65303], 'mapped', [55]], - [[65304, 65304], 'mapped', [56]], - [[65305, 65305], 'mapped', [57]], - [[65306, 65306], 'disallowed_STD3_mapped', [58]], - [[65307, 65307], 'disallowed_STD3_mapped', [59]], - [[65308, 65308], 'disallowed_STD3_mapped', [60]], - [[65309, 65309], 'disallowed_STD3_mapped', [61]], - [[65310, 65310], 'disallowed_STD3_mapped', [62]], - [[65311, 65311], 'disallowed_STD3_mapped', [63]], - [[65312, 65312], 'disallowed_STD3_mapped', [64]], - [[65313, 65313], 'mapped', [97]], - [[65314, 65314], 'mapped', [98]], - [[65315, 65315], 'mapped', [99]], - [[65316, 65316], 'mapped', [100]], - [[65317, 65317], 'mapped', [101]], - [[65318, 65318], 'mapped', [102]], - [[65319, 65319], 'mapped', [103]], - [[65320, 65320], 'mapped', [104]], - [[65321, 65321], 'mapped', [105]], - [[65322, 65322], 'mapped', [106]], - [[65323, 65323], 'mapped', [107]], - [[65324, 65324], 'mapped', [108]], - [[65325, 65325], 'mapped', [109]], - [[65326, 65326], 'mapped', [110]], - [[65327, 65327], 'mapped', [111]], - [[65328, 65328], 'mapped', [112]], - [[65329, 65329], 'mapped', [113]], - [[65330, 65330], 'mapped', [114]], - [[65331, 65331], 'mapped', [115]], - [[65332, 65332], 'mapped', [116]], - [[65333, 65333], 'mapped', [117]], - [[65334, 65334], 'mapped', [118]], - [[65335, 65335], 'mapped', [119]], - [[65336, 65336], 'mapped', [120]], - [[65337, 65337], 'mapped', [121]], - [[65338, 65338], 'mapped', [122]], - [[65339, 65339], 'disallowed_STD3_mapped', [91]], - [[65340, 65340], 'disallowed_STD3_mapped', [92]], - [[65341, 65341], 'disallowed_STD3_mapped', [93]], - [[65342, 65342], 'disallowed_STD3_mapped', [94]], - [[65343, 65343], 'disallowed_STD3_mapped', [95]], - [[65344, 65344], 'disallowed_STD3_mapped', [96]], - [[65345, 65345], 'mapped', [97]], - [[65346, 65346], 'mapped', [98]], - [[65347, 65347], 'mapped', [99]], - [[65348, 65348], 'mapped', [100]], - [[65349, 65349], 'mapped', [101]], - [[65350, 65350], 'mapped', [102]], - [[65351, 65351], 'mapped', [103]], - [[65352, 65352], 'mapped', [104]], - [[65353, 65353], 'mapped', [105]], - [[65354, 65354], 'mapped', [106]], - [[65355, 65355], 'mapped', [107]], - [[65356, 65356], 'mapped', [108]], - [[65357, 65357], 'mapped', [109]], - [[65358, 65358], 'mapped', [110]], - [[65359, 65359], 'mapped', [111]], - [[65360, 65360], 'mapped', [112]], - [[65361, 65361], 'mapped', [113]], - [[65362, 65362], 'mapped', [114]], - [[65363, 65363], 'mapped', [115]], - [[65364, 65364], 'mapped', [116]], - [[65365, 65365], 'mapped', [117]], - [[65366, 65366], 'mapped', [118]], - [[65367, 65367], 'mapped', [119]], - [[65368, 65368], 'mapped', [120]], - [[65369, 65369], 'mapped', [121]], - [[65370, 65370], 'mapped', [122]], - [[65371, 65371], 'disallowed_STD3_mapped', [123]], - [[65372, 65372], 'disallowed_STD3_mapped', [124]], - [[65373, 65373], 'disallowed_STD3_mapped', [125]], - [[65374, 65374], 'disallowed_STD3_mapped', [126]], - [[65375, 65375], 'mapped', [10629]], - [[65376, 65376], 'mapped', [10630]], - [[65377, 65377], 'mapped', [46]], - [[65378, 65378], 'mapped', [12300]], - [[65379, 65379], 'mapped', [12301]], - [[65380, 65380], 'mapped', [12289]], - [[65381, 65381], 'mapped', [12539]], - [[65382, 65382], 'mapped', [12530]], - [[65383, 65383], 'mapped', [12449]], - [[65384, 65384], 'mapped', [12451]], - [[65385, 65385], 'mapped', [12453]], - [[65386, 65386], 'mapped', [12455]], - [[65387, 65387], 'mapped', [12457]], - [[65388, 65388], 'mapped', [12515]], - [[65389, 65389], 'mapped', [12517]], - [[65390, 65390], 'mapped', [12519]], - [[65391, 65391], 'mapped', [12483]], - [[65392, 65392], 'mapped', [12540]], - [[65393, 65393], 'mapped', [12450]], - [[65394, 65394], 'mapped', [12452]], - [[65395, 65395], 'mapped', [12454]], - [[65396, 65396], 'mapped', [12456]], - [[65397, 65397], 'mapped', [12458]], - [[65398, 65398], 'mapped', [12459]], - [[65399, 65399], 'mapped', [12461]], - [[65400, 65400], 'mapped', [12463]], - [[65401, 65401], 'mapped', [12465]], - [[65402, 65402], 'mapped', [12467]], - [[65403, 65403], 'mapped', [12469]], - [[65404, 65404], 'mapped', [12471]], - [[65405, 65405], 'mapped', [12473]], - [[65406, 65406], 'mapped', [12475]], - [[65407, 65407], 'mapped', [12477]], - [[65408, 65408], 'mapped', [12479]], - [[65409, 65409], 'mapped', [12481]], - [[65410, 65410], 'mapped', [12484]], - [[65411, 65411], 'mapped', [12486]], - [[65412, 65412], 'mapped', [12488]], - [[65413, 65413], 'mapped', [12490]], - [[65414, 65414], 'mapped', [12491]], - [[65415, 65415], 'mapped', [12492]], - [[65416, 65416], 'mapped', [12493]], - [[65417, 65417], 'mapped', [12494]], - [[65418, 65418], 'mapped', [12495]], - [[65419, 65419], 'mapped', [12498]], - [[65420, 65420], 'mapped', [12501]], - [[65421, 65421], 'mapped', [12504]], - [[65422, 65422], 'mapped', [12507]], - [[65423, 65423], 'mapped', [12510]], - [[65424, 65424], 'mapped', [12511]], - [[65425, 65425], 'mapped', [12512]], - [[65426, 65426], 'mapped', [12513]], - [[65427, 65427], 'mapped', [12514]], - [[65428, 65428], 'mapped', [12516]], - [[65429, 65429], 'mapped', [12518]], - [[65430, 65430], 'mapped', [12520]], - [[65431, 65431], 'mapped', [12521]], - [[65432, 65432], 'mapped', [12522]], - [[65433, 65433], 'mapped', [12523]], - [[65434, 65434], 'mapped', [12524]], - [[65435, 65435], 'mapped', [12525]], - [[65436, 65436], 'mapped', [12527]], - [[65437, 65437], 'mapped', [12531]], - [[65438, 65438], 'mapped', [12441]], - [[65439, 65439], 'mapped', [12442]], - [[65440, 65440], 'disallowed'], - [[65441, 65441], 'mapped', [4352]], - [[65442, 65442], 'mapped', [4353]], - [[65443, 65443], 'mapped', [4522]], - [[65444, 65444], 'mapped', [4354]], - [[65445, 65445], 'mapped', [4524]], - [[65446, 65446], 'mapped', [4525]], - [[65447, 65447], 'mapped', [4355]], - [[65448, 65448], 'mapped', [4356]], - [[65449, 65449], 'mapped', [4357]], - [[65450, 65450], 'mapped', [4528]], - [[65451, 65451], 'mapped', [4529]], - [[65452, 65452], 'mapped', [4530]], - [[65453, 65453], 'mapped', [4531]], - [[65454, 65454], 'mapped', [4532]], - [[65455, 65455], 'mapped', [4533]], - [[65456, 65456], 'mapped', [4378]], - [[65457, 65457], 'mapped', [4358]], - [[65458, 65458], 'mapped', [4359]], - [[65459, 65459], 'mapped', [4360]], - [[65460, 65460], 'mapped', [4385]], - [[65461, 65461], 'mapped', [4361]], - [[65462, 65462], 'mapped', [4362]], - [[65463, 65463], 'mapped', [4363]], - [[65464, 65464], 'mapped', [4364]], - [[65465, 65465], 'mapped', [4365]], - [[65466, 65466], 'mapped', [4366]], - [[65467, 65467], 'mapped', [4367]], - [[65468, 65468], 'mapped', [4368]], - [[65469, 65469], 'mapped', [4369]], - [[65470, 65470], 'mapped', [4370]], - [[65471, 65473], 'disallowed'], - [[65474, 65474], 'mapped', [4449]], - [[65475, 65475], 'mapped', [4450]], - [[65476, 65476], 'mapped', [4451]], - [[65477, 65477], 'mapped', [4452]], - [[65478, 65478], 'mapped', [4453]], - [[65479, 65479], 'mapped', [4454]], - [[65480, 65481], 'disallowed'], - [[65482, 65482], 'mapped', [4455]], - [[65483, 65483], 'mapped', [4456]], - [[65484, 65484], 'mapped', [4457]], - [[65485, 65485], 'mapped', [4458]], - [[65486, 65486], 'mapped', [4459]], - [[65487, 65487], 'mapped', [4460]], - [[65488, 65489], 'disallowed'], - [[65490, 65490], 'mapped', [4461]], - [[65491, 65491], 'mapped', [4462]], - [[65492, 65492], 'mapped', [4463]], - [[65493, 65493], 'mapped', [4464]], - [[65494, 65494], 'mapped', [4465]], - [[65495, 65495], 'mapped', [4466]], - [[65496, 65497], 'disallowed'], - [[65498, 65498], 'mapped', [4467]], - [[65499, 65499], 'mapped', [4468]], - [[65500, 65500], 'mapped', [4469]], - [[65501, 65503], 'disallowed'], - [[65504, 65504], 'mapped', [162]], - [[65505, 65505], 'mapped', [163]], - [[65506, 65506], 'mapped', [172]], - [[65507, 65507], 'disallowed_STD3_mapped', [32, 772]], - [[65508, 65508], 'mapped', [166]], - [[65509, 65509], 'mapped', [165]], - [[65510, 65510], 'mapped', [8361]], - [[65511, 65511], 'disallowed'], - [[65512, 65512], 'mapped', [9474]], - [[65513, 65513], 'mapped', [8592]], - [[65514, 65514], 'mapped', [8593]], - [[65515, 65515], 'mapped', [8594]], - [[65516, 65516], 'mapped', [8595]], - [[65517, 65517], 'mapped', [9632]], - [[65518, 65518], 'mapped', [9675]], - [[65519, 65528], 'disallowed'], - [[65529, 65531], 'disallowed'], - [[65532, 65532], 'disallowed'], - [[65533, 65533], 'disallowed'], - [[65534, 65535], 'disallowed'], - [[65536, 65547], 'valid'], - [[65548, 65548], 'disallowed'], - [[65549, 65574], 'valid'], - [[65575, 65575], 'disallowed'], - [[65576, 65594], 'valid'], - [[65595, 65595], 'disallowed'], - [[65596, 65597], 'valid'], - [[65598, 65598], 'disallowed'], - [[65599, 65613], 'valid'], - [[65614, 65615], 'disallowed'], - [[65616, 65629], 'valid'], - [[65630, 65663], 'disallowed'], - [[65664, 65786], 'valid'], - [[65787, 65791], 'disallowed'], - [[65792, 65794], 'valid', [], 'NV8'], - [[65795, 65798], 'disallowed'], - [[65799, 65843], 'valid', [], 'NV8'], - [[65844, 65846], 'disallowed'], - [[65847, 65855], 'valid', [], 'NV8'], - [[65856, 65930], 'valid', [], 'NV8'], - [[65931, 65932], 'valid', [], 'NV8'], - [[65933, 65935], 'disallowed'], - [[65936, 65947], 'valid', [], 'NV8'], - [[65948, 65951], 'disallowed'], - [[65952, 65952], 'valid', [], 'NV8'], - [[65953, 65999], 'disallowed'], - [[66e3, 66044], 'valid', [], 'NV8'], - [[66045, 66045], 'valid'], - [[66046, 66175], 'disallowed'], - [[66176, 66204], 'valid'], - [[66205, 66207], 'disallowed'], - [[66208, 66256], 'valid'], - [[66257, 66271], 'disallowed'], - [[66272, 66272], 'valid'], - [[66273, 66299], 'valid', [], 'NV8'], - [[66300, 66303], 'disallowed'], - [[66304, 66334], 'valid'], - [[66335, 66335], 'valid'], - [[66336, 66339], 'valid', [], 'NV8'], - [[66340, 66351], 'disallowed'], - [[66352, 66368], 'valid'], - [[66369, 66369], 'valid', [], 'NV8'], - [[66370, 66377], 'valid'], - [[66378, 66378], 'valid', [], 'NV8'], - [[66379, 66383], 'disallowed'], - [[66384, 66426], 'valid'], - [[66427, 66431], 'disallowed'], - [[66432, 66461], 'valid'], - [[66462, 66462], 'disallowed'], - [[66463, 66463], 'valid', [], 'NV8'], - [[66464, 66499], 'valid'], - [[66500, 66503], 'disallowed'], - [[66504, 66511], 'valid'], - [[66512, 66517], 'valid', [], 'NV8'], - [[66518, 66559], 'disallowed'], - [[66560, 66560], 'mapped', [66600]], - [[66561, 66561], 'mapped', [66601]], - [[66562, 66562], 'mapped', [66602]], - [[66563, 66563], 'mapped', [66603]], - [[66564, 66564], 'mapped', [66604]], - [[66565, 66565], 'mapped', [66605]], - [[66566, 66566], 'mapped', [66606]], - [[66567, 66567], 'mapped', [66607]], - [[66568, 66568], 'mapped', [66608]], - [[66569, 66569], 'mapped', [66609]], - [[66570, 66570], 'mapped', [66610]], - [[66571, 66571], 'mapped', [66611]], - [[66572, 66572], 'mapped', [66612]], - [[66573, 66573], 'mapped', [66613]], - [[66574, 66574], 'mapped', [66614]], - [[66575, 66575], 'mapped', [66615]], - [[66576, 66576], 'mapped', [66616]], - [[66577, 66577], 'mapped', [66617]], - [[66578, 66578], 'mapped', [66618]], - [[66579, 66579], 'mapped', [66619]], - [[66580, 66580], 'mapped', [66620]], - [[66581, 66581], 'mapped', [66621]], - [[66582, 66582], 'mapped', [66622]], - [[66583, 66583], 'mapped', [66623]], - [[66584, 66584], 'mapped', [66624]], - [[66585, 66585], 'mapped', [66625]], - [[66586, 66586], 'mapped', [66626]], - [[66587, 66587], 'mapped', [66627]], - [[66588, 66588], 'mapped', [66628]], - [[66589, 66589], 'mapped', [66629]], - [[66590, 66590], 'mapped', [66630]], - [[66591, 66591], 'mapped', [66631]], - [[66592, 66592], 'mapped', [66632]], - [[66593, 66593], 'mapped', [66633]], - [[66594, 66594], 'mapped', [66634]], - [[66595, 66595], 'mapped', [66635]], - [[66596, 66596], 'mapped', [66636]], - [[66597, 66597], 'mapped', [66637]], - [[66598, 66598], 'mapped', [66638]], - [[66599, 66599], 'mapped', [66639]], - [[66600, 66637], 'valid'], - [[66638, 66717], 'valid'], - [[66718, 66719], 'disallowed'], - [[66720, 66729], 'valid'], - [[66730, 66815], 'disallowed'], - [[66816, 66855], 'valid'], - [[66856, 66863], 'disallowed'], - [[66864, 66915], 'valid'], - [[66916, 66926], 'disallowed'], - [[66927, 66927], 'valid', [], 'NV8'], - [[66928, 67071], 'disallowed'], - [[67072, 67382], 'valid'], - [[67383, 67391], 'disallowed'], - [[67392, 67413], 'valid'], - [[67414, 67423], 'disallowed'], - [[67424, 67431], 'valid'], - [[67432, 67583], 'disallowed'], - [[67584, 67589], 'valid'], - [[67590, 67591], 'disallowed'], - [[67592, 67592], 'valid'], - [[67593, 67593], 'disallowed'], - [[67594, 67637], 'valid'], - [[67638, 67638], 'disallowed'], - [[67639, 67640], 'valid'], - [[67641, 67643], 'disallowed'], - [[67644, 67644], 'valid'], - [[67645, 67646], 'disallowed'], - [[67647, 67647], 'valid'], - [[67648, 67669], 'valid'], - [[67670, 67670], 'disallowed'], - [[67671, 67679], 'valid', [], 'NV8'], - [[67680, 67702], 'valid'], - [[67703, 67711], 'valid', [], 'NV8'], - [[67712, 67742], 'valid'], - [[67743, 67750], 'disallowed'], - [[67751, 67759], 'valid', [], 'NV8'], - [[67760, 67807], 'disallowed'], - [[67808, 67826], 'valid'], - [[67827, 67827], 'disallowed'], - [[67828, 67829], 'valid'], - [[67830, 67834], 'disallowed'], - [[67835, 67839], 'valid', [], 'NV8'], - [[67840, 67861], 'valid'], - [[67862, 67865], 'valid', [], 'NV8'], - [[67866, 67867], 'valid', [], 'NV8'], - [[67868, 67870], 'disallowed'], - [[67871, 67871], 'valid', [], 'NV8'], - [[67872, 67897], 'valid'], - [[67898, 67902], 'disallowed'], - [[67903, 67903], 'valid', [], 'NV8'], - [[67904, 67967], 'disallowed'], - [[67968, 68023], 'valid'], - [[68024, 68027], 'disallowed'], - [[68028, 68029], 'valid', [], 'NV8'], - [[68030, 68031], 'valid'], - [[68032, 68047], 'valid', [], 'NV8'], - [[68048, 68049], 'disallowed'], - [[68050, 68095], 'valid', [], 'NV8'], - [[68096, 68099], 'valid'], - [[68100, 68100], 'disallowed'], - [[68101, 68102], 'valid'], - [[68103, 68107], 'disallowed'], - [[68108, 68115], 'valid'], - [[68116, 68116], 'disallowed'], - [[68117, 68119], 'valid'], - [[68120, 68120], 'disallowed'], - [[68121, 68147], 'valid'], - [[68148, 68151], 'disallowed'], - [[68152, 68154], 'valid'], - [[68155, 68158], 'disallowed'], - [[68159, 68159], 'valid'], - [[68160, 68167], 'valid', [], 'NV8'], - [[68168, 68175], 'disallowed'], - [[68176, 68184], 'valid', [], 'NV8'], - [[68185, 68191], 'disallowed'], - [[68192, 68220], 'valid'], - [[68221, 68223], 'valid', [], 'NV8'], - [[68224, 68252], 'valid'], - [[68253, 68255], 'valid', [], 'NV8'], - [[68256, 68287], 'disallowed'], - [[68288, 68295], 'valid'], - [[68296, 68296], 'valid', [], 'NV8'], - [[68297, 68326], 'valid'], - [[68327, 68330], 'disallowed'], - [[68331, 68342], 'valid', [], 'NV8'], - [[68343, 68351], 'disallowed'], - [[68352, 68405], 'valid'], - [[68406, 68408], 'disallowed'], - [[68409, 68415], 'valid', [], 'NV8'], - [[68416, 68437], 'valid'], - [[68438, 68439], 'disallowed'], - [[68440, 68447], 'valid', [], 'NV8'], - [[68448, 68466], 'valid'], - [[68467, 68471], 'disallowed'], - [[68472, 68479], 'valid', [], 'NV8'], - [[68480, 68497], 'valid'], - [[68498, 68504], 'disallowed'], - [[68505, 68508], 'valid', [], 'NV8'], - [[68509, 68520], 'disallowed'], - [[68521, 68527], 'valid', [], 'NV8'], - [[68528, 68607], 'disallowed'], - [[68608, 68680], 'valid'], - [[68681, 68735], 'disallowed'], - [[68736, 68736], 'mapped', [68800]], - [[68737, 68737], 'mapped', [68801]], - [[68738, 68738], 'mapped', [68802]], - [[68739, 68739], 'mapped', [68803]], - [[68740, 68740], 'mapped', [68804]], - [[68741, 68741], 'mapped', [68805]], - [[68742, 68742], 'mapped', [68806]], - [[68743, 68743], 'mapped', [68807]], - [[68744, 68744], 'mapped', [68808]], - [[68745, 68745], 'mapped', [68809]], - [[68746, 68746], 'mapped', [68810]], - [[68747, 68747], 'mapped', [68811]], - [[68748, 68748], 'mapped', [68812]], - [[68749, 68749], 'mapped', [68813]], - [[68750, 68750], 'mapped', [68814]], - [[68751, 68751], 'mapped', [68815]], - [[68752, 68752], 'mapped', [68816]], - [[68753, 68753], 'mapped', [68817]], - [[68754, 68754], 'mapped', [68818]], - [[68755, 68755], 'mapped', [68819]], - [[68756, 68756], 'mapped', [68820]], - [[68757, 68757], 'mapped', [68821]], - [[68758, 68758], 'mapped', [68822]], - [[68759, 68759], 'mapped', [68823]], - [[68760, 68760], 'mapped', [68824]], - [[68761, 68761], 'mapped', [68825]], - [[68762, 68762], 'mapped', [68826]], - [[68763, 68763], 'mapped', [68827]], - [[68764, 68764], 'mapped', [68828]], - [[68765, 68765], 'mapped', [68829]], - [[68766, 68766], 'mapped', [68830]], - [[68767, 68767], 'mapped', [68831]], - [[68768, 68768], 'mapped', [68832]], - [[68769, 68769], 'mapped', [68833]], - [[68770, 68770], 'mapped', [68834]], - [[68771, 68771], 'mapped', [68835]], - [[68772, 68772], 'mapped', [68836]], - [[68773, 68773], 'mapped', [68837]], - [[68774, 68774], 'mapped', [68838]], - [[68775, 68775], 'mapped', [68839]], - [[68776, 68776], 'mapped', [68840]], - [[68777, 68777], 'mapped', [68841]], - [[68778, 68778], 'mapped', [68842]], - [[68779, 68779], 'mapped', [68843]], - [[68780, 68780], 'mapped', [68844]], - [[68781, 68781], 'mapped', [68845]], - [[68782, 68782], 'mapped', [68846]], - [[68783, 68783], 'mapped', [68847]], - [[68784, 68784], 'mapped', [68848]], - [[68785, 68785], 'mapped', [68849]], - [[68786, 68786], 'mapped', [68850]], - [[68787, 68799], 'disallowed'], - [[68800, 68850], 'valid'], - [[68851, 68857], 'disallowed'], - [[68858, 68863], 'valid', [], 'NV8'], - [[68864, 69215], 'disallowed'], - [[69216, 69246], 'valid', [], 'NV8'], - [[69247, 69631], 'disallowed'], - [[69632, 69702], 'valid'], - [[69703, 69709], 'valid', [], 'NV8'], - [[69710, 69713], 'disallowed'], - [[69714, 69733], 'valid', [], 'NV8'], - [[69734, 69743], 'valid'], - [[69744, 69758], 'disallowed'], - [[69759, 69759], 'valid'], - [[69760, 69818], 'valid'], - [[69819, 69820], 'valid', [], 'NV8'], - [[69821, 69821], 'disallowed'], - [[69822, 69825], 'valid', [], 'NV8'], - [[69826, 69839], 'disallowed'], - [[69840, 69864], 'valid'], - [[69865, 69871], 'disallowed'], - [[69872, 69881], 'valid'], - [[69882, 69887], 'disallowed'], - [[69888, 69940], 'valid'], - [[69941, 69941], 'disallowed'], - [[69942, 69951], 'valid'], - [[69952, 69955], 'valid', [], 'NV8'], - [[69956, 69967], 'disallowed'], - [[69968, 70003], 'valid'], - [[70004, 70005], 'valid', [], 'NV8'], - [[70006, 70006], 'valid'], - [[70007, 70015], 'disallowed'], - [[70016, 70084], 'valid'], - [[70085, 70088], 'valid', [], 'NV8'], - [[70089, 70089], 'valid', [], 'NV8'], - [[70090, 70092], 'valid'], - [[70093, 70093], 'valid', [], 'NV8'], - [[70094, 70095], 'disallowed'], - [[70096, 70105], 'valid'], - [[70106, 70106], 'valid'], - [[70107, 70107], 'valid', [], 'NV8'], - [[70108, 70108], 'valid'], - [[70109, 70111], 'valid', [], 'NV8'], - [[70112, 70112], 'disallowed'], - [[70113, 70132], 'valid', [], 'NV8'], - [[70133, 70143], 'disallowed'], - [[70144, 70161], 'valid'], - [[70162, 70162], 'disallowed'], - [[70163, 70199], 'valid'], - [[70200, 70205], 'valid', [], 'NV8'], - [[70206, 70271], 'disallowed'], - [[70272, 70278], 'valid'], - [[70279, 70279], 'disallowed'], - [[70280, 70280], 'valid'], - [[70281, 70281], 'disallowed'], - [[70282, 70285], 'valid'], - [[70286, 70286], 'disallowed'], - [[70287, 70301], 'valid'], - [[70302, 70302], 'disallowed'], - [[70303, 70312], 'valid'], - [[70313, 70313], 'valid', [], 'NV8'], - [[70314, 70319], 'disallowed'], - [[70320, 70378], 'valid'], - [[70379, 70383], 'disallowed'], - [[70384, 70393], 'valid'], - [[70394, 70399], 'disallowed'], - [[70400, 70400], 'valid'], - [[70401, 70403], 'valid'], - [[70404, 70404], 'disallowed'], - [[70405, 70412], 'valid'], - [[70413, 70414], 'disallowed'], - [[70415, 70416], 'valid'], - [[70417, 70418], 'disallowed'], - [[70419, 70440], 'valid'], - [[70441, 70441], 'disallowed'], - [[70442, 70448], 'valid'], - [[70449, 70449], 'disallowed'], - [[70450, 70451], 'valid'], - [[70452, 70452], 'disallowed'], - [[70453, 70457], 'valid'], - [[70458, 70459], 'disallowed'], - [[70460, 70468], 'valid'], - [[70469, 70470], 'disallowed'], - [[70471, 70472], 'valid'], - [[70473, 70474], 'disallowed'], - [[70475, 70477], 'valid'], - [[70478, 70479], 'disallowed'], - [[70480, 70480], 'valid'], - [[70481, 70486], 'disallowed'], - [[70487, 70487], 'valid'], - [[70488, 70492], 'disallowed'], - [[70493, 70499], 'valid'], - [[70500, 70501], 'disallowed'], - [[70502, 70508], 'valid'], - [[70509, 70511], 'disallowed'], - [[70512, 70516], 'valid'], - [[70517, 70783], 'disallowed'], - [[70784, 70853], 'valid'], - [[70854, 70854], 'valid', [], 'NV8'], - [[70855, 70855], 'valid'], - [[70856, 70863], 'disallowed'], - [[70864, 70873], 'valid'], - [[70874, 71039], 'disallowed'], - [[71040, 71093], 'valid'], - [[71094, 71095], 'disallowed'], - [[71096, 71104], 'valid'], - [[71105, 71113], 'valid', [], 'NV8'], - [[71114, 71127], 'valid', [], 'NV8'], - [[71128, 71133], 'valid'], - [[71134, 71167], 'disallowed'], - [[71168, 71232], 'valid'], - [[71233, 71235], 'valid', [], 'NV8'], - [[71236, 71236], 'valid'], - [[71237, 71247], 'disallowed'], - [[71248, 71257], 'valid'], - [[71258, 71295], 'disallowed'], - [[71296, 71351], 'valid'], - [[71352, 71359], 'disallowed'], - [[71360, 71369], 'valid'], - [[71370, 71423], 'disallowed'], - [[71424, 71449], 'valid'], - [[71450, 71452], 'disallowed'], - [[71453, 71467], 'valid'], - [[71468, 71471], 'disallowed'], - [[71472, 71481], 'valid'], - [[71482, 71487], 'valid', [], 'NV8'], - [[71488, 71839], 'disallowed'], - [[71840, 71840], 'mapped', [71872]], - [[71841, 71841], 'mapped', [71873]], - [[71842, 71842], 'mapped', [71874]], - [[71843, 71843], 'mapped', [71875]], - [[71844, 71844], 'mapped', [71876]], - [[71845, 71845], 'mapped', [71877]], - [[71846, 71846], 'mapped', [71878]], - [[71847, 71847], 'mapped', [71879]], - [[71848, 71848], 'mapped', [71880]], - [[71849, 71849], 'mapped', [71881]], - [[71850, 71850], 'mapped', [71882]], - [[71851, 71851], 'mapped', [71883]], - [[71852, 71852], 'mapped', [71884]], - [[71853, 71853], 'mapped', [71885]], - [[71854, 71854], 'mapped', [71886]], - [[71855, 71855], 'mapped', [71887]], - [[71856, 71856], 'mapped', [71888]], - [[71857, 71857], 'mapped', [71889]], - [[71858, 71858], 'mapped', [71890]], - [[71859, 71859], 'mapped', [71891]], - [[71860, 71860], 'mapped', [71892]], - [[71861, 71861], 'mapped', [71893]], - [[71862, 71862], 'mapped', [71894]], - [[71863, 71863], 'mapped', [71895]], - [[71864, 71864], 'mapped', [71896]], - [[71865, 71865], 'mapped', [71897]], - [[71866, 71866], 'mapped', [71898]], - [[71867, 71867], 'mapped', [71899]], - [[71868, 71868], 'mapped', [71900]], - [[71869, 71869], 'mapped', [71901]], - [[71870, 71870], 'mapped', [71902]], - [[71871, 71871], 'mapped', [71903]], - [[71872, 71913], 'valid'], - [[71914, 71922], 'valid', [], 'NV8'], - [[71923, 71934], 'disallowed'], - [[71935, 71935], 'valid'], - [[71936, 72383], 'disallowed'], - [[72384, 72440], 'valid'], - [[72441, 73727], 'disallowed'], - [[73728, 74606], 'valid'], - [[74607, 74648], 'valid'], - [[74649, 74649], 'valid'], - [[74650, 74751], 'disallowed'], - [[74752, 74850], 'valid', [], 'NV8'], - [[74851, 74862], 'valid', [], 'NV8'], - [[74863, 74863], 'disallowed'], - [[74864, 74867], 'valid', [], 'NV8'], - [[74868, 74868], 'valid', [], 'NV8'], - [[74869, 74879], 'disallowed'], - [[74880, 75075], 'valid'], - [[75076, 77823], 'disallowed'], - [[77824, 78894], 'valid'], - [[78895, 82943], 'disallowed'], - [[82944, 83526], 'valid'], - [[83527, 92159], 'disallowed'], - [[92160, 92728], 'valid'], - [[92729, 92735], 'disallowed'], - [[92736, 92766], 'valid'], - [[92767, 92767], 'disallowed'], - [[92768, 92777], 'valid'], - [[92778, 92781], 'disallowed'], - [[92782, 92783], 'valid', [], 'NV8'], - [[92784, 92879], 'disallowed'], - [[92880, 92909], 'valid'], - [[92910, 92911], 'disallowed'], - [[92912, 92916], 'valid'], - [[92917, 92917], 'valid', [], 'NV8'], - [[92918, 92927], 'disallowed'], - [[92928, 92982], 'valid'], - [[92983, 92991], 'valid', [], 'NV8'], - [[92992, 92995], 'valid'], - [[92996, 92997], 'valid', [], 'NV8'], - [[92998, 93007], 'disallowed'], - [[93008, 93017], 'valid'], - [[93018, 93018], 'disallowed'], - [[93019, 93025], 'valid', [], 'NV8'], - [[93026, 93026], 'disallowed'], - [[93027, 93047], 'valid'], - [[93048, 93052], 'disallowed'], - [[93053, 93071], 'valid'], - [[93072, 93951], 'disallowed'], - [[93952, 94020], 'valid'], - [[94021, 94031], 'disallowed'], - [[94032, 94078], 'valid'], - [[94079, 94094], 'disallowed'], - [[94095, 94111], 'valid'], - [[94112, 110591], 'disallowed'], - [[110592, 110593], 'valid'], - [[110594, 113663], 'disallowed'], - [[113664, 113770], 'valid'], - [[113771, 113775], 'disallowed'], - [[113776, 113788], 'valid'], - [[113789, 113791], 'disallowed'], - [[113792, 113800], 'valid'], - [[113801, 113807], 'disallowed'], - [[113808, 113817], 'valid'], - [[113818, 113819], 'disallowed'], - [[113820, 113820], 'valid', [], 'NV8'], - [[113821, 113822], 'valid'], - [[113823, 113823], 'valid', [], 'NV8'], - [[113824, 113827], 'ignored'], - [[113828, 118783], 'disallowed'], - [[118784, 119029], 'valid', [], 'NV8'], - [[119030, 119039], 'disallowed'], - [[119040, 119078], 'valid', [], 'NV8'], - [[119079, 119080], 'disallowed'], - [[119081, 119081], 'valid', [], 'NV8'], - [[119082, 119133], 'valid', [], 'NV8'], - [[119134, 119134], 'mapped', [119127, 119141]], - [[119135, 119135], 'mapped', [119128, 119141]], - [[119136, 119136], 'mapped', [119128, 119141, 119150]], - [[119137, 119137], 'mapped', [119128, 119141, 119151]], - [[119138, 119138], 'mapped', [119128, 119141, 119152]], - [[119139, 119139], 'mapped', [119128, 119141, 119153]], - [[119140, 119140], 'mapped', [119128, 119141, 119154]], - [[119141, 119154], 'valid', [], 'NV8'], - [[119155, 119162], 'disallowed'], - [[119163, 119226], 'valid', [], 'NV8'], - [[119227, 119227], 'mapped', [119225, 119141]], - [[119228, 119228], 'mapped', [119226, 119141]], - [[119229, 119229], 'mapped', [119225, 119141, 119150]], - [[119230, 119230], 'mapped', [119226, 119141, 119150]], - [[119231, 119231], 'mapped', [119225, 119141, 119151]], - [[119232, 119232], 'mapped', [119226, 119141, 119151]], - [[119233, 119261], 'valid', [], 'NV8'], - [[119262, 119272], 'valid', [], 'NV8'], - [[119273, 119295], 'disallowed'], - [[119296, 119365], 'valid', [], 'NV8'], - [[119366, 119551], 'disallowed'], - [[119552, 119638], 'valid', [], 'NV8'], - [[119639, 119647], 'disallowed'], - [[119648, 119665], 'valid', [], 'NV8'], - [[119666, 119807], 'disallowed'], - [[119808, 119808], 'mapped', [97]], - [[119809, 119809], 'mapped', [98]], - [[119810, 119810], 'mapped', [99]], - [[119811, 119811], 'mapped', [100]], - [[119812, 119812], 'mapped', [101]], - [[119813, 119813], 'mapped', [102]], - [[119814, 119814], 'mapped', [103]], - [[119815, 119815], 'mapped', [104]], - [[119816, 119816], 'mapped', [105]], - [[119817, 119817], 'mapped', [106]], - [[119818, 119818], 'mapped', [107]], - [[119819, 119819], 'mapped', [108]], - [[119820, 119820], 'mapped', [109]], - [[119821, 119821], 'mapped', [110]], - [[119822, 119822], 'mapped', [111]], - [[119823, 119823], 'mapped', [112]], - [[119824, 119824], 'mapped', [113]], - [[119825, 119825], 'mapped', [114]], - [[119826, 119826], 'mapped', [115]], - [[119827, 119827], 'mapped', [116]], - [[119828, 119828], 'mapped', [117]], - [[119829, 119829], 'mapped', [118]], - [[119830, 119830], 'mapped', [119]], - [[119831, 119831], 'mapped', [120]], - [[119832, 119832], 'mapped', [121]], - [[119833, 119833], 'mapped', [122]], - [[119834, 119834], 'mapped', [97]], - [[119835, 119835], 'mapped', [98]], - [[119836, 119836], 'mapped', [99]], - [[119837, 119837], 'mapped', [100]], - [[119838, 119838], 'mapped', [101]], - [[119839, 119839], 'mapped', [102]], - [[119840, 119840], 'mapped', [103]], - [[119841, 119841], 'mapped', [104]], - [[119842, 119842], 'mapped', [105]], - [[119843, 119843], 'mapped', [106]], - [[119844, 119844], 'mapped', [107]], - [[119845, 119845], 'mapped', [108]], - [[119846, 119846], 'mapped', [109]], - [[119847, 119847], 'mapped', [110]], - [[119848, 119848], 'mapped', [111]], - [[119849, 119849], 'mapped', [112]], - [[119850, 119850], 'mapped', [113]], - [[119851, 119851], 'mapped', [114]], - [[119852, 119852], 'mapped', [115]], - [[119853, 119853], 'mapped', [116]], - [[119854, 119854], 'mapped', [117]], - [[119855, 119855], 'mapped', [118]], - [[119856, 119856], 'mapped', [119]], - [[119857, 119857], 'mapped', [120]], - [[119858, 119858], 'mapped', [121]], - [[119859, 119859], 'mapped', [122]], - [[119860, 119860], 'mapped', [97]], - [[119861, 119861], 'mapped', [98]], - [[119862, 119862], 'mapped', [99]], - [[119863, 119863], 'mapped', [100]], - [[119864, 119864], 'mapped', [101]], - [[119865, 119865], 'mapped', [102]], - [[119866, 119866], 'mapped', [103]], - [[119867, 119867], 'mapped', [104]], - [[119868, 119868], 'mapped', [105]], - [[119869, 119869], 'mapped', [106]], - [[119870, 119870], 'mapped', [107]], - [[119871, 119871], 'mapped', [108]], - [[119872, 119872], 'mapped', [109]], - [[119873, 119873], 'mapped', [110]], - [[119874, 119874], 'mapped', [111]], - [[119875, 119875], 'mapped', [112]], - [[119876, 119876], 'mapped', [113]], - [[119877, 119877], 'mapped', [114]], - [[119878, 119878], 'mapped', [115]], - [[119879, 119879], 'mapped', [116]], - [[119880, 119880], 'mapped', [117]], - [[119881, 119881], 'mapped', [118]], - [[119882, 119882], 'mapped', [119]], - [[119883, 119883], 'mapped', [120]], - [[119884, 119884], 'mapped', [121]], - [[119885, 119885], 'mapped', [122]], - [[119886, 119886], 'mapped', [97]], - [[119887, 119887], 'mapped', [98]], - [[119888, 119888], 'mapped', [99]], - [[119889, 119889], 'mapped', [100]], - [[119890, 119890], 'mapped', [101]], - [[119891, 119891], 'mapped', [102]], - [[119892, 119892], 'mapped', [103]], - [[119893, 119893], 'disallowed'], - [[119894, 119894], 'mapped', [105]], - [[119895, 119895], 'mapped', [106]], - [[119896, 119896], 'mapped', [107]], - [[119897, 119897], 'mapped', [108]], - [[119898, 119898], 'mapped', [109]], - [[119899, 119899], 'mapped', [110]], - [[119900, 119900], 'mapped', [111]], - [[119901, 119901], 'mapped', [112]], - [[119902, 119902], 'mapped', [113]], - [[119903, 119903], 'mapped', [114]], - [[119904, 119904], 'mapped', [115]], - [[119905, 119905], 'mapped', [116]], - [[119906, 119906], 'mapped', [117]], - [[119907, 119907], 'mapped', [118]], - [[119908, 119908], 'mapped', [119]], - [[119909, 119909], 'mapped', [120]], - [[119910, 119910], 'mapped', [121]], - [[119911, 119911], 'mapped', [122]], - [[119912, 119912], 'mapped', [97]], - [[119913, 119913], 'mapped', [98]], - [[119914, 119914], 'mapped', [99]], - [[119915, 119915], 'mapped', [100]], - [[119916, 119916], 'mapped', [101]], - [[119917, 119917], 'mapped', [102]], - [[119918, 119918], 'mapped', [103]], - [[119919, 119919], 'mapped', [104]], - [[119920, 119920], 'mapped', [105]], - [[119921, 119921], 'mapped', [106]], - [[119922, 119922], 'mapped', [107]], - [[119923, 119923], 'mapped', [108]], - [[119924, 119924], 'mapped', [109]], - [[119925, 119925], 'mapped', [110]], - [[119926, 119926], 'mapped', [111]], - [[119927, 119927], 'mapped', [112]], - [[119928, 119928], 'mapped', [113]], - [[119929, 119929], 'mapped', [114]], - [[119930, 119930], 'mapped', [115]], - [[119931, 119931], 'mapped', [116]], - [[119932, 119932], 'mapped', [117]], - [[119933, 119933], 'mapped', [118]], - [[119934, 119934], 'mapped', [119]], - [[119935, 119935], 'mapped', [120]], - [[119936, 119936], 'mapped', [121]], - [[119937, 119937], 'mapped', [122]], - [[119938, 119938], 'mapped', [97]], - [[119939, 119939], 'mapped', [98]], - [[119940, 119940], 'mapped', [99]], - [[119941, 119941], 'mapped', [100]], - [[119942, 119942], 'mapped', [101]], - [[119943, 119943], 'mapped', [102]], - [[119944, 119944], 'mapped', [103]], - [[119945, 119945], 'mapped', [104]], - [[119946, 119946], 'mapped', [105]], - [[119947, 119947], 'mapped', [106]], - [[119948, 119948], 'mapped', [107]], - [[119949, 119949], 'mapped', [108]], - [[119950, 119950], 'mapped', [109]], - [[119951, 119951], 'mapped', [110]], - [[119952, 119952], 'mapped', [111]], - [[119953, 119953], 'mapped', [112]], - [[119954, 119954], 'mapped', [113]], - [[119955, 119955], 'mapped', [114]], - [[119956, 119956], 'mapped', [115]], - [[119957, 119957], 'mapped', [116]], - [[119958, 119958], 'mapped', [117]], - [[119959, 119959], 'mapped', [118]], - [[119960, 119960], 'mapped', [119]], - [[119961, 119961], 'mapped', [120]], - [[119962, 119962], 'mapped', [121]], - [[119963, 119963], 'mapped', [122]], - [[119964, 119964], 'mapped', [97]], - [[119965, 119965], 'disallowed'], - [[119966, 119966], 'mapped', [99]], - [[119967, 119967], 'mapped', [100]], - [[119968, 119969], 'disallowed'], - [[119970, 119970], 'mapped', [103]], - [[119971, 119972], 'disallowed'], - [[119973, 119973], 'mapped', [106]], - [[119974, 119974], 'mapped', [107]], - [[119975, 119976], 'disallowed'], - [[119977, 119977], 'mapped', [110]], - [[119978, 119978], 'mapped', [111]], - [[119979, 119979], 'mapped', [112]], - [[119980, 119980], 'mapped', [113]], - [[119981, 119981], 'disallowed'], - [[119982, 119982], 'mapped', [115]], - [[119983, 119983], 'mapped', [116]], - [[119984, 119984], 'mapped', [117]], - [[119985, 119985], 'mapped', [118]], - [[119986, 119986], 'mapped', [119]], - [[119987, 119987], 'mapped', [120]], - [[119988, 119988], 'mapped', [121]], - [[119989, 119989], 'mapped', [122]], - [[119990, 119990], 'mapped', [97]], - [[119991, 119991], 'mapped', [98]], - [[119992, 119992], 'mapped', [99]], - [[119993, 119993], 'mapped', [100]], - [[119994, 119994], 'disallowed'], - [[119995, 119995], 'mapped', [102]], - [[119996, 119996], 'disallowed'], - [[119997, 119997], 'mapped', [104]], - [[119998, 119998], 'mapped', [105]], - [[119999, 119999], 'mapped', [106]], - [[12e4, 12e4], 'mapped', [107]], - [[120001, 120001], 'mapped', [108]], - [[120002, 120002], 'mapped', [109]], - [[120003, 120003], 'mapped', [110]], - [[120004, 120004], 'disallowed'], - [[120005, 120005], 'mapped', [112]], - [[120006, 120006], 'mapped', [113]], - [[120007, 120007], 'mapped', [114]], - [[120008, 120008], 'mapped', [115]], - [[120009, 120009], 'mapped', [116]], - [[120010, 120010], 'mapped', [117]], - [[120011, 120011], 'mapped', [118]], - [[120012, 120012], 'mapped', [119]], - [[120013, 120013], 'mapped', [120]], - [[120014, 120014], 'mapped', [121]], - [[120015, 120015], 'mapped', [122]], - [[120016, 120016], 'mapped', [97]], - [[120017, 120017], 'mapped', [98]], - [[120018, 120018], 'mapped', [99]], - [[120019, 120019], 'mapped', [100]], - [[120020, 120020], 'mapped', [101]], - [[120021, 120021], 'mapped', [102]], - [[120022, 120022], 'mapped', [103]], - [[120023, 120023], 'mapped', [104]], - [[120024, 120024], 'mapped', [105]], - [[120025, 120025], 'mapped', [106]], - [[120026, 120026], 'mapped', [107]], - [[120027, 120027], 'mapped', [108]], - [[120028, 120028], 'mapped', [109]], - [[120029, 120029], 'mapped', [110]], - [[120030, 120030], 'mapped', [111]], - [[120031, 120031], 'mapped', [112]], - [[120032, 120032], 'mapped', [113]], - [[120033, 120033], 'mapped', [114]], - [[120034, 120034], 'mapped', [115]], - [[120035, 120035], 'mapped', [116]], - [[120036, 120036], 'mapped', [117]], - [[120037, 120037], 'mapped', [118]], - [[120038, 120038], 'mapped', [119]], - [[120039, 120039], 'mapped', [120]], - [[120040, 120040], 'mapped', [121]], - [[120041, 120041], 'mapped', [122]], - [[120042, 120042], 'mapped', [97]], - [[120043, 120043], 'mapped', [98]], - [[120044, 120044], 'mapped', [99]], - [[120045, 120045], 'mapped', [100]], - [[120046, 120046], 'mapped', [101]], - [[120047, 120047], 'mapped', [102]], - [[120048, 120048], 'mapped', [103]], - [[120049, 120049], 'mapped', [104]], - [[120050, 120050], 'mapped', [105]], - [[120051, 120051], 'mapped', [106]], - [[120052, 120052], 'mapped', [107]], - [[120053, 120053], 'mapped', [108]], - [[120054, 120054], 'mapped', [109]], - [[120055, 120055], 'mapped', [110]], - [[120056, 120056], 'mapped', [111]], - [[120057, 120057], 'mapped', [112]], - [[120058, 120058], 'mapped', [113]], - [[120059, 120059], 'mapped', [114]], - [[120060, 120060], 'mapped', [115]], - [[120061, 120061], 'mapped', [116]], - [[120062, 120062], 'mapped', [117]], - [[120063, 120063], 'mapped', [118]], - [[120064, 120064], 'mapped', [119]], - [[120065, 120065], 'mapped', [120]], - [[120066, 120066], 'mapped', [121]], - [[120067, 120067], 'mapped', [122]], - [[120068, 120068], 'mapped', [97]], - [[120069, 120069], 'mapped', [98]], - [[120070, 120070], 'disallowed'], - [[120071, 120071], 'mapped', [100]], - [[120072, 120072], 'mapped', [101]], - [[120073, 120073], 'mapped', [102]], - [[120074, 120074], 'mapped', [103]], - [[120075, 120076], 'disallowed'], - [[120077, 120077], 'mapped', [106]], - [[120078, 120078], 'mapped', [107]], - [[120079, 120079], 'mapped', [108]], - [[120080, 120080], 'mapped', [109]], - [[120081, 120081], 'mapped', [110]], - [[120082, 120082], 'mapped', [111]], - [[120083, 120083], 'mapped', [112]], - [[120084, 120084], 'mapped', [113]], - [[120085, 120085], 'disallowed'], - [[120086, 120086], 'mapped', [115]], - [[120087, 120087], 'mapped', [116]], - [[120088, 120088], 'mapped', [117]], - [[120089, 120089], 'mapped', [118]], - [[120090, 120090], 'mapped', [119]], - [[120091, 120091], 'mapped', [120]], - [[120092, 120092], 'mapped', [121]], - [[120093, 120093], 'disallowed'], - [[120094, 120094], 'mapped', [97]], - [[120095, 120095], 'mapped', [98]], - [[120096, 120096], 'mapped', [99]], - [[120097, 120097], 'mapped', [100]], - [[120098, 120098], 'mapped', [101]], - [[120099, 120099], 'mapped', [102]], - [[120100, 120100], 'mapped', [103]], - [[120101, 120101], 'mapped', [104]], - [[120102, 120102], 'mapped', [105]], - [[120103, 120103], 'mapped', [106]], - [[120104, 120104], 'mapped', [107]], - [[120105, 120105], 'mapped', [108]], - [[120106, 120106], 'mapped', [109]], - [[120107, 120107], 'mapped', [110]], - [[120108, 120108], 'mapped', [111]], - [[120109, 120109], 'mapped', [112]], - [[120110, 120110], 'mapped', [113]], - [[120111, 120111], 'mapped', [114]], - [[120112, 120112], 'mapped', [115]], - [[120113, 120113], 'mapped', [116]], - [[120114, 120114], 'mapped', [117]], - [[120115, 120115], 'mapped', [118]], - [[120116, 120116], 'mapped', [119]], - [[120117, 120117], 'mapped', [120]], - [[120118, 120118], 'mapped', [121]], - [[120119, 120119], 'mapped', [122]], - [[120120, 120120], 'mapped', [97]], - [[120121, 120121], 'mapped', [98]], - [[120122, 120122], 'disallowed'], - [[120123, 120123], 'mapped', [100]], - [[120124, 120124], 'mapped', [101]], - [[120125, 120125], 'mapped', [102]], - [[120126, 120126], 'mapped', [103]], - [[120127, 120127], 'disallowed'], - [[120128, 120128], 'mapped', [105]], - [[120129, 120129], 'mapped', [106]], - [[120130, 120130], 'mapped', [107]], - [[120131, 120131], 'mapped', [108]], - [[120132, 120132], 'mapped', [109]], - [[120133, 120133], 'disallowed'], - [[120134, 120134], 'mapped', [111]], - [[120135, 120137], 'disallowed'], - [[120138, 120138], 'mapped', [115]], - [[120139, 120139], 'mapped', [116]], - [[120140, 120140], 'mapped', [117]], - [[120141, 120141], 'mapped', [118]], - [[120142, 120142], 'mapped', [119]], - [[120143, 120143], 'mapped', [120]], - [[120144, 120144], 'mapped', [121]], - [[120145, 120145], 'disallowed'], - [[120146, 120146], 'mapped', [97]], - [[120147, 120147], 'mapped', [98]], - [[120148, 120148], 'mapped', [99]], - [[120149, 120149], 'mapped', [100]], - [[120150, 120150], 'mapped', [101]], - [[120151, 120151], 'mapped', [102]], - [[120152, 120152], 'mapped', [103]], - [[120153, 120153], 'mapped', [104]], - [[120154, 120154], 'mapped', [105]], - [[120155, 120155], 'mapped', [106]], - [[120156, 120156], 'mapped', [107]], - [[120157, 120157], 'mapped', [108]], - [[120158, 120158], 'mapped', [109]], - [[120159, 120159], 'mapped', [110]], - [[120160, 120160], 'mapped', [111]], - [[120161, 120161], 'mapped', [112]], - [[120162, 120162], 'mapped', [113]], - [[120163, 120163], 'mapped', [114]], - [[120164, 120164], 'mapped', [115]], - [[120165, 120165], 'mapped', [116]], - [[120166, 120166], 'mapped', [117]], - [[120167, 120167], 'mapped', [118]], - [[120168, 120168], 'mapped', [119]], - [[120169, 120169], 'mapped', [120]], - [[120170, 120170], 'mapped', [121]], - [[120171, 120171], 'mapped', [122]], - [[120172, 120172], 'mapped', [97]], - [[120173, 120173], 'mapped', [98]], - [[120174, 120174], 'mapped', [99]], - [[120175, 120175], 'mapped', [100]], - [[120176, 120176], 'mapped', [101]], - [[120177, 120177], 'mapped', [102]], - [[120178, 120178], 'mapped', [103]], - [[120179, 120179], 'mapped', [104]], - [[120180, 120180], 'mapped', [105]], - [[120181, 120181], 'mapped', [106]], - [[120182, 120182], 'mapped', [107]], - [[120183, 120183], 'mapped', [108]], - [[120184, 120184], 'mapped', [109]], - [[120185, 120185], 'mapped', [110]], - [[120186, 120186], 'mapped', [111]], - [[120187, 120187], 'mapped', [112]], - [[120188, 120188], 'mapped', [113]], - [[120189, 120189], 'mapped', [114]], - [[120190, 120190], 'mapped', [115]], - [[120191, 120191], 'mapped', [116]], - [[120192, 120192], 'mapped', [117]], - [[120193, 120193], 'mapped', [118]], - [[120194, 120194], 'mapped', [119]], - [[120195, 120195], 'mapped', [120]], - [[120196, 120196], 'mapped', [121]], - [[120197, 120197], 'mapped', [122]], - [[120198, 120198], 'mapped', [97]], - [[120199, 120199], 'mapped', [98]], - [[120200, 120200], 'mapped', [99]], - [[120201, 120201], 'mapped', [100]], - [[120202, 120202], 'mapped', [101]], - [[120203, 120203], 'mapped', [102]], - [[120204, 120204], 'mapped', [103]], - [[120205, 120205], 'mapped', [104]], - [[120206, 120206], 'mapped', [105]], - [[120207, 120207], 'mapped', [106]], - [[120208, 120208], 'mapped', [107]], - [[120209, 120209], 'mapped', [108]], - [[120210, 120210], 'mapped', [109]], - [[120211, 120211], 'mapped', [110]], - [[120212, 120212], 'mapped', [111]], - [[120213, 120213], 'mapped', [112]], - [[120214, 120214], 'mapped', [113]], - [[120215, 120215], 'mapped', [114]], - [[120216, 120216], 'mapped', [115]], - [[120217, 120217], 'mapped', [116]], - [[120218, 120218], 'mapped', [117]], - [[120219, 120219], 'mapped', [118]], - [[120220, 120220], 'mapped', [119]], - [[120221, 120221], 'mapped', [120]], - [[120222, 120222], 'mapped', [121]], - [[120223, 120223], 'mapped', [122]], - [[120224, 120224], 'mapped', [97]], - [[120225, 120225], 'mapped', [98]], - [[120226, 120226], 'mapped', [99]], - [[120227, 120227], 'mapped', [100]], - [[120228, 120228], 'mapped', [101]], - [[120229, 120229], 'mapped', [102]], - [[120230, 120230], 'mapped', [103]], - [[120231, 120231], 'mapped', [104]], - [[120232, 120232], 'mapped', [105]], - [[120233, 120233], 'mapped', [106]], - [[120234, 120234], 'mapped', [107]], - [[120235, 120235], 'mapped', [108]], - [[120236, 120236], 'mapped', [109]], - [[120237, 120237], 'mapped', [110]], - [[120238, 120238], 'mapped', [111]], - [[120239, 120239], 'mapped', [112]], - [[120240, 120240], 'mapped', [113]], - [[120241, 120241], 'mapped', [114]], - [[120242, 120242], 'mapped', [115]], - [[120243, 120243], 'mapped', [116]], - [[120244, 120244], 'mapped', [117]], - [[120245, 120245], 'mapped', [118]], - [[120246, 120246], 'mapped', [119]], - [[120247, 120247], 'mapped', [120]], - [[120248, 120248], 'mapped', [121]], - [[120249, 120249], 'mapped', [122]], - [[120250, 120250], 'mapped', [97]], - [[120251, 120251], 'mapped', [98]], - [[120252, 120252], 'mapped', [99]], - [[120253, 120253], 'mapped', [100]], - [[120254, 120254], 'mapped', [101]], - [[120255, 120255], 'mapped', [102]], - [[120256, 120256], 'mapped', [103]], - [[120257, 120257], 'mapped', [104]], - [[120258, 120258], 'mapped', [105]], - [[120259, 120259], 'mapped', [106]], - [[120260, 120260], 'mapped', [107]], - [[120261, 120261], 'mapped', [108]], - [[120262, 120262], 'mapped', [109]], - [[120263, 120263], 'mapped', [110]], - [[120264, 120264], 'mapped', [111]], - [[120265, 120265], 'mapped', [112]], - [[120266, 120266], 'mapped', [113]], - [[120267, 120267], 'mapped', [114]], - [[120268, 120268], 'mapped', [115]], - [[120269, 120269], 'mapped', [116]], - [[120270, 120270], 'mapped', [117]], - [[120271, 120271], 'mapped', [118]], - [[120272, 120272], 'mapped', [119]], - [[120273, 120273], 'mapped', [120]], - [[120274, 120274], 'mapped', [121]], - [[120275, 120275], 'mapped', [122]], - [[120276, 120276], 'mapped', [97]], - [[120277, 120277], 'mapped', [98]], - [[120278, 120278], 'mapped', [99]], - [[120279, 120279], 'mapped', [100]], - [[120280, 120280], 'mapped', [101]], - [[120281, 120281], 'mapped', [102]], - [[120282, 120282], 'mapped', [103]], - [[120283, 120283], 'mapped', [104]], - [[120284, 120284], 'mapped', [105]], - [[120285, 120285], 'mapped', [106]], - [[120286, 120286], 'mapped', [107]], - [[120287, 120287], 'mapped', [108]], - [[120288, 120288], 'mapped', [109]], - [[120289, 120289], 'mapped', [110]], - [[120290, 120290], 'mapped', [111]], - [[120291, 120291], 'mapped', [112]], - [[120292, 120292], 'mapped', [113]], - [[120293, 120293], 'mapped', [114]], - [[120294, 120294], 'mapped', [115]], - [[120295, 120295], 'mapped', [116]], - [[120296, 120296], 'mapped', [117]], - [[120297, 120297], 'mapped', [118]], - [[120298, 120298], 'mapped', [119]], - [[120299, 120299], 'mapped', [120]], - [[120300, 120300], 'mapped', [121]], - [[120301, 120301], 'mapped', [122]], - [[120302, 120302], 'mapped', [97]], - [[120303, 120303], 'mapped', [98]], - [[120304, 120304], 'mapped', [99]], - [[120305, 120305], 'mapped', [100]], - [[120306, 120306], 'mapped', [101]], - [[120307, 120307], 'mapped', [102]], - [[120308, 120308], 'mapped', [103]], - [[120309, 120309], 'mapped', [104]], - [[120310, 120310], 'mapped', [105]], - [[120311, 120311], 'mapped', [106]], - [[120312, 120312], 'mapped', [107]], - [[120313, 120313], 'mapped', [108]], - [[120314, 120314], 'mapped', [109]], - [[120315, 120315], 'mapped', [110]], - [[120316, 120316], 'mapped', [111]], - [[120317, 120317], 'mapped', [112]], - [[120318, 120318], 'mapped', [113]], - [[120319, 120319], 'mapped', [114]], - [[120320, 120320], 'mapped', [115]], - [[120321, 120321], 'mapped', [116]], - [[120322, 120322], 'mapped', [117]], - [[120323, 120323], 'mapped', [118]], - [[120324, 120324], 'mapped', [119]], - [[120325, 120325], 'mapped', [120]], - [[120326, 120326], 'mapped', [121]], - [[120327, 120327], 'mapped', [122]], - [[120328, 120328], 'mapped', [97]], - [[120329, 120329], 'mapped', [98]], - [[120330, 120330], 'mapped', [99]], - [[120331, 120331], 'mapped', [100]], - [[120332, 120332], 'mapped', [101]], - [[120333, 120333], 'mapped', [102]], - [[120334, 120334], 'mapped', [103]], - [[120335, 120335], 'mapped', [104]], - [[120336, 120336], 'mapped', [105]], - [[120337, 120337], 'mapped', [106]], - [[120338, 120338], 'mapped', [107]], - [[120339, 120339], 'mapped', [108]], - [[120340, 120340], 'mapped', [109]], - [[120341, 120341], 'mapped', [110]], - [[120342, 120342], 'mapped', [111]], - [[120343, 120343], 'mapped', [112]], - [[120344, 120344], 'mapped', [113]], - [[120345, 120345], 'mapped', [114]], - [[120346, 120346], 'mapped', [115]], - [[120347, 120347], 'mapped', [116]], - [[120348, 120348], 'mapped', [117]], - [[120349, 120349], 'mapped', [118]], - [[120350, 120350], 'mapped', [119]], - [[120351, 120351], 'mapped', [120]], - [[120352, 120352], 'mapped', [121]], - [[120353, 120353], 'mapped', [122]], - [[120354, 120354], 'mapped', [97]], - [[120355, 120355], 'mapped', [98]], - [[120356, 120356], 'mapped', [99]], - [[120357, 120357], 'mapped', [100]], - [[120358, 120358], 'mapped', [101]], - [[120359, 120359], 'mapped', [102]], - [[120360, 120360], 'mapped', [103]], - [[120361, 120361], 'mapped', [104]], - [[120362, 120362], 'mapped', [105]], - [[120363, 120363], 'mapped', [106]], - [[120364, 120364], 'mapped', [107]], - [[120365, 120365], 'mapped', [108]], - [[120366, 120366], 'mapped', [109]], - [[120367, 120367], 'mapped', [110]], - [[120368, 120368], 'mapped', [111]], - [[120369, 120369], 'mapped', [112]], - [[120370, 120370], 'mapped', [113]], - [[120371, 120371], 'mapped', [114]], - [[120372, 120372], 'mapped', [115]], - [[120373, 120373], 'mapped', [116]], - [[120374, 120374], 'mapped', [117]], - [[120375, 120375], 'mapped', [118]], - [[120376, 120376], 'mapped', [119]], - [[120377, 120377], 'mapped', [120]], - [[120378, 120378], 'mapped', [121]], - [[120379, 120379], 'mapped', [122]], - [[120380, 120380], 'mapped', [97]], - [[120381, 120381], 'mapped', [98]], - [[120382, 120382], 'mapped', [99]], - [[120383, 120383], 'mapped', [100]], - [[120384, 120384], 'mapped', [101]], - [[120385, 120385], 'mapped', [102]], - [[120386, 120386], 'mapped', [103]], - [[120387, 120387], 'mapped', [104]], - [[120388, 120388], 'mapped', [105]], - [[120389, 120389], 'mapped', [106]], - [[120390, 120390], 'mapped', [107]], - [[120391, 120391], 'mapped', [108]], - [[120392, 120392], 'mapped', [109]], - [[120393, 120393], 'mapped', [110]], - [[120394, 120394], 'mapped', [111]], - [[120395, 120395], 'mapped', [112]], - [[120396, 120396], 'mapped', [113]], - [[120397, 120397], 'mapped', [114]], - [[120398, 120398], 'mapped', [115]], - [[120399, 120399], 'mapped', [116]], - [[120400, 120400], 'mapped', [117]], - [[120401, 120401], 'mapped', [118]], - [[120402, 120402], 'mapped', [119]], - [[120403, 120403], 'mapped', [120]], - [[120404, 120404], 'mapped', [121]], - [[120405, 120405], 'mapped', [122]], - [[120406, 120406], 'mapped', [97]], - [[120407, 120407], 'mapped', [98]], - [[120408, 120408], 'mapped', [99]], - [[120409, 120409], 'mapped', [100]], - [[120410, 120410], 'mapped', [101]], - [[120411, 120411], 'mapped', [102]], - [[120412, 120412], 'mapped', [103]], - [[120413, 120413], 'mapped', [104]], - [[120414, 120414], 'mapped', [105]], - [[120415, 120415], 'mapped', [106]], - [[120416, 120416], 'mapped', [107]], - [[120417, 120417], 'mapped', [108]], - [[120418, 120418], 'mapped', [109]], - [[120419, 120419], 'mapped', [110]], - [[120420, 120420], 'mapped', [111]], - [[120421, 120421], 'mapped', [112]], - [[120422, 120422], 'mapped', [113]], - [[120423, 120423], 'mapped', [114]], - [[120424, 120424], 'mapped', [115]], - [[120425, 120425], 'mapped', [116]], - [[120426, 120426], 'mapped', [117]], - [[120427, 120427], 'mapped', [118]], - [[120428, 120428], 'mapped', [119]], - [[120429, 120429], 'mapped', [120]], - [[120430, 120430], 'mapped', [121]], - [[120431, 120431], 'mapped', [122]], - [[120432, 120432], 'mapped', [97]], - [[120433, 120433], 'mapped', [98]], - [[120434, 120434], 'mapped', [99]], - [[120435, 120435], 'mapped', [100]], - [[120436, 120436], 'mapped', [101]], - [[120437, 120437], 'mapped', [102]], - [[120438, 120438], 'mapped', [103]], - [[120439, 120439], 'mapped', [104]], - [[120440, 120440], 'mapped', [105]], - [[120441, 120441], 'mapped', [106]], - [[120442, 120442], 'mapped', [107]], - [[120443, 120443], 'mapped', [108]], - [[120444, 120444], 'mapped', [109]], - [[120445, 120445], 'mapped', [110]], - [[120446, 120446], 'mapped', [111]], - [[120447, 120447], 'mapped', [112]], - [[120448, 120448], 'mapped', [113]], - [[120449, 120449], 'mapped', [114]], - [[120450, 120450], 'mapped', [115]], - [[120451, 120451], 'mapped', [116]], - [[120452, 120452], 'mapped', [117]], - [[120453, 120453], 'mapped', [118]], - [[120454, 120454], 'mapped', [119]], - [[120455, 120455], 'mapped', [120]], - [[120456, 120456], 'mapped', [121]], - [[120457, 120457], 'mapped', [122]], - [[120458, 120458], 'mapped', [97]], - [[120459, 120459], 'mapped', [98]], - [[120460, 120460], 'mapped', [99]], - [[120461, 120461], 'mapped', [100]], - [[120462, 120462], 'mapped', [101]], - [[120463, 120463], 'mapped', [102]], - [[120464, 120464], 'mapped', [103]], - [[120465, 120465], 'mapped', [104]], - [[120466, 120466], 'mapped', [105]], - [[120467, 120467], 'mapped', [106]], - [[120468, 120468], 'mapped', [107]], - [[120469, 120469], 'mapped', [108]], - [[120470, 120470], 'mapped', [109]], - [[120471, 120471], 'mapped', [110]], - [[120472, 120472], 'mapped', [111]], - [[120473, 120473], 'mapped', [112]], - [[120474, 120474], 'mapped', [113]], - [[120475, 120475], 'mapped', [114]], - [[120476, 120476], 'mapped', [115]], - [[120477, 120477], 'mapped', [116]], - [[120478, 120478], 'mapped', [117]], - [[120479, 120479], 'mapped', [118]], - [[120480, 120480], 'mapped', [119]], - [[120481, 120481], 'mapped', [120]], - [[120482, 120482], 'mapped', [121]], - [[120483, 120483], 'mapped', [122]], - [[120484, 120484], 'mapped', [305]], - [[120485, 120485], 'mapped', [567]], - [[120486, 120487], 'disallowed'], - [[120488, 120488], 'mapped', [945]], - [[120489, 120489], 'mapped', [946]], - [[120490, 120490], 'mapped', [947]], - [[120491, 120491], 'mapped', [948]], - [[120492, 120492], 'mapped', [949]], - [[120493, 120493], 'mapped', [950]], - [[120494, 120494], 'mapped', [951]], - [[120495, 120495], 'mapped', [952]], - [[120496, 120496], 'mapped', [953]], - [[120497, 120497], 'mapped', [954]], - [[120498, 120498], 'mapped', [955]], - [[120499, 120499], 'mapped', [956]], - [[120500, 120500], 'mapped', [957]], - [[120501, 120501], 'mapped', [958]], - [[120502, 120502], 'mapped', [959]], - [[120503, 120503], 'mapped', [960]], - [[120504, 120504], 'mapped', [961]], - [[120505, 120505], 'mapped', [952]], - [[120506, 120506], 'mapped', [963]], - [[120507, 120507], 'mapped', [964]], - [[120508, 120508], 'mapped', [965]], - [[120509, 120509], 'mapped', [966]], - [[120510, 120510], 'mapped', [967]], - [[120511, 120511], 'mapped', [968]], - [[120512, 120512], 'mapped', [969]], - [[120513, 120513], 'mapped', [8711]], - [[120514, 120514], 'mapped', [945]], - [[120515, 120515], 'mapped', [946]], - [[120516, 120516], 'mapped', [947]], - [[120517, 120517], 'mapped', [948]], - [[120518, 120518], 'mapped', [949]], - [[120519, 120519], 'mapped', [950]], - [[120520, 120520], 'mapped', [951]], - [[120521, 120521], 'mapped', [952]], - [[120522, 120522], 'mapped', [953]], - [[120523, 120523], 'mapped', [954]], - [[120524, 120524], 'mapped', [955]], - [[120525, 120525], 'mapped', [956]], - [[120526, 120526], 'mapped', [957]], - [[120527, 120527], 'mapped', [958]], - [[120528, 120528], 'mapped', [959]], - [[120529, 120529], 'mapped', [960]], - [[120530, 120530], 'mapped', [961]], - [[120531, 120532], 'mapped', [963]], - [[120533, 120533], 'mapped', [964]], - [[120534, 120534], 'mapped', [965]], - [[120535, 120535], 'mapped', [966]], - [[120536, 120536], 'mapped', [967]], - [[120537, 120537], 'mapped', [968]], - [[120538, 120538], 'mapped', [969]], - [[120539, 120539], 'mapped', [8706]], - [[120540, 120540], 'mapped', [949]], - [[120541, 120541], 'mapped', [952]], - [[120542, 120542], 'mapped', [954]], - [[120543, 120543], 'mapped', [966]], - [[120544, 120544], 'mapped', [961]], - [[120545, 120545], 'mapped', [960]], - [[120546, 120546], 'mapped', [945]], - [[120547, 120547], 'mapped', [946]], - [[120548, 120548], 'mapped', [947]], - [[120549, 120549], 'mapped', [948]], - [[120550, 120550], 'mapped', [949]], - [[120551, 120551], 'mapped', [950]], - [[120552, 120552], 'mapped', [951]], - [[120553, 120553], 'mapped', [952]], - [[120554, 120554], 'mapped', [953]], - [[120555, 120555], 'mapped', [954]], - [[120556, 120556], 'mapped', [955]], - [[120557, 120557], 'mapped', [956]], - [[120558, 120558], 'mapped', [957]], - [[120559, 120559], 'mapped', [958]], - [[120560, 120560], 'mapped', [959]], - [[120561, 120561], 'mapped', [960]], - [[120562, 120562], 'mapped', [961]], - [[120563, 120563], 'mapped', [952]], - [[120564, 120564], 'mapped', [963]], - [[120565, 120565], 'mapped', [964]], - [[120566, 120566], 'mapped', [965]], - [[120567, 120567], 'mapped', [966]], - [[120568, 120568], 'mapped', [967]], - [[120569, 120569], 'mapped', [968]], - [[120570, 120570], 'mapped', [969]], - [[120571, 120571], 'mapped', [8711]], - [[120572, 120572], 'mapped', [945]], - [[120573, 120573], 'mapped', [946]], - [[120574, 120574], 'mapped', [947]], - [[120575, 120575], 'mapped', [948]], - [[120576, 120576], 'mapped', [949]], - [[120577, 120577], 'mapped', [950]], - [[120578, 120578], 'mapped', [951]], - [[120579, 120579], 'mapped', [952]], - [[120580, 120580], 'mapped', [953]], - [[120581, 120581], 'mapped', [954]], - [[120582, 120582], 'mapped', [955]], - [[120583, 120583], 'mapped', [956]], - [[120584, 120584], 'mapped', [957]], - [[120585, 120585], 'mapped', [958]], - [[120586, 120586], 'mapped', [959]], - [[120587, 120587], 'mapped', [960]], - [[120588, 120588], 'mapped', [961]], - [[120589, 120590], 'mapped', [963]], - [[120591, 120591], 'mapped', [964]], - [[120592, 120592], 'mapped', [965]], - [[120593, 120593], 'mapped', [966]], - [[120594, 120594], 'mapped', [967]], - [[120595, 120595], 'mapped', [968]], - [[120596, 120596], 'mapped', [969]], - [[120597, 120597], 'mapped', [8706]], - [[120598, 120598], 'mapped', [949]], - [[120599, 120599], 'mapped', [952]], - [[120600, 120600], 'mapped', [954]], - [[120601, 120601], 'mapped', [966]], - [[120602, 120602], 'mapped', [961]], - [[120603, 120603], 'mapped', [960]], - [[120604, 120604], 'mapped', [945]], - [[120605, 120605], 'mapped', [946]], - [[120606, 120606], 'mapped', [947]], - [[120607, 120607], 'mapped', [948]], - [[120608, 120608], 'mapped', [949]], - [[120609, 120609], 'mapped', [950]], - [[120610, 120610], 'mapped', [951]], - [[120611, 120611], 'mapped', [952]], - [[120612, 120612], 'mapped', [953]], - [[120613, 120613], 'mapped', [954]], - [[120614, 120614], 'mapped', [955]], - [[120615, 120615], 'mapped', [956]], - [[120616, 120616], 'mapped', [957]], - [[120617, 120617], 'mapped', [958]], - [[120618, 120618], 'mapped', [959]], - [[120619, 120619], 'mapped', [960]], - [[120620, 120620], 'mapped', [961]], - [[120621, 120621], 'mapped', [952]], - [[120622, 120622], 'mapped', [963]], - [[120623, 120623], 'mapped', [964]], - [[120624, 120624], 'mapped', [965]], - [[120625, 120625], 'mapped', [966]], - [[120626, 120626], 'mapped', [967]], - [[120627, 120627], 'mapped', [968]], - [[120628, 120628], 'mapped', [969]], - [[120629, 120629], 'mapped', [8711]], - [[120630, 120630], 'mapped', [945]], - [[120631, 120631], 'mapped', [946]], - [[120632, 120632], 'mapped', [947]], - [[120633, 120633], 'mapped', [948]], - [[120634, 120634], 'mapped', [949]], - [[120635, 120635], 'mapped', [950]], - [[120636, 120636], 'mapped', [951]], - [[120637, 120637], 'mapped', [952]], - [[120638, 120638], 'mapped', [953]], - [[120639, 120639], 'mapped', [954]], - [[120640, 120640], 'mapped', [955]], - [[120641, 120641], 'mapped', [956]], - [[120642, 120642], 'mapped', [957]], - [[120643, 120643], 'mapped', [958]], - [[120644, 120644], 'mapped', [959]], - [[120645, 120645], 'mapped', [960]], - [[120646, 120646], 'mapped', [961]], - [[120647, 120648], 'mapped', [963]], - [[120649, 120649], 'mapped', [964]], - [[120650, 120650], 'mapped', [965]], - [[120651, 120651], 'mapped', [966]], - [[120652, 120652], 'mapped', [967]], - [[120653, 120653], 'mapped', [968]], - [[120654, 120654], 'mapped', [969]], - [[120655, 120655], 'mapped', [8706]], - [[120656, 120656], 'mapped', [949]], - [[120657, 120657], 'mapped', [952]], - [[120658, 120658], 'mapped', [954]], - [[120659, 120659], 'mapped', [966]], - [[120660, 120660], 'mapped', [961]], - [[120661, 120661], 'mapped', [960]], - [[120662, 120662], 'mapped', [945]], - [[120663, 120663], 'mapped', [946]], - [[120664, 120664], 'mapped', [947]], - [[120665, 120665], 'mapped', [948]], - [[120666, 120666], 'mapped', [949]], - [[120667, 120667], 'mapped', [950]], - [[120668, 120668], 'mapped', [951]], - [[120669, 120669], 'mapped', [952]], - [[120670, 120670], 'mapped', [953]], - [[120671, 120671], 'mapped', [954]], - [[120672, 120672], 'mapped', [955]], - [[120673, 120673], 'mapped', [956]], - [[120674, 120674], 'mapped', [957]], - [[120675, 120675], 'mapped', [958]], - [[120676, 120676], 'mapped', [959]], - [[120677, 120677], 'mapped', [960]], - [[120678, 120678], 'mapped', [961]], - [[120679, 120679], 'mapped', [952]], - [[120680, 120680], 'mapped', [963]], - [[120681, 120681], 'mapped', [964]], - [[120682, 120682], 'mapped', [965]], - [[120683, 120683], 'mapped', [966]], - [[120684, 120684], 'mapped', [967]], - [[120685, 120685], 'mapped', [968]], - [[120686, 120686], 'mapped', [969]], - [[120687, 120687], 'mapped', [8711]], - [[120688, 120688], 'mapped', [945]], - [[120689, 120689], 'mapped', [946]], - [[120690, 120690], 'mapped', [947]], - [[120691, 120691], 'mapped', [948]], - [[120692, 120692], 'mapped', [949]], - [[120693, 120693], 'mapped', [950]], - [[120694, 120694], 'mapped', [951]], - [[120695, 120695], 'mapped', [952]], - [[120696, 120696], 'mapped', [953]], - [[120697, 120697], 'mapped', [954]], - [[120698, 120698], 'mapped', [955]], - [[120699, 120699], 'mapped', [956]], - [[120700, 120700], 'mapped', [957]], - [[120701, 120701], 'mapped', [958]], - [[120702, 120702], 'mapped', [959]], - [[120703, 120703], 'mapped', [960]], - [[120704, 120704], 'mapped', [961]], - [[120705, 120706], 'mapped', [963]], - [[120707, 120707], 'mapped', [964]], - [[120708, 120708], 'mapped', [965]], - [[120709, 120709], 'mapped', [966]], - [[120710, 120710], 'mapped', [967]], - [[120711, 120711], 'mapped', [968]], - [[120712, 120712], 'mapped', [969]], - [[120713, 120713], 'mapped', [8706]], - [[120714, 120714], 'mapped', [949]], - [[120715, 120715], 'mapped', [952]], - [[120716, 120716], 'mapped', [954]], - [[120717, 120717], 'mapped', [966]], - [[120718, 120718], 'mapped', [961]], - [[120719, 120719], 'mapped', [960]], - [[120720, 120720], 'mapped', [945]], - [[120721, 120721], 'mapped', [946]], - [[120722, 120722], 'mapped', [947]], - [[120723, 120723], 'mapped', [948]], - [[120724, 120724], 'mapped', [949]], - [[120725, 120725], 'mapped', [950]], - [[120726, 120726], 'mapped', [951]], - [[120727, 120727], 'mapped', [952]], - [[120728, 120728], 'mapped', [953]], - [[120729, 120729], 'mapped', [954]], - [[120730, 120730], 'mapped', [955]], - [[120731, 120731], 'mapped', [956]], - [[120732, 120732], 'mapped', [957]], - [[120733, 120733], 'mapped', [958]], - [[120734, 120734], 'mapped', [959]], - [[120735, 120735], 'mapped', [960]], - [[120736, 120736], 'mapped', [961]], - [[120737, 120737], 'mapped', [952]], - [[120738, 120738], 'mapped', [963]], - [[120739, 120739], 'mapped', [964]], - [[120740, 120740], 'mapped', [965]], - [[120741, 120741], 'mapped', [966]], - [[120742, 120742], 'mapped', [967]], - [[120743, 120743], 'mapped', [968]], - [[120744, 120744], 'mapped', [969]], - [[120745, 120745], 'mapped', [8711]], - [[120746, 120746], 'mapped', [945]], - [[120747, 120747], 'mapped', [946]], - [[120748, 120748], 'mapped', [947]], - [[120749, 120749], 'mapped', [948]], - [[120750, 120750], 'mapped', [949]], - [[120751, 120751], 'mapped', [950]], - [[120752, 120752], 'mapped', [951]], - [[120753, 120753], 'mapped', [952]], - [[120754, 120754], 'mapped', [953]], - [[120755, 120755], 'mapped', [954]], - [[120756, 120756], 'mapped', [955]], - [[120757, 120757], 'mapped', [956]], - [[120758, 120758], 'mapped', [957]], - [[120759, 120759], 'mapped', [958]], - [[120760, 120760], 'mapped', [959]], - [[120761, 120761], 'mapped', [960]], - [[120762, 120762], 'mapped', [961]], - [[120763, 120764], 'mapped', [963]], - [[120765, 120765], 'mapped', [964]], - [[120766, 120766], 'mapped', [965]], - [[120767, 120767], 'mapped', [966]], - [[120768, 120768], 'mapped', [967]], - [[120769, 120769], 'mapped', [968]], - [[120770, 120770], 'mapped', [969]], - [[120771, 120771], 'mapped', [8706]], - [[120772, 120772], 'mapped', [949]], - [[120773, 120773], 'mapped', [952]], - [[120774, 120774], 'mapped', [954]], - [[120775, 120775], 'mapped', [966]], - [[120776, 120776], 'mapped', [961]], - [[120777, 120777], 'mapped', [960]], - [[120778, 120779], 'mapped', [989]], - [[120780, 120781], 'disallowed'], - [[120782, 120782], 'mapped', [48]], - [[120783, 120783], 'mapped', [49]], - [[120784, 120784], 'mapped', [50]], - [[120785, 120785], 'mapped', [51]], - [[120786, 120786], 'mapped', [52]], - [[120787, 120787], 'mapped', [53]], - [[120788, 120788], 'mapped', [54]], - [[120789, 120789], 'mapped', [55]], - [[120790, 120790], 'mapped', [56]], - [[120791, 120791], 'mapped', [57]], - [[120792, 120792], 'mapped', [48]], - [[120793, 120793], 'mapped', [49]], - [[120794, 120794], 'mapped', [50]], - [[120795, 120795], 'mapped', [51]], - [[120796, 120796], 'mapped', [52]], - [[120797, 120797], 'mapped', [53]], - [[120798, 120798], 'mapped', [54]], - [[120799, 120799], 'mapped', [55]], - [[120800, 120800], 'mapped', [56]], - [[120801, 120801], 'mapped', [57]], - [[120802, 120802], 'mapped', [48]], - [[120803, 120803], 'mapped', [49]], - [[120804, 120804], 'mapped', [50]], - [[120805, 120805], 'mapped', [51]], - [[120806, 120806], 'mapped', [52]], - [[120807, 120807], 'mapped', [53]], - [[120808, 120808], 'mapped', [54]], - [[120809, 120809], 'mapped', [55]], - [[120810, 120810], 'mapped', [56]], - [[120811, 120811], 'mapped', [57]], - [[120812, 120812], 'mapped', [48]], - [[120813, 120813], 'mapped', [49]], - [[120814, 120814], 'mapped', [50]], - [[120815, 120815], 'mapped', [51]], - [[120816, 120816], 'mapped', [52]], - [[120817, 120817], 'mapped', [53]], - [[120818, 120818], 'mapped', [54]], - [[120819, 120819], 'mapped', [55]], - [[120820, 120820], 'mapped', [56]], - [[120821, 120821], 'mapped', [57]], - [[120822, 120822], 'mapped', [48]], - [[120823, 120823], 'mapped', [49]], - [[120824, 120824], 'mapped', [50]], - [[120825, 120825], 'mapped', [51]], - [[120826, 120826], 'mapped', [52]], - [[120827, 120827], 'mapped', [53]], - [[120828, 120828], 'mapped', [54]], - [[120829, 120829], 'mapped', [55]], - [[120830, 120830], 'mapped', [56]], - [[120831, 120831], 'mapped', [57]], - [[120832, 121343], 'valid', [], 'NV8'], - [[121344, 121398], 'valid'], - [[121399, 121402], 'valid', [], 'NV8'], - [[121403, 121452], 'valid'], - [[121453, 121460], 'valid', [], 'NV8'], - [[121461, 121461], 'valid'], - [[121462, 121475], 'valid', [], 'NV8'], - [[121476, 121476], 'valid'], - [[121477, 121483], 'valid', [], 'NV8'], - [[121484, 121498], 'disallowed'], - [[121499, 121503], 'valid'], - [[121504, 121504], 'disallowed'], - [[121505, 121519], 'valid'], - [[121520, 124927], 'disallowed'], - [[124928, 125124], 'valid'], - [[125125, 125126], 'disallowed'], - [[125127, 125135], 'valid', [], 'NV8'], - [[125136, 125142], 'valid'], - [[125143, 126463], 'disallowed'], - [[126464, 126464], 'mapped', [1575]], - [[126465, 126465], 'mapped', [1576]], - [[126466, 126466], 'mapped', [1580]], - [[126467, 126467], 'mapped', [1583]], - [[126468, 126468], 'disallowed'], - [[126469, 126469], 'mapped', [1608]], - [[126470, 126470], 'mapped', [1586]], - [[126471, 126471], 'mapped', [1581]], - [[126472, 126472], 'mapped', [1591]], - [[126473, 126473], 'mapped', [1610]], - [[126474, 126474], 'mapped', [1603]], - [[126475, 126475], 'mapped', [1604]], - [[126476, 126476], 'mapped', [1605]], - [[126477, 126477], 'mapped', [1606]], - [[126478, 126478], 'mapped', [1587]], - [[126479, 126479], 'mapped', [1593]], - [[126480, 126480], 'mapped', [1601]], - [[126481, 126481], 'mapped', [1589]], - [[126482, 126482], 'mapped', [1602]], - [[126483, 126483], 'mapped', [1585]], - [[126484, 126484], 'mapped', [1588]], - [[126485, 126485], 'mapped', [1578]], - [[126486, 126486], 'mapped', [1579]], - [[126487, 126487], 'mapped', [1582]], - [[126488, 126488], 'mapped', [1584]], - [[126489, 126489], 'mapped', [1590]], - [[126490, 126490], 'mapped', [1592]], - [[126491, 126491], 'mapped', [1594]], - [[126492, 126492], 'mapped', [1646]], - [[126493, 126493], 'mapped', [1722]], - [[126494, 126494], 'mapped', [1697]], - [[126495, 126495], 'mapped', [1647]], - [[126496, 126496], 'disallowed'], - [[126497, 126497], 'mapped', [1576]], - [[126498, 126498], 'mapped', [1580]], - [[126499, 126499], 'disallowed'], - [[126500, 126500], 'mapped', [1607]], - [[126501, 126502], 'disallowed'], - [[126503, 126503], 'mapped', [1581]], - [[126504, 126504], 'disallowed'], - [[126505, 126505], 'mapped', [1610]], - [[126506, 126506], 'mapped', [1603]], - [[126507, 126507], 'mapped', [1604]], - [[126508, 126508], 'mapped', [1605]], - [[126509, 126509], 'mapped', [1606]], - [[126510, 126510], 'mapped', [1587]], - [[126511, 126511], 'mapped', [1593]], - [[126512, 126512], 'mapped', [1601]], - [[126513, 126513], 'mapped', [1589]], - [[126514, 126514], 'mapped', [1602]], - [[126515, 126515], 'disallowed'], - [[126516, 126516], 'mapped', [1588]], - [[126517, 126517], 'mapped', [1578]], - [[126518, 126518], 'mapped', [1579]], - [[126519, 126519], 'mapped', [1582]], - [[126520, 126520], 'disallowed'], - [[126521, 126521], 'mapped', [1590]], - [[126522, 126522], 'disallowed'], - [[126523, 126523], 'mapped', [1594]], - [[126524, 126529], 'disallowed'], - [[126530, 126530], 'mapped', [1580]], - [[126531, 126534], 'disallowed'], - [[126535, 126535], 'mapped', [1581]], - [[126536, 126536], 'disallowed'], - [[126537, 126537], 'mapped', [1610]], - [[126538, 126538], 'disallowed'], - [[126539, 126539], 'mapped', [1604]], - [[126540, 126540], 'disallowed'], - [[126541, 126541], 'mapped', [1606]], - [[126542, 126542], 'mapped', [1587]], - [[126543, 126543], 'mapped', [1593]], - [[126544, 126544], 'disallowed'], - [[126545, 126545], 'mapped', [1589]], - [[126546, 126546], 'mapped', [1602]], - [[126547, 126547], 'disallowed'], - [[126548, 126548], 'mapped', [1588]], - [[126549, 126550], 'disallowed'], - [[126551, 126551], 'mapped', [1582]], - [[126552, 126552], 'disallowed'], - [[126553, 126553], 'mapped', [1590]], - [[126554, 126554], 'disallowed'], - [[126555, 126555], 'mapped', [1594]], - [[126556, 126556], 'disallowed'], - [[126557, 126557], 'mapped', [1722]], - [[126558, 126558], 'disallowed'], - [[126559, 126559], 'mapped', [1647]], - [[126560, 126560], 'disallowed'], - [[126561, 126561], 'mapped', [1576]], - [[126562, 126562], 'mapped', [1580]], - [[126563, 126563], 'disallowed'], - [[126564, 126564], 'mapped', [1607]], - [[126565, 126566], 'disallowed'], - [[126567, 126567], 'mapped', [1581]], - [[126568, 126568], 'mapped', [1591]], - [[126569, 126569], 'mapped', [1610]], - [[126570, 126570], 'mapped', [1603]], - [[126571, 126571], 'disallowed'], - [[126572, 126572], 'mapped', [1605]], - [[126573, 126573], 'mapped', [1606]], - [[126574, 126574], 'mapped', [1587]], - [[126575, 126575], 'mapped', [1593]], - [[126576, 126576], 'mapped', [1601]], - [[126577, 126577], 'mapped', [1589]], - [[126578, 126578], 'mapped', [1602]], - [[126579, 126579], 'disallowed'], - [[126580, 126580], 'mapped', [1588]], - [[126581, 126581], 'mapped', [1578]], - [[126582, 126582], 'mapped', [1579]], - [[126583, 126583], 'mapped', [1582]], - [[126584, 126584], 'disallowed'], - [[126585, 126585], 'mapped', [1590]], - [[126586, 126586], 'mapped', [1592]], - [[126587, 126587], 'mapped', [1594]], - [[126588, 126588], 'mapped', [1646]], - [[126589, 126589], 'disallowed'], - [[126590, 126590], 'mapped', [1697]], - [[126591, 126591], 'disallowed'], - [[126592, 126592], 'mapped', [1575]], - [[126593, 126593], 'mapped', [1576]], - [[126594, 126594], 'mapped', [1580]], - [[126595, 126595], 'mapped', [1583]], - [[126596, 126596], 'mapped', [1607]], - [[126597, 126597], 'mapped', [1608]], - [[126598, 126598], 'mapped', [1586]], - [[126599, 126599], 'mapped', [1581]], - [[126600, 126600], 'mapped', [1591]], - [[126601, 126601], 'mapped', [1610]], - [[126602, 126602], 'disallowed'], - [[126603, 126603], 'mapped', [1604]], - [[126604, 126604], 'mapped', [1605]], - [[126605, 126605], 'mapped', [1606]], - [[126606, 126606], 'mapped', [1587]], - [[126607, 126607], 'mapped', [1593]], - [[126608, 126608], 'mapped', [1601]], - [[126609, 126609], 'mapped', [1589]], - [[126610, 126610], 'mapped', [1602]], - [[126611, 126611], 'mapped', [1585]], - [[126612, 126612], 'mapped', [1588]], - [[126613, 126613], 'mapped', [1578]], - [[126614, 126614], 'mapped', [1579]], - [[126615, 126615], 'mapped', [1582]], - [[126616, 126616], 'mapped', [1584]], - [[126617, 126617], 'mapped', [1590]], - [[126618, 126618], 'mapped', [1592]], - [[126619, 126619], 'mapped', [1594]], - [[126620, 126624], 'disallowed'], - [[126625, 126625], 'mapped', [1576]], - [[126626, 126626], 'mapped', [1580]], - [[126627, 126627], 'mapped', [1583]], - [[126628, 126628], 'disallowed'], - [[126629, 126629], 'mapped', [1608]], - [[126630, 126630], 'mapped', [1586]], - [[126631, 126631], 'mapped', [1581]], - [[126632, 126632], 'mapped', [1591]], - [[126633, 126633], 'mapped', [1610]], - [[126634, 126634], 'disallowed'], - [[126635, 126635], 'mapped', [1604]], - [[126636, 126636], 'mapped', [1605]], - [[126637, 126637], 'mapped', [1606]], - [[126638, 126638], 'mapped', [1587]], - [[126639, 126639], 'mapped', [1593]], - [[126640, 126640], 'mapped', [1601]], - [[126641, 126641], 'mapped', [1589]], - [[126642, 126642], 'mapped', [1602]], - [[126643, 126643], 'mapped', [1585]], - [[126644, 126644], 'mapped', [1588]], - [[126645, 126645], 'mapped', [1578]], - [[126646, 126646], 'mapped', [1579]], - [[126647, 126647], 'mapped', [1582]], - [[126648, 126648], 'mapped', [1584]], - [[126649, 126649], 'mapped', [1590]], - [[126650, 126650], 'mapped', [1592]], - [[126651, 126651], 'mapped', [1594]], - [[126652, 126703], 'disallowed'], - [[126704, 126705], 'valid', [], 'NV8'], - [[126706, 126975], 'disallowed'], - [[126976, 127019], 'valid', [], 'NV8'], - [[127020, 127023], 'disallowed'], - [[127024, 127123], 'valid', [], 'NV8'], - [[127124, 127135], 'disallowed'], - [[127136, 127150], 'valid', [], 'NV8'], - [[127151, 127152], 'disallowed'], - [[127153, 127166], 'valid', [], 'NV8'], - [[127167, 127167], 'valid', [], 'NV8'], - [[127168, 127168], 'disallowed'], - [[127169, 127183], 'valid', [], 'NV8'], - [[127184, 127184], 'disallowed'], - [[127185, 127199], 'valid', [], 'NV8'], - [[127200, 127221], 'valid', [], 'NV8'], - [[127222, 127231], 'disallowed'], - [[127232, 127232], 'disallowed'], - [[127233, 127233], 'disallowed_STD3_mapped', [48, 44]], - [[127234, 127234], 'disallowed_STD3_mapped', [49, 44]], - [[127235, 127235], 'disallowed_STD3_mapped', [50, 44]], - [[127236, 127236], 'disallowed_STD3_mapped', [51, 44]], - [[127237, 127237], 'disallowed_STD3_mapped', [52, 44]], - [[127238, 127238], 'disallowed_STD3_mapped', [53, 44]], - [[127239, 127239], 'disallowed_STD3_mapped', [54, 44]], - [[127240, 127240], 'disallowed_STD3_mapped', [55, 44]], - [[127241, 127241], 'disallowed_STD3_mapped', [56, 44]], - [[127242, 127242], 'disallowed_STD3_mapped', [57, 44]], - [[127243, 127244], 'valid', [], 'NV8'], - [[127245, 127247], 'disallowed'], - [[127248, 127248], 'disallowed_STD3_mapped', [40, 97, 41]], - [[127249, 127249], 'disallowed_STD3_mapped', [40, 98, 41]], - [[127250, 127250], 'disallowed_STD3_mapped', [40, 99, 41]], - [[127251, 127251], 'disallowed_STD3_mapped', [40, 100, 41]], - [[127252, 127252], 'disallowed_STD3_mapped', [40, 101, 41]], - [[127253, 127253], 'disallowed_STD3_mapped', [40, 102, 41]], - [[127254, 127254], 'disallowed_STD3_mapped', [40, 103, 41]], - [[127255, 127255], 'disallowed_STD3_mapped', [40, 104, 41]], - [[127256, 127256], 'disallowed_STD3_mapped', [40, 105, 41]], - [[127257, 127257], 'disallowed_STD3_mapped', [40, 106, 41]], - [[127258, 127258], 'disallowed_STD3_mapped', [40, 107, 41]], - [[127259, 127259], 'disallowed_STD3_mapped', [40, 108, 41]], - [[127260, 127260], 'disallowed_STD3_mapped', [40, 109, 41]], - [[127261, 127261], 'disallowed_STD3_mapped', [40, 110, 41]], - [[127262, 127262], 'disallowed_STD3_mapped', [40, 111, 41]], - [[127263, 127263], 'disallowed_STD3_mapped', [40, 112, 41]], - [[127264, 127264], 'disallowed_STD3_mapped', [40, 113, 41]], - [[127265, 127265], 'disallowed_STD3_mapped', [40, 114, 41]], - [[127266, 127266], 'disallowed_STD3_mapped', [40, 115, 41]], - [[127267, 127267], 'disallowed_STD3_mapped', [40, 116, 41]], - [[127268, 127268], 'disallowed_STD3_mapped', [40, 117, 41]], - [[127269, 127269], 'disallowed_STD3_mapped', [40, 118, 41]], - [[127270, 127270], 'disallowed_STD3_mapped', [40, 119, 41]], - [[127271, 127271], 'disallowed_STD3_mapped', [40, 120, 41]], - [[127272, 127272], 'disallowed_STD3_mapped', [40, 121, 41]], - [[127273, 127273], 'disallowed_STD3_mapped', [40, 122, 41]], - [[127274, 127274], 'mapped', [12308, 115, 12309]], - [[127275, 127275], 'mapped', [99]], - [[127276, 127276], 'mapped', [114]], - [[127277, 127277], 'mapped', [99, 100]], - [[127278, 127278], 'mapped', [119, 122]], - [[127279, 127279], 'disallowed'], - [[127280, 127280], 'mapped', [97]], - [[127281, 127281], 'mapped', [98]], - [[127282, 127282], 'mapped', [99]], - [[127283, 127283], 'mapped', [100]], - [[127284, 127284], 'mapped', [101]], - [[127285, 127285], 'mapped', [102]], - [[127286, 127286], 'mapped', [103]], - [[127287, 127287], 'mapped', [104]], - [[127288, 127288], 'mapped', [105]], - [[127289, 127289], 'mapped', [106]], - [[127290, 127290], 'mapped', [107]], - [[127291, 127291], 'mapped', [108]], - [[127292, 127292], 'mapped', [109]], - [[127293, 127293], 'mapped', [110]], - [[127294, 127294], 'mapped', [111]], - [[127295, 127295], 'mapped', [112]], - [[127296, 127296], 'mapped', [113]], - [[127297, 127297], 'mapped', [114]], - [[127298, 127298], 'mapped', [115]], - [[127299, 127299], 'mapped', [116]], - [[127300, 127300], 'mapped', [117]], - [[127301, 127301], 'mapped', [118]], - [[127302, 127302], 'mapped', [119]], - [[127303, 127303], 'mapped', [120]], - [[127304, 127304], 'mapped', [121]], - [[127305, 127305], 'mapped', [122]], - [[127306, 127306], 'mapped', [104, 118]], - [[127307, 127307], 'mapped', [109, 118]], - [[127308, 127308], 'mapped', [115, 100]], - [[127309, 127309], 'mapped', [115, 115]], - [[127310, 127310], 'mapped', [112, 112, 118]], - [[127311, 127311], 'mapped', [119, 99]], - [[127312, 127318], 'valid', [], 'NV8'], - [[127319, 127319], 'valid', [], 'NV8'], - [[127320, 127326], 'valid', [], 'NV8'], - [[127327, 127327], 'valid', [], 'NV8'], - [[127328, 127337], 'valid', [], 'NV8'], - [[127338, 127338], 'mapped', [109, 99]], - [[127339, 127339], 'mapped', [109, 100]], - [[127340, 127343], 'disallowed'], - [[127344, 127352], 'valid', [], 'NV8'], - [[127353, 127353], 'valid', [], 'NV8'], - [[127354, 127354], 'valid', [], 'NV8'], - [[127355, 127356], 'valid', [], 'NV8'], - [[127357, 127358], 'valid', [], 'NV8'], - [[127359, 127359], 'valid', [], 'NV8'], - [[127360, 127369], 'valid', [], 'NV8'], - [[127370, 127373], 'valid', [], 'NV8'], - [[127374, 127375], 'valid', [], 'NV8'], - [[127376, 127376], 'mapped', [100, 106]], - [[127377, 127386], 'valid', [], 'NV8'], - [[127387, 127461], 'disallowed'], - [[127462, 127487], 'valid', [], 'NV8'], - [[127488, 127488], 'mapped', [12411, 12363]], - [[127489, 127489], 'mapped', [12467, 12467]], - [[127490, 127490], 'mapped', [12469]], - [[127491, 127503], 'disallowed'], - [[127504, 127504], 'mapped', [25163]], - [[127505, 127505], 'mapped', [23383]], - [[127506, 127506], 'mapped', [21452]], - [[127507, 127507], 'mapped', [12487]], - [[127508, 127508], 'mapped', [20108]], - [[127509, 127509], 'mapped', [22810]], - [[127510, 127510], 'mapped', [35299]], - [[127511, 127511], 'mapped', [22825]], - [[127512, 127512], 'mapped', [20132]], - [[127513, 127513], 'mapped', [26144]], - [[127514, 127514], 'mapped', [28961]], - [[127515, 127515], 'mapped', [26009]], - [[127516, 127516], 'mapped', [21069]], - [[127517, 127517], 'mapped', [24460]], - [[127518, 127518], 'mapped', [20877]], - [[127519, 127519], 'mapped', [26032]], - [[127520, 127520], 'mapped', [21021]], - [[127521, 127521], 'mapped', [32066]], - [[127522, 127522], 'mapped', [29983]], - [[127523, 127523], 'mapped', [36009]], - [[127524, 127524], 'mapped', [22768]], - [[127525, 127525], 'mapped', [21561]], - [[127526, 127526], 'mapped', [28436]], - [[127527, 127527], 'mapped', [25237]], - [[127528, 127528], 'mapped', [25429]], - [[127529, 127529], 'mapped', [19968]], - [[127530, 127530], 'mapped', [19977]], - [[127531, 127531], 'mapped', [36938]], - [[127532, 127532], 'mapped', [24038]], - [[127533, 127533], 'mapped', [20013]], - [[127534, 127534], 'mapped', [21491]], - [[127535, 127535], 'mapped', [25351]], - [[127536, 127536], 'mapped', [36208]], - [[127537, 127537], 'mapped', [25171]], - [[127538, 127538], 'mapped', [31105]], - [[127539, 127539], 'mapped', [31354]], - [[127540, 127540], 'mapped', [21512]], - [[127541, 127541], 'mapped', [28288]], - [[127542, 127542], 'mapped', [26377]], - [[127543, 127543], 'mapped', [26376]], - [[127544, 127544], 'mapped', [30003]], - [[127545, 127545], 'mapped', [21106]], - [[127546, 127546], 'mapped', [21942]], - [[127547, 127551], 'disallowed'], - [[127552, 127552], 'mapped', [12308, 26412, 12309]], - [[127553, 127553], 'mapped', [12308, 19977, 12309]], - [[127554, 127554], 'mapped', [12308, 20108, 12309]], - [[127555, 127555], 'mapped', [12308, 23433, 12309]], - [[127556, 127556], 'mapped', [12308, 28857, 12309]], - [[127557, 127557], 'mapped', [12308, 25171, 12309]], - [[127558, 127558], 'mapped', [12308, 30423, 12309]], - [[127559, 127559], 'mapped', [12308, 21213, 12309]], - [[127560, 127560], 'mapped', [12308, 25943, 12309]], - [[127561, 127567], 'disallowed'], - [[127568, 127568], 'mapped', [24471]], - [[127569, 127569], 'mapped', [21487]], - [[127570, 127743], 'disallowed'], - [[127744, 127776], 'valid', [], 'NV8'], - [[127777, 127788], 'valid', [], 'NV8'], - [[127789, 127791], 'valid', [], 'NV8'], - [[127792, 127797], 'valid', [], 'NV8'], - [[127798, 127798], 'valid', [], 'NV8'], - [[127799, 127868], 'valid', [], 'NV8'], - [[127869, 127869], 'valid', [], 'NV8'], - [[127870, 127871], 'valid', [], 'NV8'], - [[127872, 127891], 'valid', [], 'NV8'], - [[127892, 127903], 'valid', [], 'NV8'], - [[127904, 127940], 'valid', [], 'NV8'], - [[127941, 127941], 'valid', [], 'NV8'], - [[127942, 127946], 'valid', [], 'NV8'], - [[127947, 127950], 'valid', [], 'NV8'], - [[127951, 127955], 'valid', [], 'NV8'], - [[127956, 127967], 'valid', [], 'NV8'], - [[127968, 127984], 'valid', [], 'NV8'], - [[127985, 127991], 'valid', [], 'NV8'], - [[127992, 127999], 'valid', [], 'NV8'], - [[128e3, 128062], 'valid', [], 'NV8'], - [[128063, 128063], 'valid', [], 'NV8'], - [[128064, 128064], 'valid', [], 'NV8'], - [[128065, 128065], 'valid', [], 'NV8'], - [[128066, 128247], 'valid', [], 'NV8'], - [[128248, 128248], 'valid', [], 'NV8'], - [[128249, 128252], 'valid', [], 'NV8'], - [[128253, 128254], 'valid', [], 'NV8'], - [[128255, 128255], 'valid', [], 'NV8'], - [[128256, 128317], 'valid', [], 'NV8'], - [[128318, 128319], 'valid', [], 'NV8'], - [[128320, 128323], 'valid', [], 'NV8'], - [[128324, 128330], 'valid', [], 'NV8'], - [[128331, 128335], 'valid', [], 'NV8'], - [[128336, 128359], 'valid', [], 'NV8'], - [[128360, 128377], 'valid', [], 'NV8'], - [[128378, 128378], 'disallowed'], - [[128379, 128419], 'valid', [], 'NV8'], - [[128420, 128420], 'disallowed'], - [[128421, 128506], 'valid', [], 'NV8'], - [[128507, 128511], 'valid', [], 'NV8'], - [[128512, 128512], 'valid', [], 'NV8'], - [[128513, 128528], 'valid', [], 'NV8'], - [[128529, 128529], 'valid', [], 'NV8'], - [[128530, 128532], 'valid', [], 'NV8'], - [[128533, 128533], 'valid', [], 'NV8'], - [[128534, 128534], 'valid', [], 'NV8'], - [[128535, 128535], 'valid', [], 'NV8'], - [[128536, 128536], 'valid', [], 'NV8'], - [[128537, 128537], 'valid', [], 'NV8'], - [[128538, 128538], 'valid', [], 'NV8'], - [[128539, 128539], 'valid', [], 'NV8'], - [[128540, 128542], 'valid', [], 'NV8'], - [[128543, 128543], 'valid', [], 'NV8'], - [[128544, 128549], 'valid', [], 'NV8'], - [[128550, 128551], 'valid', [], 'NV8'], - [[128552, 128555], 'valid', [], 'NV8'], - [[128556, 128556], 'valid', [], 'NV8'], - [[128557, 128557], 'valid', [], 'NV8'], - [[128558, 128559], 'valid', [], 'NV8'], - [[128560, 128563], 'valid', [], 'NV8'], - [[128564, 128564], 'valid', [], 'NV8'], - [[128565, 128576], 'valid', [], 'NV8'], - [[128577, 128578], 'valid', [], 'NV8'], - [[128579, 128580], 'valid', [], 'NV8'], - [[128581, 128591], 'valid', [], 'NV8'], - [[128592, 128639], 'valid', [], 'NV8'], - [[128640, 128709], 'valid', [], 'NV8'], - [[128710, 128719], 'valid', [], 'NV8'], - [[128720, 128720], 'valid', [], 'NV8'], - [[128721, 128735], 'disallowed'], - [[128736, 128748], 'valid', [], 'NV8'], - [[128749, 128751], 'disallowed'], - [[128752, 128755], 'valid', [], 'NV8'], - [[128756, 128767], 'disallowed'], - [[128768, 128883], 'valid', [], 'NV8'], - [[128884, 128895], 'disallowed'], - [[128896, 128980], 'valid', [], 'NV8'], - [[128981, 129023], 'disallowed'], - [[129024, 129035], 'valid', [], 'NV8'], - [[129036, 129039], 'disallowed'], - [[129040, 129095], 'valid', [], 'NV8'], - [[129096, 129103], 'disallowed'], - [[129104, 129113], 'valid', [], 'NV8'], - [[129114, 129119], 'disallowed'], - [[129120, 129159], 'valid', [], 'NV8'], - [[129160, 129167], 'disallowed'], - [[129168, 129197], 'valid', [], 'NV8'], - [[129198, 129295], 'disallowed'], - [[129296, 129304], 'valid', [], 'NV8'], - [[129305, 129407], 'disallowed'], - [[129408, 129412], 'valid', [], 'NV8'], - [[129413, 129471], 'disallowed'], - [[129472, 129472], 'valid', [], 'NV8'], - [[129473, 131069], 'disallowed'], - [[131070, 131071], 'disallowed'], - [[131072, 173782], 'valid'], - [[173783, 173823], 'disallowed'], - [[173824, 177972], 'valid'], - [[177973, 177983], 'disallowed'], - [[177984, 178205], 'valid'], - [[178206, 178207], 'disallowed'], - [[178208, 183969], 'valid'], - [[183970, 194559], 'disallowed'], - [[194560, 194560], 'mapped', [20029]], - [[194561, 194561], 'mapped', [20024]], - [[194562, 194562], 'mapped', [20033]], - [[194563, 194563], 'mapped', [131362]], - [[194564, 194564], 'mapped', [20320]], - [[194565, 194565], 'mapped', [20398]], - [[194566, 194566], 'mapped', [20411]], - [[194567, 194567], 'mapped', [20482]], - [[194568, 194568], 'mapped', [20602]], - [[194569, 194569], 'mapped', [20633]], - [[194570, 194570], 'mapped', [20711]], - [[194571, 194571], 'mapped', [20687]], - [[194572, 194572], 'mapped', [13470]], - [[194573, 194573], 'mapped', [132666]], - [[194574, 194574], 'mapped', [20813]], - [[194575, 194575], 'mapped', [20820]], - [[194576, 194576], 'mapped', [20836]], - [[194577, 194577], 'mapped', [20855]], - [[194578, 194578], 'mapped', [132380]], - [[194579, 194579], 'mapped', [13497]], - [[194580, 194580], 'mapped', [20839]], - [[194581, 194581], 'mapped', [20877]], - [[194582, 194582], 'mapped', [132427]], - [[194583, 194583], 'mapped', [20887]], - [[194584, 194584], 'mapped', [20900]], - [[194585, 194585], 'mapped', [20172]], - [[194586, 194586], 'mapped', [20908]], - [[194587, 194587], 'mapped', [20917]], - [[194588, 194588], 'mapped', [168415]], - [[194589, 194589], 'mapped', [20981]], - [[194590, 194590], 'mapped', [20995]], - [[194591, 194591], 'mapped', [13535]], - [[194592, 194592], 'mapped', [21051]], - [[194593, 194593], 'mapped', [21062]], - [[194594, 194594], 'mapped', [21106]], - [[194595, 194595], 'mapped', [21111]], - [[194596, 194596], 'mapped', [13589]], - [[194597, 194597], 'mapped', [21191]], - [[194598, 194598], 'mapped', [21193]], - [[194599, 194599], 'mapped', [21220]], - [[194600, 194600], 'mapped', [21242]], - [[194601, 194601], 'mapped', [21253]], - [[194602, 194602], 'mapped', [21254]], - [[194603, 194603], 'mapped', [21271]], - [[194604, 194604], 'mapped', [21321]], - [[194605, 194605], 'mapped', [21329]], - [[194606, 194606], 'mapped', [21338]], - [[194607, 194607], 'mapped', [21363]], - [[194608, 194608], 'mapped', [21373]], - [[194609, 194611], 'mapped', [21375]], - [[194612, 194612], 'mapped', [133676]], - [[194613, 194613], 'mapped', [28784]], - [[194614, 194614], 'mapped', [21450]], - [[194615, 194615], 'mapped', [21471]], - [[194616, 194616], 'mapped', [133987]], - [[194617, 194617], 'mapped', [21483]], - [[194618, 194618], 'mapped', [21489]], - [[194619, 194619], 'mapped', [21510]], - [[194620, 194620], 'mapped', [21662]], - [[194621, 194621], 'mapped', [21560]], - [[194622, 194622], 'mapped', [21576]], - [[194623, 194623], 'mapped', [21608]], - [[194624, 194624], 'mapped', [21666]], - [[194625, 194625], 'mapped', [21750]], - [[194626, 194626], 'mapped', [21776]], - [[194627, 194627], 'mapped', [21843]], - [[194628, 194628], 'mapped', [21859]], - [[194629, 194630], 'mapped', [21892]], - [[194631, 194631], 'mapped', [21913]], - [[194632, 194632], 'mapped', [21931]], - [[194633, 194633], 'mapped', [21939]], - [[194634, 194634], 'mapped', [21954]], - [[194635, 194635], 'mapped', [22294]], - [[194636, 194636], 'mapped', [22022]], - [[194637, 194637], 'mapped', [22295]], - [[194638, 194638], 'mapped', [22097]], - [[194639, 194639], 'mapped', [22132]], - [[194640, 194640], 'mapped', [20999]], - [[194641, 194641], 'mapped', [22766]], - [[194642, 194642], 'mapped', [22478]], - [[194643, 194643], 'mapped', [22516]], - [[194644, 194644], 'mapped', [22541]], - [[194645, 194645], 'mapped', [22411]], - [[194646, 194646], 'mapped', [22578]], - [[194647, 194647], 'mapped', [22577]], - [[194648, 194648], 'mapped', [22700]], - [[194649, 194649], 'mapped', [136420]], - [[194650, 194650], 'mapped', [22770]], - [[194651, 194651], 'mapped', [22775]], - [[194652, 194652], 'mapped', [22790]], - [[194653, 194653], 'mapped', [22810]], - [[194654, 194654], 'mapped', [22818]], - [[194655, 194655], 'mapped', [22882]], - [[194656, 194656], 'mapped', [136872]], - [[194657, 194657], 'mapped', [136938]], - [[194658, 194658], 'mapped', [23020]], - [[194659, 194659], 'mapped', [23067]], - [[194660, 194660], 'mapped', [23079]], - [[194661, 194661], 'mapped', [23e3]], - [[194662, 194662], 'mapped', [23142]], - [[194663, 194663], 'mapped', [14062]], - [[194664, 194664], 'disallowed'], - [[194665, 194665], 'mapped', [23304]], - [[194666, 194667], 'mapped', [23358]], - [[194668, 194668], 'mapped', [137672]], - [[194669, 194669], 'mapped', [23491]], - [[194670, 194670], 'mapped', [23512]], - [[194671, 194671], 'mapped', [23527]], - [[194672, 194672], 'mapped', [23539]], - [[194673, 194673], 'mapped', [138008]], - [[194674, 194674], 'mapped', [23551]], - [[194675, 194675], 'mapped', [23558]], - [[194676, 194676], 'disallowed'], - [[194677, 194677], 'mapped', [23586]], - [[194678, 194678], 'mapped', [14209]], - [[194679, 194679], 'mapped', [23648]], - [[194680, 194680], 'mapped', [23662]], - [[194681, 194681], 'mapped', [23744]], - [[194682, 194682], 'mapped', [23693]], - [[194683, 194683], 'mapped', [138724]], - [[194684, 194684], 'mapped', [23875]], - [[194685, 194685], 'mapped', [138726]], - [[194686, 194686], 'mapped', [23918]], - [[194687, 194687], 'mapped', [23915]], - [[194688, 194688], 'mapped', [23932]], - [[194689, 194689], 'mapped', [24033]], - [[194690, 194690], 'mapped', [24034]], - [[194691, 194691], 'mapped', [14383]], - [[194692, 194692], 'mapped', [24061]], - [[194693, 194693], 'mapped', [24104]], - [[194694, 194694], 'mapped', [24125]], - [[194695, 194695], 'mapped', [24169]], - [[194696, 194696], 'mapped', [14434]], - [[194697, 194697], 'mapped', [139651]], - [[194698, 194698], 'mapped', [14460]], - [[194699, 194699], 'mapped', [24240]], - [[194700, 194700], 'mapped', [24243]], - [[194701, 194701], 'mapped', [24246]], - [[194702, 194702], 'mapped', [24266]], - [[194703, 194703], 'mapped', [172946]], - [[194704, 194704], 'mapped', [24318]], - [[194705, 194706], 'mapped', [140081]], - [[194707, 194707], 'mapped', [33281]], - [[194708, 194709], 'mapped', [24354]], - [[194710, 194710], 'mapped', [14535]], - [[194711, 194711], 'mapped', [144056]], - [[194712, 194712], 'mapped', [156122]], - [[194713, 194713], 'mapped', [24418]], - [[194714, 194714], 'mapped', [24427]], - [[194715, 194715], 'mapped', [14563]], - [[194716, 194716], 'mapped', [24474]], - [[194717, 194717], 'mapped', [24525]], - [[194718, 194718], 'mapped', [24535]], - [[194719, 194719], 'mapped', [24569]], - [[194720, 194720], 'mapped', [24705]], - [[194721, 194721], 'mapped', [14650]], - [[194722, 194722], 'mapped', [14620]], - [[194723, 194723], 'mapped', [24724]], - [[194724, 194724], 'mapped', [141012]], - [[194725, 194725], 'mapped', [24775]], - [[194726, 194726], 'mapped', [24904]], - [[194727, 194727], 'mapped', [24908]], - [[194728, 194728], 'mapped', [24910]], - [[194729, 194729], 'mapped', [24908]], - [[194730, 194730], 'mapped', [24954]], - [[194731, 194731], 'mapped', [24974]], - [[194732, 194732], 'mapped', [25010]], - [[194733, 194733], 'mapped', [24996]], - [[194734, 194734], 'mapped', [25007]], - [[194735, 194735], 'mapped', [25054]], - [[194736, 194736], 'mapped', [25074]], - [[194737, 194737], 'mapped', [25078]], - [[194738, 194738], 'mapped', [25104]], - [[194739, 194739], 'mapped', [25115]], - [[194740, 194740], 'mapped', [25181]], - [[194741, 194741], 'mapped', [25265]], - [[194742, 194742], 'mapped', [25300]], - [[194743, 194743], 'mapped', [25424]], - [[194744, 194744], 'mapped', [142092]], - [[194745, 194745], 'mapped', [25405]], - [[194746, 194746], 'mapped', [25340]], - [[194747, 194747], 'mapped', [25448]], - [[194748, 194748], 'mapped', [25475]], - [[194749, 194749], 'mapped', [25572]], - [[194750, 194750], 'mapped', [142321]], - [[194751, 194751], 'mapped', [25634]], - [[194752, 194752], 'mapped', [25541]], - [[194753, 194753], 'mapped', [25513]], - [[194754, 194754], 'mapped', [14894]], - [[194755, 194755], 'mapped', [25705]], - [[194756, 194756], 'mapped', [25726]], - [[194757, 194757], 'mapped', [25757]], - [[194758, 194758], 'mapped', [25719]], - [[194759, 194759], 'mapped', [14956]], - [[194760, 194760], 'mapped', [25935]], - [[194761, 194761], 'mapped', [25964]], - [[194762, 194762], 'mapped', [143370]], - [[194763, 194763], 'mapped', [26083]], - [[194764, 194764], 'mapped', [26360]], - [[194765, 194765], 'mapped', [26185]], - [[194766, 194766], 'mapped', [15129]], - [[194767, 194767], 'mapped', [26257]], - [[194768, 194768], 'mapped', [15112]], - [[194769, 194769], 'mapped', [15076]], - [[194770, 194770], 'mapped', [20882]], - [[194771, 194771], 'mapped', [20885]], - [[194772, 194772], 'mapped', [26368]], - [[194773, 194773], 'mapped', [26268]], - [[194774, 194774], 'mapped', [32941]], - [[194775, 194775], 'mapped', [17369]], - [[194776, 194776], 'mapped', [26391]], - [[194777, 194777], 'mapped', [26395]], - [[194778, 194778], 'mapped', [26401]], - [[194779, 194779], 'mapped', [26462]], - [[194780, 194780], 'mapped', [26451]], - [[194781, 194781], 'mapped', [144323]], - [[194782, 194782], 'mapped', [15177]], - [[194783, 194783], 'mapped', [26618]], - [[194784, 194784], 'mapped', [26501]], - [[194785, 194785], 'mapped', [26706]], - [[194786, 194786], 'mapped', [26757]], - [[194787, 194787], 'mapped', [144493]], - [[194788, 194788], 'mapped', [26766]], - [[194789, 194789], 'mapped', [26655]], - [[194790, 194790], 'mapped', [26900]], - [[194791, 194791], 'mapped', [15261]], - [[194792, 194792], 'mapped', [26946]], - [[194793, 194793], 'mapped', [27043]], - [[194794, 194794], 'mapped', [27114]], - [[194795, 194795], 'mapped', [27304]], - [[194796, 194796], 'mapped', [145059]], - [[194797, 194797], 'mapped', [27355]], - [[194798, 194798], 'mapped', [15384]], - [[194799, 194799], 'mapped', [27425]], - [[194800, 194800], 'mapped', [145575]], - [[194801, 194801], 'mapped', [27476]], - [[194802, 194802], 'mapped', [15438]], - [[194803, 194803], 'mapped', [27506]], - [[194804, 194804], 'mapped', [27551]], - [[194805, 194805], 'mapped', [27578]], - [[194806, 194806], 'mapped', [27579]], - [[194807, 194807], 'mapped', [146061]], - [[194808, 194808], 'mapped', [138507]], - [[194809, 194809], 'mapped', [146170]], - [[194810, 194810], 'mapped', [27726]], - [[194811, 194811], 'mapped', [146620]], - [[194812, 194812], 'mapped', [27839]], - [[194813, 194813], 'mapped', [27853]], - [[194814, 194814], 'mapped', [27751]], - [[194815, 194815], 'mapped', [27926]], - [[194816, 194816], 'mapped', [27966]], - [[194817, 194817], 'mapped', [28023]], - [[194818, 194818], 'mapped', [27969]], - [[194819, 194819], 'mapped', [28009]], - [[194820, 194820], 'mapped', [28024]], - [[194821, 194821], 'mapped', [28037]], - [[194822, 194822], 'mapped', [146718]], - [[194823, 194823], 'mapped', [27956]], - [[194824, 194824], 'mapped', [28207]], - [[194825, 194825], 'mapped', [28270]], - [[194826, 194826], 'mapped', [15667]], - [[194827, 194827], 'mapped', [28363]], - [[194828, 194828], 'mapped', [28359]], - [[194829, 194829], 'mapped', [147153]], - [[194830, 194830], 'mapped', [28153]], - [[194831, 194831], 'mapped', [28526]], - [[194832, 194832], 'mapped', [147294]], - [[194833, 194833], 'mapped', [147342]], - [[194834, 194834], 'mapped', [28614]], - [[194835, 194835], 'mapped', [28729]], - [[194836, 194836], 'mapped', [28702]], - [[194837, 194837], 'mapped', [28699]], - [[194838, 194838], 'mapped', [15766]], - [[194839, 194839], 'mapped', [28746]], - [[194840, 194840], 'mapped', [28797]], - [[194841, 194841], 'mapped', [28791]], - [[194842, 194842], 'mapped', [28845]], - [[194843, 194843], 'mapped', [132389]], - [[194844, 194844], 'mapped', [28997]], - [[194845, 194845], 'mapped', [148067]], - [[194846, 194846], 'mapped', [29084]], - [[194847, 194847], 'disallowed'], - [[194848, 194848], 'mapped', [29224]], - [[194849, 194849], 'mapped', [29237]], - [[194850, 194850], 'mapped', [29264]], - [[194851, 194851], 'mapped', [149e3]], - [[194852, 194852], 'mapped', [29312]], - [[194853, 194853], 'mapped', [29333]], - [[194854, 194854], 'mapped', [149301]], - [[194855, 194855], 'mapped', [149524]], - [[194856, 194856], 'mapped', [29562]], - [[194857, 194857], 'mapped', [29579]], - [[194858, 194858], 'mapped', [16044]], - [[194859, 194859], 'mapped', [29605]], - [[194860, 194861], 'mapped', [16056]], - [[194862, 194862], 'mapped', [29767]], - [[194863, 194863], 'mapped', [29788]], - [[194864, 194864], 'mapped', [29809]], - [[194865, 194865], 'mapped', [29829]], - [[194866, 194866], 'mapped', [29898]], - [[194867, 194867], 'mapped', [16155]], - [[194868, 194868], 'mapped', [29988]], - [[194869, 194869], 'mapped', [150582]], - [[194870, 194870], 'mapped', [30014]], - [[194871, 194871], 'mapped', [150674]], - [[194872, 194872], 'mapped', [30064]], - [[194873, 194873], 'mapped', [139679]], - [[194874, 194874], 'mapped', [30224]], - [[194875, 194875], 'mapped', [151457]], - [[194876, 194876], 'mapped', [151480]], - [[194877, 194877], 'mapped', [151620]], - [[194878, 194878], 'mapped', [16380]], - [[194879, 194879], 'mapped', [16392]], - [[194880, 194880], 'mapped', [30452]], - [[194881, 194881], 'mapped', [151795]], - [[194882, 194882], 'mapped', [151794]], - [[194883, 194883], 'mapped', [151833]], - [[194884, 194884], 'mapped', [151859]], - [[194885, 194885], 'mapped', [30494]], - [[194886, 194887], 'mapped', [30495]], - [[194888, 194888], 'mapped', [30538]], - [[194889, 194889], 'mapped', [16441]], - [[194890, 194890], 'mapped', [30603]], - [[194891, 194891], 'mapped', [16454]], - [[194892, 194892], 'mapped', [16534]], - [[194893, 194893], 'mapped', [152605]], - [[194894, 194894], 'mapped', [30798]], - [[194895, 194895], 'mapped', [30860]], - [[194896, 194896], 'mapped', [30924]], - [[194897, 194897], 'mapped', [16611]], - [[194898, 194898], 'mapped', [153126]], - [[194899, 194899], 'mapped', [31062]], - [[194900, 194900], 'mapped', [153242]], - [[194901, 194901], 'mapped', [153285]], - [[194902, 194902], 'mapped', [31119]], - [[194903, 194903], 'mapped', [31211]], - [[194904, 194904], 'mapped', [16687]], - [[194905, 194905], 'mapped', [31296]], - [[194906, 194906], 'mapped', [31306]], - [[194907, 194907], 'mapped', [31311]], - [[194908, 194908], 'mapped', [153980]], - [[194909, 194910], 'mapped', [154279]], - [[194911, 194911], 'disallowed'], - [[194912, 194912], 'mapped', [16898]], - [[194913, 194913], 'mapped', [154539]], - [[194914, 194914], 'mapped', [31686]], - [[194915, 194915], 'mapped', [31689]], - [[194916, 194916], 'mapped', [16935]], - [[194917, 194917], 'mapped', [154752]], - [[194918, 194918], 'mapped', [31954]], - [[194919, 194919], 'mapped', [17056]], - [[194920, 194920], 'mapped', [31976]], - [[194921, 194921], 'mapped', [31971]], - [[194922, 194922], 'mapped', [32e3]], - [[194923, 194923], 'mapped', [155526]], - [[194924, 194924], 'mapped', [32099]], - [[194925, 194925], 'mapped', [17153]], - [[194926, 194926], 'mapped', [32199]], - [[194927, 194927], 'mapped', [32258]], - [[194928, 194928], 'mapped', [32325]], - [[194929, 194929], 'mapped', [17204]], - [[194930, 194930], 'mapped', [156200]], - [[194931, 194931], 'mapped', [156231]], - [[194932, 194932], 'mapped', [17241]], - [[194933, 194933], 'mapped', [156377]], - [[194934, 194934], 'mapped', [32634]], - [[194935, 194935], 'mapped', [156478]], - [[194936, 194936], 'mapped', [32661]], - [[194937, 194937], 'mapped', [32762]], - [[194938, 194938], 'mapped', [32773]], - [[194939, 194939], 'mapped', [156890]], - [[194940, 194940], 'mapped', [156963]], - [[194941, 194941], 'mapped', [32864]], - [[194942, 194942], 'mapped', [157096]], - [[194943, 194943], 'mapped', [32880]], - [[194944, 194944], 'mapped', [144223]], - [[194945, 194945], 'mapped', [17365]], - [[194946, 194946], 'mapped', [32946]], - [[194947, 194947], 'mapped', [33027]], - [[194948, 194948], 'mapped', [17419]], - [[194949, 194949], 'mapped', [33086]], - [[194950, 194950], 'mapped', [23221]], - [[194951, 194951], 'mapped', [157607]], - [[194952, 194952], 'mapped', [157621]], - [[194953, 194953], 'mapped', [144275]], - [[194954, 194954], 'mapped', [144284]], - [[194955, 194955], 'mapped', [33281]], - [[194956, 194956], 'mapped', [33284]], - [[194957, 194957], 'mapped', [36766]], - [[194958, 194958], 'mapped', [17515]], - [[194959, 194959], 'mapped', [33425]], - [[194960, 194960], 'mapped', [33419]], - [[194961, 194961], 'mapped', [33437]], - [[194962, 194962], 'mapped', [21171]], - [[194963, 194963], 'mapped', [33457]], - [[194964, 194964], 'mapped', [33459]], - [[194965, 194965], 'mapped', [33469]], - [[194966, 194966], 'mapped', [33510]], - [[194967, 194967], 'mapped', [158524]], - [[194968, 194968], 'mapped', [33509]], - [[194969, 194969], 'mapped', [33565]], - [[194970, 194970], 'mapped', [33635]], - [[194971, 194971], 'mapped', [33709]], - [[194972, 194972], 'mapped', [33571]], - [[194973, 194973], 'mapped', [33725]], - [[194974, 194974], 'mapped', [33767]], - [[194975, 194975], 'mapped', [33879]], - [[194976, 194976], 'mapped', [33619]], - [[194977, 194977], 'mapped', [33738]], - [[194978, 194978], 'mapped', [33740]], - [[194979, 194979], 'mapped', [33756]], - [[194980, 194980], 'mapped', [158774]], - [[194981, 194981], 'mapped', [159083]], - [[194982, 194982], 'mapped', [158933]], - [[194983, 194983], 'mapped', [17707]], - [[194984, 194984], 'mapped', [34033]], - [[194985, 194985], 'mapped', [34035]], - [[194986, 194986], 'mapped', [34070]], - [[194987, 194987], 'mapped', [160714]], - [[194988, 194988], 'mapped', [34148]], - [[194989, 194989], 'mapped', [159532]], - [[194990, 194990], 'mapped', [17757]], - [[194991, 194991], 'mapped', [17761]], - [[194992, 194992], 'mapped', [159665]], - [[194993, 194993], 'mapped', [159954]], - [[194994, 194994], 'mapped', [17771]], - [[194995, 194995], 'mapped', [34384]], - [[194996, 194996], 'mapped', [34396]], - [[194997, 194997], 'mapped', [34407]], - [[194998, 194998], 'mapped', [34409]], - [[194999, 194999], 'mapped', [34473]], - [[195e3, 195e3], 'mapped', [34440]], - [[195001, 195001], 'mapped', [34574]], - [[195002, 195002], 'mapped', [34530]], - [[195003, 195003], 'mapped', [34681]], - [[195004, 195004], 'mapped', [34600]], - [[195005, 195005], 'mapped', [34667]], - [[195006, 195006], 'mapped', [34694]], - [[195007, 195007], 'disallowed'], - [[195008, 195008], 'mapped', [34785]], - [[195009, 195009], 'mapped', [34817]], - [[195010, 195010], 'mapped', [17913]], - [[195011, 195011], 'mapped', [34912]], - [[195012, 195012], 'mapped', [34915]], - [[195013, 195013], 'mapped', [161383]], - [[195014, 195014], 'mapped', [35031]], - [[195015, 195015], 'mapped', [35038]], - [[195016, 195016], 'mapped', [17973]], - [[195017, 195017], 'mapped', [35066]], - [[195018, 195018], 'mapped', [13499]], - [[195019, 195019], 'mapped', [161966]], - [[195020, 195020], 'mapped', [162150]], - [[195021, 195021], 'mapped', [18110]], - [[195022, 195022], 'mapped', [18119]], - [[195023, 195023], 'mapped', [35488]], - [[195024, 195024], 'mapped', [35565]], - [[195025, 195025], 'mapped', [35722]], - [[195026, 195026], 'mapped', [35925]], - [[195027, 195027], 'mapped', [162984]], - [[195028, 195028], 'mapped', [36011]], - [[195029, 195029], 'mapped', [36033]], - [[195030, 195030], 'mapped', [36123]], - [[195031, 195031], 'mapped', [36215]], - [[195032, 195032], 'mapped', [163631]], - [[195033, 195033], 'mapped', [133124]], - [[195034, 195034], 'mapped', [36299]], - [[195035, 195035], 'mapped', [36284]], - [[195036, 195036], 'mapped', [36336]], - [[195037, 195037], 'mapped', [133342]], - [[195038, 195038], 'mapped', [36564]], - [[195039, 195039], 'mapped', [36664]], - [[195040, 195040], 'mapped', [165330]], - [[195041, 195041], 'mapped', [165357]], - [[195042, 195042], 'mapped', [37012]], - [[195043, 195043], 'mapped', [37105]], - [[195044, 195044], 'mapped', [37137]], - [[195045, 195045], 'mapped', [165678]], - [[195046, 195046], 'mapped', [37147]], - [[195047, 195047], 'mapped', [37432]], - [[195048, 195048], 'mapped', [37591]], - [[195049, 195049], 'mapped', [37592]], - [[195050, 195050], 'mapped', [37500]], - [[195051, 195051], 'mapped', [37881]], - [[195052, 195052], 'mapped', [37909]], - [[195053, 195053], 'mapped', [166906]], - [[195054, 195054], 'mapped', [38283]], - [[195055, 195055], 'mapped', [18837]], - [[195056, 195056], 'mapped', [38327]], - [[195057, 195057], 'mapped', [167287]], - [[195058, 195058], 'mapped', [18918]], - [[195059, 195059], 'mapped', [38595]], - [[195060, 195060], 'mapped', [23986]], - [[195061, 195061], 'mapped', [38691]], - [[195062, 195062], 'mapped', [168261]], - [[195063, 195063], 'mapped', [168474]], - [[195064, 195064], 'mapped', [19054]], - [[195065, 195065], 'mapped', [19062]], - [[195066, 195066], 'mapped', [38880]], - [[195067, 195067], 'mapped', [168970]], - [[195068, 195068], 'mapped', [19122]], - [[195069, 195069], 'mapped', [169110]], - [[195070, 195071], 'mapped', [38923]], - [[195072, 195072], 'mapped', [38953]], - [[195073, 195073], 'mapped', [169398]], - [[195074, 195074], 'mapped', [39138]], - [[195075, 195075], 'mapped', [19251]], - [[195076, 195076], 'mapped', [39209]], - [[195077, 195077], 'mapped', [39335]], - [[195078, 195078], 'mapped', [39362]], - [[195079, 195079], 'mapped', [39422]], - [[195080, 195080], 'mapped', [19406]], - [[195081, 195081], 'mapped', [170800]], - [[195082, 195082], 'mapped', [39698]], - [[195083, 195083], 'mapped', [4e4]], - [[195084, 195084], 'mapped', [40189]], - [[195085, 195085], 'mapped', [19662]], - [[195086, 195086], 'mapped', [19693]], - [[195087, 195087], 'mapped', [40295]], - [[195088, 195088], 'mapped', [172238]], - [[195089, 195089], 'mapped', [19704]], - [[195090, 195090], 'mapped', [172293]], - [[195091, 195091], 'mapped', [172558]], - [[195092, 195092], 'mapped', [172689]], - [[195093, 195093], 'mapped', [40635]], - [[195094, 195094], 'mapped', [19798]], - [[195095, 195095], 'mapped', [40697]], - [[195096, 195096], 'mapped', [40702]], - [[195097, 195097], 'mapped', [40709]], - [[195098, 195098], 'mapped', [40719]], - [[195099, 195099], 'mapped', [40726]], - [[195100, 195100], 'mapped', [40763]], - [[195101, 195101], 'mapped', [173568]], - [[195102, 196605], 'disallowed'], - [[196606, 196607], 'disallowed'], - [[196608, 262141], 'disallowed'], - [[262142, 262143], 'disallowed'], - [[262144, 327677], 'disallowed'], - [[327678, 327679], 'disallowed'], - [[327680, 393213], 'disallowed'], - [[393214, 393215], 'disallowed'], - [[393216, 458749], 'disallowed'], - [[458750, 458751], 'disallowed'], - [[458752, 524285], 'disallowed'], - [[524286, 524287], 'disallowed'], - [[524288, 589821], 'disallowed'], - [[589822, 589823], 'disallowed'], - [[589824, 655357], 'disallowed'], - [[655358, 655359], 'disallowed'], - [[655360, 720893], 'disallowed'], - [[720894, 720895], 'disallowed'], - [[720896, 786429], 'disallowed'], - [[786430, 786431], 'disallowed'], - [[786432, 851965], 'disallowed'], - [[851966, 851967], 'disallowed'], - [[851968, 917501], 'disallowed'], - [[917502, 917503], 'disallowed'], - [[917504, 917504], 'disallowed'], - [[917505, 917505], 'disallowed'], - [[917506, 917535], 'disallowed'], - [[917536, 917631], 'disallowed'], - [[917632, 917759], 'disallowed'], - [[917760, 917999], 'ignored'], - [[918e3, 983037], 'disallowed'], - [[983038, 983039], 'disallowed'], - [[983040, 1048573], 'disallowed'], - [[1048574, 1048575], 'disallowed'], - [[1048576, 1114109], 'disallowed'], - [[1114110, 1114111], 'disallowed'] - ]; - } -}); - -// node_modules/tr46/index.js -var require_tr46 = __commonJS({ - 'node_modules/tr46/index.js'(exports2, module2) { - 'use strict'; - var punycode = require('punycode'); - var mappingTable = require_mappingTable(); - var PROCESSING_OPTIONS = { - TRANSITIONAL: 0, - NONTRANSITIONAL: 1 - }; - function normalize(str) { - return str - .split('\0') - .map(function (s) { - return s.normalize('NFC'); - }) - .join('\0'); - } - function findStatus(val) { - var start = 0; - var end = mappingTable.length - 1; - while (start <= end) { - var mid = Math.floor((start + end) / 2); - var target = mappingTable[mid]; - if (target[0][0] <= val && target[0][1] >= val) { - return target; - } else if (target[0][0] > val) { - end = mid - 1; - } else { - start = mid + 1; + if (compareBase64Mixed(actualValue, expectedValue)) { + return true; } } - return null; - } - var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - function countSymbols(string) { - return string.replace(regexAstralSymbols, '_').length; + return false; } - function mapChars(domain_name, useSTD3, processing_option) { - var hasError = false; - var processed = ''; - var len = countSymbols(domain_name); - for (var i = 0; i < len; ++i) { - var codePoint = domain_name.codePointAt(i); - var status = findStatus(codePoint); - switch (status[1]) { - case 'disallowed': - hasError = true; - processed += String.fromCodePoint(codePoint); - break; - case 'ignored': - break; - case 'mapped': - processed += String.fromCodePoint.apply(String, status[2]); - break; - case 'deviation': - if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { - processed += String.fromCodePoint.apply(String, status[2]); - } else { - processed += String.fromCodePoint(codePoint); - } - break; - case 'valid': - processed += String.fromCodePoint(codePoint); - break; - case 'disallowed_STD3_mapped': - if (useSTD3) { - hasError = true; - processed += String.fromCodePoint(codePoint); - } else { - processed += String.fromCodePoint.apply(String, status[2]); - } - break; - case 'disallowed_STD3_valid': - if (useSTD3) { - hasError = true; - } - processed += String.fromCodePoint(codePoint); - break; + 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 token2 of metadata.split(" ")) { + empty = false; + const parsedToken = parseHashWithOptions.exec(token2); + 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); } } - return { - string: processed, - error: hasError - }; - } - var combiningMarksRegex = - /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; - function validateLabel(label, processing_option) { - if (label.substr(0, 4) === 'xn--') { - label = punycode.toUnicode(label); - processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; - } - var error = false; - if ( - normalize(label) !== label || - (label[3] === '-' && label[4] === '-') || - label[0] === '-' || - label[label.length - 1] === '-' || - label.indexOf('.') !== -1 || - label.search(combiningMarksRegex) === 0 - ) { - error = true; + if (empty === true) { + return "no metadata"; } - var len = countSymbols(label); - for (var i = 0; i < len; ++i) { - var status = findStatus(label.codePointAt(i)); - if ( - (processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== 'valid') || - (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status[1] !== 'valid' && status[1] !== 'deviation') - ) { - error = true; + 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 { - label, - error - }; + return algorithm; } - function processing(domain_name, useSTD3, processing_option) { - var result = mapChars(domain_name, useSTD3, processing_option); - result.string = normalize(result.string); - var labels = result.string.split('.'); - for (var i = 0; i < labels.length; ++i) { - try { - var validation = validateLabel(labels[i]); - labels[i] = validation.label; - result.error = result.error || validation.error; - } catch (e) { - result.error = 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]; } } - return { - string: labels.join('.'), - error: result.error - }; + metadataList.length = pos; + return metadataList; } - module2.exports.toASCII = function (domain_name, useSTD3, processing_option, verifyDnsLength) { - var result = processing(domain_name, useSTD3, processing_option); - var labels = result.string.split('.'); - labels = labels.map(function (l) { - try { - return punycode.toASCII(l); - } catch (e) { - result.error = true; - return l; - } - }); - if (verifyDnsLength) { - var total = labels.slice(0, labels.length - 1).join('.').length; - if (total.length > 253 || total.length === 0) { - result.error = true; - } - for (var i = 0; i < labels.length; ++i) { - if (labels.length > 63 || labels.length === 0) { - result.error = true; - break; + 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 (result.error) return null; - return labels.join('.'); - }; - module2.exports.toUnicode = function (domain_name, useSTD3) { - var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); - return { - domain: result.string, - error: result.error - }; - }; - module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; - } -}); - -// node_modules/whatwg-url/lib/url-state-machine.js -var require_url_state_machine = __commonJS({ - 'node_modules/whatwg-url/lib/url-state-machine.js'(exports2, module2) { - 'use strict'; - var punycode = require('punycode'); - var tr46 = require_tr46(); - var specialSchemes = { - ftp: 21, - file: null, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 - }; - var failure = Symbol('failure'); - function countSymbols(str) { - return punycode.ucs2.decode(str).length; - } - function at(input, idx) { - const c = input[idx]; - return isNaN(c) ? void 0 : String.fromCodePoint(c); - } - function isASCIIDigit(c) { - return c >= 48 && c <= 57; - } - function isASCIIAlpha(c) { - return (c >= 65 && c <= 90) || (c >= 97 && c <= 122); - } - function isASCIIAlphanumeric(c) { - return isASCIIAlpha(c) || isASCIIDigit(c); - } - function isASCIIHex(c) { - return isASCIIDigit(c) || (c >= 65 && c <= 70) || (c >= 97 && c <= 102); + return true; } - function isSingleDot(buffer) { - return buffer === '.' || buffer.toLowerCase() === '%2e'; + function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) { } - function isDoubleDot(buffer) { - buffer = buffer.toLowerCase(); - return buffer === '..' || buffer === '%2e.' || buffer === '.%2e' || buffer === '%2e%2e'; + 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 isWindowsDriveLetterCodePoints(cp1, cp2) { - return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); + function createDeferredPromise() { + let res; + let rej; + const promise = new Promise((resolve, reject) => { + res = resolve; + rej = reject; + }); + return { promise, resolve: res, reject: rej }; } - function isWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ':' || string[1] === '|'); + function isAborted(fetchParams) { + return fetchParams.controller.state === "aborted"; } - function isNormalizedWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ':'; + function isCancelled(fetchParams) { + return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; } - function containsForbiddenHostCodePoint(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; + 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 containsForbiddenHostCodePointExcludingPercent(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; + 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; } - function isSpecialScheme(scheme) { - return specialSchemes[scheme] !== void 0; + var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + function makeIterator(iterator, name, kind) { + const object = { + index: 0, + kind, + target: iterator + }; + 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); } - function isSpecial(url) { - return isSpecialScheme(url.scheme); + 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 }; } - function defaultPort(scheme) { - return specialSchemes[scheme]; + 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); + } } - function percentEncode(c) { - let hex = c.toString(16).toUpperCase(); - if (hex.length === 1) { - hex = '0' + hex; + var ReadableStream = globalThis.ReadableStream; + function isReadableStreamLike(stream) { + if (!ReadableStream) { + ReadableStream = require("stream/web").ReadableStream; } - return '%' + hex; + return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; } - function utf8PercentEncode(c) { - const buf = new Buffer(c); - let str = ''; - for (let i = 0; i < buf.length; ++i) { - str += percentEncode(buf[i]); + var MAXIMUM_ARGUMENT_LENGTH = 65535; + function isomorphicDecode(input) { + if (input.length < MAXIMUM_ARGUMENT_LENGTH) { + return String.fromCharCode(...input); } - return str; + return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); } - function utf8PercentDecode(str) { - const input = new Buffer(str); - const output = []; - for (let i = 0; i < input.length; ++i) { - if (input[i] !== 37) { - output.push(input[i]); - } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { - output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); - i += 2; - } else { - output.push(input[i]); + function readableStreamClose(controller) { + try { + controller.close(); + } catch (err) { + if (!err.message.includes("Controller is already closed")) { + throw err; } } - return new Buffer(output).toString(); } - function isC0ControlPercentEncode(c) { - return c <= 31 || c > 126; - } - var extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); - function isPathPercentEncode(c) { - return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); + function isomorphicEncode(input) { + for (let i = 0; i < input.length; i++) { + assert(input.charCodeAt(i) <= 255); + } + return input; } - var extraUserinfoPercentEncodeSet = new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); - function isUserinfoPercentEncode(c) { - return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); + 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 percentEncodeChar(c, encodeSetPredicate) { - const cStr = String.fromCodePoint(c); - if (encodeSetPredicate(c)) { - return utf8PercentEncode(cStr); + 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 cStr; + return url.protocol === "https:"; + } + function urlIsHttpHttpsScheme(url) { + assert("protocol" in url); + const protocol = url.protocol; + return protocol === "http:" || protocol === "https:"; } - function parseIPv4Number(input) { - let R = 10; - if (input.length >= 2 && input.charAt(0) === '0' && input.charAt(1).toLowerCase() === 'x') { - input = input.substring(2); - R = 16; - } else if (input.length >= 2 && input.charAt(0) === '0') { - input = input.substring(1); - R = 8; + 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/undici/lib/fetch/symbols.js +var require_symbols2 = __commonJS({ + "node_modules/undici/lib/fetch/symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kUrl: Symbol("url"), + kHeaders: Symbol("headers"), + kSignal: Symbol("signal"), + kState: Symbol("state"), + kGuard: Symbol("guard"), + kRealm: Symbol("realm") + }; + } +}); + +// node_modules/undici/lib/fetch/webidl.js +var require_webidl = __commonJS({ + "node_modules/undici/lib/fetch/webidl.js"(exports2, module2) { + "use strict"; + var { types } = require("util"); + var { hasOwn, toUSVString } = require_util2(); + var webidl = {}; + webidl.converters = {}; + webidl.util = {}; + webidl.errors = {}; + webidl.errors.exception = function(message) { + return new TypeError(`${message.header}: ${message.message}`); + }; + webidl.errors.conversionFailed = function(context) { + const plural = context.types.length === 1 ? "" : " one of"; + const message = `${context.argument} could not be converted to${plural}: ${context.types.join(", ")}.`; + return webidl.errors.exception({ + header: context.prefix, + message + }); + }; + webidl.errors.invalidArgument = function(context) { + return webidl.errors.exception({ + header: context.prefix, + message: `"${context.value}" is an invalid ${context.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 (input === '') { + if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { return 0; } - const regex = R === 10 ? /[^0-9]/ : R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/; - if (regex.test(input)) { - return failure; + 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 seq = []; + 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; + } + seq.push(converter(value)); + } + return seq; + }; + }; + 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 type = webidl.util.Type(dictionary); + const dict = {}; + if (type === "Null" || type === "Undefined") { + return dict; + } else if (type !== "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_util2(); + 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 type = collectASequenceOfCodePointsFast( + "/", + input, + position + ); + if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { + 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 = type.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 binary = atob2(data); + const bytes = new Uint8Array(binary.length); + for (let byte = 0; byte < binary.length; byte++) { + bytes[byte] = binary.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(str, leading = true, trailing = true) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) ; + } + if (trailing) { + for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) ; + } + return str.slice(lead, trail + 1); + } + function isASCIIWhitespace(char) { + return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; + } + function removeASCIIWhitespace(str, leading = true, trailing = true) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) ; + } + if (trailing) { + for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) ; + } + return str.slice(lead, trail + 1); + } + module2.exports = { + dataURLProcessor, + URLSerializer, + collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast, + stringPercentDecode, + parseMIMEType, + collectAnHTTPQuotedString, + serializeAMimeType + }; + } +}); + +// node_modules/undici/lib/fetch/file.js +var require_file = __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_symbols2(); + var { isBlobLike } = require_util2(); + var { webidl } = require_webidl(); + var { parseMIMEType, serializeAMimeType } = require_dataURL(); + var { kEnumerableProperty } = require_util(); + var encoder = new TextEncoder(); + var File = 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(File.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 File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; + } + module2.exports = { File, FileLike, isFileLike }; + } +}); + +// node_modules/undici/lib/fetch/formdata.js +var require_formdata = __commonJS({ + "node_modules/undici/lib/fetch/formdata.js"(exports2, module2) { + "use strict"; + var { isBlobLike, toUSVString, makeIterator } = require_util2(); + var { kState } = require_symbols2(); + var { File: UndiciFile, FileLike, isFileLike } = require_file(); + var { webidl } = require_webidl(); + var { Blob: Blob2, File: NativeFile } = require("buffer"); + var File = NativeFile ?? UndiciFile; + var FormData = 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; + 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; + } + 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]); + } + } + }; + FormData.prototype[Symbol.iterator] = FormData.prototype.entries; + Object.defineProperties(FormData.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 File([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 File([value], filename, options) : new FileLike(value, filename, options); + } + } + return { name, value }; + } + module2.exports = { FormData }; + } +}); + +// node_modules/undici/lib/fetch/body.js +var require_body = __commonJS({ + "node_modules/undici/lib/fetch/body.js"(exports2, module2) { + "use strict"; + var Busboy = require_main(); + var util = require_util(); + var { + ReadableStreamFrom, + isBlobLike, + isReadableStreamLike, + readableStreamClose, + createDeferredPromise, + fullyReadBody + } = require_util2(); + var { FormData } = require_formdata(); + var { kState } = require_symbols2(); + var { webidl } = require_webidl(); + var { DOMException: DOMException2, structuredClone } = require_constants2(); + var { Blob: Blob2, File: NativeFile } = require("buffer"); + var { kBodyUsed } = require_symbols(); + var assert = require("assert"); + var { isErrored } = require_util(); + var { isUint8Array, isArrayBuffer } = require("util/types"); + var { File: UndiciFile } = require_file(); + var { parseMIMEType, serializeAMimeType } = require_dataURL(); + var random; + try { + const crypto4 = require("node:crypto"); + random = (max) => crypto4.randomInt(0, max); + } catch { + random = (max) => Math.floor(Math.random(max)); + } + var ReadableStream = globalThis.ReadableStream; + var File = NativeFile ?? UndiciFile; + var textEncoder = new TextEncoder(); + var textDecoder = new TextDecoder(); + function extractBody(object, keepalive = false) { + if (!ReadableStream) { + ReadableStream = require("stream/web").ReadableStream; + } + let stream = null; + if (object instanceof ReadableStream) { + stream = object; + } else if (isBlobLike(object)) { + stream = object.stream(); + } else { + stream = new ReadableStream({ + 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 type = null; + if (typeof object === "string") { + source = object; + type = "text/plain;charset=UTF-8"; + } else if (object instanceof URLSearchParams) { + source = object.toString(); + type = "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 = (str) => str.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; + } + } + }; + type = "multipart/form-data; boundary=" + boundary; + } else if (isBlobLike(object)) { + source = object; + length = object.size; + if (object.type) { + type = 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 iterator; + stream = new ReadableStream({ + async start() { + iterator = action(object)[Symbol.asyncIterator](); + }, + async pull(controller) { + const { value, done } = await iterator.next(); + if (done) { + queueMicrotask(() => { + controller.close(); + }); + } else { + if (!isErrored(stream)) { + controller.enqueue(new Uint8Array(value)); + } + } + return controller.desiredSize > 0; + }, + async cancel(reason) { + await iterator.return(); + }, + type: void 0 + }); + } + const body = { stream, source, length }; + return [body, type]; + } + function safelyExtractBody(object, keepalive = false) { + if (!ReadableStream) { + ReadableStream = require("stream/web").ReadableStream; + } + 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) { + 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; + } + } + } + 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 FormData(); + 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 File(chunks, filename, { type: mimeType })); + }); + } else { + value.on("data", (chunk) => { + chunks.push(chunk); + }); + value.on("end", () => { + responseFormData.append(name, new File(chunks, filename, { type: mimeType })); + }); + } + }); + const busboyResolve = new Promise((resolve, reject) => { + busboy.on("finish", resolve); + 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 FormData(); + 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"); + } + const promise = createDeferredPromise(); + const errorSteps = (error) => promise.reject(error); + const successSteps = (data) => { + try { + promise.resolve(convertBytesToJSValue(data)); + } catch (e) { + errorSteps(e); + } + }; + 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 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"; + } + return parseMIMEType(contentType); + } + module2.exports = { + extractBody, + safelyExtractBody, + cloneBody, + mixinBody + }; + } +}); + +// node_modules/undici/lib/core/request.js +var require_request = __commonJS({ + "node_modules/undici/lib/core/request.js"(exports2, module2) { + "use strict"; + var { + InvalidArgumentError, + NotSupportedError + } = require_errors(); + var assert = require("assert"); + var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols(); + var util = require_util(); + var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; + var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + var invalidPathRegex = /[^\u0021-\u00ff]/; + var kHandler = 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, + method, + body, + headers, + query, + idempotent, + blocking, + upgrade, + headersTimeout, + bodyTimeout, + reset, + throwOnError, + expectContinue + }, handler) { + if (typeof path !== "string") { + throw new InvalidArgumentError("path must be a string"); + } else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") { + throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); + } else if (invalidPathRegex.exec(path) !== 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(path, query) : path; + 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_body().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(handler, method, upgrade); + this.servername = util.getServerName(this.host); + this[kHandler] = handler; + if (channels.create.hasSubscribers) { + channels.create.publish({ request: this }); + } + } + onBodySent(chunk) { + if (this[kHandler].onBodySent) { + try { + return this[kHandler].onBodySent(chunk); + } catch (err) { + this.abort(err); + } + } + } + onRequestSent() { + if (channels.bodySent.hasSubscribers) { + channels.bodySent.publish({ request: this }); + } + 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 { + 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(error) { + this.onFinally(); + if (channels.error.hasSubscribers) { + channels.error.publish({ request: this, error }); + } + if (this.aborted) { + return; + } + this.aborted = true; + return this[kHandler].onError(error); + } + 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, handler) { + return new _Request(origin, opts, handler); + } + static [kHTTP2BuildRequest](origin, opts, handler) { + const headers = opts.headers; + opts = { ...opts, headers: null }; + const request = new _Request(origin, opts, handler); + request.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(request, 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(request, key, headers[key], true); + } + } else if (headers != null) { + throw new InvalidArgumentError("headers must be an object or an array"); + } + return request; + } + 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; + } + }; + 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(request, 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 (request.host === null && key.length === 4 && key.toLowerCase() === "host") { + if (headerCharRegex.exec(val) !== null) { + throw new InvalidArgumentError(`invalid ${key} header`); + } + request.host = val; + } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { + request.contentLength = parseInt(val, 10); + if (!Number.isFinite(request.contentLength)) { + throw new InvalidArgumentError("invalid content-length header"); + } + } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { + request.contentType = val; + if (skipAppend) request.headers[key] = processHeaderValue(key, val, skipAppend); + else request.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") { + request.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 (request.headers[key]) request.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`; + else request.headers[key] = processHeaderValue(key, val[i], skipAppend); + } else { + request.headers += processHeaderValue(key, val[i]); + } + } + } else { + if (skipAppend) request.headers[key] = processHeaderValue(key, val, skipAppend); + else request.headers += processHeaderValue(key, val); + } + } + } + module2.exports = Request; + } +}); + +// node_modules/undici/lib/dispatcher.js +var require_dispatcher = __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_base = __commonJS({ + "node_modules/undici/lib/dispatcher-base.js"(exports2, module2) { + "use strict"; + var Dispatcher = require_dispatcher(); + var { + ClientDestroyedError, + ClientClosedError, + InvalidArgumentError + } = require_errors(); + var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols(); + var kDestroyed = Symbol("destroyed"); + var kClosed = Symbol("closed"); + var kOnDestroyed = Symbol("onDestroyed"); + var kOnClosed = Symbol("onClosed"); + var kInterceptedDispatch = 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"); + } + } + } + this[kInterceptors] = newInterceptors; + } + close(callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + this.close((err, data) => { + return err ? reject(err) : resolve(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)); + } + 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 (callback === void 0) { + return new Promise((resolve, reject) => { + this.destroy(err, (err2, data) => { + return err2 ? ( + /* istanbul ignore next: should never error */ + reject(err2) + ) : resolve(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, handler) { + if (!this[kInterceptors] || this[kInterceptors].length === 0) { + this[kInterceptedDispatch] = this[kDispatch]; + return this[kDispatch](opts, handler); + } + 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, handler); + } + dispatch(opts, handler) { + if (!handler || typeof handler !== "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, handler); + } catch (err) { + if (typeof handler.onError !== "function") { + throw new InvalidArgumentError("invalid onError method"); + } + handler.onError(err); + return false; + } + } + }; + module2.exports = DispatcherBase; + } +}); + +// node_modules/undici/lib/core/connect.js +var require_connect = __commonJS({ + "node_modules/undici/lib/core/connect.js"(exports2, module2) { + "use strict"; + var net = require("net"); + var assert = require("assert"); + var util = require_util(); + var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); + 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(); + } + 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"); + } + 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 (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 () => { + }; + } + 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/undici/lib/llhttp/utils.js +var require_utils2 = __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; + } +}); + +// node_modules/undici/lib/llhttp/constants.js +var require_constants3 = __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_utils2(); + 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_util(); + var { kBodyUsed } = require_symbols(); + var assert = require("assert"); + var { InvalidArgumentError } = require_errors(); + var EE = require("events"); + var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; + var kBody = 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, handler) { + if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { + throw new InvalidArgumentError("maxRedirections must be a positive number"); + } + util.validateHandler(handler, opts.method, opts.upgrade); + this.dispatch = dispatch; + this.location = null; + this.abort = null; + this.opts = { ...opts, maxRedirections: 0 }; + this.maxRedirections = maxRedirections; + this.handler = handler; + 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); + } + } + onConnect(abort) { + this.abort = abort; + this.handler.onConnect(abort, { history: this.history }); + } + onUpgrade(statusCode, headers, socket) { + this.handler.onUpgrade(statusCode, headers, socket); + } + onError(error) { + this.handler.onError(error); + } + 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 path = search ? `${pathname}${search}` : pathname; + this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); + this.opts.path = path; + 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; + } + } + onData(chunk) { + if (this.location) { + } else { + return this.handler.onData(chunk); + } + } + onComplete(trailers) { + if (this.location) { + this.location = null; + this.abort = null; + this.dispatch(this.opts, this); + } else { + this.handler.onComplete(trailers); + } + } + onBodySent(chunk) { + if (this.handler.onBodySent) { + this.handler.onBodySent(chunk); + } + } + }; + 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 = []; + 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 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, handler) { + const { maxRedirections = defaultMaxRedirections } = opts; + if (!maxRedirections) { + return dispatch(opts, handler); + } + const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); + opts = { ...opts, maxRedirections: 0 }; + return dispatch(opts, redirectHandler); + }; + }; + } + module2.exports = createRedirectInterceptor; + } +}); + +// node_modules/undici/lib/llhttp/llhttp-wasm.js +var require_llhttp_wasm = __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_wasm = __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_client = __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_util(); + var timers = require_timers(); + var Request = require_request(); + var DispatcherBase = require_dispatcher_base(); + var { + RequestContentLengthMismatchError, + ResponseContentLengthMismatchError, + InvalidArgumentError, + RequestAbortedError, + HeadersTimeoutError, + HeadersOverflowError, + SocketError, + InformationalError, + BodyTimeoutError, + HTTPParserError, + ResponseExceededMaxSizeError, + ClientDestroyedError + } = require_errors(); + var buildConnector = require_connect(); + 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_symbols(); + 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 = 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, handler) { + const origin = opts.origin || this[kUrl].origin; + const request = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler) : Request[kHTTP1BuildRequest](origin, opts, handler); + this[kQueue].push(request); + if (this[kResuming]) { + } else if (util.bodyLength(request.body) == null && util.isIterable(request.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((resolve) => { + if (!this[kSize]) { + resolve(null); + } else { + this[kClosedResolve] = resolve; + } + }); + } + async [kDestroy](err) { + return new Promise((resolve) => { + const requests = this[kQueue].splice(this[kPendingIdx]); + for (let i = 0; i < requests.length; i++) { + const request = requests[i]; + errorRequest(this, request, err); + } + const callback = () => { + if (this[kClosedResolve]) { + this[kClosedResolve](); + this[kClosedResolve] = null; + } + resolve(); + }; + 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(type, code, id) { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, 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 request = requests[i]; + errorRequest(this, request, err); + } + } else if (client[kRunning] > 0) { + const request = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + errorRequest(client, request, err); + } + client[kPendingIdx] = client[kRunningIdx]; + assert(client[kRunning] === 0); + client.emit( + "disconnect", + client[kUrl], + [client], + err + ); + resume(client); + } + var constants = require_constants3(); + var createRedirectInterceptor = require_redirectInterceptor(); + var EMPTY_BUF = Buffer.alloc(0); + async function lazyllhttp() { + const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; + let mod; + try { + mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64")); + } catch (e) { + mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "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, type) { + this.timeoutType = type; + 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 request = client[kQueue][client[kRunningIdx]]; + if (!request) { + 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 request = client[kQueue][client[kRunningIdx]]; + assert(request); + assert(!socket.destroyed); + assert(socket === client[kSocket]); + assert(!this.paused); + assert(request.upgrade || request.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 { + request.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 request = client[kQueue][client[kRunningIdx]]; + if (!request) { + 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 && !request.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. + request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; + if (this.statusCode >= 200) { + const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]; + this.setTimeout(bodyTimeout, TIMEOUT_BODY); + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + if (request.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 = request.onHeaders(statusCode, headers, this.resume, statusText) === false; + if (request.aborted) { + return -1; + } + if (request.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 request = client[kQueue][client[kRunningIdx]]; + assert(request); + 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 (request.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 request = client[kQueue][client[kRunningIdx]]; + assert(request); + 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 (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { + util.destroy(socket, new ResponseContentLengthMismatchError()); + return -1; + } + request.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 request = requests[i]; + errorRequest(client, request, 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 request = requests[i]; + errorRequest(client, request, err); + } + } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { + const request = client[kQueue][client[kRunningIdx]]; + client[kQueue][client[kRunningIdx]++] = null; + errorRequest(client, request, 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((resolve, reject) => { + client[kConnector]({ + host, + hostname, + protocol, + port, + servername: client[kServerName], + localAddress: client[kLocalAddress] + }, (err, socket2) => { + if (err) { + reject(err); + } else { + resolve(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 + }); + } + 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 request = client[kQueue][client[kPendingIdx]++]; + errorRequest(client, request, err); + } + } 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; + } + } 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 request2 = client[kQueue][client[kRunningIdx]]; + const headersTimeout = request2.headersTimeout != null ? request2.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 { + emitDrain(client); + } + continue; + } + if (client[kPending] === 0) { + return; + } + if (client[kRunning] >= (client[kPipelining] || 1)) { + return; + } + const request = client[kQueue][client[kPendingIdx]]; + if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) { + if (client[kRunning] > 0) { + return; + } + client[kServerName] = request.servername; + if (socket && socket.servername !== request.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 && !request.idempotent) { + return; + } + if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) { + return; + } + if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body))) { + return; + } + if (!request.aborted && write(client, request)) { + 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, request) { + if (client[kHTTPConnVersion] === "h2") { + writeH2(client, client[kHTTP2Session], request); + return; + } + const { body, method, path, host, upgrade, headers, blocking, reset } = request; + 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 = request.contentLength; + } + if (contentLength === 0 && !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + errorRequest(client, request, new RequestContentLengthMismatchError()); + return false; + } + process.emitWarning(new RequestContentLengthMismatchError()); + } + const socket = client[kSocket]; + try { + request.onConnect((err) => { + if (request.aborted || request.completed) { + return; + } + errorRequest(client, request, err || new RequestAbortedError()); + util.destroy(socket, new InformationalError("aborted")); + }); + } catch (err) { + errorRequest(client, request, err); + } + if (request.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} ${path} 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, 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"); + } + request.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(); + request.onBodySent(body); + request.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + } else if (util.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload }); + } else { + writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }); + } + } else if (util.isStream(body)) { + writeStream({ body, client, request, socket, contentLength, header, expectsPayload }); + } else if (util.isIterable(body)) { + writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }); + } else { + assert(false); + } + return true; + } + function writeH2(client, session, request) { + const { body, method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request; + let headers; + if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()); + else headers = reqHeaders; + if (upgrade) { + errorRequest(client, request, new Error("Upgrade not supported for H2")); + return false; + } + try { + request.onConnect((err) => { + if (request.aborted || request.completed) { + return; + } + errorRequest(client, request, err || new RequestAbortedError()); + }); + } catch (err) { + errorRequest(client, request, err); + } + if (request.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) { + request.onUpgrade(null, null, stream); + ++h2State.openStreams; + } else { + stream.once("ready", () => { + request.onUpgrade(null, null, stream); + ++h2State.openStreams; + }); + } + stream.once("close", () => { + h2State.openStreams -= 1; + if (h2State.openStreams === 0) session.unref(); + }); + return true; + } + headers[HTTP2_HEADER_PATH] = path; + 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 = request.contentLength; + } + if (contentLength === 0 || !expectsPayload) { + contentLength = null; + } + if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) { + if (client[kStrictContentLength]) { + errorRequest(client, request, 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 (request.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) { + stream.pause(); + } + }); + stream.once("end", () => { + request.onComplete([]); + }); + stream.on("data", (chunk) => { + if (request.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", (type, code) => { + const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); + errorRequest(client, request, err); + if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { + h2State.streams -= 1; + util.destroy(stream, err); + } + }); + return true; + function writeBodyH2() { + if (!body) { + request.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(); + request.onBodySent(body); + request.onRequestSent(); + } else if (util.isBlobLike(body)) { + if (typeof body.stream === "function") { + writeIterable({ + client, + request, + contentLength, + h2stream: stream, + expectsPayload, + body: body.stream(), + socket: client[kSocket], + header: "" + }); + } else { + writeBlob({ + body, + client, + request, + contentLength, + expectsPayload, + h2stream: stream, + header: "", + socket: client[kSocket] + }); + } + } else if (util.isStream(body)) { + writeStream({ + body, + client, + request, + contentLength, + expectsPayload, + socket: client[kSocket], + h2stream: stream, + header: "" + }); + } else if (util.isIterable(body)) { + writeIterable({ + body, + client, + request, + contentLength, + expectsPayload, + header: "", + h2stream: stream, + socket: client[kSocket] + }); + } else { + assert(false); + } + } + } + function writeStream({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { + assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); + if (client[kHTTPConnVersion] === "h2") { + let onPipeData = function(chunk) { + request.onBodySent(chunk); + }; + const pipe = pipeline( + body, + h2stream, + (err) => { + if (err) { + util.destroy(body, err); + util.destroy(h2stream, err); + } else { + request.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, 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, 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(); + } + request.onBodySent(buffer); + request.onRequestSent(); + if (!expectsPayload) { + socket[kReset] = true; + } + resume(client); + } catch (err) { + util.destroy(isH2 ? h2stream : socket, err); + } + } + async function writeIterable({ h2stream, body, client, request, 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((resolve, reject) => { + assert(callback === null); + if (socket[kError]) { + reject(socket[kError]); + } else { + callback = resolve; + } + }); + 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); + request.onBodySent(chunk); + if (!res) { + await waitForDrain(); + } + } + } catch (err) { + h2stream.destroy(err); + } finally { + request.onRequestSent(); + h2stream.end(); + h2stream.off("close", onDrain).off("drain", onDrain); + } + return; + } + socket.on("close", onDrain).on("drain", onDrain); + const writer = new AsyncWriter({ socket, request, 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, contentLength, client, expectsPayload, header }) { + this.socket = socket; + this.request = request; + this.contentLength = contentLength; + this.client = client; + this.bytesWritten = 0; + this.expectsPayload = expectsPayload; + this.header = header; + socket[kWriting] = true; + } + write(chunk) { + const { socket, request, 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(); + request.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 } = this; + request.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 errorRequest(client, request, err) { + try { + request.onError(err); + assert(request.aborted); + } catch (err2) { + client.emit("error", err2); + } + } + module2.exports = Client; + } +}); + +// node_modules/undici/lib/node/fixed-queue.js +var require_fixed_queue = __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_stats = __commonJS({ + "node_modules/undici/lib/pool-stats.js"(exports2, module2) { + var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); + var kPool = 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_base = __commonJS({ + "node_modules/undici/lib/pool-base.js"(exports2, module2) { + "use strict"; + var DispatcherBase = require_dispatcher_base(); + var FixedQueue = require_fixed_queue(); + var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols(); + var PoolStats = require_pool_stats(); + var kClients = Symbol("clients"); + var kNeedDrain = Symbol("needDrain"); + var kQueue = Symbol("queue"); + var kClosedResolve = Symbol("closed resolve"); + var kOnDrain = Symbol("onDrain"); + var kOnConnect = Symbol("onConnect"); + var kOnDisconnect = Symbol("onDisconnect"); + var kOnConnectionError = Symbol("onConnectionError"); + var kGetDispatcher = Symbol("get dispatcher"); + var kAddClient = Symbol("add client"); + var kRemoveClient = Symbol("remove client"); + var kStats = 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((resolve) => { + this[kClosedResolve] = resolve; + }); + } + } + 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, handler) { + const dispatcher = this[kGetDispatcher](); + if (!dispatcher) { + this[kNeedDrain] = true; + this[kQueue].push({ opts, handler }); + this[kQueued]++; + } else if (!dispatcher.dispatch(opts, handler)) { + 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_pool = __commonJS({ + "node_modules/undici/lib/pool.js"(exports2, module2) { + "use strict"; + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kGetDispatcher + } = require_pool_base(); + var Client = require_client(); + var { + InvalidArgumentError + } = require_errors(); + var util = require_util(); + var { kUrl, kInterceptors } = require_symbols(); + var buildConnector = require_connect(); + var kOptions = Symbol("options"); + var kConnections = Symbol("connections"); + var kFactory = 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; + } + [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; + } + }; + module2.exports = Pool; + } +}); + +// node_modules/undici/lib/balanced-pool.js +var require_balanced_pool = __commonJS({ + "node_modules/undici/lib/balanced-pool.js"(exports2, module2) { + "use strict"; + var { + BalancedPoolMissingUpstreamError, + InvalidArgumentError + } = require_errors(); + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kRemoveClient, + kGetDispatcher + } = require_pool_base(); + var Pool = require_pool(); + var { kUrl, kInterceptors } = require_symbols(); + var { parseOrigin } = require_util(); + var kFactory = Symbol("factory"); + var kOptions = Symbol("options"); + var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor"); + var kCurrentWeight = Symbol("kCurrentWeight"); + var kIndex = Symbol("kIndex"); + var kWeight = Symbol("kWeight"); + var kMaxWeightPerServer = Symbol("kMaxWeightPerServer"); + var kErrorPenalty = 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(); + } + 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() { + 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); + } + 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]; + } + }; + module2.exports = BalancedPool; + } +}); + +// node_modules/undici/lib/compat/dispatcher-weakref.js +var require_dispatcher_weakref = __commonJS({ + "node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) { + "use strict"; + var { kConnected, kSize } = require_symbols(); + 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 +var require_agent = __commonJS({ + "node_modules/undici/lib/agent.js"(exports2, module2) { + "use strict"; + var { InvalidArgumentError } = require_errors(); + var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); + var DispatcherBase = require_dispatcher_base(); + var Pool = require_pool(); + var Client = require_client(); + var util = require_util(); + var createRedirectInterceptor = require_redirectInterceptor(); + var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref()(); + var kOnConnect = Symbol("onConnect"); + var kOnDisconnect = Symbol("onDisconnect"); + var kOnConnectionError = Symbol("onConnectionError"); + var kMaxRedirections = Symbol("maxRedirections"); + var kOnDrain = Symbol("onDrain"); + var kFactory = Symbol("factory"); + var kFinalizer = Symbol("finalizer"); + var kOptions = 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 FinalizationRegistry( + /* 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, handler) { + 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, handler); + } + 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_readable = __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_errors(); + var util = require_util(); + var { ReadableStreamFrom, toUSVString } = require_util(); + var Blob2; + var kConsume = Symbol("kConsume"); + var kReading = Symbol("kReading"); + var kBody = Symbol("kBody"); + var kAbort = Symbol("abort"); + var kContentType = Symbol("kContentType"); + var noop = () => { + }; + 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((resolve, reject) => { + const signalListenerCleanup = signal ? util.addAbortListener(signal, () => { + this.destroy(); + }) : noop; + this.on("close", function() { + signalListenerCleanup(); + if (signal && signal.aborted) { + reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); + } else { + resolve(null); + } + }).on("error", noop).on("data", function(chunk) { + limit -= chunk.length; + if (limit <= 0) { + this.destroy(); + } + }).resume(); + }); + } + }; + function isLocked(self) { + return self[kBody] && self[kBody].locked === true || self[kConsume]; + } + function isUnusable(self) { + return util.isDisturbed(self) || isLocked(self); + } + async function consume(stream, type) { + if (isUnusable(stream)) { + throw new TypeError("unusable"); + } + assert(!stream[kConsume]); + return new Promise((resolve, reject) => { + stream[kConsume] = { + type, + stream, + resolve, + 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, body, resolve, stream, length } = consume2; + try { + if (type === "text") { + resolve(toUSVString(Buffer.concat(body))); + } else if (type === "json") { + resolve(JSON.parse(Buffer.concat(body))); + } else if (type === "arrayBuffer") { + const dst = new Uint8Array(length); + let pos = 0; + for (const buf of body) { + dst.set(buf, pos); + pos += buf.byteLength; + } + resolve(dst.buffer); + } else if (type === "blob") { + if (!Blob2) { + Blob2 = require("buffer").Blob; + } + resolve(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_util3 = __commonJS({ + "node_modules/undici/lib/api/util.js"(exports2, module2) { + var assert = require("assert"); + var { + ResponseStatusCodeError + } = require_errors(); + var { toUSVString } = require_util(); + 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_signal = __commonJS({ + "node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { + var { addAbortListener } = require_util(); + var { RequestAbortedError } = require_errors(); + var kListener = Symbol("kListener"); + var kSignal = Symbol("kSignal"); + function abort(self) { + if (self.abort) { + self.abort(); + } else { + self.onError(new RequestAbortedError()); + } + } + function addSignal(self, signal) { + self[kSignal] = null; + self[kListener] = null; + if (!signal) { + return; + } + if (signal.aborted) { + abort(self); + return; + } + self[kSignal] = signal; + self[kListener] = () => { + abort(self); + }; + addAbortListener(self[kSignal], self[kListener]); + } + function removeSignal(self) { + if (!self[kSignal]) { + return; + } + if ("removeEventListener" in self[kSignal]) { + self[kSignal].removeEventListener("abort", self[kListener]); + } else { + self[kSignal].removeListener("abort", self[kListener]); + } + self[kSignal] = null; + self[kListener] = null; + } + module2.exports = { + addSignal, + removeSignal + }; + } +}); + +// node_modules/undici/lib/api/api-request.js +var require_api_request = __commonJS({ + "node_modules/undici/lib/api/api-request.js"(exports2, module2) { + "use strict"; + var Readable = require_readable(); + var { + InvalidArgumentError, + RequestAbortedError + } = require_errors(); + var util = require_util(); + var { getResolveErrorBodyCallback } = require_util3(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + 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); + } + onConnect(abort, context) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { callback, opaque, abort, context, 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 + }); + } + } + } + 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 request(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + request.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(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 = request; + module2.exports.RequestHandler = RequestHandler; + } +}); + +// node_modules/undici/lib/api/api-stream.js +var require_api_stream = __commonJS({ + "node_modules/undici/lib/api/api-stream.js"(exports2, module2) { + "use strict"; + var { finished, PassThrough } = require("stream"); + var { + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError + } = require_errors(); + var util = require_util(); + var { getResolveErrorBodyCallback } = require_util3(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + 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, context) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context; + } + onHeaders(statusCode, rawHeaders, resume, statusMessage) { + const { factory, opaque, context, 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 + }); + 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; + } + 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((resolve, reject) => { + stream.call(this, opts, factory, (err, data) => { + return err ? reject(err) : resolve(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_pipeline = __commonJS({ + "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { + "use strict"; + var { + Readable, + Duplex, + PassThrough + } = require("stream"); + var { + InvalidArgumentError, + InvalidReturnValueError, + RequestAbortedError + } = require_errors(); + var util = require_util(); + var { AsyncResource } = require("async_hooks"); + var { addSignal, removeSignal } = require_abort_signal(); + var assert = require("assert"); + var kResume = 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](); + } + _destroy(err, callback) { + if (!err && !this._readableState.endEmitted) { + err = new RequestAbortedError(); + } + callback(err); + } + }; + var PipelineHandler = class extends AsyncResource { + constructor(opts, handler) { + if (!opts || typeof opts !== "object") { + throw new InvalidArgumentError("invalid opts"); + } + if (typeof handler !== "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 = handler; + 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); + } + onConnect(abort, context) { + const { ret, res } = this; + assert(!res, "pipeline cannot be retried"); + if (ret.destroyed) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context; + } + onHeaders(statusCode, rawHeaders, resume) { + const { opaque, handler, context } = 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(handler, null, { + statusCode, + headers, + opaque, + body: this.res, + context + }); + } 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; + } + 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, handler) { + try { + const pipelineHandler = new PipelineHandler(opts, handler); + this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); + return pipelineHandler.ret; + } catch (err) { + return new PassThrough().destroy(err); + } + } + module2.exports = pipeline; + } +}); + +// node_modules/undici/lib/api/api-upgrade.js +var require_api_upgrade = __commonJS({ + "node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { + "use strict"; + var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); + var { AsyncResource } = require("async_hooks"); + var util = require_util(); + var { addSignal, removeSignal } = require_abort_signal(); + var assert = require("assert"); + var UpgradeHandler = 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_UPGRADE"); + this.responseHeaders = responseHeaders || null; + this.opaque = opaque || null; + this.callback = callback; + this.abort = null; + this.context = null; + addSignal(this, signal); + } + onConnect(abort, context) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = null; + } + onHeaders() { + throw new SocketError("bad upgrade", null); + } + onUpgrade(statusCode, rawHeaders, socket) { + const { callback, opaque, context } = 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 + }); + } + onError(err) { + const { callback, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + } + }; + function upgrade(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + upgrade.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(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 && opts.opaque; + queueMicrotask(() => callback(err, { opaque })); + } + } + module2.exports = upgrade; + } +}); + +// node_modules/undici/lib/api/api-connect.js +var require_api_connect = __commonJS({ + "node_modules/undici/lib/api/api-connect.js"(exports2, module2) { + "use strict"; + var { AsyncResource } = require("async_hooks"); + var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); + var util = require_util(); + var { addSignal, removeSignal } = require_abort_signal(); + 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, context) { + if (!this.callback) { + throw new RequestAbortedError(); + } + this.abort = abort; + this.context = context; + } + onHeaders() { + throw new SocketError("bad connect", null); + } + onUpgrade(statusCode, rawHeaders, socket) { + const { callback, opaque, context } = 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 + }); + } + onError(err) { + const { callback, opaque } = this; + removeSignal(this); + if (callback) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(callback, null, err, { opaque }); + }); + } + } + }; + function connect(opts, callback) { + if (callback === void 0) { + return new Promise((resolve, reject) => { + connect.call(this, opts, (err, data) => { + return err ? reject(err) : resolve(data); + }); + }); + } + 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 })); + } + } + module2.exports = connect; + } +}); + +// node_modules/undici/lib/api/index.js +var require_api = __commonJS({ + "node_modules/undici/lib/api/index.js"(exports2, module2) { + "use strict"; + module2.exports.request = require_api_request(); + module2.exports.stream = require_api_stream(); + module2.exports.pipeline = require_api_pipeline(); + module2.exports.upgrade = require_api_upgrade(); + module2.exports.connect = require_api_connect(); + } +}); + +// node_modules/undici/lib/mock/mock-errors.js +var require_mock_errors = __commonJS({ + "node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { + "use strict"; + var { UndiciError } = require_errors(); + 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_symbols = __commonJS({ + "node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kAgent: Symbol("agent"), + kOptions: Symbol("options"), + kFactory: Symbol("factory"), + kDispatches: Symbol("dispatches"), + kDispatchKey: Symbol("dispatch key"), + kDefaultHeaders: Symbol("default headers"), + kDefaultTrailers: Symbol("default trailers"), + kContentLength: Symbol("content length"), + kMockAgent: Symbol("mock agent"), + kMockAgentSet: Symbol("mock agent set"), + kMockAgentGet: Symbol("mock agent get"), + kMockDispatch: Symbol("mock dispatch"), + kClose: Symbol("close"), + kOriginalClose: Symbol("original agent close"), + kOrigin: Symbol("origin"), + kIsMockActive: Symbol("is mock active"), + kNetConnect: Symbol("net connect"), + kGetNetConnect: Symbol("get net connect"), + kConnected: Symbol("connected") + }; + } +}); + +// node_modules/undici/lib/mock/mock-utils.js +var require_mock_utils = __commonJS({ + "node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { + "use strict"; + var { MockNotMatchedError } = require_mock_errors(); + var { + kDispatches, + kMockAgent, + kOriginalDispatch, + kOrigin, + kGetNetConnect + } = require_mock_symbols(); + var { buildURL, nop } = require_util(); + 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 void 0; + } else if (typeof headers.get === "function") { + return headers.get(key); + } else { + 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 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; + } + for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) { + const headerValue = getHeaderByName(headers, matchHeaderName); + if (!matchValue(matchHeaderValue, headerValue)) { + return false; + } + } + return true; + } + function safeUrl(path) { + if (typeof path !== "string") { + return path; + } + const pathSegments = path.split("?"); + if (pathSegments.length !== 2) { + return path; + } + const qp = new URLSearchParams(pathSegments.pop()); + qp.sort(); + return [...pathSegments, qp.toString()].join("?"); + } + function matchKey(mockDispatch2, { path, method, body, headers }) { + const pathMatch = matchValue(mockDispatch2.path, path); + 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 getResponseData(data) { + if (Buffer.isBuffer(data)) { + return data; + } else if (typeof data === "object") { + return JSON.stringify(data); + } else { + return data.toString(); + } + } + 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 }) => matchValue(safeUrl(path), resolvedPath)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); + } + matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); + if (matchedMockDispatches.length === 0) { + throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); + } + 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}'`); + } + 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 matchKey(dispatch, key); + }); + if (index !== -1) { + mockDispatches.splice(index, 1); + } + } + function buildKey(opts) { + const { path, method, body, headers, query } = opts; + return { + path, + 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 Buffer.concat(buffers).toString("utf8"); + } + function mockDispatch(opts, handler) { + 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 }, delay, persist } = mockDispatch2; + const { timesInvoked, times } = mockDispatch2; + mockDispatch2.consumed = !persist && timesInvoked >= times; + mockDispatch2.pending = timesInvoked < times; + if (error !== null) { + deleteMockDispatch(this[kDispatches], key); + handler.onError(error); + 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; + } + const responseData = getResponseData(body); + const responseHeaders = generateKeyValues(headers); + const responseTrailers = generateKeyValues(trailers); + handler.abort = nop; + handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); + handler.onData(Buffer.from(responseData)); + handler.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, handler) { + if (agent.isMockActive) { + try { + mockDispatch.call(this, opts, handler); + } catch (error) { + if (error instanceof MockNotMatchedError) { + const netConnect = agent[kGetNetConnect](); + if (netConnect === false) { + throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); + } + if (checkNetConnect(netConnect, origin)) { + originalDispatch.call(this, opts, handler); + } else { + throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); + } + } else { + throw error; + } + } + } else { + originalDispatch.call(this, opts, handler); + } + }; + } + 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, + getMockDispatch, + addMockDispatch, + deleteMockDispatch, + buildKey, + generateKeyValues, + matchValue, + getResponse, + getStatusText, + mockDispatch, + buildMockDispatch, + checkNetConnect, + buildMockOptions, + getHeaderByName + }; + } +}); + +// node_modules/undici/lib/mock/mock-interceptor.js +var require_mock_interceptor = __commonJS({ + "node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { + "use strict"; + var { getResponseData, buildKey, addMockDispatch } = require_mock_utils(); + var { + kDispatches, + kDispatchKey, + kDefaultHeaders, + kDefaultTrailers, + kContentLength, + kMockDispatch + } = require_mock_symbols(); + var { InvalidArgumentError } = require_errors(); + var { buildURL } = require_util(); + 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; + } + /** + * 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"); + } + this[kMockDispatch].times = repeatTimes; + return this; + } + }; + 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; + } + } + 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 = getResponseData(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); + } + 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(error) { + if (typeof error === "undefined") { + throw new InvalidArgumentError("error must be defined"); + } + const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }); + 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"); + } + 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"); + } + 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; + } +}); + +// node_modules/undici/lib/mock/mock-client.js +var require_mock_client = __commonJS({ + "node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { + "use strict"; + var { promisify } = require("util"); + var Client = require_client(); + var { buildMockDispatch } = require_mock_utils(); + var { + kDispatches, + kMockAgent, + kClose, + kOriginalClose, + kOrigin, + kOriginalDispatch, + kConnected + } = require_mock_symbols(); + var { MockInterceptor } = require_mock_interceptor(); + var Symbols = require_symbols(); + var { InvalidArgumentError } = require_errors(); + 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]; + } + get [Symbols.kConnected]() { + return this[kConnected]; + } + /** + * 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]); + } + }; + module2.exports = MockClient; + } +}); + +// node_modules/undici/lib/mock/mock-pool.js +var require_mock_pool = __commonJS({ + "node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { + "use strict"; + var { promisify } = require("util"); + var Pool = require_pool(); + var { buildMockDispatch } = require_mock_utils(); + var { + kDispatches, + kMockAgent, + kClose, + kOriginalClose, + kOrigin, + kOriginalDispatch, + kConnected + } = require_mock_symbols(); + var { MockInterceptor } = require_mock_interceptor(); + var Symbols = require_symbols(); + var { InvalidArgumentError } = require_errors(); + 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]; + } + get [Symbols.kConnected]() { + return this[kConnected]; + } + /** + * 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]); + } + }; + module2.exports = MockPool; + } +}); + +// node_modules/undici/lib/mock/pluralizer.js +var require_pluralizer = __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_formatter = __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 + } + }); + } + format(pendingInterceptors) { + const withPrettyHeaders = pendingInterceptors.map( + ({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ + Method: method, + Origin: origin, + Path: path, + "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_agent = __commonJS({ + "node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { + "use strict"; + var { kClients } = require_symbols(); + var Agent = require_agent(); + var { + kAgent, + kMockAgentSet, + kMockAgentGet, + kDispatches, + kIsMockActive, + kNetConnect, + kGetNetConnect, + kOptions, + kFactory + } = require_mock_symbols(); + var MockClient = require_mock_client(); + var MockPool = require_mock_pool(); + var { matchValue, buildMockOptions } = require_mock_utils(); + var { InvalidArgumentError, UndiciError } = require_errors(); + var Dispatcher = require_dispatcher(); + var Pluralizer = require_pluralizer(); + var PendingInterceptorsFormatter = require_pending_interceptors_formatter(); + 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 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; + } + dispatch(opts, handler) { + this.get(opts.origin); + return this[kAgent].dispatch(opts, handler); + } + 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."); + } + } + 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]; + } + [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(); + } + 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; + } + } + } + [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; + } + 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/undici/lib/proxy-agent.js +var require_proxy_agent = __commonJS({ + "node_modules/undici/lib/proxy-agent.js"(exports2, module2) { + "use strict"; + var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols(); + var { URL: URL3 } = require("url"); + var Agent = require_agent(); + var Pool = require_pool(); + var DispatcherBase = require_dispatcher_base(); + var { InvalidArgumentError, RequestAbortedError } = require_errors(); + var buildConnector = require_connect(); + var kAgent = Symbol("proxy agent"); + var kClient = Symbol("proxy client"); + var kProxyHeaders = Symbol("proxy headers"); + var kRequestTls = Symbol("request tls settings"); + var kProxyTls = Symbol("proxy tls settings"); + var kConnectEndpoint = 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 URL3(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, handler) { + const { host } = new URL3(opts.origin); + const headers = buildHeaders(opts.headers); + throwIfProxyAuthIsSent(headers); + return this[kAgent].dispatch( + { + ...opts, + headers: { + ...headers, + host + } + }, + handler + ); + } + 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_symbols(); + var { RequestRetryError } = require_errors(); + var { isDisturbed, parseHeaders, parseRangeHeader } = require_util(); + 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 +var require_global2 = __commonJS({ + "node_modules/undici/lib/global.js"(exports2, module2) { + "use strict"; + var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); + var { InvalidArgumentError } = require_errors(); + var Agent = require_agent(); + 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 + }; + } +}); + +// 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(handler) { + this.handler = handler; + } + 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); + } + }; + } +}); + +// node_modules/undici/lib/fetch/headers.js +var require_headers = __commonJS({ + "node_modules/undici/lib/fetch/headers.js"(exports2, module2) { + "use strict"; + var { kHeadersList, kConstruct } = require_symbols(); + var { kGuard } = require_symbols2(); + var { kEnumerableProperty } = require_util(); + var { + makeIterator, + isValidHeaderName, + isValidHeaderValue + } = require_util2(); + var { webidl } = require_webidl(); + var assert = require("assert"); + var kHeadersMap = Symbol("headers map"); + var kHeadersSortedMap = 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]); + } + } 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 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); + } + 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; + } + } + // 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 { + 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]; + } + } + get entries() { + const headers = {}; + if (this[kHeadersMap].size) { + for (const { name, value } of this[kHeadersMap].values()) { + headers[name] = value; + } + } + return headers; + } + }; + 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); + } + } + // 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" + }); + } + if (this[kGuard] === "immutable") { + throw new TypeError("immutable"); + } else if (this[kGuard] === "request-no-cors") { + } + if (!this[kHeadersList].contains(name)) { + return; + } + 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" + }); + } + 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" + }); + } + 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 (this[kGuard] === "immutable") { + throw new TypeError("immutable"); + } else if (this[kGuard] === "request-no-cors") { + } + this[kHeadersList].set(name, value); + } + // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie + getSetCookie() { + webidl.brandCheck(this, _Headers); + const list = this[kHeadersList].cookies; + if (list) { + return [...list]; + } + return []; + } + // 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; + } + 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]); + } + } + [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 + } + }); + 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 = { + fill, + Headers, + HeadersList + }; + } +}); + +// node_modules/undici/lib/fetch/response.js +var require_response = __commonJS({ + "node_modules/undici/lib/fetch/response.js"(exports2, module2) { + "use strict"; + var { Headers, HeadersList, fill } = require_headers(); + var { extractBody, cloneBody, mixinBody } = require_body(); + var util = require_util(); + var { kEnumerableProperty } = util; + var { + isValidReasonPhrase, + isCancelled, + isAborted, + isBlobLike, + serializeJavascriptValueToJSONString, + isErrorLike, + isomorphicEncode + } = require_util2(); + var { + redirectStatusSet, + nullBodyStatus, + DOMException: DOMException2 + } = require_constants2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var { webidl } = require_webidl(); + var { FormData } = require_formdata(); + var { getGlobalOrigin } = require_global(); + var { URLSerializer } = require_dataURL(); + var { kHeadersList, kConstruct } = require_symbols(); + var assert = require("assert"); + var { types } = require("util"); + var ReadableStream = 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, type] = extractBody(body); + bodyWithType = { body: extractedBody, type }; + } + 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]; + } + get body() { + webidl.brandCheck(this, _Response); + return this[kState].body ? this[kState].body.stream : null; + } + 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 (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; + } + }; + 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, type) { + if (type === "basic") { + return makeFilteredResponse(response, { + type: "basic", + headersList: response.headersList + }); + } else if (type === "cors") { + return makeFilteredResponse(response, { + type: "cors", + headersList: response.headersList + }); + } else if (type === "opaque") { + return makeFilteredResponse(response, { + type: "opaque", + urlList: Object.freeze([]), + status: 0, + statusText: "", + body: null + }); + } else if (type === "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; + } + if ("headers" in init && init.headers != null) { + fill(response[kHeaders], init.headers); + } + 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); + } + } + } + webidl.converters.ReadableStream = webidl.interfaceConverter( + ReadableStream + ); + webidl.converters.FormData = webidl.interfaceConverter( + FormData + ); + 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 ReadableStream) { + 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 + }; + } +}); + +// node_modules/undici/lib/fetch/request.js +var require_request2 = __commonJS({ + "node_modules/undici/lib/fetch/request.js"(exports2, module2) { + "use strict"; + var { extractBody, mixinBody, cloneBody } = require_body(); + var { Headers, fill: fillHeaders, HeadersList } = require_headers(); + var { FinalizationRegistry } = require_dispatcher_weakref()(); + var util = require_util(); + var { + isValidHTTPToken, + sameOrigin, + normalizeMethod, + makePolicyContainer, + normalizeMethodRecord + } = require_util2(); + var { + forbiddenMethodsSet, + corsSafeListedMethodsSet, + referrerPolicy, + requestRedirect, + requestMode, + requestCredentials, + requestCache, + requestDuplex + } = require_constants2(); + var { kEnumerableProperty } = util; + var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols2(); + var { webidl } = require_webidl(); + var { getGlobalOrigin } = require_global(); + var { URLSerializer } = require_dataURL(); + var { kHeadersList, kConstruct } = require_symbols(); + var assert = require("assert"); + var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); + var TransformStream = globalThis.TransformStream; + var kAbortController = Symbol("abortController"); + var requestFinalizer = new FinalizationRegistry(({ 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 request = 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 + ); + } + request = makeRequest({ urlList: [parsedURL] }); + fallbackMode = "cors"; + } else { + assert(input instanceof _Request); + request = input[kState]; + signal = input[kSignal]; + } + const origin = this[kRealm].settingsObject.origin; + let window = "client"; + if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) { + window = request.window; + } + if (init.window != null) { + throw new TypeError(`'window' option '${window}' must be null`); + } + if ("window" in init) { + window = "no-window"; + } + request = 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: request.method, + // header list A copy of request’s header list. + // undici implementation note: headersList is cloned in makeRequest + headersList: request.headersList, + // unsafe-request flag Set. + unsafeRequest: request.unsafeRequest, + // client This’s relevant settings object. + client: this[kRealm].settingsObject, + // window window. + window, + // priority request’s priority. + priority: request.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: request.origin, + // referrer request’s referrer. + referrer: request.referrer, + // referrer policy request’s referrer policy. + referrerPolicy: request.referrerPolicy, + // mode request’s mode. + mode: request.mode, + // credentials mode request’s credentials mode. + credentials: request.credentials, + // cache mode request’s cache mode. + cache: request.cache, + // redirect mode request’s redirect mode. + redirect: request.redirect, + // integrity metadata request’s integrity metadata. + integrity: request.integrity, + // keepalive request’s keepalive. + keepalive: request.keepalive, + // reload-navigation flag request’s reload-navigation flag. + reloadNavigation: request.reloadNavigation, + // history-navigation flag request’s history-navigation flag. + historyNavigation: request.historyNavigation, + // URL list A clone of request’s URL list. + urlList: [...request.urlList] + }); + const initHasKey = Object.keys(init).length !== 0; + if (initHasKey) { + if (request.mode === "navigate") { + request.mode = "same-origin"; + } + request.reloadNavigation = false; + request.historyNavigation = false; + request.origin = "client"; + request.referrer = "client"; + request.referrerPolicy = ""; + request.url = request.urlList[request.urlList.length - 1]; + request.urlList = [request.url]; + } + if (init.referrer !== void 0) { + const referrer = init.referrer; + if (referrer === "") { + request.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)) { + request.referrer = "client"; + } else { + request.referrer = parsedReferrer; + } + } + } + if (init.referrerPolicy !== void 0) { + request.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) { + request.mode = mode; + } + if (init.credentials !== void 0) { + request.credentials = init.credentials; + } + if (init.cache !== void 0) { + request.cache = init.cache; + } + if (request.cache === "only-if-cached" && request.mode !== "same-origin") { + throw new TypeError( + "'only-if-cached' can be set only with 'same-origin' mode" + ); + } + if (init.redirect !== void 0) { + request.redirect = init.redirect; + } + if (init.integrity != null) { + request.integrity = String(init.integrity); + } + if (init.keepalive !== void 0) { + request.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); + request.method = method; + } + if (init.signal !== void 0) { + signal = init.signal; + } + this[kState] = request; + 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] = request.headersList; + this[kHeaders][kGuard] = "request"; + this[kHeaders][kRealm] = this[kRealm]; + if (mode === "no-cors") { + if (!corsSafeListedMethodsSet.has(request.method)) { + throw new TypeError( + `'${request.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) && (request.method === "GET" || request.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, + request.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 (request.mode !== "same-origin" && request.mode !== "cors") { + throw new TypeError( + 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' + ); + } + request.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 (!TransformStream) { + TransformStream = require("stream/web").TransformStream; + } + const identityTransform = new TransformStream(); + 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 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"); + } + 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; + } + }; + mixinBody(Request); + function makeRequest(init) { + const request = { + 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() + }; + request.url = request.urlList[0]; + return request; + } + function cloneRequest(request) { + const newRequest = makeRequest({ ...request, body: null }); + if (request.body != null) { + newRequest.body = cloneBody(request.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_fetch = __commonJS({ + "node_modules/undici/lib/fetch/index.js"(exports2, module2) { + "use strict"; + var { + Response, + makeNetworkError, + makeAppropriateNetworkError, + filterResponse, + makeResponse + } = require_response(); + var { Headers } = require_headers(); + var { Request, makeRequest } = require_request2(); + 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_util2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var assert = require("assert"); + var { safelyExtractBody } = require_body(); + var { + redirectStatusSet, + nullBodyStatus, + safeMethodsSet, + requestBodyHeader, + subresourceSet, + DOMException: DOMException2 + } = require_constants2(); + var { kHeadersList } = require_symbols(); + var EE = require("events"); + var { Readable, pipeline } = require("stream"); + var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util(); + var { dataURLProcessor, serializeAMimeType } = require_dataURL(); + var { TransformStream } = require("stream/web"); + var { getGlobalDispatcher } = require_global2(); + var { webidl } = require_webidl(); + var { STATUS_CODES } = require("http"); + var GET_OR_HEAD = ["GET", "HEAD"]; + var resolveObjectURL; + var ReadableStream = 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(error) { + if (this.state !== "ongoing") { + return; + } + this.state = "aborted"; + if (!error) { + error = new DOMException2("The operation was aborted.", "AbortError"); + } + this.serializedAbortReason = error; + this.connection?.destroy(error); + this.emit("terminated", error); + } + }; + 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; + } + const request = requestObject[kState]; + if (requestObject.signal.aborted) { + abortFetch(p, request, null, requestObject.signal.reason); + return p.promise; + } + const globalObject = request.client.globalObject; + if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { + request.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, request, responseObject, requestObject.signal.reason); + } + ); + const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); + const processResponse = (response) => { + if (locallyAborted) { + return Promise.resolve(); + } + if (response.aborted) { + abortFetch(p, request, 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, + 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; + } + 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, request, responseObject, error) { + if (!error) { + error = new DOMException2("The operation was aborted.", "AbortError"); + } + p.reject(error); + if (request.body != null && isReadable(request.body?.stream)) { + request.body.stream.cancel(error).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(error).catch((err) => { + if (err.code === "ERR_INVALID_STATE") { + return; + } + throw err; + }); + } + } + function fetching({ + request, + processRequestBodyChunkLength, + processRequestEndOfBody, + processResponse, + processResponseEndOfBody, + processResponseConsumeBody, + useParallelQueue = false, + dispatcher + // undici + }) { + let taskDestination = null; + let crossOriginIsolatedCapability = false; + if (request.client != null) { + taskDestination = request.client.globalObject; + crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; + } + const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); + const timingInfo = createOpaqueTimingInfo({ + startTime: currenTime + }); + const fetchParams = { + controller: new Fetch(dispatcher), + request, + timingInfo, + processRequestBodyChunkLength, + processRequestEndOfBody, + processResponse, + processResponseConsumeBody, + processResponseEndOfBody, + taskDestination, + crossOriginIsolatedCapability + }; + assert(!request.body || request.body.stream); + if (request.window === "client") { + request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window"; + } + if (request.origin === "client") { + request.origin = request.client?.origin; + } + if (request.policyContainer === "client") { + if (request.client != null) { + request.policyContainer = clonePolicyContainer( + request.client.policyContainer + ); + } else { + request.policyContainer = makePolicyContainer(); + } + } + if (!request.headersList.contains("accept")) { + const value = "*/*"; + request.headersList.append("accept", value); + } + if (!request.headersList.contains("accept-language")) { + request.headersList.append("accept-language", "*"); + } + if (request.priority === null) { + } + if (subresourceSet.has(request.destination)) { + } + mainFetch(fetchParams).catch((err) => { + fetchParams.controller.terminate(err); + }); + return fetchParams.controller; + } + async function mainFetch(fetchParams, recursive = false) { + const request = fetchParams.request; + let response = null; + if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) { + response = makeNetworkError("local URLs only"); + } + tryUpgradeRequestToAPotentiallyTrustworthyURL(request); + if (requestBadPort(request) === "blocked") { + response = makeNetworkError("bad port"); + } + if (request.referrerPolicy === "") { + request.referrerPolicy = request.policyContainer.referrerPolicy; + } + if (request.referrer !== "no-referrer") { + request.referrer = determineRequestsReferrer(request); + } + if (response === null) { + response = await (async () => { + const currentURL = requestCurrentURL(request); + if ( + // - request’s current URL’s origin is same origin with request’s origin, + // and request’s response tainting is "basic" + sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data" + currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket" + (request.mode === "navigate" || request.mode === "websocket") + ) { + request.responseTainting = "basic"; + return await schemeFetch(fetchParams); + } + if (request.mode === "same-origin") { + return makeNetworkError('request mode cannot be "same-origin"'); + } + if (request.mode === "no-cors") { + if (request.redirect !== "follow") { + return makeNetworkError( + 'redirect mode cannot be "follow" for "no-cors" request' + ); + } + request.responseTainting = "opaque"; + return await schemeFetch(fetchParams); + } + if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) { + return makeNetworkError("URL scheme must be a HTTP(S) scheme"); + } + request.responseTainting = "cors"; + return await httpFetch(fetchParams); + })(); + } + if (recursive) { + return response; + } + if (response.status !== 0 && !response.internalResponse) { + if (request.responseTainting === "cors") { + } + if (request.responseTainting === "basic") { + response = filterResponse(response, "basic"); + } else if (request.responseTainting === "cors") { + response = filterResponse(response, "cors"); + } else if (request.responseTainting === "opaque") { + response = filterResponse(response, "opaque"); + } else { + assert(false); + } + } + let internalResponse = response.status === 0 ? response : response.internalResponse; + if (internalResponse.urlList.length === 0) { + internalResponse.urlList.push(...request.urlList); + } + if (!request.timingAllowFailed) { + response.timingAllowPassed = true; + } + if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) { + response = internalResponse = makeNetworkError(); + } + if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { + internalResponse.body = null; + fetchParams.controller.dump = true; + } + if (request.integrity) { + const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); + if (request.responseTainting === "opaque" || response.body == null) { + processBodyError(response.error); + return; + } + const processBody = (bytes) => { + if (!bytesMatch(bytes, request.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 } = fetchParams; + const { protocol: scheme } = requestCurrentURL(request); + switch (scheme) { + case "about:": { + return Promise.resolve(makeNetworkError("about scheme is not supported")); + } + case "blob:": { + if (!resolveObjectURL) { + resolveObjectURL = require("buffer").resolveObjectURL; + } + const blobURLEntry = requestCurrentURL(request); + if (blobURLEntry.search.length !== 0) { + return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); + } + const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); + if (request.method !== "GET" || !isBlobLike(blobURLEntryObject)) { + return Promise.resolve(makeNetworkError("invalid method")); + } + const bodyWithType = safelyExtractBody(blobURLEntryObject); + const body = bodyWithType[0]; + const length = isomorphicEncode(`${body.length}`); + const type = bodyWithType[1] ?? ""; + const response = makeResponse({ + statusText: "OK", + headersList: [ + ["content-length", { name: "Content-Length", value: length }], + ["content-type", { name: "Content-Type", value: type }] + ] + }); + response.body = body; + return Promise.resolve(response); + } + case "data:": { + const currentURL = requestCurrentURL(request); + 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")); + } + } + } + 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 + }); + } + const processResponseEndOfBody = () => { + fetchParams.request.done = true; + if (fetchParams.processResponseEndOfBody != null) { + queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); + } + }; + if (fetchParams.processResponse != null) { + queueMicrotask(() => fetchParams.processResponse(response)); + } + if (response.body == null) { + processResponseEndOfBody(); + } else { + const identityTransformAlgorithm = (chunk, controller) => { + controller.enqueue(chunk); + }; + const transformStream = new TransformStream({ + start() { + }, + transform: identityTransformAlgorithm, + flush: processResponseEndOfBody + }, { + size() { + return 1; + } + }, { + size() { + return 1; + } + }); + 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) { + const request = fetchParams.request; + let response = null; + let actualResponse = null; + const timingInfo = fetchParams.timingInfo; + if (request.serviceWorkers === "all") { + } + if (response === null) { + if (request.redirect === "follow") { + request.serviceWorkers = "none"; + } + actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); + if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") { + return makeNetworkError("cors failure"); + } + if (TAOCheck(request, response) === "failure") { + request.timingAllowFailed = true; + } + } + if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( + request.origin, + request.client, + request.destination, + actualResponse + ) === "blocked") { + return makeNetworkError("blocked"); + } + if (redirectStatusSet.has(actualResponse.status)) { + if (request.redirect !== "manual") { + fetchParams.controller.connection.destroy(); + } + if (request.redirect === "error") { + response = makeNetworkError("unexpected redirect"); + } else if (request.redirect === "manual") { + response = actualResponse; + } else if (request.redirect === "follow") { + response = await httpRedirectFetch(fetchParams, response); + } else { + assert(false); + } + } + response.timingInfo = timingInfo; + return response; + } + function httpRedirectFetch(fetchParams, response) { + const request = fetchParams.request; + const actualResponse = response.internalResponse ? response.internalResponse : response; + let locationURL; + try { + locationURL = responseLocationURL( + actualResponse, + requestCurrentURL(request).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 (request.redirectCount === 20) { + return Promise.resolve(makeNetworkError("redirect count exceeded")); + } + request.redirectCount += 1; + if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) { + return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); + } + if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) { + return Promise.resolve(makeNetworkError( + 'URL cannot contain credentials for request mode "cors"' + )); + } + if (actualResponse.status !== 303 && request.body != null && request.body.source == null) { + return Promise.resolve(makeNetworkError()); + } + if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) { + request.method = "GET"; + request.body = null; + for (const headerName of requestBodyHeader) { + request.headersList.delete(headerName); + } + } + if (!sameOrigin(requestCurrentURL(request), locationURL)) { + request.headersList.delete("authorization"); + request.headersList.delete("proxy-authorization", true); + request.headersList.delete("cookie"); + request.headersList.delete("host"); + } + if (request.body != null) { + assert(request.body.source != null); + request.body = safelyExtractBody(request.body.source)[0]; + } + const timingInfo = fetchParams.timingInfo; + timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); + if (timingInfo.redirectStartTime === 0) { + timingInfo.redirectStartTime = timingInfo.startTime; + } + request.urlList.push(locationURL); + setRequestReferrerPolicyOnRedirect(request, actualResponse); + return mainFetch(fetchParams, true); + } + async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { + const request = fetchParams.request; + let httpFetchParams = null; + let httpRequest = null; + let response = null; + const httpCache = null; + const revalidatingFlag = false; + if (request.window === "no-window" && request.redirect === "error") { + httpFetchParams = fetchParams; + httpRequest = request; + } else { + httpRequest = makeRequest(request); + httpFetchParams = { ...fetchParams }; + httpFetchParams.request = httpRequest; + } + const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.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 (contentLength != null) { + contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); + } + if (contentLengthHeaderValue != null) { + httpRequest.headersList.append("content-length", contentLengthHeaderValue); + } + if (contentLength != null && httpRequest.keepalive) { + } + 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"); + } + 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 (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { + httpRequest.headersList.append("cache-control", "max-age=0"); + } + 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 (httpRequest.headersList.contains("range")) { + httpRequest.headersList.append("accept-encoding", "identity"); + } + 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"); + } + } + httpRequest.headersList.delete("host"); + if (includeCredentials) { + } + if (httpCache == null) { + httpRequest.cache = "no-store"; + } + 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; + } + } + response.urlList = [...httpRequest.urlList]; + if (httpRequest.headersList.contains("range")) { + response.rangeRequested = true; + } + response.requestIncludesCredentials = includeCredentials; + if (response.status === 407) { + if (request.window === "no-window") { + return makeNetworkError(); + } + if (isCancelled(fetchParams)) { + return makeAppropriateNetworkError(fetchParams); + } + 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 + (request.body == null || request.body.source != null) + ) { + if (isCancelled(fetchParams)) { + return makeAppropriateNetworkError(fetchParams); + } + fetchParams.controller.connection.destroy(); + response = await httpNetworkOrCacheFetch( + fetchParams, + isAuthenticationFetch, + true + ); + } + if (isAuthenticationFetch) { + } + 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 request = fetchParams.request; + let response = null; + const timingInfo = fetchParams.timingInfo; + const httpCache = null; + if (httpCache == null) { + request.cache = "no-store"; + } + const newConnection = forceNewConnection ? "yes" : "no"; + if (request.mode === "websocket") { + } else { + } + let requestBody = null; + if (request.body == null && fetchParams.processRequestEndOfBody) { + queueMicrotask(() => fetchParams.processRequestEndOfBody()); + } else if (request.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 request.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 iterator = body[Symbol.asyncIterator](); + fetchParams.controller.next = () => iterator.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 (!ReadableStream) { + ReadableStream = require("stream/web").ReadableStream; + } + const stream = new ReadableStream( + { + 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(request); + const agent = fetchParams.controller.dispatcher; + return new Promise((resolve, reject) => agent.dispatch( + { + path: url.pathname + url.search, + origin: url.origin, + method: request.method, + body: fetchParams.controller.dispatcher.isMockActive ? request.body && (request.body.source || request.body.stream) : body, + headers: request.headersList.entries, + maxRedirections: 0, + upgrade: request.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 = request.redirect === "follow" && location && redirectStatusSet.has(status); + if (request.method !== "HEAD" && request.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; + } + } + } + resolve({ + 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(error) { + if (this.abort) { + fetchParams.controller.off("terminated", this.abort); + } + this.body?.destroy(error); + fetchParams.controller.terminate(error); + reject(error); + }, + 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); + } + resolve({ + status, + statusText: STATUS_CODES[status], + headersList: headers[kHeadersList], + socket + }); + return true; + } + } + )); + } + } + module2.exports = { + fetch, + Fetch, + fetching, + finalizeAndReportTiming + }; + } +}); + +// node_modules/undici/lib/fileapi/symbols.js +var require_symbols3 = __commonJS({ + "node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kState: Symbol("FileReader state"), + kResult: Symbol("FileReader result"), + kError: Symbol("FileReader error"), + kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), + kEvents: Symbol("FileReader events"), + kAborted: Symbol("FileReader aborted") + }; + } +}); + +// node_modules/undici/lib/fileapi/progressevent.js +var require_progressevent = __commonJS({ + "node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) { + "use strict"; + var { webidl } = require_webidl(); + var kState = Symbol("ProgressEvent state"); + var ProgressEvent = class _ProgressEvent extends Event { + constructor(type, eventInitDict = {}) { + type = webidl.converters.DOMString(type); + eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); + super(type, eventInitDict); + this[kState] = { + lengthComputable: eventInitDict.lengthComputable, + loaded: eventInitDict.loaded, + total: eventInitDict.total + }; + } + get lengthComputable() { + webidl.brandCheck(this, _ProgressEvent); + return this[kState].lengthComputable; + } + get loaded() { + webidl.brandCheck(this, _ProgressEvent); + return this[kState].loaded; + } + 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/undici/lib/fileapi/encoding.js +var require_encoding = __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_util4 = __commonJS({ + "node_modules/undici/lib/fileapi/util.js"(exports2, module2) { + "use strict"; + var { + kState, + kError, + kResult, + kAborted, + kLastProgressEventFired + } = require_symbols3(); + var { ProgressEvent } = require_progressevent(); + var { getEncoding } = require_encoding(); + var { DOMException: DOMException2 } = require_constants2(); + var { serializeAMimeType, parseMIMEType } = require_dataURL(); + var { types } = require("util"); + var { StringDecoder } = require("string_decoder"); + var { btoa } = require("buffer"); + var staticPropertyDescriptors = { + enumerable: true, + writable: false, + configurable: false + }; + function readOperation(fr, blob, type, 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, type, blob.type, encodingName); + if (fr[kAborted]) { + return; + } + fr[kResult] = result; + fireAProgressEvent("load", fr); + } catch (error) { + fr[kError] = error; + fireAProgressEvent("error", fr); + } + if (fr[kState] !== "loading") { + fireAProgressEvent("loadend", fr); + } + }); + break; + } + } catch (error) { + if (fr[kAborted]) { + return; + } + queueMicrotask(() => { + fr[kState] = "done"; + fr[kError] = error; + 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, type, mimeType, encodingName) { + switch (type) { + 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 += btoa(decoder.write(chunk)); + } + dataURL += btoa(decoder.end()); + return dataURL; + } + case "Text": { + let encoding = "failure"; + if (encodingName) { + encoding = getEncoding(encodingName); + } + if (encoding === "failure" && mimeType) { + const type2 = parseMIMEType(mimeType); + if (type2 !== "failure") { + encoding = getEncoding(type2.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 = { + staticPropertyDescriptors, + readOperation, + fireAProgressEvent + }; + } +}); + +// node_modules/undici/lib/fileapi/filereader.js +var require_filereader = __commonJS({ + "node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) { + "use strict"; + var { + staticPropertyDescriptors, + readOperation, + fireAProgressEvent + } = require_util4(); + var { + kState, + kError, + kResult, + kEvents, + kAborted + } = require_symbols3(); + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + 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; + } + 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 { + this[kEvents].loadend = null; + } + } + 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; + } + } + get onloadstart() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].loadstart; + } + 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 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; + } + } + get onload() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].load; + } + 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; + } + } + get onabort() { + webidl.brandCheck(this, _FileReader); + return this[kEvents].abort; + } + 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 = { + FileReader + }; + } +}); + +// node_modules/undici/lib/cache/symbols.js +var require_symbols4 = __commonJS({ + "node_modules/undici/lib/cache/symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kConstruct: require_symbols().kConstruct + }; + } +}); + +// node_modules/undici/lib/cache/util.js +var require_util5 = __commonJS({ + "node_modules/undici/lib/cache/util.js"(exports2, module2) { + "use strict"; + var assert = require("assert"); + var { URLSerializer } = require_dataURL(); + var { isValidHeaderName } = require_util2(); + 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_cache = __commonJS({ + "node_modules/undici/lib/cache/cache.js"(exports2, module2) { + "use strict"; + var { kConstruct } = require_symbols4(); + var { urlEquals, fieldValues: getFieldValues } = require_util5(); + var { kEnumerableProperty, isDisturbed } = require_util(); + var { kHeadersList } = require_symbols(); + var { webidl } = require_webidl(); + var { Response, cloneResponse } = require_response(); + var { Request } = require_request2(); + var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); + var { fetching } = require_fetch(); + var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); + var assert = require("assert"); + var { getGlobalDispatcher } = require_global2(); + 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]; + } + async match(request, options = {}) { + webidl.brandCheck(this, _Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); + request = webidl.converters.RequestInfo(request); + options = webidl.converters.CacheQueryOptions(options); + const p = await this.matchAll(request, options); + if (p.length === 0) { + return; + } + return p[0]; + } + async matchAll(request = void 0, options = {}) { + webidl.brandCheck(this, _Cache); + if (request !== void 0) request = webidl.converters.RequestInfo(request); + options = webidl.converters.CacheQueryOptions(options); + let r = null; + if (request !== void 0) { + if (request instanceof Request) { + r = request[kState]; + if (r.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request === "string") { + r = new Request(request)[kState]; + } + } + const responses = []; + if (request === 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); + } + async add(request) { + webidl.brandCheck(this, _Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); + request = webidl.converters.RequestInfo(request); + const requests = [request]; + 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 request of requests) { + if (typeof request === "string") { + continue; + } + const r = request[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 request of requests) { + const r = new Request(request)[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++; + } + 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(request, response) { + webidl.brandCheck(this, _Cache); + webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); + request = webidl.converters.RequestInfo(request); + response = webidl.converters.Response(response); + let innerRequest = null; + if (request instanceof Request) { + innerRequest = request[kState]; + } else { + innerRequest = new Request(request)[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 (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); + } + }); + return cacheJobPromise.promise; + } + async delete(request, options = {}) { + webidl.brandCheck(this, _Cache); + webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); + request = webidl.converters.RequestInfo(request); + options = webidl.converters.CacheQueryOptions(options); + let r = null; + if (request instanceof Request) { + r = request[kState]; + if (r.method !== "GET" && !options.ignoreMethod) { + return false; + } + } else { + assert(typeof request === "string"); + r = new Request(request)[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; + } + /** + * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys + * @param {any} request + * @param {import('../../types/cache').CacheQueryOptions} options + * @returns {readonly Request[]} + */ + async keys(request = void 0, options = {}) { + webidl.brandCheck(this, _Cache); + if (request !== void 0) request = webidl.converters.RequestInfo(request); + options = webidl.converters.CacheQueryOptions(options); + let r = null; + if (request !== void 0) { + if (request instanceof Request) { + r = request[kState]; + if (r.method !== "GET" && !options.ignoreMethod) { + return []; + } + } else if (typeof request === "string") { + r = new Request(request)[kState]; + } + } + const promise = createDeferredPromise(); + const requests = []; + if (request === 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 request2 of requests) { + const requestObject = new Request("https://a"); + requestObject[kState] = request2; + requestObject[kHeaders][kHeadersList] = request2.headersList; + requestObject[kHeaders][kGuard] = "immutable"; + requestObject[kRealm] = request2.client; + requestList.push(requestObject); + } + 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"); + } + 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; + } + } + /** + * @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; + } + /** + * @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, request, response = null, options) { + const queryURL = new URL(requestQuery.url); + const cachedURL = new URL(request.url); + if (options?.ignoreSearch) { + cachedURL.search = ""; + queryURL.search = ""; + } + 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 = request.headersList.get(fieldValue); + const queryValue = requestQuery.headersList.get(fieldValue); + if (requestValue !== queryValue) { + return false; + } + } + 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 + } + ]); + 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_cachestorage = __commonJS({ + "node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) { + "use strict"; + var { kConstruct } = require_symbols4(); + var { Cache } = require_cache(); + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + 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); + } + 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]; + } + }; + 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_constants4 = __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_util6 = __commonJS({ + "node_modules/undici/lib/cookies/util.js"(exports2, module2) { + "use strict"; + var assert = require("assert"); + var { kHeadersList } = require_symbols(); + 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; + } + } + } + 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 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 validateCookiePath(path) { + for (const char of path) { + const code = char.charCodeAt(0); + if (code < 33 || char === ";") { + throw new Error("Invalid cookie path"); + } + } + } + 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 stringify2(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("; "); + } + var kHeadersListNode; + function getHeadersList(headers) { + if (headers[kHeadersList]) { + return headers[kHeadersList]; + } + if (!kHeadersListNode) { + kHeadersListNode = Object.getOwnPropertySymbols(headers).find( + (symbol) => symbol.description === "headers list" + ); + assert(kHeadersListNode, "Headers cannot be parsed"); + } + const headersList = headers[kHeadersListNode]; + assert(headersList); + return headersList; + } + module2.exports = { + isCTLExcludingHtab, + stringify: stringify2, + getHeadersList + }; + } +}); + +// node_modules/undici/lib/cookies/parse.js +var require_parse = __commonJS({ + "node_modules/undici/lib/cookies/parse.js"(exports2, module2) { + "use strict"; + var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4(); + var { isCTLExcludingHtab } = require_util6(); + 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) + }; + } + 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 (!/^\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 { + cookieAttributeList.unparsed ??= []; + cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); + } + return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); + } + module2.exports = { + parseSetCookie, + parseUnparsedAttributes + }; + } +}); + +// node_modules/undici/lib/cookies/index.js +var require_cookies = __commonJS({ + "node_modules/undici/lib/cookies/index.js"(exports2, module2) { + "use strict"; + var { parseSetCookie } = require_parse(); + var { stringify: stringify2, getHeadersList } = require_util6(); + var { webidl } = require_webidl(); + var { Headers } = require_headers(); + 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 = getHeadersList(headers).cookies; + if (!cookies) { + return []; + } + return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)); + } + function setCookie(headers, cookie) { + webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); + webidl.brandCheck(headers, Headers, { strict: false }); + cookie = webidl.converters.Cookie(cookie); + const str = stringify2(cookie); + if (str) { + headers.append("Set-Cookie", stringify2(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/undici/lib/websocket/constants.js +var require_constants5 = __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_symbols5 = __commonJS({ + "node_modules/undici/lib/websocket/symbols.js"(exports2, module2) { + "use strict"; + module2.exports = { + kWebSocketURL: Symbol("url"), + kReadyState: Symbol("ready state"), + kController: Symbol("controller"), + kResponse: Symbol("response"), + kBinaryType: Symbol("binary type"), + kSentClose: Symbol("sent close"), + kReceivedClose: Symbol("received close"), + kByteParser: Symbol("byte parser") + }; + } +}); + +// node_modules/undici/lib/websocket/events.js +var require_events = __commonJS({ + "node_modules/undici/lib/websocket/events.js"(exports2, module2) { + "use strict"; + var { webidl } = require_webidl(); + var { kEnumerableProperty } = require_util(); + var { MessagePort } = require("worker_threads"); + var MessageEvent = class _MessageEvent extends Event { + #eventInit; + constructor(type, eventInitDict = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); + type = webidl.converters.DOMString(type); + eventInitDict = webidl.converters.MessageEventInit(eventInitDict); + super(type, eventInitDict); + this.#eventInit = eventInitDict; + } + 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(type, 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(type, { + bubbles, + cancelable, + data, + origin, + lastEventId, + source, + ports + }); + } + }; + var CloseEvent = class _CloseEvent extends Event { + #eventInit; + constructor(type, eventInitDict = {}) { + webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); + type = webidl.converters.DOMString(type); + eventInitDict = webidl.converters.CloseEventInit(eventInitDict); + super(type, 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; + } + }; + var ErrorEvent = class _ErrorEvent extends Event { + #eventInit; + constructor(type, eventInitDict) { + webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); + super(type, eventInitDict); + type = webidl.converters.DOMString(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"], + 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.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_util7 = __commonJS({ + "node_modules/undici/lib/websocket/util.js"(exports2, module2) { + "use strict"; + var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); + var { states, opcodes } = require_constants5(); + var { MessageEvent, ErrorEvent } = require_events(); + 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, type, data) { + if (ws[kReadyState] !== states.OPEN) { + return; + } + let dataForEvent; + if (type === 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 (type === 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 + }); + } + 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; + } + 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 + }; + } +}); + +// node_modules/undici/lib/websocket/connection.js +var require_connection = __commonJS({ + "node_modules/undici/lib/websocket/connection.js"(exports2, module2) { + "use strict"; + var diagnosticsChannel = require("diagnostics_channel"); + var { uid, states } = require_constants5(); + var { + kReadyState, + kSentClose, + kByteParser, + kReceivedClose + } = require_symbols5(); + var { fireEvent, failWebsocketConnection } = require_util7(); + var { CloseEvent } = require_events(); + var { makeRequest } = require_request2(); + var { fetching } = require_fetch(); + var { Headers } = require_headers(); + var { getGlobalDispatcher } = require_global2(); + var { kHeadersList } = require_symbols(); + 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 crypto4; + try { + crypto4 = require("crypto"); + } catch { + } + function establishWebSocketConnection(url, protocols, ws, onEstablish, options) { + const requestURL = url; + requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:"; + const request = 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]; + request.headersList = headersList; + } + const keyValue = crypto4.randomBytes(16).toString("base64"); + request.headersList.append("sec-websocket-key", keyValue); + request.headersList.append("sec-websocket-version", "13"); + for (const protocol of protocols) { + request.headersList.append("sec-websocket-protocol", protocol); + } + const permessageDeflate = ""; + const controller = fetching({ + request, + 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 = crypto4.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 !== request.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(error) { + const { ws } = this; + ws[kReadyState] = states.CLOSING; + if (channels.socketError.hasSubscribers) { + channels.socketError.publish(error); + } + this.destroy(); + } + module2.exports = { + establishWebSocketConnection + }; + } +}); + +// node_modules/undici/lib/websocket/frame.js +var require_frame = __commonJS({ + "node_modules/undici/lib/websocket/frame.js"(exports2, module2) { + "use strict"; + var { maxUnsigned16Bit } = require_constants5(); + var crypto4; + try { + crypto4 = require("crypto"); + } catch { + } + var WebsocketFrameSend = class { + /** + * @param {Buffer|undefined} data + */ + constructor(data) { + this.frameData = data; + this.maskKey = crypto4.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_receiver = __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_constants5(); + var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); + var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util7(); + var { WebsocketFrameSend } = require_frame(); + 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, _, 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; + } + 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 }; + } + get closingInfo() { + return this.#info.closeInfo; + } + }; + module2.exports = { + ByteParser + }; + } +}); + +// node_modules/undici/lib/websocket/websocket.js +var require_websocket = __commonJS({ + "node_modules/undici/lib/websocket/websocket.js"(exports2, module2) { + "use strict"; + var { webidl } = require_webidl(); + var { DOMException: DOMException2 } = require_constants2(); + var { URLSerializer } = require_dataURL(); + var { getGlobalOrigin } = require_global(); + var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants5(); + var { + kWebSocketURL, + kReadyState, + kController, + kBinaryType, + kResponse, + kSentClose, + kByteParser + } = require_symbols5(); + var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util7(); + var { establishWebSocketConnection } = require_connection(); + var { WebsocketFrameSend } = require_frame(); + var { ByteParser } = require_receiver(); + var { kEnumerableProperty, isBlobLike } = require_util(); + var { getGlobalDispatcher } = require_global2(); + 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"; + } + /** + * @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; + } + 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]); + } + 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 (typeof fn === "function") { + this.#events.open = fn; + this.addEventListener("open", fn); + } else { + 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); + } + 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(type) { + webidl.brandCheck(this, _WebSocket); + if (type !== "blob" && type !== "arraybuffer") { + this[kBinaryType] = "blob"; + } else { + this[kBinaryType] = type; + } + } + /** + * @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); + } + }; + 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) { + 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 []; + } + }, + { + key: "dispatcher", + converter: (V) => V, + get defaultValue() { + return getGlobalDispatcher(); + } + }, + { + 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 + }; + } +}); + +// node_modules/undici/index.js +var require_undici = __commonJS({ + "node_modules/undici/index.js"(exports2, module2) { + "use strict"; + var Client = require_client(); + var Dispatcher = require_dispatcher(); + var errors = require_errors(); + var Pool = require_pool(); + var BalancedPool = require_balanced_pool(); + var Agent = require_agent(); + var util = require_util(); + var { InvalidArgumentError } = errors; + var api = require_api(); + var buildConnector = require_connect(); + var MockClient = require_mock_client(); + var MockAgent = require_mock_agent(); + var MockPool = require_mock_pool(); + var mockErrors = require_mock_errors(); + var ProxyAgent = require_proxy_agent(); + var RetryHandler = require_RetryHandler(); + var { getGlobalDispatcher, setGlobalDispatcher } = require_global2(); + 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, handler) => { + if (typeof opts === "function") { + handler = 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 path = opts.path; + if (!opts.path.startsWith("/")) { + path = `/${path}`; + } + url = new URL(util.parseOrigin(url).origin + path); + } 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") + }, handler); + }; + } + 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_fetch().fetch; + } + try { + return await fetchImpl(...arguments); + } catch (err) { + if (typeof err === "object") { + Error.captureStackTrace(err, this); + } + throw err; + } + }; + module2.exports.Headers = require_headers().Headers; + module2.exports.Response = require_response().Response; + module2.exports.Request = require_request2().Request; + module2.exports.FormData = require_formdata().FormData; + module2.exports.File = require_file().File; + module2.exports.FileReader = require_filereader().FileReader; + const { setGlobalOrigin, getGlobalOrigin } = require_global(); + module2.exports.setGlobalOrigin = setGlobalOrigin; + module2.exports.getGlobalOrigin = getGlobalOrigin; + const { CacheStorage } = require_cachestorage(); + const { kConstruct } = require_symbols4(); + module2.exports.caches = new CacheStorage(kConstruct); + } + if (util.nodeMajor >= 16) { + const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies(); + 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_websocket(); + 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; + } +}); + +// node_modules/@actions/http-client/lib/index.js +var require_lib = __commonJS({ + "node_modules/@actions/http-client/lib/index.js"(exports2) { + "use strict"; + var __createBinding = 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 __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = 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)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, 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 ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.HttpClient = exports2.isHttps = exports2.HttpClientResponse = exports2.HttpClientError = exports2.getProxyUrl = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; + var http = __importStar(require("http")); + var https = __importStar(require("https")); + var pm = __importStar(require_proxy()); + var tunnel = __importStar(require_tunnel2()); + var undici_1 = require_undici(); + var HttpCodes; + (function(HttpCodes2) { + HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; + HttpCodes2[HttpCodes2["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes2[HttpCodes2["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes2[HttpCodes2["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes2[HttpCodes2["SeeOther"] = 303] = "SeeOther"; + HttpCodes2[HttpCodes2["NotModified"] = 304] = "NotModified"; + HttpCodes2[HttpCodes2["UseProxy"] = 305] = "UseProxy"; + HttpCodes2[HttpCodes2["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes2[HttpCodes2["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes2[HttpCodes2["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes2[HttpCodes2["BadRequest"] = 400] = "BadRequest"; + HttpCodes2[HttpCodes2["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes2[HttpCodes2["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes2[HttpCodes2["Forbidden"] = 403] = "Forbidden"; + HttpCodes2[HttpCodes2["NotFound"] = 404] = "NotFound"; + HttpCodes2[HttpCodes2["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes2[HttpCodes2["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes2[HttpCodes2["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes2[HttpCodes2["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes2[HttpCodes2["Conflict"] = 409] = "Conflict"; + HttpCodes2[HttpCodes2["Gone"] = 410] = "Gone"; + HttpCodes2[HttpCodes2["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes2[HttpCodes2["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes2[HttpCodes2["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; + HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; + })(HttpCodes || (exports2.HttpCodes = HttpCodes = {})); + var Headers; + (function(Headers2) { + Headers2["Accept"] = "accept"; + Headers2["ContentType"] = "content-type"; + })(Headers || (exports2.Headers = Headers = {})); + var MediaTypes; + (function(MediaTypes2) { + MediaTypes2["ApplicationJson"] = "application/json"; + })(MediaTypes || (exports2.MediaTypes = MediaTypes = {})); + function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ""; + } + exports2.getProxyUrl = getProxyUrl; + var HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect + ]; + var HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout + ]; + var RetryableHttpVerbs = ["OPTIONS", "GET", "DELETE", "HEAD"]; + var ExponentialBackoffCeiling = 10; + var ExponentialBackoffTimeSlice = 5; + var HttpClientError = class _HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = "HttpClientError"; + this.statusCode = statusCode; + Object.setPrototypeOf(this, _HttpClientError.prototype); + } + }; + exports2.HttpClientError = HttpClientError; + var HttpClientResponse = class { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on("data", (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on("end", () => { + resolve(output.toString()); + }); + })); + }); + } + readBodyBuffer() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + const chunks = []; + this.message.on("data", (chunk) => { + chunks.push(chunk); + }); + this.message.on("end", () => { + resolve(Buffer.concat(chunks)); + }); + })); + }); + } + }; + exports2.HttpClientResponse = HttpClientResponse; + function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === "https:"; + } + exports2.isHttps = isHttps; + var HttpClient = class { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("GET", requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("DELETE", requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("POST", requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("PATCH", requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("PUT", requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("HEAD", requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error("Client has already been disposed."); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + if (response && response.message && response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } else { + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0) { + const redirectUrl = response.message.headers["location"]; + if (!redirectUrl) { + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === "https:" && parsedUrl.protocol !== parsedRedirectUrl.protocol && !this._allowRedirectDowngrade) { + throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true."); + } + yield response.readBody(); + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + if (header.toLowerCase() === "authorization") { + delete headers[header]; + } + } + } + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || !HttpResponseRetryCodes.includes(response.message.statusCode)) { + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } else if (!res) { + reject(new Error("Unknown error")); + } else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === "string") { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers["Content-Length"] = Buffer.byteLength(data, "utf8"); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(void 0, res); + }); + let socket; + req.on("socket", (sock) => { + socket = sock; + }); + req.setTimeout(this._socketTimeout || 3 * 6e4, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on("error", function(err) { + handleResult(err); + }); + if (data && typeof data === "string") { + req.write(data, "utf8"); + } + if (data && typeof data !== "string") { + data.on("close", function() { + req.end(); + }); + data.pipe(req); + } else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); } - return parseInt(input, R); - } - function parseIPv4(input) { - const parts = input.split('.'); - if (parts[parts.length - 1] === '') { - if (parts.length > 1) { - parts.pop(); + getAgentDispatcher(serverUrl) { + const parsedUrl = new URL(serverUrl); + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (!useProxy) { + return; } + return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); } - if (parts.length > 4) { - return input; - } - const numbers = []; - for (const part of parts) { - if (part === '') { - return input; + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === "https:"; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port ? parseInt(info.parsedUrl.port) : defaultPort; + info.options.path = (info.parsedUrl.pathname || "") + (info.parsedUrl.search || ""); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers["user-agent"] = this.userAgent; } - const n = parseIPv4Number(part); - if (n === failure) { - return input; + info.options.agent = this._getAgent(info.parsedUrl); + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } } - numbers.push(n); + return info; } - for (let i = 0; i < numbers.length - 1; ++i) { - if (numbers[i] > 255) { - return failure; + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); } + return lowercaseKeys(headers || {}); } - if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { - return failure; - } - let ipv4 = numbers.pop(); - let counter = 0; - for (const n of numbers) { - ipv4 += n * Math.pow(256, 3 - counter); - ++counter; - } - return ipv4; - } - function serializeIPv4(address) { - let output = ''; - let n = address; - for (let i = 1; i <= 4; ++i) { - output = String(n % 256) + output; - if (i !== 4) { - output = '.' + output; + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; } - n = Math.floor(n / 256); + return additionalHeaders[header] || clientHeader || _default; } - return output; - } - function parseIPv6(input) { - const address = [0, 0, 0, 0, 0, 0, 0, 0]; - let pieceIndex = 0; - let compress = null; - let pointer = 0; - input = punycode.ucs2.decode(input); - if (input[pointer] === 58) { - if (input[pointer + 1] !== 58) { - return failure; - } - pointer += 2; - ++pieceIndex; - compress = pieceIndex; - } - while (pointer < input.length) { - if (pieceIndex === 8) { - return failure; - } - if (input[pointer] === 58) { - if (compress !== null) { - return failure; - } - ++pointer; - ++pieceIndex; - compress = pieceIndex; - continue; + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; } - let value = 0; - let length = 0; - while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 16 + parseInt(at(input, pointer), 16); - ++pointer; - ++length; - } - if (input[pointer] === 46) { - if (length === 0) { - return failure; - } - pointer -= length; - if (pieceIndex > 6) { - return failure; - } - let numbersSeen = 0; - while (input[pointer] !== void 0) { - let ipv4Piece = null; - if (numbersSeen > 0) { - if (input[pointer] === 46 && numbersSeen < 4) { - ++pointer; - } else { - return failure; - } - } - if (!isASCIIDigit(input[pointer])) { - return failure; - } - while (isASCIIDigit(input[pointer])) { - const number = parseInt(at(input, pointer)); - if (ipv4Piece === null) { - ipv4Piece = number; - } else if (ipv4Piece === 0) { - return failure; - } else { - ipv4Piece = ipv4Piece * 10 + number; - } - if (ipv4Piece > 255) { - return failure; - } - ++pointer; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - ++numbersSeen; - if (numbersSeen === 2 || numbersSeen === 4) { - ++pieceIndex; - } - } - if (numbersSeen !== 4) { - return failure; + if (!useProxy) { + agent = this._agent; + } + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === "https:"; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, (proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + }), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === "https:"; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; } - break; - } else if (input[pointer] === 58) { - ++pointer; - if (input[pointer] === void 0) { - return failure; - } - } else if (input[pointer] !== void 0) { - return failure; - } - address[pieceIndex] = value; - ++pieceIndex; - } - if (compress !== null) { - let swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex !== 0 && swaps > 0) { - const temp = address[compress + swaps - 1]; - address[compress + swaps - 1] = address[pieceIndex]; - address[pieceIndex] = temp; - --pieceIndex; - --swaps; - } - } else if (compress === null && pieceIndex !== 8) { - return failure; - } - return address; - } - function serializeIPv6(address) { - let output = ''; - const seqResult = findLongestZeroSequence(address); - const compress = seqResult.idx; - let ignore0 = false; - for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { - if (ignore0 && address[pieceIndex] === 0) { - continue; - } else if (ignore0) { - ignore0 = false; + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; } - if (compress === pieceIndex) { - const separator = pieceIndex === 0 ? '::' : ':'; - output += separator; - ignore0 = true; - continue; + if (!agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; } - output += address[pieceIndex].toString(16); - if (pieceIndex !== 7) { - output += ':'; + if (usingSsl && this._ignoreSslError) { + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); } + return agent; } - return output; - } - function parseHost(input, isSpecialArg) { - if (input[0] === '[') { - if (input[input.length - 1] !== ']') { - return failure; + _getProxyAgentDispatcher(parsedUrl, proxyUrl) { + let proxyAgent; + if (this._keepAlive) { + proxyAgent = this._proxyAgentDispatcher; } - return parseIPv6(input.substring(1, input.length - 1)); - } - if (!isSpecialArg) { - return parseOpaqueHost(input); - } - const domain = utf8PercentDecode(input); - const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); - if (asciiDomain === null) { - return failure; - } - if (containsForbiddenHostCodePoint(asciiDomain)) { - return failure; - } - const ipv4Host = parseIPv4(asciiDomain); - if (typeof ipv4Host === 'number' || ipv4Host === failure) { - return ipv4Host; - } - return asciiDomain; - } - function parseOpaqueHost(input) { - if (containsForbiddenHostCodePointExcludingPercent(input)) { - return failure; - } - let output = ''; - const decoded = punycode.ucs2.decode(input); - for (let i = 0; i < decoded.length; ++i) { - output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); - } - return output; - } - function findLongestZeroSequence(arr) { - let maxIdx = null; - let maxLen = 1; - let currStart = null; - let currLen = 0; - for (let i = 0; i < arr.length; ++i) { - if (arr[i] !== 0) { - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - currStart = null; - currLen = 0; - } else { - if (currStart === null) { - currStart = i; - } - ++currLen; + if (proxyAgent) { + return proxyAgent; } - } - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - return { - idx: maxIdx, - len: maxLen - }; - } - function serializeHost(host) { - if (typeof host === 'number') { - return serializeIPv4(host); - } - if (host instanceof Array) { - return '[' + serializeIPv6(host) + ']'; - } - return host; - } - function trimControlChars(url) { - return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ''); - } - function trimTabAndNewline(url) { - return url.replace(/\u0009|\u000A|\u000D/g, ''); - } - function shortenPath(url) { - const path = url.path; - if (path.length === 0) { - return; - } - if (url.scheme === 'file' && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { - return; - } - path.pop(); - } - function includesCredentials(url) { - return url.username !== '' || url.password !== ''; - } - function cannotHaveAUsernamePasswordPort(url) { - return url.host === null || url.host === '' || url.cannotBeABaseURL || url.scheme === 'file'; - } - function isNormalizedWindowsDriveLetter(string) { - return /^[A-Za-z]:$/.test(string); - } - function URLStateMachine(input, base, encodingOverride, url, stateOverride) { - this.pointer = 0; - this.input = input; - this.base = base || null; - this.encodingOverride = encodingOverride || 'utf-8'; - this.stateOverride = stateOverride; - this.url = url; - this.failure = false; - this.parseError = false; - if (!this.url) { - this.url = { - scheme: '', - username: '', - password: '', - host: null, - port: null, - path: [], - query: null, - fragment: null, - cannotBeABaseURL: false - }; - const res2 = trimControlChars(this.input); - if (res2 !== this.input) { - this.parseError = true; - } - this.input = res2; - } - const res = trimTabAndNewline(this.input); - if (res !== this.input) { - this.parseError = true; - } - this.input = res; - this.state = stateOverride || 'scheme start'; - this.buffer = ''; - this.atFlag = false; - this.arrFlag = false; - this.passwordTokenSeenFlag = false; - this.input = punycode.ucs2.decode(this.input); - for (; this.pointer <= this.input.length; ++this.pointer) { - const c = this.input[this.pointer]; - const cStr = isNaN(c) ? void 0 : String.fromCodePoint(c); - const ret = this['parse ' + this.state](c, cStr); - if (!ret) { - break; - } else if (ret === failure) { - this.failure = true; - break; + const usingSsl = parsedUrl.protocol === "https:"; + proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, (proxyUrl.username || proxyUrl.password) && { + token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString("base64")}` + })); + this._proxyAgentDispatcher = proxyAgent; + if (usingSsl && this._ignoreSslError) { + proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { + rejectUnauthorized: false + }); } + return proxyAgent; } - } - URLStateMachine.prototype['parse scheme start'] = function parseSchemeStart(c, cStr) { - if (isASCIIAlpha(c)) { - this.buffer += cStr.toLowerCase(); - this.state = 'scheme'; - } else if (!this.stateOverride) { - this.state = 'no scheme'; - --this.pointer; - } else { - this.parseError = true; - return failure; + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise((resolve) => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + function dateTimeDeserializer(key, value) { + if (typeof value === "string") { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } catch (err) { + } + if (statusCode > 299) { + let msg; + if (obj && obj.message) { + msg = obj.message; + } else if (contents && contents.length > 0) { + msg = contents; + } else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } else { + resolve(response); + } + })); + }); } - return true; }; - URLStateMachine.prototype['parse scheme'] = function parseScheme(c, cStr) { - if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { - this.buffer += cStr.toLowerCase(); - } else if (c === 58) { - if (this.stateOverride) { - if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { - return false; - } - if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { - return false; - } - if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === 'file') { - return false; + exports2.HttpClient = HttpClient; + var lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => (c[k.toLowerCase()] = obj[k], c), {}); + } +}); + +// node_modules/@actions/http-client/lib/auth.js +var require_auth = __commonJS({ + "node_modules/@actions/http-client/lib/auth.js"(exports2) { + "use strict"; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - if (this.url.scheme === 'file' && (this.url.host === '' || this.url.host === null)) { - return false; + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } } - this.url.scheme = this.buffer; - this.buffer = ''; - if (this.stateOverride) { - return false; + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - if (this.url.scheme === 'file') { - if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { - this.parseError = true; - } - this.state = 'file'; - } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { - this.state = 'special relative or authority'; - } else if (isSpecial(this.url)) { - this.state = 'special authority slashes'; - } else if (this.input[this.pointer + 1] === 47) { - this.state = 'path or authority'; - ++this.pointer; - } else { - this.url.cannotBeABaseURL = true; - this.url.path.push(''); - this.state = 'cannot-be-a-base-URL path'; - } - } else if (!this.stateOverride) { - this.buffer = ''; - this.state = 'no scheme'; - this.pointer = -1; - } else { - this.parseError = true; - return failure; - } - return true; + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - URLStateMachine.prototype['parse no scheme'] = function parseNoScheme(c) { - if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { - return failure; - } else if (this.base.cannotBeABaseURL && c === 35) { - this.url.scheme = this.base.scheme; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ''; - this.url.cannotBeABaseURL = true; - this.state = 'fragment'; - } else if (this.base.scheme === 'file') { - this.state = 'file'; - --this.pointer; - } else { - this.state = 'relative'; - --this.pointer; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.PersonalAccessTokenCredentialHandler = exports2.BearerCredentialHandler = exports2.BasicCredentialHandler = void 0; + var BasicCredentialHandler = class { + constructor(username, password) { + this.username = username; + this.password = password; } - return true; - }; - URLStateMachine.prototype['parse special relative or authority'] = function parseSpecialRelativeOrAuthority(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = 'special authority ignore slashes'; - ++this.pointer; - } else { - this.parseError = true; - this.state = 'relative'; - --this.pointer; + prepareRequest(options) { + if (!options.headers) { + throw Error("The request has no headers"); + } + options.headers["Authorization"] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`; } - return true; - }; - URLStateMachine.prototype['parse path or authority'] = function parsePathOrAuthority(c) { - if (c === 47) { - this.state = 'authority'; - } else { - this.state = 'path'; - --this.pointer; + // This handler cannot handle 401 + canHandleAuthentication() { + return false; } - return true; - }; - URLStateMachine.prototype['parse relative'] = function parseRelative(c) { - this.url.scheme = this.base.scheme; - if (isNaN(c)) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 47) { - this.state = 'relative slash'; - } else if (c === 63) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = ''; - this.state = 'query'; - } else if (c === 35) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ''; - this.state = 'fragment'; - } else if (isSpecial(this.url) && c === 92) { - this.parseError = true; - this.state = 'relative slash'; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(0, this.base.path.length - 1); - this.state = 'path'; - --this.pointer; + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); } - return true; }; - URLStateMachine.prototype['parse relative slash'] = function parseRelativeSlash(c) { - if (isSpecial(this.url) && (c === 47 || c === 92)) { - if (c === 92) { - this.parseError = true; - } - this.state = 'special authority ignore slashes'; - } else if (c === 47) { - this.state = 'authority'; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.state = 'path'; - --this.pointer; + exports2.BasicCredentialHandler = BasicCredentialHandler; + var BearerCredentialHandler = class { + constructor(token2) { + this.token = token2; } - return true; - }; - URLStateMachine.prototype['parse special authority slashes'] = function parseSpecialAuthoritySlashes(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = 'special authority ignore slashes'; - ++this.pointer; - } else { - this.parseError = true; - this.state = 'special authority ignore slashes'; - --this.pointer; + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error("The request has no headers"); + } + options.headers["Authorization"] = `Bearer ${this.token}`; } - return true; - }; - URLStateMachine.prototype['parse special authority ignore slashes'] = function parseSpecialAuthorityIgnoreSlashes(c) { - if (c !== 47 && c !== 92) { - this.state = 'authority'; - --this.pointer; - } else { - this.parseError = true; + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); } - return true; }; - URLStateMachine.prototype['parse authority'] = function parseAuthority(c, cStr) { - if (c === 64) { - this.parseError = true; - if (this.atFlag) { - this.buffer = '%40' + this.buffer; - } - this.atFlag = true; - const len = countSymbols(this.buffer); - for (let pointer = 0; pointer < len; ++pointer) { - const codePoint = this.buffer.codePointAt(pointer); - if (codePoint === 58 && !this.passwordTokenSeenFlag) { - this.passwordTokenSeenFlag = true; - continue; - } - const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); - if (this.passwordTokenSeenFlag) { - this.url.password += encodedCodePoints; - } else { - this.url.username += encodedCodePoints; - } - } - this.buffer = ''; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || (isSpecial(this.url) && c === 92)) { - if (this.atFlag && this.buffer === '') { - this.parseError = true; - return failure; + exports2.BearerCredentialHandler = BearerCredentialHandler; + var PersonalAccessTokenCredentialHandler = class { + constructor(token2) { + this.token = token2; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error("The request has no headers"); } - this.pointer -= countSymbols(this.buffer) + 1; - this.buffer = ''; - this.state = 'host'; - } else { - this.buffer += cStr; + options.headers["Authorization"] = `Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); } - return true; }; - URLStateMachine.prototype['parse hostname'] = URLStateMachine.prototype['parse host'] = function parseHostName(c, cStr) { - if (this.stateOverride && this.url.scheme === 'file') { - --this.pointer; - this.state = 'file host'; - } else if (c === 58 && !this.arrFlag) { - if (this.buffer === '') { - this.parseError = true; - return failure; - } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - this.url.host = host; - this.buffer = ''; - this.state = 'port'; - if (this.stateOverride === 'hostname') { - return false; - } - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || (isSpecial(this.url) && c === 92)) { - --this.pointer; - if (isSpecial(this.url) && this.buffer === '') { - this.parseError = true; - return failure; - } else if (this.stateOverride && this.buffer === '' && (includesCredentials(this.url) || this.url.port !== null)) { - this.parseError = true; - return false; - } - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; + exports2.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; + } +}); + +// node_modules/@actions/core/lib/oidc-utils.js +var require_oidc_utils = __commonJS({ + "node_modules/@actions/core/lib/oidc-utils.js"(exports2) { + "use strict"; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - this.url.host = host; - this.buffer = ''; - this.state = 'path start'; - if (this.stateOverride) { - return false; + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - } else { - if (c === 91) { - this.arrFlag = true; - } else if (c === 93) { - this.arrFlag = false; + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - this.buffer += cStr; - } - return true; + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - URLStateMachine.prototype['parse port'] = function parsePort(c, cStr) { - if (isASCIIDigit(c)) { - this.buffer += cStr; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || (isSpecial(this.url) && c === 92) || this.stateOverride) { - if (this.buffer !== '') { - const port = parseInt(this.buffer); - if (port > Math.pow(2, 16) - 1) { - this.parseError = true; - return failure; - } - this.url.port = port === defaultPort(this.url.scheme) ? null : port; - this.buffer = ''; - } - if (this.stateOverride) { - return false; - } - this.state = 'path start'; - --this.pointer; - } else { - this.parseError = true; - return failure; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.OidcClient = void 0; + var http_client_1 = require_lib(); + var auth_1 = require_auth(); + var core_1 = require_core(); + var OidcClient = class _OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient("actions/oidc-client", [new auth_1.BearerCredentialHandler(_OidcClient.getRequestToken())], requestOptions); } - return true; - }; - var fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); - URLStateMachine.prototype['parse file'] = function parseFile(c) { - this.url.scheme = 'file'; - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = 'file slash'; - } else if (this.base !== null && this.base.scheme === 'file') { - if (isNaN(c)) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 63) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = ''; - this.state = 'query'; - } else if (c === 35) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ''; - this.state = 'fragment'; - } else { - if ( - this.input.length - this.pointer - 1 === 0 || - !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || - (this.input.length - this.pointer - 1 >= 2 && !fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) - ) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - shortenPath(this.url); - } else { - this.parseError = true; - } - this.state = 'path'; - --this.pointer; + static getRequestToken() { + const token2 = process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"]; + if (!token2) { + throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable"); } - } else { - this.state = 'path'; - --this.pointer; + return token2; } - return true; - }; - URLStateMachine.prototype['parse file slash'] = function parseFileSlash(c) { - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = 'file host'; - } else { - if (this.base !== null && this.base.scheme === 'file') { - if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { - this.url.path.push(this.base.path[0]); - } else { - this.url.host = this.base.host; - } + static getIDTokenUrl() { + const runtimeUrl = process.env["ACTIONS_ID_TOKEN_REQUEST_URL"]; + if (!runtimeUrl) { + throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable"); } - this.state = 'path'; - --this.pointer; + return runtimeUrl; } - return true; - }; - URLStateMachine.prototype['parse file host'] = function parseFileHost(c, cStr) { - if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { - --this.pointer; - if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { - this.parseError = true; - this.state = 'path'; - } else if (this.buffer === '') { - this.url.host = ''; - if (this.stateOverride) { - return false; - } - this.state = 'path start'; - } else { - let host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - if (host === 'localhost') { - host = ''; + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = _OidcClient.createHttpClient(); + const res = yield httpclient.getJson(id_token_url).catch((error) => { + throw new Error(`Failed to get ID Token. + + Error Code : ${error.statusCode} + + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error("Response json body do not have ID Token field"); } - this.url.host = host; - if (this.stateOverride) { - return false; + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + let id_token_url = _OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield _OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } catch (error) { + throw new Error(`Error message: ${error.message}`); } - this.buffer = ''; - this.state = 'path start'; - } - } else { - this.buffer += cStr; + }); } - return true; }; - URLStateMachine.prototype['parse path start'] = function parsePathStart(c) { - if (isSpecial(this.url)) { - if (c === 92) { - this.parseError = true; - } - this.state = 'path'; - if (c !== 47 && c !== 92) { - --this.pointer; - } - } else if (!this.stateOverride && c === 63) { - this.url.query = ''; - this.state = 'query'; - } else if (!this.stateOverride && c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; - } else if (c !== void 0) { - this.state = 'path'; - if (c !== 47) { - --this.pointer; - } + exports2.OidcClient = OidcClient; + } +}); + +// node_modules/@actions/core/lib/summary.js +var require_summary = __commonJS({ + "node_modules/@actions/core/lib/summary.js"(exports2) { + "use strict"; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); } - return true; - }; - URLStateMachine.prototype['parse path'] = function parsePath(c) { - if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || (!this.stateOverride && (c === 63 || c === 35))) { - if (isSpecial(this.url) && c === 92) { - this.parseError = true; - } - if (isDoubleDot(this.buffer)) { - shortenPath(this.url); - if (c !== 47 && !(isSpecial(this.url) && c === 92)) { - this.url.path.push(''); - } - } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) { - this.url.path.push(''); - } else if (!isSingleDot(this.buffer)) { - if (this.url.scheme === 'file' && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { - if (this.url.host !== '' && this.url.host !== null) { - this.parseError = true; - this.url.host = ''; - } - this.buffer = this.buffer[0] + ':'; + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - this.url.path.push(this.buffer); } - this.buffer = ''; - if (this.url.scheme === 'file' && (c === void 0 || c === 63 || c === 35)) { - while (this.url.path.length > 1 && this.url.path[0] === '') { - this.parseError = true; - this.url.path.shift(); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } } - if (c === 63) { - this.url.query = ''; - this.state = 'query'; - } - if (c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; - } - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.buffer += percentEncodeChar(c, isPathPercentEncode); - } - return true; - }; - URLStateMachine.prototype['parse cannot-be-a-base-URL path'] = function parseCannotBeABaseURLPath(c) { - if (c === 63) { - this.url.query = ''; - this.state = 'query'; - } else if (c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; - } else { - if (!isNaN(c) && c !== 37) { - this.parseError = true; - } - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - if (!isNaN(c)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); - } - } - return true; + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - URLStateMachine.prototype['parse query'] = function parseQuery(c, cStr) { - if (isNaN(c) || (!this.stateOverride && c === 35)) { - if (!isSpecial(this.url) || this.url.scheme === 'ws' || this.url.scheme === 'wss') { - this.encodingOverride = 'utf-8'; - } - const buffer = new Buffer(this.buffer); - for (let i = 0; i < buffer.length; ++i) { - if ( - buffer[i] < 33 || - buffer[i] > 126 || - buffer[i] === 34 || - buffer[i] === 35 || - buffer[i] === 60 || - buffer[i] === 62 - ) { - this.url.query += percentEncode(buffer[i]); - } else { - this.url.query += String.fromCodePoint(buffer[i]); + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.summary = exports2.markdownSummary = exports2.SUMMARY_DOCS_URL = exports2.SUMMARY_ENV_VAR = void 0; + var os_1 = require("os"); + var fs_1 = require("fs"); + var { access, appendFile, writeFile } = fs_1.promises; + exports2.SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; + exports2.SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; + var Summary = class { + constructor() { + this._buffer = ""; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; } - } - this.buffer = ''; - if (c === 35) { - this.url.fragment = ''; - this.state = 'fragment'; - } - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - this.buffer += cStr; + const pathFromEnv = process.env[exports2.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports2.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); } - return true; - }; - URLStateMachine.prototype['parse fragment'] = function parseFragment(c) { - if (isNaN(c)) { - } else if (c === 0) { - this.parseError = true; - } else { - if (c === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs).map(([key, value]) => ` ${key}="${value}"`).join(""); + if (!content) { + return `<${tag}${htmlAttrs}>`; } - this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + return `<${tag}${htmlAttrs}>${content}`; } - return true; - }; - function serializeURL(url, excludeFragment) { - let output = url.scheme + ':'; - if (url.host !== null) { - output += '//'; - if (url.username !== '' || url.password !== '') { - output += url.username; - if (url.password !== '') { - output += ':' + url.password; - } - output += '@'; - } - output += serializeHost(url.host); - if (url.port !== null) { - output += ':' + url.port; - } - } else if (url.host === null && url.scheme === 'file') { - output += '//'; - } - if (url.cannotBeABaseURL) { - output += url.path[0]; - } else { - for (const string of url.path) { - output += '/' + string; - } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: "utf8" }); + return this.emptyBuffer(); + }); } - if (url.query !== null) { - output += '?' + url.query; + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); } - if (!excludeFragment && url.fragment !== null) { - output += '#' + url.fragment; + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; } - return output; - } - function serializeOrigin(tuple) { - let result = tuple.scheme + '://'; - result += serializeHost(tuple.host); - if (tuple.port !== null) { - result += ':' + tuple.port; + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; } - return result; - } - module2.exports.serializeURL = serializeURL; - module2.exports.serializeURLOrigin = function (url) { - switch (url.scheme) { - case 'blob': - try { - return module2.exports.serializeURLOrigin(module2.exports.parseURL(url.path[0])); - } catch (e) { - return 'null'; - } - case 'ftp': - case 'gopher': - case 'http': - case 'https': - case 'ws': - case 'wss': - return serializeOrigin({ - scheme: url.scheme, - host: url.host, - port: url.port - }); - case 'file': - return 'file://'; - default: - return 'null'; + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ""; + return this; } - }; - module2.exports.basicURLParse = function (input, options) { - if (options === void 0) { - options = {}; + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; } - const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); - if (usm.failure) { - return 'failure'; + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); } - return usm.url; - }; - module2.exports.setTheUsername = function (url, username) { - url.username = ''; - const decoded = punycode.ucs2.decode(username); - for (let i = 0; i < decoded.length; ++i) { - url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, lang && { lang }); + const element = this.wrap("pre", this.wrap("code", code), attrs); + return this.addRaw(element).addEOL(); } - }; - module2.exports.setThePassword = function (url, password) { - url.password = ''; - const decoded = punycode.ucs2.decode(password); - for (let i = 0; i < decoded.length; ++i) { - url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? "ol" : "ul"; + const listItems = items.map((item) => this.wrap("li", item)).join(""); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); } - }; - module2.exports.serializeHost = serializeHost; - module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; - module2.exports.serializeInteger = function (integer) { - return String(integer); - }; - module2.exports.parseURL = function (input, options) { - if (options === void 0) { - options = {}; + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows.map((row) => { + const cells = row.map((cell) => { + if (typeof cell === "string") { + return this.wrap("td", cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? "th" : "td"; + const attrs = Object.assign(Object.assign({}, colspan && { colspan }), rowspan && { rowspan }); + return this.wrap(tag, data, attrs); + }).join(""); + return this.wrap("tr", cells); + }).join(""); + const element = this.wrap("table", tableBody); + return this.addRaw(element).addEOL(); } - return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); - }; - } -}); - -// node_modules/whatwg-url/lib/URL-impl.js -var require_URL_impl = __commonJS({ - 'node_modules/whatwg-url/lib/URL-impl.js'(exports2) { - 'use strict'; - var usm = require_url_state_machine(); - exports2.implementation = class URLImpl { - constructor(constructorArgs) { - const url = constructorArgs[0]; - const base = constructorArgs[1]; - let parsedBase = null; - if (base !== void 0) { - parsedBase = usm.basicURLParse(base); - if (parsedBase === 'failure') { - throw new TypeError('Invalid base URL'); - } - } - const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); - if (parsedURL === 'failure') { - throw new TypeError('Invalid URL'); - } - this._url = parsedURL; - } - get href() { - return usm.serializeURL(this._url); - } - set href(v) { - const parsedURL = usm.basicURLParse(v); - if (parsedURL === 'failure') { - throw new TypeError('Invalid URL'); - } - this._url = parsedURL; + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap("details", this.wrap("summary", label) + content); + return this.addRaw(element).addEOL(); } - get origin() { - return usm.serializeURLOrigin(this._url); + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, width && { width }), height && { height }); + const element = this.wrap("img", null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); } - get protocol() { - return this._url.scheme + ':'; + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1"; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); } - set protocol(v) { - usm.basicURLParse(v + ':', { url: this._url, stateOverride: 'scheme start' }); + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap("hr", null); + return this.addRaw(element).addEOL(); } - get username() { - return this._url.username; + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap("br", null); + return this.addRaw(element).addEOL(); } - set username(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - usm.setTheUsername(this._url, v); + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, cite && { cite }); + const element = this.wrap("blockquote", text, attrs); + return this.addRaw(element).addEOL(); } - get password() { - return this._url.password; + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap("a", text, { href }); + return this.addRaw(element).addEOL(); } - set password(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - usm.setThePassword(this._url, v); + }; + var _summary = new Summary(); + exports2.markdownSummary = _summary; + exports2.summary = _summary; + } +}); + +// node_modules/@actions/core/lib/path-utils.js +var require_path_utils = __commonJS({ + "node_modules/@actions/core/lib/path-utils.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = 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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0; + var path = __importStar(require("path")); + function toPosixPath(pth) { + return pth.replace(/[\\]/g, "/"); + } + exports2.toPosixPath = toPosixPath; + function toWin32Path(pth) { + return pth.replace(/[/]/g, "\\"); + } + exports2.toWin32Path = toWin32Path; + function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); + } + exports2.toPlatformPath = toPlatformPath; + } +}); + +// node_modules/@actions/core/lib/core.js +var require_core = __commonJS({ + "node_modules/@actions/core/lib/core.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = 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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); } - get host() { - const url = this._url; - if (url.host === null) { - return ''; + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } } - if (url.port === null) { - return usm.serializeHost(url.host); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } } - return usm.serializeHost(url.host) + ':' + usm.serializeInteger(url.port); - } - set host(v) { - if (this._url.cannotBeABaseURL) { - return; + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - usm.basicURLParse(v, { url: this._url, stateOverride: 'host' }); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + 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_command(); + var file_command_1 = require_file_command(); + var utils_1 = require_utils(); + var os = __importStar(require("os")); + var path = __importStar(require("path")); + var oidc_utils_1 = require_oidc_utils(); + var ExitCode; + (function(ExitCode2) { + ExitCode2[ExitCode2["Success"] = 0] = "Success"; + ExitCode2[ExitCode2["Failure"] = 1] = "Failure"; + })(ExitCode = exports2.ExitCode || (exports2.ExitCode = {})); + function exportVariable(name, val) { + const convertedVal = utils_1.toCommandValue(val); + process.env[name] = convertedVal; + const filePath = process.env["GITHUB_ENV"] || ""; + if (filePath) { + return file_command_1.issueFileCommand("ENV", file_command_1.prepareKeyValueMessage(name, val)); } - get hostname() { - if (this._url.host === null) { - return ''; - } - return usm.serializeHost(this._url.host); + command_1.issueCommand("set-env", { name }, convertedVal); + } + exports2.exportVariable = exportVariable; + function setSecret(secret) { + command_1.issueCommand("add-mask", {}, secret); + } + exports2.setSecret = setSecret; + function addPath(inputPath) { + const filePath = process.env["GITHUB_PATH"] || ""; + if (filePath) { + file_command_1.issueFileCommand("PATH", inputPath); + } else { + command_1.issueCommand("add-path", {}, inputPath); } - set hostname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - usm.basicURLParse(v, { url: this._url, stateOverride: 'hostname' }); + process.env["PATH"] = `${inputPath}${path.delimiter}${process.env["PATH"]}`; + } + exports2.addPath = addPath; + function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, "_").toUpperCase()}`] || ""; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); } - get port() { - if (this._url.port === null) { - return ''; - } - return usm.serializeInteger(this._url.port); + if (options && options.trimWhitespace === false) { + return val; } - set port(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - if (v === '') { - this._url.port = null; - } else { - usm.basicURLParse(v, { url: this._url, stateOverride: 'port' }); - } + return val.trim(); + } + exports2.getInput = getInput; + function getMultilineInput(name, options) { + const inputs = getInput(name, options).split("\n").filter((x) => x !== ""); + if (options && options.trimWhitespace === false) { + return inputs; } - get pathname() { - if (this._url.cannotBeABaseURL) { - return this._url.path[0]; - } - if (this._url.path.length === 0) { - return ''; - } - return '/' + this._url.path.join('/'); + return inputs.map((input) => input.trim()); + } + exports2.getMultilineInput = getMultilineInput; + function getBooleanInput(name, options) { + const trueValue = ["true", "True", "TRUE"]; + const falseValue = ["false", "False", "FALSE"]; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name} +Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); + } + exports2.getBooleanInput = getBooleanInput; + function setOutput(name, value) { + const filePath = process.env["GITHUB_OUTPUT"] || ""; + if (filePath) { + return file_command_1.issueFileCommand("OUTPUT", file_command_1.prepareKeyValueMessage(name, value)); } - set pathname(v) { - if (this._url.cannotBeABaseURL) { - return; + process.stdout.write(os.EOL); + command_1.issueCommand("set-output", { name }, utils_1.toCommandValue(value)); + } + exports2.setOutput = setOutput; + function setCommandEcho(enabled) { + command_1.issue("echo", enabled ? "on" : "off"); + } + exports2.setCommandEcho = setCommandEcho; + function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); + } + exports2.setFailed = setFailed; + function isDebug() { + return process.env["RUNNER_DEBUG"] === "1"; + } + exports2.isDebug = isDebug; + function debug(message) { + command_1.issueCommand("debug", {}, message); + } + exports2.debug = debug; + function error(message, properties = {}) { + command_1.issueCommand("error", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + } + exports2.error = error; + function warning(message, properties = {}) { + command_1.issueCommand("warning", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + } + exports2.warning = warning; + function notice(message, properties = {}) { + command_1.issueCommand("notice", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + } + exports2.notice = notice; + function info(message) { + process.stdout.write(message + os.EOL); + } + exports2.info = info; + function startGroup(name) { + command_1.issue("group", name); + } + exports2.startGroup = startGroup; + function endGroup() { + command_1.issue("endgroup"); + } + exports2.endGroup = endGroup; + function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } finally { + endGroup(); } - this._url.path = []; - usm.basicURLParse(v, { url: this._url, stateOverride: 'path start' }); + return result; + }); + } + exports2.group = group; + function saveState(name, value) { + const filePath = process.env["GITHUB_STATE"] || ""; + if (filePath) { + return file_command_1.issueFileCommand("STATE", file_command_1.prepareKeyValueMessage(name, value)); } - get search() { - if (this._url.query === null || this._url.query === '') { - return ''; + command_1.issueCommand("save-state", { name }, utils_1.toCommandValue(value)); + } + exports2.saveState = saveState; + function getState(name) { + return process.env[`STATE_${name}`] || ""; + } + exports2.getState = getState; + function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); + } + exports2.getIDToken = getIDToken; + var summary_1 = require_summary(); + Object.defineProperty(exports2, "summary", { enumerable: true, get: function() { + return summary_1.summary; + } }); + var summary_2 = require_summary(); + Object.defineProperty(exports2, "markdownSummary", { enumerable: true, get: function() { + return summary_2.markdownSummary; + } }); + var path_utils_1 = require_path_utils(); + Object.defineProperty(exports2, "toPosixPath", { enumerable: true, get: function() { + return path_utils_1.toPosixPath; + } }); + Object.defineProperty(exports2, "toWin32Path", { enumerable: true, get: function() { + return path_utils_1.toWin32Path; + } }); + Object.defineProperty(exports2, "toPlatformPath", { enumerable: true, get: function() { + return path_utils_1.toPlatformPath; + } }); + } +}); + +// node_modules/@actions/github/lib/context.js +var require_context = __commonJS({ + "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 path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + } } - return '?' + this._url.query; + 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.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`; } - set search(v) { - const url = this._url; - if (v === '') { - url.query = null; - return; - } - const input = v[0] === '?' ? v.substring(1) : v; - url.query = ''; - usm.basicURLParse(input, { url, stateOverride: 'query' }); + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); } - get hash() { - if (this._url.fragment === null || this._url.fragment === '') { - return ''; + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo2] = process.env.GITHUB_REPOSITORY.split("/"); + return { owner, repo: repo2 }; } - return '#' + this._url.fragment; - } - set hash(v) { - if (v === '') { - this._url.fragment = null; - return; + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; } - const input = v[0] === '#' ? v.substring(1) : v; - this._url.fragment = ''; - usm.basicURLParse(input, { url: this._url, stateOverride: 'fragment' }); - } - toJSON() { - return this.href; + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); } }; + exports2.Context = Context; } }); -// node_modules/whatwg-url/lib/URL.js -var require_URL = __commonJS({ - 'node_modules/whatwg-url/lib/URL.js'(exports2, module2) { - 'use strict'; - var conversions = require_lib2(); - var utils = require_utils3(); - var Impl = require_URL_impl(); - var impl = utils.implSymbol; - function URL2(url) { - if (!this || this[impl] || !(this instanceof URL2)) { - throw new TypeError( - "Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function." - ); - } - if (arguments.length < 1) { - throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + ' present.'); - } - const args = []; - for (let i = 0; i < arguments.length && i < 2; ++i) { - args[i] = arguments[i]; - } - args[0] = conversions['USVString'](args[0]); - if (args[1] !== void 0) { - args[1] = conversions['USVString'](args[1]); - } - module2.exports.setup(this, args); - } - URL2.prototype.toJSON = function toJSON() { - if (!this || !module2.exports.is(this)) { - throw new TypeError('Illegal invocation'); - } - const args = []; - for (let i = 0; i < arguments.length && i < 0; ++i) { - args[i] = arguments[i]; - } - return this[impl].toJSON.apply(this[impl], args); - }; - Object.defineProperty(URL2.prototype, 'href', { - get() { - return this[impl].href; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].href = V; - }, - enumerable: true, - configurable: true +// node_modules/@actions/github/lib/internal/utils.js +var require_utils3 = __commonJS({ + "node_modules/@actions/github/lib/internal/utils.js"(exports2) { + "use strict"; + var __createBinding = 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 __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; }); - URL2.prototype.toString = function () { - if (!this || !module2.exports.is(this)) { - throw new TypeError('Illegal invocation'); + var __importStar = 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)) __createBinding(result, mod, k); } - return this.href; + __setModuleDefault(result, mod); + return result; }; - Object.defineProperty(URL2.prototype, 'origin', { - get() { - return this[impl].origin; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'protocol', { - get() { - return this[impl].protocol; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].protocol = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'username', { - get() { - return this[impl].username; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].username = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'password', { - get() { - return this[impl].password; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].password = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'host', { - get() { - return this[impl].host; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].host = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'hostname', { - get() { - return this[impl].hostname; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].hostname = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'port', { - get() { - return this[impl].port; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].port = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'pathname', { - get() { - return this[impl].pathname; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].pathname = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'search', { - get() { - return this[impl].search; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].search = V; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(URL2.prototype, 'hash', { - get() { - return this[impl].hash; - }, - set(V) { - V = conversions['USVString'](V); - this[impl].hash = V; - }, - enumerable: true, - configurable: true - }); - module2.exports = { - is(obj) { - return !!obj && obj[impl] instanceof Impl.implementation; - }, - create(constructorArgs, privateData) { - let obj = Object.create(URL2.prototype); - this.setup(obj, constructorArgs, privateData); - return obj; - }, - setup(obj, constructorArgs, privateData) { - if (!privateData) privateData = {}; - privateData.wrapper = obj; - obj[impl] = new Impl.implementation(constructorArgs, privateData); - obj[impl][utils.wrapperSymbol] = obj; - }, - interface: URL2, - expose: { - Window: { URL: URL2 }, - Worker: { URL: URL2 } + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); } + return new (P || (P = Promise))(function(resolve, 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 ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getApiBaseUrl = exports2.getProxyFetch = exports2.getProxyAgentDispatcher = exports2.getProxyAgent = exports2.getAuthString = void 0; + var httpClient = __importStar(require_lib()); + var undici_1 = require_undici(); + function getAuthString(token2, options) { + if (!token2 && !options.auth) { + throw new Error("Parameter token or opts.auth is required"); + } else if (token2 && options.auth) { + throw new Error("Parameters token and opts.auth may not both be specified"); + } + return typeof options.auth === "string" ? options.auth : `token ${token2}`; + } + exports2.getAuthString = getAuthString; + function getProxyAgent(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(destinationUrl); + } + exports2.getProxyAgent = getProxyAgent; + function getProxyAgentDispatcher(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgentDispatcher(destinationUrl); + } + exports2.getProxyAgentDispatcher = getProxyAgentDispatcher; + function getProxyFetch(destinationUrl) { + const httpDispatcher = getProxyAgentDispatcher(destinationUrl); + const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () { + return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); + }); + return proxyFetch; + } + exports2.getProxyFetch = getProxyFetch; + function getApiBaseUrl() { + return process.env["GITHUB_API_URL"] || "https://api.github.com"; + } + exports2.getApiBaseUrl = getApiBaseUrl; } }); -// node_modules/whatwg-url/lib/public-api.js -var require_public_api = __commonJS({ - 'node_modules/whatwg-url/lib/public-api.js'(exports2) { - 'use strict'; - exports2.URL = require_URL().interface; - exports2.serializeURL = require_url_state_machine().serializeURL; - exports2.serializeURLOrigin = require_url_state_machine().serializeURLOrigin; - exports2.basicURLParse = require_url_state_machine().basicURLParse; - exports2.setTheUsername = require_url_state_machine().setTheUsername; - exports2.setThePassword = require_url_state_machine().setThePassword; - exports2.serializeHost = require_url_state_machine().serializeHost; - exports2.serializeInteger = require_url_state_machine().serializeInteger; - exports2.parseURL = require_url_state_machine().parseURL; +// node_modules/universal-user-agent/dist-node/index.js +var require_dist_node = __commonJS({ + "node_modules/universal-user-agent/dist-node/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + 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 ""; + } + exports2.getUserAgent = getUserAgent; } }); -// node_modules/node-fetch/lib/index.js -var require_lib3 = __commonJS({ - 'node_modules/node-fetch/lib/index.js'(exports2, module2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function _interopDefault(ex) { - return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex; - } - var Stream = _interopDefault(require('stream')); - var http = _interopDefault(require('http')); - var Url = _interopDefault(require('url')); - var whatwgUrl = _interopDefault(require_public_api()); - var https = _interopDefault(require('https')); - var zlib = _interopDefault(require('zlib')); - var Readable = Stream.Readable; - var BUFFER = Symbol('buffer'); - var TYPE = Symbol('type'); - var Blob = class { - constructor() { - this[TYPE] = ''; - const blobParts = arguments[0]; - const options = arguments[1]; - const buffers = []; - let size = 0; - if (blobParts) { - const a = blobParts; - const length = Number(a.length); - for (let i = 0; i < length; i++) { - const element = a[i]; - let buffer; - if (element instanceof Buffer) { - buffer = element; - } else if (ArrayBuffer.isView(element)) { - buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); - } else if (element instanceof ArrayBuffer) { - buffer = Buffer.from(element); - } else if (element instanceof Blob) { - buffer = element[BUFFER]; - } else { - buffer = Buffer.from(typeof element === 'string' ? element : String(element)); - } - size += buffer.length; - buffers.push(buffer); - } - } - this[BUFFER] = Buffer.concat(buffers); - let type = options && options.type !== void 0 && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; - } +// node_modules/before-after-hook/lib/register.js +var require_register = __commonJS({ + "node_modules/before-after-hook/lib/register.js"(exports2, module2) { + module2.exports = register; + function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); } - get size() { - return this[BUFFER].length; + if (!options) { + options = {}; } - get type() { - return this[TYPE]; + if (Array.isArray(name)) { + return name.reverse().reduce(function(callback, name2) { + return register.bind(null, state, name2, callback, options); + }, method)(); } - text() { - return Promise.resolve(this[BUFFER].toString()); + return Promise.resolve().then(function() { + if (!state.registry[name]) { + return method(options); + } + return state.registry[name].reduce(function(method2, registered) { + return registered.hook.bind(null, method2, options); + }, method)(); + }); + } + } +}); + +// node_modules/before-after-hook/lib/add.js +var require_add = __commonJS({ + "node_modules/before-after-hook/lib/add.js"(exports2, module2) { + module2.exports = addHook; + function addHook(state, kind, name, hook) { + var orig = hook; + if (!state.registry[name]) { + state.registry[name] = []; } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); + if (kind === "before") { + hook = function(method, options) { + return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options)); + }; } - stream() { - const readable = new Readable(); - readable._read = function () {}; - readable.push(this[BUFFER]); - readable.push(null); - return readable; + if (kind === "after") { + hook = function(method, options) { + var result; + return Promise.resolve().then(method.bind(null, options)).then(function(result_) { + result = result_; + return orig(result, options); + }).then(function() { + return result; + }); + }; } - toString() { - return '[object Blob]'; - } - slice() { - const size = this.size; - const start = arguments[0]; - const end = arguments[1]; - let relativeStart, relativeEnd; - if (start === void 0) { - relativeStart = 0; - } else if (start < 0) { - relativeStart = Math.max(size + start, 0); - } else { - relativeStart = Math.min(start, size); - } - if (end === void 0) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); - } else { - relativeEnd = Math.min(end, size); - } - const span = Math.max(relativeEnd - relativeStart, 0); - const buffer = this[BUFFER]; - const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob([], { type: arguments[2] }); - blob[BUFFER] = slicedBuffer; - return blob; + if (kind === "error") { + hook = function(method, options) { + return Promise.resolve().then(method.bind(null, options)).catch(function(error) { + return orig(error, options); + }); + }; } - }; - Object.defineProperties(Blob.prototype, { - size: { enumerable: true }, - type: { enumerable: true }, - slice: { enumerable: true } - }); - Object.defineProperty(Blob.prototype, Symbol.toStringTag, { - value: 'Blob', - writable: false, - enumerable: false, - configurable: true - }); - function FetchError(message, type, systemError) { - Error.call(this, message); - this.message = message; - this.type = type; - if (systemError) { - this.code = this.errno = systemError.code; - } - Error.captureStackTrace(this, this.constructor); - } - FetchError.prototype = Object.create(Error.prototype); - FetchError.prototype.constructor = FetchError; - FetchError.prototype.name = 'FetchError'; - var convert; - try { - convert = require('encoding').convert; - } catch (e) {} - var INTERNALS = Symbol('Body internals'); - var PassThrough = Stream.PassThrough; - function Body(body) { - var _this = this; - var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, - _ref$size = _ref.size; - let size = _ref$size === void 0 ? 0 : _ref$size; - var _ref$timeout = _ref.timeout; - let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout; - if (body == null) { - body = null; - } else if (isURLSearchParams(body)) { - body = Buffer.from(body.toString()); - } else if (isBlob(body)); - else if (Buffer.isBuffer(body)); - else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - body = Buffer.from(body); - } else if (ArrayBuffer.isView(body)) { - body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream); - else { - body = Buffer.from(String(body)); - } - this[INTERNALS] = { - body, - disturbed: false, - error: null + state.registry[name].push({ + hook, + orig + }); + } + } +}); + +// node_modules/before-after-hook/lib/remove.js +var require_remove = __commonJS({ + "node_modules/before-after-hook/lib/remove.js"(exports2, module2) { + module2.exports = removeHook; + function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + var index = state.registry[name].map(function(registered) { + return registered.orig; + }).indexOf(method); + if (index === -1) { + return; + } + state.registry[name].splice(index, 1); + } + } +}); + +// node_modules/before-after-hook/index.js +var require_before_after_hook = __commonJS({ + "node_modules/before-after-hook/index.js"(exports2, module2) { + var register = require_register(); + var addHook = require_add(); + var removeHook = require_remove(); + var bind = Function.bind; + var bindable = bind.bind(bind); + function bindApi(hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook.api = { remove: removeHookRef }; + hook.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach(function(kind) { + var args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + }); + } + function HookSingular() { + var singularHookName = "h"; + var singularHookState = { + registry: {} }; - this.size = size; - this.timeout = timeout; - if (body instanceof Stream) { - body.on('error', function (err) { - const error = - err.name === 'AbortError' - ? err - : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); - _this[INTERNALS].error = error; - }); + var singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; + } + function HookCollection() { + var state = { + registry: {} + }; + var hook = register.bind(null, state); + bindApi(hook, state); + return hook; + } + var collectionHookDeprecationMessageDisplayed = false; + function Hook() { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn( + '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' + ); + collectionHookDeprecationMessageDisplayed = true; } + return HookCollection(); } - Body.prototype = { - get body() { - return this[INTERNALS].body; - }, - get bodyUsed() { - return this[INTERNALS].disturbed; - }, - arrayBuffer() { - return consumeBody.call(this).then(function (buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - }); - }, - blob() { - let ct = (this.headers && this.headers.get('content-type')) || ''; - return consumeBody.call(this).then(function (buf) { - return Object.assign( - new Blob([], { - type: ct.toLowerCase() - }), - { - [BUFFER]: buf - } - ); - }); - }, - json() { - var _this2 = this; - return consumeBody.call(this).then(function (buffer) { - try { - return JSON.parse(buffer.toString()); - } catch (err) { - return Body.Promise.reject( - new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json') - ); - } - }); - }, - text() { - return consumeBody.call(this).then(function (buffer) { - return buffer.toString(); - }); - }, - buffer() { - return consumeBody.call(this); - }, - textConverted() { - var _this3 = this; - return consumeBody.call(this).then(function (buffer) { - return convertBody(buffer, _this3.headers); - }); + Hook.Singular = HookSingular.bind(); + Hook.Collection = HookCollection.bind(); + module2.exports = Hook; + module2.exports.Hook = Hook; + module2.exports.Singular = Hook.Singular; + module2.exports.Collection = Hook.Collection; + } +}); + +// node_modules/@octokit/endpoint/dist-node/index.js +var require_dist_node2 = __commonJS({ + "node_modules/@octokit/endpoint/dist-node/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } + return to; }; - Object.defineProperties(Body.prototype, { - body: { enumerable: true }, - bodyUsed: { enumerable: true }, - arrayBuffer: { enumerable: true }, - blob: { enumerable: true }, - json: { enumerable: true }, - text: { enumerable: true } + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var dist_src_exports = {}; + __export2(dist_src_exports, { + endpoint: () => endpoint }); - Body.mixIn = function (proto) { - for (const name of Object.getOwnPropertyNames(Body.prototype)) { - if (!(name in proto)) { - const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); - Object.defineProperty(proto, name, desc); - } + module2.exports = __toCommonJS2(dist_src_exports); + var import_universal_user_agent = require_dist_node(); + var VERSION = "9.0.6"; + var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; + var DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "" } }; - function consumeBody() { - var _this4 = this; - if (this[INTERNALS].disturbed) { - return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); - } - this[INTERNALS].disturbed = true; - if (this[INTERNALS].error) { - return Body.Promise.reject(this[INTERNALS].error); - } - let body = this.body; - if (body === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - if (isBlob(body)) { - body = body.stream(); - } - if (Buffer.isBuffer(body)) { - return Body.Promise.resolve(body); - } - if (!(body instanceof Stream)) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - let accum = []; - let accumBytes = 0; - let abort = false; - return new Body.Promise(function (resolve, reject) { - let resTimeout; - if (_this4.timeout) { - resTimeout = setTimeout(function () { - abort = true; - reject( - new FetchError( - `Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, - 'body-timeout' - ) - ); - }, _this4.timeout); + 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] }); } - body.on('error', function (err) { - if (err.name === 'AbortError') { - abort = true; - reject(err); - } else { - reject( - new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err) - ); - } - }); - body.on('data', function (chunk) { - if (abort || chunk === null) { - return; - } - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); - return; - } - accumBytes += chunk.length; - accum.push(chunk); - }); - body.on('end', function () { - if (abort) { - return; - } - clearTimeout(resTimeout); - try { - resolve(Buffer.concat(accum, accumBytes)); - } catch (err) { - reject( - new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err) - ); - } - }); }); + return result; } - function convertBody(buffer, headers) { - if (typeof convert !== 'function') { - throw new Error('The package `encoding` must be installed to use the textConverted() function'); - } - const ct = headers.get('content-type'); - let charset = 'utf-8'; - let res, str; - if (ct) { - res = /charset=([^;]*)/i.exec(ct); - } - str = buffer.slice(0, 1024).toString(); - if (!res && str) { - res = / !mergedOptions.mediaType.previews.includes(preview) + ).concat(mergedOptions.mediaType.previews); } + mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); } - return convert(buffer, 'UTF-8', charset).toString(); + return mergedOptions; } - function isURLSearchParams(obj) { - if ( - typeof obj !== 'object' || - typeof obj.append !== 'function' || - typeof obj.delete !== 'function' || - typeof obj.get !== 'function' || - typeof obj.getAll !== 'function' || - typeof obj.has !== 'function' || - typeof obj.set !== 'function' - ) { - return false; + function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; } - return ( - obj.constructor.name === 'URLSearchParams' || - Object.prototype.toString.call(obj) === '[object URLSearchParams]' || - typeof obj.sort === 'function' - ); + return url + separator + names.map((name) => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); } - function isBlob(obj) { - return ( - typeof obj === 'object' && - typeof obj.arrayBuffer === 'function' && - typeof obj.type === 'string' && - typeof obj.stream === 'function' && - typeof obj.constructor === 'function' && - typeof obj.constructor.name === 'string' && - /^(Blob|File)$/.test(obj.constructor.name) && - /^(Blob|File)$/.test(obj[Symbol.toStringTag]) - ); + var urlVariableRegex = /\{[^{}}]+\}/g; + function removeNonChars(variableName) { + return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); } - function extractContentType(body) { - if (body === null) { - return null; - } else if (typeof body === 'string') { - return 'text/plain;charset=UTF-8'; - } else if (isURLSearchParams(body)) { - return 'application/x-www-form-urlencoded;charset=UTF-8'; - } else if (isBlob(body)) { - return body.type || null; - } else if (Buffer.isBuffer(body)) { - return null; - } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - return null; - } else if (ArrayBuffer.isView(body)) { - return null; - } else if (typeof body.getBoundary === 'function') { - return `multipart/form-data;boundary=${body.getBoundary()}`; - } else if (body instanceof Stream) { - return null; - } else { - return 'text/plain;charset=UTF-8'; + 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 getTotalBytes(instance) { - const body = instance.body; - if (body === null) { - return 0; - } else if (isBlob(body)) { - return body.size; - } else if (Buffer.isBuffer(body)) { - return body.length; - } else if (body && typeof body.getLengthSync === 'function') { - if ( - (body._lengthRetrievers && body._lengthRetrievers.length == 0) || - (body.hasKnownLength && body.hasKnownLength()) - ) { - return body.getLengthSync(); + function encodeReserved(str) { + return str.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 null; - } else { - return null; - } + return part; + }).join(""); } - function writeToStream(dest, instance) { - const body = instance.body; - if (body === null) { - dest.end(); - } else if (isBlob(body)) { - body.stream().pipe(dest); - } else if (Buffer.isBuffer(body)) { - dest.write(body); - dest.end(); - } else { - body.pipe(dest); - } + function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); } - Body.Promise = global.Promise; - var invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; - var invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - function validateName(name) { - name = `${name}`; - if (invalidTokenRegex.test(name) || name === '') { - throw new TypeError(`${name} is not a legal HTTP header name`); + function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; } } - function validateValue(value) { - value = `${value}`; - if (invalidHeaderCharRegex.test(value)) { - throw new TypeError(`${value} is not a legal HTTP header value`); - } + function isDefined(value) { + return value !== void 0 && value !== null; } - function find(map, name) { - name = name.toLowerCase(); - for (const key in map) { - if (key.toLowerCase() === name) { - return key; - } - } - return void 0; + function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; } - var MAP = Symbol('map'); - var Headers = class { - constructor() { - let init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0; - this[MAP] = Object.create(null); - if (init instanceof Headers) { - const rawHeaders = init.raw(); - const headerNames = Object.keys(rawHeaders); - for (const headerName of headerNames) { - for (const value of rawHeaders[headerName]) { - this.append(headerName, value); - } + function getValues(context, operator, key, modifier) { + var value = context[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)); } - return; - } - if (init == null); - else if (typeof init === 'object') { - const method = init[Symbol.iterator]; - if (method != null) { - if (typeof method !== 'function') { - throw new TypeError('Header pairs must be iterable'); - } - const pairs = []; - for (const pair of init) { - if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { - throw new TypeError('Each header pair must be iterable'); - } - pairs.push(Array.from(pair)); - } - for (const pair of pairs) { - if (pair.length !== 2) { - throw new TypeError('Each header pair must be a name/value tuple'); - } - this.append(pair[0], pair[1]); + 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 { - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); + 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 { - throw new TypeError('Provided initializer must be an object'); - } - } - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === void 0) { - return null; - } - return this[MAP][key].join(', '); - } - forEach(callback) { - let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0; - let pairs = getHeaders(this); - let i = 0; - while (i < pairs.length) { - var _pairs$i = pairs[i]; - const name = _pairs$i[0], - value = _pairs$i[1]; - callback.call(thisArg, value, name, this); - pairs = getHeaders(this); - i++; - } - } - set(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - this[MAP][key !== void 0 ? key : name] = [value]; - } - append(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - if (key !== void 0) { - this[MAP][key].push(value); - } else { - this[MAP][name] = [value]; } - } - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== void 0; - } - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== void 0) { - delete this[MAP][key]; + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); } } - raw() { - return this[MAP]; - } - keys() { - return createHeadersIterator(this, 'key'); - } - values() { - return createHeadersIterator(this, 'value'); - } - [Symbol.iterator]() { - return createHeadersIterator(this, 'key+value'); - } - }; - Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - Object.defineProperty(Headers.prototype, Symbol.toStringTag, { - value: 'Headers', - writable: false, - enumerable: false, - configurable: true - }); - Object.defineProperties(Headers.prototype, { - get: { enumerable: true }, - forEach: { enumerable: true }, - set: { enumerable: true }, - append: { enumerable: true }, - has: { enumerable: true }, - delete: { enumerable: true }, - keys: { enumerable: true }, - values: { enumerable: true }, - entries: { enumerable: true } - }); - function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 'key+value'; - const keys = Object.keys(headers[MAP]).sort(); - return keys.map( - kind === 'key' - ? function (k) { - return k.toLowerCase(); - } - : kind === 'value' - ? function (k) { - return headers[MAP][k].join(', '); - } - : function (k) { - return [k.toLowerCase(), headers[MAP][k].join(', ')]; - } - ); + return result; } - var INTERNAL = Symbol('internal'); - function createHeadersIterator(target, kind) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind, - index: 0 + function parseUrl(template) { + return { + expand: expand.bind(null, template) }; - return iterator; - } - var HeadersIteratorPrototype = Object.setPrototypeOf( - { - next() { - if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { - throw new TypeError('Value of `this` is not a HeadersIterator'); - } - var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, - kind = _INTERNAL.kind, - index = _INTERNAL.index; - const values = getHeaders(target, kind); - const len = values.length; - if (index >= len) { - return { - value: void 0, - done: true - }; - } - this[INTERNAL].index = index + 1; - return { - value: values[index], - done: false - }; - } - }, - Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())) - ); - Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { - value: 'HeadersIterator', - writable: false, - enumerable: false, - configurable: true - }); - function exportNodeCompatibleHeaders(headers) { - const obj = Object.assign({ __proto__: null }, headers[MAP]); - const hostHeaderKey = find(headers[MAP], 'Host'); - if (hostHeaderKey !== void 0) { - obj[hostHeaderKey] = obj[hostHeaderKey][0]; - } - return obj; } - function createHeadersLenient(obj) { - const headers = new Headers(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; - } - if (Array.isArray(obj[name])) { - for (const val of obj[name]) { - if (invalidHeaderCharRegex.test(val)) { - continue; + function expand(template, context) { + 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); } - if (headers[MAP][name] === void 0) { - headers[MAP][name] = [val]; + expression.split(/,/g).forEach(function(variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, 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 { - headers[MAP][name].push(val); + return values.join(","); } + } else { + return encodeReserved(literal); } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; } + ); + if (template === "/") { + return template; + } else { + return template.replace(/\/$/, ""); } - return headers; } - var INTERNALS$1 = Symbol('Response internals'); - var STATUS_CODES = http.STATUS_CODES; - var Response = class { - constructor() { - let body = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - Body.call(this, body, opts); - const status = opts.status || 200; - const headers = new Headers(opts.headers); - if (body != null && !headers.has('Content-Type')) { - const contentType = extractContentType(body); - if (contentType) { - headers.append('Content-Type', contentType); - } - } - this[INTERNALS$1] = { - url: opts.url, - status, - statusText: opts.statusText || STATUS_CODES[status], - headers, - counter: opts.counter - }; - } - get url() { - return this[INTERNALS$1].url || ''; - } - get status() { - return this[INTERNALS$1].status; - } - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; - } - get redirected() { - return this[INTERNALS$1].counter > 0; - } - get statusText() { - return this[INTERNALS$1].statusText; - } - get headers() { - return this[INTERNALS$1].headers; - } - clone() { - return new Response(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected - }); + function parse2(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; } - }; - Body.mixIn(Response.prototype); - Object.defineProperties(Response.prototype, { - url: { enumerable: true }, - status: { enumerable: true }, - ok: { enumerable: true }, - redirected: { enumerable: true }, - statusText: { enumerable: true }, - headers: { enumerable: true }, - clone: { enumerable: true } - }); - Object.defineProperty(Response.prototype, Symbol.toStringTag, { - value: 'Response', - writable: false, - enumerable: false, - configurable: true - }); - var INTERNALS$2 = Symbol('Request internals'); - var URL2 = Url.URL || whatwgUrl.URL; - var parse_url = Url.parse; - var format_url = Url.format; - function parseURL(urlStr) { - if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { - urlStr = new URL2(urlStr).toString(); - } - return parse_url(urlStr); - } - var streamDestructionSupported = 'destroy' in Stream.Readable.prototype; - function isRequest(input) { - return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; - } - function isAbortSignal(signal) { - const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); - return !!(proto && proto.constructor.name === 'AbortSignal'); - } - var Request = class { - constructor(input) { - let init = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - let parsedURL; - if (!isRequest(input)) { - if (input && input.href) { - parsedURL = parseURL(input.href); - } else { - parsedURL = parseURL(`${input}`); - } - input = {}; - } else { - parsedURL = parseURL(input.url); - } - let method = init.method || input.method || 'GET'; - method = method.toUpperCase(); - if ((init.body != null || (isRequest(input) && input.body !== null)) && (method === 'GET' || method === 'HEAD')) { - throw new TypeError('Request with GET/HEAD method cannot have body'); + 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(","); } - let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; - Body.call(this, inputBody, { - timeout: init.timeout || input.timeout || 0, - size: init.size || input.size || 0 - }); - const headers = new Headers(init.headers || input.headers || {}); - if (inputBody != null && !headers.has('Content-Type')) { - const contentType = extractContentType(inputBody); - if (contentType) { - headers.append('Content-Type', contentType); + 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(","); } } - let signal = isRequest(input) ? input.signal : null; - if ('signal' in init) signal = init.signal; - if (signal != null && !isAbortSignal(signal)) { - throw new TypeError('Expected signal to be an instanceof AbortSignal'); - } - this[INTERNALS$2] = { - method, - redirect: init.redirect || input.redirect || 'follow', - headers, - parsedURL, - signal - }; - this.follow = init.follow !== void 0 ? init.follow : input.follow !== void 0 ? input.follow : 20; - this.compress = init.compress !== void 0 ? init.compress : input.compress !== void 0 ? input.compress : true; - this.counter = init.counter || input.counter || 0; - this.agent = init.agent || input.agent; - } - get method() { - return this[INTERNALS$2].method; - } - get url() { - return format_url(this[INTERNALS$2].parsedURL); - } - get headers() { - return this[INTERNALS$2].headers; - } - get redirect() { - return this[INTERNALS$2].redirect; - } - get signal() { - return this[INTERNALS$2].signal; - } - clone() { - return new Request(this); - } - }; - Body.mixIn(Request.prototype); - Object.defineProperty(Request.prototype, Symbol.toStringTag, { - value: 'Request', - writable: false, - enumerable: false, - configurable: true - }); - Object.defineProperties(Request.prototype, { - method: { enumerable: true }, - url: { enumerable: true }, - headers: { enumerable: true }, - redirect: { enumerable: true }, - clone: { enumerable: true }, - signal: { enumerable: true } - }); - function getNodeRequestOptions(request) { - const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers(request[INTERNALS$2].headers); - if (!headers.has('Accept')) { - headers.set('Accept', '*/*'); - } - if (!parsedURL.protocol || !parsedURL.hostname) { - throw new TypeError('Only absolute URLs are supported'); - } - if (!/^https?:$/.test(parsedURL.protocol)) { - throw new TypeError('Only HTTP(S) protocols are supported'); - } - if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { - throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); } - let contentLengthValue = null; - if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { - contentLengthValue = '0'; - } - if (request.body != null) { - const totalBytes = getTotalBytes(request); - if (typeof totalBytes === 'number') { - contentLengthValue = String(totalBytes); + 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 (contentLengthValue) { - headers.set('Content-Length', contentLengthValue); - } - if (!headers.has('User-Agent')) { - headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); - } - if (request.compress && !headers.has('Accept-Encoding')) { - headers.set('Accept-Encoding', 'gzip,deflate'); - } - let agent = request.agent; - if (typeof agent === 'function') { - agent = agent(parsedURL); + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; } - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; } - return Object.assign({}, parsedURL, { - method: request.method, - headers: exportNodeCompatibleHeaders(headers), - agent - }); + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); } - function AbortError(message) { - Error.call(this, message); - this.type = 'aborted'; - this.message = message; - Error.captureStackTrace(this, this.constructor); - } - AbortError.prototype = Object.create(Error.prototype); - AbortError.prototype.constructor = AbortError; - AbortError.prototype.name = 'AbortError'; - var URL$1 = Url.URL || whatwgUrl.URL; - var PassThrough$1 = Stream.PassThrough; - var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) { - const orig = new URL$1(original).hostname; - const dest = new URL$1(destination).hostname; - return orig === dest || (orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest)); - }; - function fetch(url, opts) { - if (!fetch.Promise) { - throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); - } - Body.Promise = fetch.Promise; - return new fetch.Promise(function (resolve, reject) { - const request = new Request(url, opts); - const options = getNodeRequestOptions(request); - const send = (options.protocol === 'https:' ? https : http).request; - const signal = request.signal; - let response = null; - const abort = function abort2() { - let error = new AbortError('The user aborted a request.'); - reject(error); - if (request.body && request.body instanceof Stream.Readable) { - request.body.destroy(error); - } - if (!response || !response.body) return; - response.body.emit('error', error); - }; - if (signal && signal.aborted) { - abort(); - return; - } - const abortAndFinalize = function abortAndFinalize2() { - abort(); - finalize(); - }; - const req = send(options); - let reqTimeout; - if (signal) { - signal.addEventListener('abort', abortAndFinalize); - } - function finalize() { - req.abort(); - if (signal) signal.removeEventListener('abort', abortAndFinalize); - clearTimeout(reqTimeout); - } - if (request.timeout) { - req.once('socket', function (socket) { - reqTimeout = setTimeout(function () { - reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); - finalize(); - }, request.timeout); - }); - } - req.on('error', function (err) { - reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); - finalize(); - }); - req.on('response', function (res) { - clearTimeout(reqTimeout); - const headers = createHeadersLenient(res.headers); - if (fetch.isRedirect(res.statusCode)) { - const location = headers.get('Location'); - let locationURL = null; - try { - locationURL = location === null ? null : new URL$1(location, request.url).toString(); - } catch (err) { - if (request.redirect !== 'manual') { - reject( - new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect') - ); - finalize(); - return; - } - } - switch (request.redirect) { - case 'error': - reject( - new FetchError( - `uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, - 'no-redirect' - ) - ); - finalize(); - return; - case 'manual': - if (locationURL !== null) { - try { - headers.set('Location', locationURL); - } catch (err) { - reject(err); - } - } - break; - case 'follow': - if (locationURL === null) { - break; - } - if (request.counter >= request.follow) { - reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); - finalize(); - return; - } - const requestOpts = { - headers: new Headers(request.headers), - follow: request.follow, - counter: request.counter + 1, - agent: request.agent, - compress: request.compress, - method: request.method, - body: request.body, - signal: request.signal, - timeout: request.timeout, - size: request.size - }; - if (!isDomainOrSubdomain(request.url, locationURL)) { - for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { - requestOpts.headers.delete(name); - } - } - if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { - reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); - finalize(); - return; - } - if ( - res.statusCode === 303 || - ((res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') - ) { - requestOpts.method = 'GET'; - requestOpts.body = void 0; - requestOpts.headers.delete('content-length'); - } - resolve(fetch(new Request(locationURL, requestOpts))); - finalize(); - return; - } - } - res.once('end', function () { - if (signal) signal.removeEventListener('abort', abortAndFinalize); - }); - let body = res.pipe(new PassThrough$1()); - const response_options = { - url: request.url, - status: res.statusCode, - statusText: res.statusMessage, - headers, - size: request.size, - timeout: request.timeout, - counter: request.counter - }; - const codings = headers.get('Content-Encoding'); - if ( - !request.compress || - request.method === 'HEAD' || - codings === null || - res.statusCode === 204 || - res.statusCode === 304 - ) { - response = new Response(body, response_options); - resolve(response); - return; - } - const zlibOptions = { - flush: zlib.Z_SYNC_FLUSH, - finishFlush: zlib.Z_SYNC_FLUSH - }; - if (codings == 'gzip' || codings == 'x-gzip') { - body = body.pipe(zlib.createGunzip(zlibOptions)); - response = new Response(body, response_options); - resolve(response); - return; - } - if (codings == 'deflate' || codings == 'x-deflate') { - const raw = res.pipe(new PassThrough$1()); - raw.once('data', function (chunk) { - if ((chunk[0] & 15) === 8) { - body = body.pipe(zlib.createInflate()); - } else { - body = body.pipe(zlib.createInflateRaw()); - } - response = new Response(body, response_options); - resolve(response); - }); - return; - } - if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { - body = body.pipe(zlib.createBrotliDecompress()); - response = new Response(body, response_options); - resolve(response); - return; - } - response = new Response(body, response_options); - resolve(response); - }); - writeToStream(req, request); + function endpointWithDefaults(defaults, route, options) { + return parse2(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: parse2 }); } - fetch.isRedirect = function (code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; - }; - fetch.Promise = global.Promise; - module2.exports = exports2 = fetch; - Object.defineProperty(exports2, '__esModule', { value: true }); - exports2.default = exports2; - exports2.Headers = Headers; - exports2.Request = Request; - exports2.Response = Response; - exports2.FetchError = FetchError; + var endpoint = withDefaults(null, DEFAULTS); } }); // node_modules/deprecation/dist-node/index.js var require_dist_node3 = __commonJS({ - 'node_modules/deprecation/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/deprecation/dist-node/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); var Deprecation = class extends Error { constructor(message) { super(message); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } - this.name = 'Deprecation'; + this.name = "Deprecation"; } }; exports2.Deprecation = Deprecation; @@ -14143,12 +19683,13 @@ var require_dist_node3 = __commonJS({ // node_modules/wrappy/wrappy.js var require_wrappy = __commonJS({ - 'node_modules/wrappy/wrappy.js'(exports2, module2) { + "node_modules/wrappy/wrappy.js"(exports2, module2) { module2.exports = wrappy; function wrappy(fn, cb) { if (fn && cb) return wrappy(fn)(cb); - if (typeof fn !== 'function') throw new TypeError('need wrapper function'); - Object.keys(fn).forEach(function (k) { + if (typeof fn !== "function") + throw new TypeError("need wrapper function"); + Object.keys(fn).forEach(function(k) { wrapper[k] = fn[k]; }); return wrapper; @@ -14159,8 +19700,8 @@ var require_wrappy = __commonJS({ } var ret = fn.apply(this, args); var cb2 = args[args.length - 1]; - if (typeof ret === 'function' && ret !== cb2) { - Object.keys(cb2).forEach(function (k) { + if (typeof ret === "function" && ret !== cb2) { + Object.keys(cb2).forEach(function(k) { ret[k] = cb2[k]; }); } @@ -14172,40 +19713,41 @@ var require_wrappy = __commonJS({ // node_modules/once/once.js var require_once = __commonJS({ - 'node_modules/once/once.js'(exports2, module2) { + "node_modules/once/once.js"(exports2, module2) { var wrappy = require_wrappy(); module2.exports = wrappy(once); module2.exports.strict = wrappy(onceStrict); - once.proto = once(function () { - Object.defineProperty(Function.prototype, 'once', { - value: function () { + once.proto = once(function() { + Object.defineProperty(Function.prototype, "once", { + value: function() { return once(this); }, configurable: true }); - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { + Object.defineProperty(Function.prototype, "onceStrict", { + value: function() { return onceStrict(this); }, configurable: true }); }); function once(fn) { - var f = function () { + var f = function() { if (f.called) return f.value; f.called = true; - return (f.value = fn.apply(this, arguments)); + return f.value = fn.apply(this, arguments); }; f.called = false; return f; } function onceStrict(fn) { - var f = function () { - if (f.called) throw new Error(f.onceError); + var f = function() { + if (f.called) + throw new Error(f.onceError); f.called = true; - return (f.value = fn.apply(this, arguments)); + return f.value = fn.apply(this, arguments); }; - var name = fn.name || 'Function wrapped with `once`'; + var name = fn.name || "Function wrapped with `once`"; f.onceError = name + " shouldn't be called more than once"; f.called = false; return f; @@ -14215,55 +19757,86 @@ var require_once = __commonJS({ // node_modules/@octokit/request-error/dist-node/index.js var require_dist_node4 = __commonJS({ - 'node_modules/@octokit/request-error/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function _interopDefault(ex) { - return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex; - } - var deprecation = require_dist_node3(); - var once = _interopDefault(require_once()); - var logOnceCode = once(deprecation2 => console.warn(deprecation2)); - var logOnceHeaders = once(deprecation2 => console.warn(deprecation2)); + "node_modules/@octokit/request-error/dist-node/index.js"(exports2, module2) { + "use strict"; + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var dist_src_exports = {}; + __export2(dist_src_exports, { + RequestError: () => RequestError + }); + module2.exports = __toCommonJS2(dist_src_exports); + var import_deprecation = require_dist_node3(); + var import_once = __toESM2(require_once()); + var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); + var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); var RequestError = class extends Error { constructor(message, statusCode, options) { super(message); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } - this.name = 'HttpError'; + this.name = "HttpError"; this.status = statusCode; let headers; - if ('headers' in options && typeof options.headers !== 'undefined') { + if ("headers" in options && typeof options.headers !== "undefined") { headers = options.headers; } - if ('response' in options) { + if ("response" in options) { this.response = options.response; headers = options.response.headers; } const requestCopy = Object.assign({}, options.request); if (options.request.headers.authorization) { requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace(/ .*$/, ' [REDACTED]') + authorization: options.request.headers.authorization.replace( + /(? { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var dist_src_exports = {}; + __export2(dist_src_exports, { + request: () => request + }); + module2.exports = __toCommonJS2(dist_src_exports); + var import_endpoint = require_dist_node2(); + var import_universal_user_agent = require_dist_node(); + var VERSION = "8.4.1"; + 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); + } + var import_request_error = require_dist_node4(); function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { + var _a, _b, _c, _d; const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); } let headers = {}; let status; let url; - const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch; - return fetch( - requestOptions.url, - Object.assign( - { - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - redirect: requestOptions.redirect - }, - requestOptions.request - ) - ) - .then(async response => { - url = response.url; - status = response.status; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - if ('deprecation' in headers) { - const matches = headers.link && headers.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 ${headers.sunset}${ - deprecationLink ? `. See ${deprecationLink}` : '' - }` - ); - } - if (status === 204 || status === 205) { + let { fetch } = globalThis; + if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) { + fetch = requestOptions.request.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" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: (_c = requestOptions.request) == null ? void 0 : _c.redirect, + headers: requestOptions.headers, + signal: (_d = requestOptions.request) == null ? void 0 : _d.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" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.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 ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { return; } - if (requestOptions.method === 'HEAD') { - if (status < 400) { - return; - } - throw new requestError.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: void 0 - }, - request: requestOptions - }); - } - if (status === 304) { - throw new requestError.RequestError('Not modified', status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new requestError.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - return getResponseData(response); - }) - .then(data => { - return { - status, - url, - headers, - data - }; - }) - .catch(error => { - if (error instanceof requestError.RequestError) throw error; - throw new requestError.RequestError(error.message, 500, { + throw new import_request_error.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, request: requestOptions }); + } + if (status === 304) { + throw new import_request_error.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new import_request_error.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof import_request_error.RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new import_request_error.RequestError(message, 500, { + request: requestOptions }); + }); } async function getResponseData(response) { - const contentType = response.headers.get('content-type'); + const contentType = response.headers.get("content-type"); if (/application\/json/.test(contentType)) { - return response.json(); + return response.json().catch(() => response.text()).catch(() => ""); } if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { return response.text(); @@ -14399,24 +20010,33 @@ var require_dist_node5 = __commonJS({ return getBufferResponse(response); } function toErrorMessage(data) { - if (typeof data === 'string') return data; - if ('message' in data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(', ')}`; + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; } - return data.message; + return `${data.message}${suffix}`; } return `Unknown error: ${JSON.stringify(data)}`; } function withDefaults(oldEndpoint, newDefaults) { const endpoint2 = oldEndpoint.defaults(newDefaults); - const newApi = function (route, parameters) { + 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))); + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); }; Object.assign(request2, { endpoint: endpoint2, @@ -14429,28 +20049,50 @@ var require_dist_node5 = __commonJS({ defaults: withDefaults.bind(null, endpoint2) }); } - var request = withDefaults(endpoint.endpoint, { + var request = withDefaults(import_endpoint.endpoint, { headers: { - 'user-agent': `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` } }); - exports2.request = request; } }); // node_modules/@octokit/graphql/dist-node/index.js var require_dist_node6 = __commonJS({ - 'node_modules/@octokit/graphql/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var request = require_dist_node5(); - var universalUserAgent = require_dist_node(); - var VERSION = '4.8.0'; + "node_modules/@octokit/graphql/dist-node/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var dist_src_exports = {}; + __export2(dist_src_exports, { + GraphqlResponseError: () => GraphqlResponseError, + graphql: () => graphql2, + withCustomRequest: () => withCustomRequest + }); + module2.exports = __toCommonJS2(dist_src_exports); + var import_request3 = require_dist_node5(); + var import_universal_user_agent = require_dist_node(); + var VERSION = "7.1.0"; + var import_request2 = require_dist_node5(); + var import_request = require_dist_node5(); function _buildMessageForResponseErrors(data) { - return ( - `Request failed due to following response errors: -` + data.errors.map(e => ` - ${e.message}`).join('\n') - ); + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); } var GraphqlResponseError = class extends Error { constructor(request2, headers, response) { @@ -14458,7 +20100,7 @@ var require_dist_node6 = __commonJS({ this.request = request2; this.headers = headers; this.response = response; - this.name = 'GraphqlResponseError'; + this.name = "GraphqlResponseError"; this.errors = response.errors; this.data = response.data; if (Error.captureStackTrace) { @@ -14466,29 +20108,38 @@ var require_dist_node6 = __commonJS({ } } }; - var NON_VARIABLE_OPTIONS = ['method', 'baseUrl', 'url', 'headers', 'request', 'query', 'mediaType']; - var FORBIDDEN_VARIABLE_OPTIONS = ['query', 'method', 'url']; + var NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType" + ]; + var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; 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`)); + 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`)); + 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) => { + 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; @@ -14501,53 +20152,75 @@ var require_dist_node6 = __commonJS({ }, {}); 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'); + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); } - return request2(requestOptions).then(response => { + 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); + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); } return response.data.data; }); } - function withDefaults(request$1, newDefaults) { - const newRequest = request$1.defaults(newDefaults); + function withDefaults(request2, newDefaults) { + const newRequest = request2.defaults(newDefaults); const newApi = (query, options) => { return graphql(newRequest, query, options); }; return Object.assign(newApi, { defaults: withDefaults.bind(null, newRequest), - endpoint: request.request.endpoint + endpoint: newRequest.endpoint }); } - var graphql$1 = withDefaults(request.request, { + var graphql2 = withDefaults(import_request3.request, { headers: { - 'user-agent': `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` }, - method: 'POST', - url: '/graphql' + method: "POST", + url: "/graphql" }); function withCustomRequest(customRequest) { return withDefaults(customRequest, { - method: 'POST', - url: '/graphql' + method: "POST", + url: "/graphql" }); } - exports2.GraphqlResponseError = GraphqlResponseError; - exports2.graphql = graphql$1; - exports2.withCustomRequest = withCustomRequest; } }); // node_modules/@octokit/auth-token/dist-node/index.js var require_dist_node7 = __commonJS({ - 'node_modules/@octokit/auth-token/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/@octokit/auth-token/dist-node/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var dist_src_exports = {}; + __export2(dist_src_exports, { + createTokenAuth: () => createTokenAuth + }); + module2.exports = __toCommonJS2(dist_src_exports); var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; var REGEX_IS_INSTALLATION = /^ghs_/; var REGEX_IS_USER_TO_SERVER = /^ghu_/; @@ -14555,9 +20228,9 @@ var require_dist_node7 = __commonJS({ const isApp = token2.split(/\./).length === 3; const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token2) || REGEX_IS_INSTALLATION.test(token2); const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token2); - const tokenType = isApp ? 'app' : isInstallation ? 'installation' : isUserToServer ? 'user-to-server' : 'oauth'; + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; return { - type: 'token', + type: "token", token: token2, tokenType }; @@ -14569,85 +20242,128 @@ var require_dist_node7 = __commonJS({ return `token ${token2}`; } async function hook(token2, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); + const endpoint = request.endpoint.merge( + route, + parameters + ); endpoint.headers.authorization = withAuthorizationPrefix(token2); return request(endpoint); } var createTokenAuth = function createTokenAuth2(token2) { if (!token2) { - throw new Error('[@octokit/auth-token] No token passed to createTokenAuth'); + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); } - if (typeof token2 !== 'string') { - throw new Error('[@octokit/auth-token] Token passed to createTokenAuth is not a string'); + if (typeof token2 !== "string") { + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); } - token2 = token2.replace(/^(token|bearer) +/i, ''); + token2 = token2.replace(/^(token|bearer) +/i, ""); return Object.assign(auth.bind(null, token2), { hook: hook.bind(null, token2) }); }; - exports2.createTokenAuth = createTokenAuth; } }); // node_modules/@octokit/core/dist-node/index.js var require_dist_node8 = __commonJS({ - 'node_modules/@octokit/core/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var universalUserAgent = require_dist_node(); - var beforeAfterHook = require_before_after_hook(); - var request = require_dist_node5(); - var graphql = require_dist_node6(); - var authToken = require_dist_node7(); - function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } - return target; - } - function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i; - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } + "node_modules/@octokit/core/dist-node/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - return target; - } - var VERSION = '3.6.0'; - var _excluded = ['authStrategy']; + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var dist_src_exports = {}; + __export2(dist_src_exports, { + Octokit: () => Octokit + }); + module2.exports = __toCommonJS2(dist_src_exports); + var import_universal_user_agent = require_dist_node(); + var import_before_after_hook = require_before_after_hook(); + var import_request = require_dist_node5(); + var import_graphql = require_dist_node6(); + var import_auth_token = require_dist_node7(); + var VERSION = "5.2.0"; + var noop = () => { + }; + var consoleWarn = console.warn.bind(console); + var consoleError = console.error.bind(console); + var userAgentTrail = `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; var Octokit = class { + static { + this.VERSION = VERSION; + } + 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 { + this.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 { + this.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + } + }; + return NewOctokit; + } constructor(options = {}) { - const hook = new beforeAfterHook.Collection(); + const hook = new import_before_after_hook.Collection(); const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + baseUrl: import_request.request.endpoint.DEFAULTS.baseUrl, headers: {}, request: Object.assign({}, options.request, { - hook: hook.bind(null, 'request') + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") }), mediaType: { previews: [], - format: '' + format: "" } }; - requestDefaults.headers['user-agent'] = [ - options.userAgent, - `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}` - ] - .filter(Boolean) - .join(' '); + requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; if (options.baseUrl) { requestDefaults.baseUrl = options.baseUrl; } @@ -14655,16 +20371,16 @@ var require_dist_node8 = __commonJS({ requestDefaults.mediaType.previews = options.previews; } if (options.timeZone) { - requestDefaults.headers['time-zone'] = options.timeZone; + requestDefaults.headers["time-zone"] = options.timeZone; } - this.request = request.request.defaults(requestDefaults); - this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.request = import_request.request.defaults(requestDefaults); + this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults); this.log = Object.assign( { - debug: () => {}, - info: () => {}, - warn: console.warn.bind(console), - error: console.error.bind(console) + debug: noop, + info: noop, + warn: consoleWarn, + error: consoleError }, options.log ); @@ -14672,1355 +20388,2137 @@ var require_dist_node8 = __commonJS({ if (!options.authStrategy) { if (!options.auth) { this.auth = async () => ({ - type: 'unauthenticated' + type: "unauthenticated" }); } else { - const auth = authToken.createTokenAuth(options.auth); - hook.wrap('request', auth.hook); + const auth = (0, import_auth_token.createTokenAuth)(options.auth); + hook.wrap("request", auth.hook); this.auth = auth; } } else { - const { authStrategy } = options, - otherOptions = _objectWithoutProperties(options, _excluded); + const { authStrategy, ...otherOptions } = options; const auth = 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 ) ); - hook.wrap('request', auth.hook); + hook.wrap("request", auth.hook); this.auth = auth; } const classConstructor = this.constructor; - classConstructor.plugins.forEach(plugin => { - Object.assign(this, plugin(this, options)); - }); - } - 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 plugin(...newPlugins) { - var _a; - const currentPlugins = this.plugins; - const NewOctokit = - ((_a = class extends this {}), - (_a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin)))), - _a); - return NewOctokit; + for (let i = 0; i < classConstructor.plugins.length; ++i) { + Object.assign(this, classConstructor.plugins[i](this, options)); + } } }; - Octokit.VERSION = VERSION; - Octokit.plugins = []; - exports2.Octokit = Octokit; } }); // node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js var require_dist_node9 = __commonJS({ - 'node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - if (enumerableOnly) { - symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - }); - } - keys.push.apply(keys, symbols); - } - return keys; - } - function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - if (i % 2) { - ownKeys(Object(source), true).forEach(function (key) { - _defineProperty(target, key, source[key]); - }); - } else if (Object.getOwnPropertyDescriptors) { - Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); - } else { - ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); - } - } - return target; - } - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; + "node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - return obj; - } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var dist_src_exports = {}; + __export2(dist_src_exports, { + legacyRestEndpointMethods: () => legacyRestEndpointMethods, + restEndpointMethods: () => restEndpointMethods + }); + module2.exports = __toCommonJS2(dist_src_exports); + var VERSION = "10.4.1"; var Endpoints = { actions: { - addCustomLabelsToSelfHostedRunnerForOrg: ['POST /orgs/{org}/actions/runners/{runner_id}/labels'], - addCustomLabelsToSelfHostedRunnerForRepo: ['POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels'], - addSelectedRepoToOrgSecret: ['PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}'], - approveWorkflowRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve'], - cancelWorkflowRun: ['POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel'], + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + 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 /repositories/{repository_id}/environments/{environment_name}/variables" + ], createOrUpdateEnvironmentSecret: [ - 'PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}' - ], - createOrUpdateOrgSecret: ['PUT /orgs/{org}/actions/secrets/{secret_name}'], - createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}'], - 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'], - 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}'], + "PUT /repositories/{repository_id}/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}" + ], deleteEnvironmentSecret: [ - 'DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}' - ], - deleteOrgSecret: ['DELETE /orgs/{org}/actions/secrets/{secret_name}'], - deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/actions/secrets/{secret_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'], + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + 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}' + "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}"], + getCustomOidcSubClaimForRepo: [ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + getEnvironmentPublicKey: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repositories/{repository_id}/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" + ], + 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"], + listEnvironmentSecrets: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repositories/{repository_id}/environments/{environment_name}/variables" + ], + 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" ], - 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'], - getActionsCacheList: ['GET /repos/{owner}/{repo}/actions/caches'], - getActionsCacheUsage: ['GET /repos/{owner}/{repo}/actions/cache/usage'], - getActionsCacheUsageByRepoForOrg: ['GET /orgs/{org}/actions/cache/usage-by-repository'], - getActionsCacheUsageForEnterprise: ['GET /enterprises/{enterprise}/actions/cache/usage'], - 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}'], - getEnvironmentPublicKey: ['GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key'], - getEnvironmentSecret: ['GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}'], - getGithubActionsDefaultWorkflowPermissionsEnterprise: ['GET /enterprises/{enterprise}/actions/permissions/workflow'], - 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'], - 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}'], - 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}'], - 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'], - listEnvironmentSecrets: ['GET /repositories/{repository_id}/environments/{environment_name}/secrets'], - 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'], - listRepoSecrets: ['GET /repos/{owner}/{repo}/actions/secrets'], - 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'], - 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' + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" ], - 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}'], - 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'], - setGithubActionsDefaultWorkflowPermissionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions/workflow'], - 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'], - setSelectedRepositoriesEnabledGithubActionsOrganization: ['PUT /orgs/{org}/actions/permissions/repositories'], - setWorkflowAccessToRepository: ['PUT /repos/{owner}/{repo}/actions/permissions/access'] + 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 /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + 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'], - 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}'] + 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}', + "PUT /user/installations/{installation_id}/repositories/{repository_id}", {}, - { - renamed: ['apps', 'addRepoToInstallationForAuthenticatedUser'] - } + { 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'], - 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'], + "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}', + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", {}, - { - renamed: ['apps', 'removeRepoFromInstallationForAuthenticatedUser'] - } + { 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'] + "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'], - getGithubAdvancedSecurityBillingGhe: ['GET /enterprises/{enterprise}/settings/billing/advanced-security'], - getGithubAdvancedSecurityBillingOrg: ['GET /orgs/{org}/settings/billing/advanced-security'], - getGithubPackagesBillingOrg: ['GET /orgs/{org}/settings/billing/packages'], - getGithubPackagesBillingUser: ['GET /users/{username}/settings/billing/packages'], - getSharedStorageBillingOrg: ['GET /orgs/{org}/settings/billing/shared-storage'], - getSharedStorageBillingUser: ['GET /users/{username}/settings/billing/shared-storage'] + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions" + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages" + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage" + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage" + ] }, checks: { - create: ['POST /repos/{owner}/{repo}/check-runs'], - createSuite: ['POST /repos/{owner}/{repo}/check-suites'], - get: ['GET /repos/{owner}/{repo}/check-runs/{check_run_id}'], - getSuite: ['GET /repos/{owner}/{repo}/check-suites/{check_suite_id}'], - listAnnotations: ['GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations'], - listForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/check-runs'], - listForSuite: ['GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs'], - listSuitesForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/check-suites'], - rerequestRun: ['POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest'], - rerequestSuite: ['POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest'], - setSuitesPreferences: ['PATCH /repos/{owner}/{repo}/check-suites/preferences'], - update: ['PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}'] + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences" + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] }, codeScanning: { - deleteAnalysis: ['DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}'], + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], getAlert: [ - 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}', + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, - { - renamedParameters: { - alert_id: 'alert_number' - } - } + { renamedParameters: { alert_id: "alert_number" } } + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + ], + getCodeqlDatabase: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + ], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" ], - getAnalysis: ['GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}'], - getSarif: ['GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}'], - listAlertInstances: ['GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances'], - listAlertsForOrg: ['GET /orgs/{org}/code-scanning/alerts'], - listAlertsForRepo: ['GET /repos/{owner}/{repo}/code-scanning/alerts'], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], listAlertsInstances: [ - 'GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances', + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", {}, - { - renamed: ['codeScanning', 'listAlertInstances'] - } + { renamed: ["codeScanning", "listAlertInstances"] } + ], + listCodeqlDatabases: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" ], - listRecentAnalyses: ['GET /repos/{owner}/{repo}/code-scanning/analyses'], - updateAlert: ['PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}'], - uploadSarif: ['POST /repos/{owner}/{repo}/code-scanning/sarifs'] + updateDefaultSetup: [ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] }, codesOfConduct: { - getAllCodesOfConduct: ['GET /codes_of_conduct'], - getConductCode: ['GET /codes_of_conduct/{key}'] + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] }, codespaces: { addRepositoryForSecretForAuthenticatedUser: [ - 'PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}' - ], - codespaceMachinesForAuthenticatedUser: ['GET /user/codespaces/{codespace_name}/machines'], - createForAuthenticatedUser: ['POST /user/codespaces'], - createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], - createOrUpdateSecretForAuthenticatedUser: ['PUT /user/codespaces/secrets/{secret_name}'], - createWithPrForAuthenticatedUser: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces'], - createWithRepoForAuthenticatedUser: ['POST /repos/{owner}/{repo}/codespaces'], - deleteForAuthenticatedUser: ['DELETE /user/codespaces/{codespace_name}'], - deleteFromOrganization: ['DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}'], - deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], - deleteSecretForAuthenticatedUser: ['DELETE /user/codespaces/secrets/{secret_name}'], - exportForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/exports'], - getExportDetailsForAuthenticatedUser: ['GET /user/codespaces/{codespace_name}/exports/{export_id}'], - getForAuthenticatedUser: ['GET /user/codespaces/{codespace_name}'], - getPublicKeyForAuthenticatedUser: ['GET /user/codespaces/secrets/public-key'], - getRepoPublicKey: ['GET /repos/{owner}/{repo}/codespaces/secrets/public-key'], - getRepoSecret: ['GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}'], - getSecretForAuthenticatedUser: ['GET /user/codespaces/secrets/{secret_name}'], - listDevcontainersInRepositoryForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces/devcontainers'], - listForAuthenticatedUser: ['GET /user/codespaces'], + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + checkPermissionsForDevcontainer: [ + "GET /repos/{owner}/{repo}/codespaces/permissions_check" + ], + codespaceMachinesForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/machines" + ], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + createOrUpdateSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}" + ], + createWithPrForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + ], + createWithRepoForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/codespaces" + ], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: [ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + deleteSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}" + ], + exportForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/exports" + ], + getCodespacesForUserInOrg: [ + "GET /orgs/{org}/members/{username}/codespaces" + ], + getExportDetailsForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/exports/{export_id}" + ], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: [ + "GET /user/codespaces/secrets/public-key" + ], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + getSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}" + ], + listDevcontainersInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/devcontainers" + ], + listForAuthenticatedUser: ["GET /user/codespaces"], listInOrganization: [ - 'GET /orgs/{org}/codespaces', + "GET /orgs/{org}/codespaces", {}, - { - renamedParameters: { - org_id: 'org' - } - } + { renamedParameters: { org_id: "org" } } + ], + listInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces" + ], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}/repositories" + ], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + preFlightWithRepoForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/new" + ], + publishForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/publish" ], - listInRepositoryForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces'], - listRepoSecrets: ['GET /repos/{owner}/{repo}/codespaces/secrets'], - listRepositoriesForSecretForAuthenticatedUser: ['GET /user/codespaces/secrets/{secret_name}/repositories'], - listSecretsForAuthenticatedUser: ['GET /user/codespaces/secrets'], removeRepositoryForSecretForAuthenticatedUser: [ - 'DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}' - ], - repoMachinesForAuthenticatedUser: ['GET /repos/{owner}/{repo}/codespaces/machines'], - setRepositoriesForSecretForAuthenticatedUser: ['PUT /user/codespaces/secrets/{secret_name}/repositories'], - startForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/start'], - stopForAuthenticatedUser: ['POST /user/codespaces/{codespace_name}/stop'], - stopInOrganization: ['POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop'], - updateForAuthenticatedUser: ['PATCH /user/codespaces/{codespace_name}'] - }, - dependabot: { - addSelectedRepoToOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}'], - createOrUpdateOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}'], - createOrUpdateRepoSecret: ['PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}'], - deleteOrgSecret: ['DELETE /orgs/{org}/dependabot/secrets/{secret_name}'], - deleteRepoSecret: ['DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}'], - getOrgPublicKey: ['GET /orgs/{org}/dependabot/secrets/public-key'], - getOrgSecret: ['GET /orgs/{org}/dependabot/secrets/{secret_name}'], - getRepoPublicKey: ['GET /repos/{owner}/{repo}/dependabot/secrets/public-key'], - getRepoSecret: ['GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}'], - listOrgSecrets: ['GET /orgs/{org}/dependabot/secrets'], - listRepoSecrets: ['GET /repos/{owner}/{repo}/dependabot/secrets'], - listSelectedReposForOrgSecret: ['GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories'], + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], removeSelectedRepoFromOrgSecret: [ - 'DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}' + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" ], - setSelectedReposForOrgSecret: ['PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories'] - }, - dependencyGraph: { - createRepositorySnapshot: ['POST /repos/{owner}/{repo}/dependency-graph/snapshots'], - diffRange: ['GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}'] + repoMachinesForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/machines" + ], + setRepositoriesForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: [ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + ], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] }, - emojis: { - get: ['GET /emojis'] + copilot: { + addCopilotSeatsForTeams: [ + "POST /orgs/{org}/copilot/billing/selected_teams" + ], + addCopilotSeatsForUsers: [ + "POST /orgs/{org}/copilot/billing/selected_users" + ], + cancelCopilotSeatAssignmentForTeams: [ + "DELETE /orgs/{org}/copilot/billing/selected_teams" + ], + cancelCopilotSeatAssignmentForUsers: [ + "DELETE /orgs/{org}/copilot/billing/selected_users" + ], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" + ], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] }, - enterpriseAdmin: { - addCustomLabelsToSelfHostedRunnerForEnterprise: [ - 'POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels' + dependabot: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" ], - disableSelectedOrganizationGithubActionsEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}' + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}" ], - enableSelectedOrganizationGithubActionsEnterprise: [ - 'PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}' + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" ], - getAllowedActionsEnterprise: ['GET /enterprises/{enterprise}/actions/permissions/selected-actions'], - getGithubActionsPermissionsEnterprise: ['GET /enterprises/{enterprise}/actions/permissions'], - getServerStatistics: ['GET /enterprise-installation/{enterprise_or_org}/server-statistics'], - listLabelsForSelfHostedRunnerForEnterprise: ['GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels'], - listSelectedOrganizationsEnabledGithubActionsEnterprise: [ - 'GET /enterprises/{enterprise}/actions/permissions/organizations' + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" ], - removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels' + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" ], - removeCustomLabelFromSelfHostedRunnerForEnterprise: [ - 'DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}' + getRepoSecret: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" ], - setAllowedActionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions/selected-actions'], - setCustomLabelsForSelfHostedRunnerForEnterprise: [ - 'PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels' + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/dependabot/alerts" ], - setGithubActionsPermissionsEnterprise: ['PUT /enterprises/{enterprise}/actions/permissions'], - setSelectedOrganizationsEnabledGithubActionsEnterprise: [ - 'PUT /enterprises/{enterprise}/actions/permissions/organizations' + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" ] }, + dependencyGraph: { + createRepositorySnapshot: [ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + ], + diffRange: [ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + ], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + }, + emojis: { get: ["GET /emojis"] }, gists: { - checkIsStarred: ['GET /gists/{gist_id}/star'], - create: ['POST /gists'], - createComment: ['POST /gists/{gist_id}/comments'], - delete: ['DELETE /gists/{gist_id}'], - deleteComment: ['DELETE /gists/{gist_id}/comments/{comment_id}'], - fork: ['POST /gists/{gist_id}/forks'], - get: ['GET /gists/{gist_id}'], - getComment: ['GET /gists/{gist_id}/comments/{comment_id}'], - getRevision: ['GET /gists/{gist_id}/{sha}'], - list: ['GET /gists'], - listComments: ['GET /gists/{gist_id}/comments'], - listCommits: ['GET /gists/{gist_id}/commits'], - listForUser: ['GET /users/{username}/gists'], - listForks: ['GET /gists/{gist_id}/forks'], - listPublic: ['GET /gists/public'], - listStarred: ['GET /gists/starred'], - star: ['PUT /gists/{gist_id}/star'], - unstar: ['DELETE /gists/{gist_id}/star'], - update: ['PATCH /gists/{gist_id}'], - updateComment: ['PATCH /gists/{gist_id}/comments/{comment_id}'] + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] }, git: { - createBlob: ['POST /repos/{owner}/{repo}/git/blobs'], - createCommit: ['POST /repos/{owner}/{repo}/git/commits'], - createRef: ['POST /repos/{owner}/{repo}/git/refs'], - createTag: ['POST /repos/{owner}/{repo}/git/tags'], - createTree: ['POST /repos/{owner}/{repo}/git/trees'], - deleteRef: ['DELETE /repos/{owner}/{repo}/git/refs/{ref}'], - getBlob: ['GET /repos/{owner}/{repo}/git/blobs/{file_sha}'], - getCommit: ['GET /repos/{owner}/{repo}/git/commits/{commit_sha}'], - getRef: ['GET /repos/{owner}/{repo}/git/ref/{ref}'], - getTag: ['GET /repos/{owner}/{repo}/git/tags/{tag_sha}'], - getTree: ['GET /repos/{owner}/{repo}/git/trees/{tree_sha}'], - listMatchingRefs: ['GET /repos/{owner}/{repo}/git/matching-refs/{ref}'], - updateRef: ['PATCH /repos/{owner}/{repo}/git/refs/{ref}'] + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] }, gitignore: { - getAllTemplates: ['GET /gitignore/templates'], - getTemplate: ['GET /gitignore/templates/{name}'] + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] }, interactions: { - getRestrictionsForAuthenticatedUser: ['GET /user/interaction-limits'], - getRestrictionsForOrg: ['GET /orgs/{org}/interaction-limits'], - getRestrictionsForRepo: ['GET /repos/{owner}/{repo}/interaction-limits'], + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], getRestrictionsForYourPublicRepos: [ - 'GET /user/interaction-limits', + "GET /user/interaction-limits", {}, - { - renamed: ['interactions', 'getRestrictionsForAuthenticatedUser'] - } + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits" ], - removeRestrictionsForAuthenticatedUser: ['DELETE /user/interaction-limits'], - removeRestrictionsForOrg: ['DELETE /orgs/{org}/interaction-limits'], - removeRestrictionsForRepo: ['DELETE /repos/{owner}/{repo}/interaction-limits'], removeRestrictionsForYourPublicRepos: [ - 'DELETE /user/interaction-limits', + "DELETE /user/interaction-limits", {}, - { - renamed: ['interactions', 'removeRestrictionsForAuthenticatedUser'] - } + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } ], - setRestrictionsForAuthenticatedUser: ['PUT /user/interaction-limits'], - setRestrictionsForOrg: ['PUT /orgs/{org}/interaction-limits'], - setRestrictionsForRepo: ['PUT /repos/{owner}/{repo}/interaction-limits'], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], setRestrictionsForYourPublicRepos: [ - 'PUT /user/interaction-limits', + "PUT /user/interaction-limits", {}, - { - renamed: ['interactions', 'setRestrictionsForAuthenticatedUser'] - } + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } ] }, issues: { - addAssignees: ['POST /repos/{owner}/{repo}/issues/{issue_number}/assignees'], - addLabels: ['POST /repos/{owner}/{repo}/issues/{issue_number}/labels'], - checkUserCanBeAssigned: ['GET /repos/{owner}/{repo}/assignees/{assignee}'], - create: ['POST /repos/{owner}/{repo}/issues'], - createComment: ['POST /repos/{owner}/{repo}/issues/{issue_number}/comments'], - createLabel: ['POST /repos/{owner}/{repo}/labels'], - createMilestone: ['POST /repos/{owner}/{repo}/milestones'], - deleteComment: ['DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}'], - deleteLabel: ['DELETE /repos/{owner}/{repo}/labels/{name}'], - deleteMilestone: ['DELETE /repos/{owner}/{repo}/milestones/{milestone_number}'], - get: ['GET /repos/{owner}/{repo}/issues/{issue_number}'], - getComment: ['GET /repos/{owner}/{repo}/issues/comments/{comment_id}'], - getEvent: ['GET /repos/{owner}/{repo}/issues/events/{event_id}'], - getLabel: ['GET /repos/{owner}/{repo}/labels/{name}'], - getMilestone: ['GET /repos/{owner}/{repo}/milestones/{milestone_number}'], - list: ['GET /issues'], - listAssignees: ['GET /repos/{owner}/{repo}/assignees'], - listComments: ['GET /repos/{owner}/{repo}/issues/{issue_number}/comments'], - listCommentsForRepo: ['GET /repos/{owner}/{repo}/issues/comments'], - listEvents: ['GET /repos/{owner}/{repo}/issues/{issue_number}/events'], - listEventsForRepo: ['GET /repos/{owner}/{repo}/issues/events'], - listEventsForTimeline: ['GET /repos/{owner}/{repo}/issues/{issue_number}/timeline'], - listForAuthenticatedUser: ['GET /user/issues'], - listForOrg: ['GET /orgs/{org}/issues'], - listForRepo: ['GET /repos/{owner}/{repo}/issues'], - listLabelsForMilestone: ['GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels'], - listLabelsForRepo: ['GET /repos/{owner}/{repo}/labels'], - listLabelsOnIssue: ['GET /repos/{owner}/{repo}/issues/{issue_number}/labels'], - listMilestones: ['GET /repos/{owner}/{repo}/milestones'], - lock: ['PUT /repos/{owner}/{repo}/issues/{issue_number}/lock'], - removeAllLabels: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels'], - removeAssignees: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees'], - removeLabel: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}'], - setLabels: ['PUT /repos/{owner}/{repo}/issues/{issue_number}/labels'], - unlock: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock'], - update: ['PATCH /repos/{owner}/{repo}/issues/{issue_number}'], - updateComment: ['PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}'], - updateLabel: ['PATCH /repos/{owner}/{repo}/labels/{name}'], - updateMilestone: ['PATCH /repos/{owner}/{repo}/milestones/{milestone_number}'] + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + ], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" + ] }, licenses: { - get: ['GET /licenses/{license}'], - getAllCommonlyUsed: ['GET /licenses'], - getForRepo: ['GET /repos/{owner}/{repo}/license'] + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] }, markdown: { - render: ['POST /markdown'], + render: ["POST /markdown"], renderRaw: [ - 'POST /markdown/raw', - { - headers: { - 'content-type': 'text/plain; charset=utf-8' - } - } + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } } ] }, meta: { - get: ['GET /meta'], - getOctocat: ['GET /octocat'], - getZen: ['GET /zen'], - root: ['GET /'] + get: ["GET /meta"], + getAllVersions: ["GET /versions"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] }, migrations: { - cancelImport: ['DELETE /repos/{owner}/{repo}/import'], - deleteArchiveForAuthenticatedUser: ['DELETE /user/migrations/{migration_id}/archive'], - deleteArchiveForOrg: ['DELETE /orgs/{org}/migrations/{migration_id}/archive'], - downloadArchiveForOrg: ['GET /orgs/{org}/migrations/{migration_id}/archive'], - getArchiveForAuthenticatedUser: ['GET /user/migrations/{migration_id}/archive'], - getCommitAuthors: ['GET /repos/{owner}/{repo}/import/authors'], - getImportStatus: ['GET /repos/{owner}/{repo}/import'], - getLargeFiles: ['GET /repos/{owner}/{repo}/import/large_files'], - getStatusForAuthenticatedUser: ['GET /user/migrations/{migration_id}'], - getStatusForOrg: ['GET /orgs/{org}/migrations/{migration_id}'], - listForAuthenticatedUser: ['GET /user/migrations'], - listForOrg: ['GET /orgs/{org}/migrations'], - listReposForAuthenticatedUser: ['GET /user/migrations/{migration_id}/repositories'], - listReposForOrg: ['GET /orgs/{org}/migrations/{migration_id}/repositories'], + cancelImport: [ + "DELETE /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import" + } + ], + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive" + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive" + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive" + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive" + ], + getCommitAuthors: [ + "GET /repos/{owner}/{repo}/import/authors", + {}, + { + deprecated: "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors" + } + ], + getImportStatus: [ + "GET /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status" + } + ], + getLargeFiles: [ + "GET /repos/{owner}/{repo}/import/large_files", + {}, + { + deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files" + } + ], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories" + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], listReposForUser: [ - 'GET /user/migrations/{migration_id}/repositories', + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] } + ], + mapCommitAuthor: [ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}", + {}, + { + deprecated: "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author" + } + ], + setLfsPreference: [ + "PATCH /repos/{owner}/{repo}/import/lfs", + {}, + { + deprecated: "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference" + } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: [ + "PUT /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import" + } + ], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ], + updateImport: [ + "PATCH /repos/{owner}/{repo}/import", {}, { - renamed: ['migrations', 'listReposForAuthenticatedUser'] + deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import" } + ] + }, + oidc: { + getOidcCustomSubTemplateForOrg: [ + "GET /orgs/{org}/actions/oidc/customization/sub" ], - mapCommitAuthor: ['PATCH /repos/{owner}/{repo}/import/authors/{author_id}'], - setLfsPreference: ['PATCH /repos/{owner}/{repo}/import/lfs'], - startForAuthenticatedUser: ['POST /user/migrations'], - startForOrg: ['POST /orgs/{org}/migrations'], - startImport: ['PUT /repos/{owner}/{repo}/import'], - unlockRepoForAuthenticatedUser: ['DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock'], - unlockRepoForOrg: ['DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock'], - updateImport: ['PATCH /repos/{owner}/{repo}/import'] + updateOidcCustomSubTemplateForOrg: [ + "PUT /orgs/{org}/actions/oidc/customization/sub" + ] }, orgs: { - blockUser: ['PUT /orgs/{org}/blocks/{username}'], - cancelInvitation: ['DELETE /orgs/{org}/invitations/{invitation_id}'], - checkBlockedUser: ['GET /orgs/{org}/blocks/{username}'], - checkMembershipForUser: ['GET /orgs/{org}/members/{username}'], - checkPublicMembershipForUser: ['GET /orgs/{org}/public_members/{username}'], - convertMemberToOutsideCollaborator: ['PUT /orgs/{org}/outside_collaborators/{username}'], - createInvitation: ['POST /orgs/{org}/invitations'], - createWebhook: ['POST /orgs/{org}/hooks'], - deleteWebhook: ['DELETE /orgs/{org}/hooks/{hook_id}'], - get: ['GET /orgs/{org}'], - getMembershipForAuthenticatedUser: ['GET /user/memberships/orgs/{org}'], - getMembershipForUser: ['GET /orgs/{org}/memberships/{username}'], - getWebhook: ['GET /orgs/{org}/hooks/{hook_id}'], - getWebhookConfigForOrg: ['GET /orgs/{org}/hooks/{hook_id}/config'], - getWebhookDelivery: ['GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}'], - list: ['GET /organizations'], - listAppInstallations: ['GET /orgs/{org}/installations'], - listBlockedUsers: ['GET /orgs/{org}/blocks'], - listCustomRoles: ['GET /organizations/{organization_id}/custom_roles'], - listFailedInvitations: ['GET /orgs/{org}/failed_invitations'], - listForAuthenticatedUser: ['GET /user/orgs'], - listForUser: ['GET /users/{username}/orgs'], - listInvitationTeams: ['GET /orgs/{org}/invitations/{invitation_id}/teams'], - listMembers: ['GET /orgs/{org}/members'], - listMembershipsForAuthenticatedUser: ['GET /user/memberships/orgs'], - listOutsideCollaborators: ['GET /orgs/{org}/outside_collaborators'], - listPendingInvitations: ['GET /orgs/{org}/invitations'], - listPublicMembers: ['GET /orgs/{org}/public_members'], - listWebhookDeliveries: ['GET /orgs/{org}/hooks/{hook_id}/deliveries'], - listWebhooks: ['GET /orgs/{org}/hooks'], - pingWebhook: ['POST /orgs/{org}/hooks/{hook_id}/pings'], - redeliverWebhookDelivery: ['POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts'], - removeMember: ['DELETE /orgs/{org}/members/{username}'], - removeMembershipForUser: ['DELETE /orgs/{org}/memberships/{username}'], - removeOutsideCollaborator: ['DELETE /orgs/{org}/outside_collaborators/{username}'], - removePublicMembershipForAuthenticatedUser: ['DELETE /orgs/{org}/public_members/{username}'], - setMembershipForUser: ['PUT /orgs/{org}/memberships/{username}'], - setPublicMembershipForAuthenticatedUser: ['PUT /orgs/{org}/public_members/{username}'], - unblockUser: ['DELETE /orgs/{org}/blocks/{username}'], - update: ['PATCH /orgs/{org}'], - updateMembershipForAuthenticatedUser: ['PATCH /user/memberships/orgs/{org}'], - updateWebhook: ['PATCH /orgs/{org}/hooks/{hook_id}'], - updateWebhookConfigForOrg: ['PATCH /orgs/{org}/hooks/{hook_id}/config'] + addSecurityManagerTeam: [ + "PUT /orgs/{org}/security-managers/teams/{team_slug}" + ], + assignTeamToOrgRole: [ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + assignUserToOrgRole: [ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}" + ], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: [ + "PATCH /orgs/{org}/properties/values" + ], + createOrUpdateCustomProperty: [ + "PUT /orgs/{org}/properties/schema/{custom_property_name}" + ], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: [ + "DELETE /orgs/{org}/organization-roles/{role_id}" + ], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: [ + "POST /orgs/{org}/{security_product}/{enablement}" + ], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: [ + "GET /orgs/{org}/properties/schema/{custom_property_name}" + ], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: [ + "GET /orgs/{org}/organization-fine-grained-permissions" + ], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: [ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" + ], + listPatGrantRequestRepositories: [ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" + ], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: [ + "PATCH /orgs/{org}/organization-roles/{role_id}" + ], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeCustomProperty: [ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}" + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}" + ], + removeSecurityManagerTeam: [ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}" + ], + reviewPatGrantRequest: [ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + ], + reviewPatGrantRequestsInBulk: [ + "POST /orgs/{org}/personal-access-token-requests" + ], + revokeAllOrgRolesTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" + ], + revokeAllOrgRolesUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}" + ], + revokeOrgRoleTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + revokeOrgRoleUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}" + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}" + ], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] }, packages: { - deletePackageForAuthenticatedUser: ['DELETE /user/packages/{package_type}/{package_name}'], - deletePackageForOrg: ['DELETE /orgs/{org}/packages/{package_type}/{package_name}'], - deletePackageForUser: ['DELETE /users/{username}/packages/{package_type}/{package_name}'], + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}" + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}" + ], deletePackageVersionForAuthenticatedUser: [ - 'DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}' + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" ], deletePackageVersionForOrg: [ - 'DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}' + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" ], deletePackageVersionForUser: [ - 'DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}' + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" ], getAllPackageVersionsForAPackageOwnedByAnOrg: [ - 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions', + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, - { - renamed: ['packages', 'getAllPackageVersionsForPackageOwnedByOrg'] - } + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } ], getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ - 'GET /user/packages/{package_type}/{package_name}/versions', + "GET /user/packages/{package_type}/{package_name}/versions", {}, { - renamed: ['packages', 'getAllPackageVersionsForPackageOwnedByAuthenticatedUser'] + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" + ] } ], getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ - 'GET /user/packages/{package_type}/{package_name}/versions' + "GET /user/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" ], - getAllPackageVersionsForPackageOwnedByOrg: ['GET /orgs/{org}/packages/{package_type}/{package_name}/versions'], getAllPackageVersionsForPackageOwnedByUser: [ - 'GET /users/{username}/packages/{package_type}/{package_name}/versions' + "GET /users/{username}/packages/{package_type}/{package_name}/versions" + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}" + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}" + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}" ], - getPackageForAuthenticatedUser: ['GET /user/packages/{package_type}/{package_name}'], - getPackageForOrganization: ['GET /orgs/{org}/packages/{package_type}/{package_name}'], - getPackageForUser: ['GET /users/{username}/packages/{package_type}/{package_name}'], getPackageVersionForAuthenticatedUser: [ - 'GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}' + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" ], getPackageVersionForOrganization: [ - 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}' + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" ], getPackageVersionForUser: [ - 'GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}' - ], - listPackagesForAuthenticatedUser: ['GET /user/packages'], - listPackagesForOrganization: ['GET /orgs/{org}/packages'], - listPackagesForUser: ['GET /users/{username}/packages'], - restorePackageForAuthenticatedUser: ['POST /user/packages/{package_type}/{package_name}/restore{?token}'], - restorePackageForOrg: ['POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}'], - restorePackageForUser: ['POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}'], + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: [ + "GET /user/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForOrganization: [ + "GET /orgs/{org}/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForUser: [ + "GET /users/{username}/docker/conflicts" + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" + ], restorePackageVersionForAuthenticatedUser: [ - 'POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore' + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" ], restorePackageVersionForOrg: [ - 'POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore' + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" ], restorePackageVersionForUser: [ - 'POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore' + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" ] }, projects: { - addCollaborator: ['PUT /projects/{project_id}/collaborators/{username}'], - createCard: ['POST /projects/columns/{column_id}/cards'], - createColumn: ['POST /projects/{project_id}/columns'], - createForAuthenticatedUser: ['POST /user/projects'], - createForOrg: ['POST /orgs/{org}/projects'], - createForRepo: ['POST /repos/{owner}/{repo}/projects'], - delete: ['DELETE /projects/{project_id}'], - deleteCard: ['DELETE /projects/columns/cards/{card_id}'], - deleteColumn: ['DELETE /projects/columns/{column_id}'], - get: ['GET /projects/{project_id}'], - getCard: ['GET /projects/columns/cards/{card_id}'], - getColumn: ['GET /projects/columns/{column_id}'], - getPermissionForUser: ['GET /projects/{project_id}/collaborators/{username}/permission'], - listCards: ['GET /projects/columns/{column_id}/cards'], - listCollaborators: ['GET /projects/{project_id}/collaborators'], - listColumns: ['GET /projects/{project_id}/columns'], - listForOrg: ['GET /orgs/{org}/projects'], - listForRepo: ['GET /repos/{owner}/{repo}/projects'], - listForUser: ['GET /users/{username}/projects'], - moveCard: ['POST /projects/columns/cards/{card_id}/moves'], - moveColumn: ['POST /projects/columns/{column_id}/moves'], - removeCollaborator: ['DELETE /projects/{project_id}/collaborators/{username}'], - update: ['PATCH /projects/{project_id}'], - updateCard: ['PATCH /projects/columns/cards/{card_id}'], - updateColumn: ['PATCH /projects/columns/{column_id}'] + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission" + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}" + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] }, pulls: { - checkIfMerged: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/merge'], - create: ['POST /repos/{owner}/{repo}/pulls'], - createReplyForReviewComment: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies'], - createReview: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews'], - createReviewComment: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/comments'], - deletePendingReview: ['DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], - deleteReviewComment: ['DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}'], - dismissReview: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals'], - get: ['GET /repos/{owner}/{repo}/pulls/{pull_number}'], - getReview: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], - getReviewComment: ['GET /repos/{owner}/{repo}/pulls/comments/{comment_id}'], - list: ['GET /repos/{owner}/{repo}/pulls'], - listCommentsForReview: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments'], - listCommits: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/commits'], - listFiles: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/files'], - listRequestedReviewers: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], - listReviewComments: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/comments'], - listReviewCommentsForRepo: ['GET /repos/{owner}/{repo}/pulls/comments'], - listReviews: ['GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews'], - merge: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge'], - removeRequestedReviewers: ['DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], - requestReviewers: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers'], - submitReview: ['POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events'], - update: ['PATCH /repos/{owner}/{repo}/pulls/{pull_number}'], - updateBranch: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch'], - updateReview: ['PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}'], - updateReviewComment: ['PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}'] - }, - rateLimit: { - get: ['GET /rate_limit'] + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ] }, + rateLimit: { get: ["GET /rate_limit"] }, reactions: { - createForCommitComment: ['POST /repos/{owner}/{repo}/comments/{comment_id}/reactions'], - createForIssue: ['POST /repos/{owner}/{repo}/issues/{issue_number}/reactions'], - createForIssueComment: ['POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions'], - createForPullRequestReviewComment: ['POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions'], - createForRelease: ['POST /repos/{owner}/{repo}/releases/{release_id}/reactions'], + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], createForTeamDiscussionCommentInOrg: [ - 'POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions' - ], - createForTeamDiscussionInOrg: ['POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions'], - deleteForCommitComment: ['DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}'], - deleteForIssue: ['DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}'], - deleteForIssueComment: ['DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}'], - deleteForPullRequestComment: ['DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}'], - deleteForRelease: ['DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}'], + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForRelease: [ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" + ], deleteForTeamDiscussion: [ - 'DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}' + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" ], deleteForTeamDiscussionComment: [ - 'DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}' + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + listForRelease: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" ], - listForCommitComment: ['GET /repos/{owner}/{repo}/comments/{comment_id}/reactions'], - listForIssue: ['GET /repos/{owner}/{repo}/issues/{issue_number}/reactions'], - listForIssueComment: ['GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions'], - listForPullRequestReviewComment: ['GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions'], - listForRelease: ['GET /repos/{owner}/{repo}/releases/{release_id}/reactions'], listForTeamDiscussionCommentInOrg: [ - 'GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions' + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" ], - listForTeamDiscussionInOrg: ['GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions'] + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ] }, repos: { acceptInvitation: [ - 'PATCH /user/repository_invitations/{invitation_id}', - {}, - { - renamed: ['repos', 'acceptInvitationForAuthenticatedUser'] - } + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}" ], - acceptInvitationForAuthenticatedUser: ['PATCH /user/repository_invitations/{invitation_id}'], addAppAccessRestrictions: [ - 'POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps', + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, - { - mapToData: 'apps' - } + { mapToData: "apps" } ], - addCollaborator: ['PUT /repos/{owner}/{repo}/collaborators/{username}'], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], addStatusCheckContexts: [ - 'POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts', + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, - { - mapToData: 'contexts' - } + { mapToData: "contexts" } ], addTeamAccessRestrictions: [ - 'POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams', + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, - { - mapToData: 'teams' - } + { mapToData: "teams" } ], addUserAccessRestrictions: [ - 'POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users', + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, - { - mapToData: 'users' - } - ], - checkCollaborator: ['GET /repos/{owner}/{repo}/collaborators/{username}'], - checkVulnerabilityAlerts: ['GET /repos/{owner}/{repo}/vulnerability-alerts'], - codeownersErrors: ['GET /repos/{owner}/{repo}/codeowners/errors'], - compareCommits: ['GET /repos/{owner}/{repo}/compare/{base}...{head}'], - compareCommitsWithBasehead: ['GET /repos/{owner}/{repo}/compare/{basehead}'], - createAutolink: ['POST /repos/{owner}/{repo}/autolinks'], - createCommitComment: ['POST /repos/{owner}/{repo}/commits/{commit_sha}/comments'], - createCommitSignatureProtection: ['POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures'], - createCommitStatus: ['POST /repos/{owner}/{repo}/statuses/{sha}'], - createDeployKey: ['POST /repos/{owner}/{repo}/keys'], - createDeployment: ['POST /repos/{owner}/{repo}/deployments'], - createDeploymentStatus: ['POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses'], - createDispatchEvent: ['POST /repos/{owner}/{repo}/dispatches'], - createForAuthenticatedUser: ['POST /user/repos'], - createFork: ['POST /repos/{owner}/{repo}/forks'], - createInOrg: ['POST /orgs/{org}/repos'], - createOrUpdateEnvironment: ['PUT /repos/{owner}/{repo}/environments/{environment_name}'], - createOrUpdateFileContents: ['PUT /repos/{owner}/{repo}/contents/{path}'], - createPagesSite: ['POST /repos/{owner}/{repo}/pages'], - createRelease: ['POST /repos/{owner}/{repo}/releases'], - createTagProtection: ['POST /repos/{owner}/{repo}/tags/protection'], - createUsingTemplate: ['POST /repos/{template_owner}/{template_repo}/generate'], - createWebhook: ['POST /repos/{owner}/{repo}/hooks'], + { mapToData: "users" } + ], + cancelPagesDeployment: [ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" + ], + checkAutomatedSecurityFixes: [ + "GET /repos/{owner}/{repo}/automated-security-fixes" + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts" + ], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}" + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + createDeploymentProtectionRule: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: [ + "PATCH /repos/{owner}/{repo}/properties/values" + ], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}" + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate" + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], declineInvitation: [ - 'DELETE /user/repository_invitations/{invitation_id}', + "DELETE /user/repository_invitations/{invitation_id}", {}, - { - renamed: ['repos', 'declineInvitationForAuthenticatedUser'] - } - ], - declineInvitationForAuthenticatedUser: ['DELETE /user/repository_invitations/{invitation_id}'], - delete: ['DELETE /repos/{owner}/{repo}'], - deleteAccessRestrictions: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions'], - deleteAdminBranchProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins'], - deleteAnEnvironment: ['DELETE /repos/{owner}/{repo}/environments/{environment_name}'], - deleteAutolink: ['DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}'], - deleteBranchProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection'], - deleteCommitComment: ['DELETE /repos/{owner}/{repo}/comments/{comment_id}'], - deleteCommitSignatureProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures'], - deleteDeployKey: ['DELETE /repos/{owner}/{repo}/keys/{key_id}'], - deleteDeployment: ['DELETE /repos/{owner}/{repo}/deployments/{deployment_id}'], - deleteFile: ['DELETE /repos/{owner}/{repo}/contents/{path}'], - deleteInvitation: ['DELETE /repos/{owner}/{repo}/invitations/{invitation_id}'], - deletePagesSite: ['DELETE /repos/{owner}/{repo}/pages'], + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}" + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + ], + deleteDeploymentBranchPolicy: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], deletePullRequestReviewProtection: [ - 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews' - ], - deleteRelease: ['DELETE /repos/{owner}/{repo}/releases/{release_id}'], - deleteReleaseAsset: ['DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}'], - deleteTagProtection: ['DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}'], - deleteWebhook: ['DELETE /repos/{owner}/{repo}/hooks/{hook_id}'], - disableAutomatedSecurityFixes: ['DELETE /repos/{owner}/{repo}/automated-security-fixes'], - disableLfsForRepo: ['DELETE /repos/{owner}/{repo}/lfs'], - disableVulnerabilityAlerts: ['DELETE /repos/{owner}/{repo}/vulnerability-alerts'], + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: [ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes" + ], + disableDeploymentProtectionRule: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + disablePrivateVulnerabilityReporting: [ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + ], downloadArchive: [ - 'GET /repos/{owner}/{repo}/zipball/{ref}', + "GET /repos/{owner}/{repo}/zipball/{ref}", {}, - { - renamed: ['repos', 'downloadZipballArchive'] - } - ], - downloadTarballArchive: ['GET /repos/{owner}/{repo}/tarball/{ref}'], - downloadZipballArchive: ['GET /repos/{owner}/{repo}/zipball/{ref}'], - enableAutomatedSecurityFixes: ['PUT /repos/{owner}/{repo}/automated-security-fixes'], - enableLfsForRepo: ['PUT /repos/{owner}/{repo}/lfs'], - enableVulnerabilityAlerts: ['PUT /repos/{owner}/{repo}/vulnerability-alerts'], - generateReleaseNotes: ['POST /repos/{owner}/{repo}/releases/generate-notes'], - get: ['GET /repos/{owner}/{repo}'], - getAccessRestrictions: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions'], - getAdminBranchProtection: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins'], - getAllEnvironments: ['GET /repos/{owner}/{repo}/environments'], + { renamed: ["repos", "downloadZipballArchive"] } + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes" + ], + enablePrivateVulnerabilityReporting: [ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts" + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes" + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + getAllDeploymentProtectionRules: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], getAllStatusCheckContexts: [ - 'GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts' - ], - getAllTopics: ['GET /repos/{owner}/{repo}/topics'], - getAppsWithAccessToProtectedBranch: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps'], - getAutolink: ['GET /repos/{owner}/{repo}/autolinks/{autolink_id}'], - getBranch: ['GET /repos/{owner}/{repo}/branches/{branch}'], - getBranchProtection: ['GET /repos/{owner}/{repo}/branches/{branch}/protection'], - getClones: ['GET /repos/{owner}/{repo}/traffic/clones'], - getCodeFrequencyStats: ['GET /repos/{owner}/{repo}/stats/code_frequency'], - getCollaboratorPermissionLevel: ['GET /repos/{owner}/{repo}/collaborators/{username}/permission'], - getCombinedStatusForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/status'], - getCommit: ['GET /repos/{owner}/{repo}/commits/{ref}'], - getCommitActivityStats: ['GET /repos/{owner}/{repo}/stats/commit_activity'], - getCommitComment: ['GET /repos/{owner}/{repo}/comments/{comment_id}'], - getCommitSignatureProtection: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures'], - getCommunityProfileMetrics: ['GET /repos/{owner}/{repo}/community/profile'], - getContent: ['GET /repos/{owner}/{repo}/contents/{path}'], - getContributorsStats: ['GET /repos/{owner}/{repo}/stats/contributors'], - getDeployKey: ['GET /repos/{owner}/{repo}/keys/{key_id}'], - getDeployment: ['GET /repos/{owner}/{repo}/deployments/{deployment_id}'], - getDeploymentStatus: ['GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}'], - getEnvironment: ['GET /repos/{owner}/{repo}/environments/{environment_name}'], - getLatestPagesBuild: ['GET /repos/{owner}/{repo}/pages/builds/latest'], - getLatestRelease: ['GET /repos/{owner}/{repo}/releases/latest'], - getPages: ['GET /repos/{owner}/{repo}/pages'], - getPagesBuild: ['GET /repos/{owner}/{repo}/pages/builds/{build_id}'], - getPagesHealthCheck: ['GET /repos/{owner}/{repo}/pages/health'], - getParticipationStats: ['GET /repos/{owner}/{repo}/stats/participation'], + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" + ], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection" + ], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission" + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}" + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: [ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" + ], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], getPullRequestReviewProtection: [ - 'GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews' - ], - getPunchCardStats: ['GET /repos/{owner}/{repo}/stats/punch_card'], - getReadme: ['GET /repos/{owner}/{repo}/readme'], - getReadmeInDirectory: ['GET /repos/{owner}/{repo}/readme/{dir}'], - getRelease: ['GET /repos/{owner}/{repo}/releases/{release_id}'], - getReleaseAsset: ['GET /repos/{owner}/{repo}/releases/assets/{asset_id}'], - getReleaseByTag: ['GET /repos/{owner}/{repo}/releases/tags/{tag}'], - getStatusChecksProtection: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks'], - getTeamsWithAccessToProtectedBranch: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams'], - getTopPaths: ['GET /repos/{owner}/{repo}/traffic/popular/paths'], - getTopReferrers: ['GET /repos/{owner}/{repo}/traffic/popular/referrers'], - getUsersWithAccessToProtectedBranch: ['GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users'], - getViews: ['GET /repos/{owner}/{repo}/traffic/views'], - getWebhook: ['GET /repos/{owner}/{repo}/hooks/{hook_id}'], - getWebhookConfigForRepo: ['GET /repos/{owner}/{repo}/hooks/{hook_id}/config'], - getWebhookDelivery: ['GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}'], - listAutolinks: ['GET /repos/{owner}/{repo}/autolinks'], - listBranches: ['GET /repos/{owner}/{repo}/branches'], - listBranchesForHeadCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head'], - listCollaborators: ['GET /repos/{owner}/{repo}/collaborators'], - listCommentsForCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/comments'], - listCommitCommentsForRepo: ['GET /repos/{owner}/{repo}/comments'], - listCommitStatusesForRef: ['GET /repos/{owner}/{repo}/commits/{ref}/statuses'], - listCommits: ['GET /repos/{owner}/{repo}/commits'], - listContributors: ['GET /repos/{owner}/{repo}/contributors'], - listDeployKeys: ['GET /repos/{owner}/{repo}/keys'], - listDeploymentStatuses: ['GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses'], - listDeployments: ['GET /repos/{owner}/{repo}/deployments'], - listForAuthenticatedUser: ['GET /user/repos'], - listForOrg: ['GET /orgs/{org}/repos'], - listForUser: ['GET /users/{username}/repos'], - listForks: ['GET /repos/{owner}/{repo}/forks'], - listInvitations: ['GET /repos/{owner}/{repo}/invitations'], - listInvitationsForAuthenticatedUser: ['GET /user/repository_invitations'], - listLanguages: ['GET /repos/{owner}/{repo}/languages'], - listPagesBuilds: ['GET /repos/{owner}/{repo}/pages/builds'], - listPublic: ['GET /repositories'], - listPullRequestsAssociatedWithCommit: ['GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls'], - listReleaseAssets: ['GET /repos/{owner}/{repo}/releases/{release_id}/assets'], - listReleases: ['GET /repos/{owner}/{repo}/releases'], - listTagProtection: ['GET /repos/{owner}/{repo}/tags/protection'], - listTags: ['GET /repos/{owner}/{repo}/tags'], - listTeams: ['GET /repos/{owner}/{repo}/teams'], - listWebhookDeliveries: ['GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries'], - listWebhooks: ['GET /repos/{owner}/{repo}/hooks'], - merge: ['POST /repos/{owner}/{repo}/merges'], - mergeUpstream: ['POST /repos/{owner}/{repo}/merge-upstream'], - pingWebhook: ['POST /repos/{owner}/{repo}/hooks/{hook_id}/pings'], - redeliverWebhookDelivery: ['POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts'], + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: [ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" + ], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + ], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], removeAppAccessRestrictions: [ - 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps', + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, - { - mapToData: 'apps' - } + { mapToData: "apps" } + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}" ], - removeCollaborator: ['DELETE /repos/{owner}/{repo}/collaborators/{username}'], removeStatusCheckContexts: [ - 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts', + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, - { - mapToData: 'contexts' - } + { mapToData: "contexts" } + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" ], - removeStatusCheckProtection: ['DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks'], removeTeamAccessRestrictions: [ - 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams', + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, - { - mapToData: 'teams' - } + { mapToData: "teams" } ], removeUserAccessRestrictions: [ - 'DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users', + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, - { - mapToData: '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" ], - 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', + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, - { - mapToData: 'apps' - } + { mapToData: "apps" } ], setStatusCheckContexts: [ - 'PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts', + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, - { - mapToData: 'contexts' - } + { mapToData: "contexts" } ], setTeamAccessRestrictions: [ - 'PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams', + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, - { - mapToData: 'teams' - } + { mapToData: "teams" } ], setUserAccessRestrictions: [ - 'PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users', + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, - { - mapToData: '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" ], - 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}'], - updateInformationAboutPagesSite: ['PUT /repos/{owner}/{repo}/pages'], - updateInvitation: ['PATCH /repos/{owner}/{repo}/invitations/{invitation_id}'], + 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' + "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}'], + 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', + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, - { - renamed: ['repos', 'updateStatusCheckProtection'] - } + { 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" ], - 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' - } + "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'] + 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: { - getAlert: ['GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}'], - listAlertsForEnterprise: ['GET /enterprises/{enterprise}/secret-scanning/alerts'], - 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'], - updateAlert: ['PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}'] + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/secret-scanning/alerts" + ], + 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" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ] + }, + 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}'], - addOrUpdateProjectPermissionsInOrg: ['PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}'], - addOrUpdateRepoPermissionsInOrg: ['PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}'], - checkPermissionsForProjectInOrg: ['GET /orgs/{org}/teams/{team_slug}/projects/{project_id}'], - 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'], + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + 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}' + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_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}'], + 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'], - listProjectsInOrg: ['GET /orgs/{org}/teams/{team_slug}/projects'], - listReposInOrg: ['GET /orgs/{org}/teams/{team_slug}/repos'], - removeMembershipForUserInOrg: ['DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}'], - removeProjectInOrg: ['DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}'], - removeRepoInOrg: ['DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}'], + "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" + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], updateDiscussionCommentInOrg: [ - 'PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}' + "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}'] + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] }, users: { addEmailForAuthenticated: [ - 'POST /user/emails', + "POST /user/emails", {}, - { - renamed: ['users', 'addEmailForAuthenticatedUser'] - } + { renamed: ["users", "addEmailForAuthenticatedUser"] } ], - addEmailForAuthenticatedUser: ['POST /user/emails'], - block: ['PUT /user/blocks/{username}'], - checkBlocked: ['GET /user/blocks/{username}'], - checkFollowingForUser: ['GET /users/{username}/following/{target_user}'], - checkPersonIsFollowedByAuthenticated: ['GET /user/following/{username}'], + 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', + "POST /user/gpg_keys", {}, - { - renamed: ['users', 'createGpgKeyForAuthenticatedUser'] - } + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } ], - createGpgKeyForAuthenticatedUser: ['POST /user/gpg_keys'], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], createPublicSshKeyForAuthenticated: [ - 'POST /user/keys', + "POST /user/keys", {}, - { - renamed: ['users', 'createPublicSshKeyForAuthenticatedUser'] - } + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } ], - createPublicSshKeyForAuthenticatedUser: ['POST /user/keys'], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], deleteEmailForAuthenticated: [ - 'DELETE /user/emails', + "DELETE /user/emails", {}, - { - renamed: ['users', 'deleteEmailForAuthenticatedUser'] - } + { renamed: ["users", "deleteEmailForAuthenticatedUser"] } ], - deleteEmailForAuthenticatedUser: ['DELETE /user/emails'], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], deleteGpgKeyForAuthenticated: [ - 'DELETE /user/gpg_keys/{gpg_key_id}', + "DELETE /user/gpg_keys/{gpg_key_id}", {}, - { - renamed: ['users', 'deleteGpgKeyForAuthenticatedUser'] - } + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } ], - deleteGpgKeyForAuthenticatedUser: ['DELETE /user/gpg_keys/{gpg_key_id}'], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], deletePublicSshKeyForAuthenticated: [ - 'DELETE /user/keys/{key_id}', + "DELETE /user/keys/{key_id}", {}, - { - renamed: ['users', 'deletePublicSshKeyForAuthenticatedUser'] - } + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: [ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" ], - deletePublicSshKeyForAuthenticatedUser: ['DELETE /user/keys/{key_id}'], - follow: ['PUT /user/following/{username}'], - getAuthenticated: ['GET /user'], - getByUsername: ['GET /users/{username}'], - getContextForUser: ['GET /users/{username}/hovercard'], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], getGpgKeyForAuthenticated: [ - 'GET /user/gpg_keys/{gpg_key_id}', + "GET /user/gpg_keys/{gpg_key_id}", {}, - { - renamed: ['users', 'getGpgKeyForAuthenticatedUser'] - } + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } ], - getGpgKeyForAuthenticatedUser: ['GET /user/gpg_keys/{gpg_key_id}'], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], getPublicSshKeyForAuthenticated: [ - 'GET /user/keys/{key_id}', + "GET /user/keys/{key_id}", {}, - { - renamed: ['users', 'getPublicSshKeyForAuthenticatedUser'] - } + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } ], - getPublicSshKeyForAuthenticatedUser: ['GET /user/keys/{key_id}'], - list: ['GET /users'], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: [ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + list: ["GET /users"], listBlockedByAuthenticated: [ - 'GET /user/blocks', + "GET /user/blocks", {}, - { - renamed: ['users', 'listBlockedByAuthenticatedUser'] - } + { renamed: ["users", "listBlockedByAuthenticatedUser"] } ], - listBlockedByAuthenticatedUser: ['GET /user/blocks'], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], listEmailsForAuthenticated: [ - 'GET /user/emails', + "GET /user/emails", {}, - { - renamed: ['users', 'listEmailsForAuthenticatedUser'] - } + { renamed: ["users", "listEmailsForAuthenticatedUser"] } ], - listEmailsForAuthenticatedUser: ['GET /user/emails'], + listEmailsForAuthenticatedUser: ["GET /user/emails"], listFollowedByAuthenticated: [ - 'GET /user/following', + "GET /user/following", {}, - { - renamed: ['users', 'listFollowedByAuthenticatedUser'] - } + { renamed: ["users", "listFollowedByAuthenticatedUser"] } ], - listFollowedByAuthenticatedUser: ['GET /user/following'], - listFollowersForAuthenticatedUser: ['GET /user/followers'], - listFollowersForUser: ['GET /users/{username}/followers'], - listFollowingForUser: ['GET /users/{username}/following'], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], listGpgKeysForAuthenticated: [ - 'GET /user/gpg_keys', + "GET /user/gpg_keys", {}, - { - renamed: ['users', 'listGpgKeysForAuthenticatedUser'] - } + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } ], - listGpgKeysForAuthenticatedUser: ['GET /user/gpg_keys'], - listGpgKeysForUser: ['GET /users/{username}/gpg_keys'], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], listPublicEmailsForAuthenticated: [ - 'GET /user/public_emails', + "GET /user/public_emails", {}, - { - renamed: ['users', 'listPublicEmailsForAuthenticatedUser'] - } + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } ], - listPublicEmailsForAuthenticatedUser: ['GET /user/public_emails'], - listPublicKeysForUser: ['GET /users/{username}/keys'], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], listPublicSshKeysForAuthenticated: [ - 'GET /user/keys', + "GET /user/keys", {}, - { - renamed: ['users', 'listPublicSshKeysForAuthenticatedUser'] - } + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } ], - listPublicSshKeysForAuthenticatedUser: ['GET /user/keys'], + 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', + "PATCH /user/email/visibility", {}, - { - renamed: ['users', 'setPrimaryEmailVisibilityForAuthenticatedUser'] - } + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility" ], - setPrimaryEmailVisibilityForAuthenticatedUser: ['PATCH /user/email/visibility'], - unblock: ['DELETE /user/blocks/{username}'], - unfollow: ['DELETE /user/following/{username}'], - updateAuthenticated: ['PATCH /user'] + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] } }; - var VERSION = '5.16.2'; - function endpointsToMethods(octokit2, endpointsMap) { - const newMethods = {}; - for (const [scope, endpoints] of Object.entries(endpointsMap)) { - for (const [methodName, endpoint] of Object.entries(endpoints)) { - const [route, defaults, decorations] = endpoint; - const [method, url] = route.split(/ /); - const endpointDefaults = Object.assign( - { - method, - url - }, - defaults + var endpoints_default = Endpoints; + var endpointMethodsMap = /* @__PURE__ */ new Map(); + for (const [scope, endpoints] of Object.entries(endpoints_default)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + 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 + }); + } + } + var 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: octokit2, 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( + octokit2, + scope, + methodName, + endpointDefaults, + decorations ); - if (!newMethods[scope]) { - newMethods[scope] = {}; - } - const scopeMethods = newMethods[scope]; - if (decorations) { - scopeMethods[methodName] = decorate(octokit2, scope, methodName, endpointDefaults, decorations); - continue; - } - scopeMethods[methodName] = octokit2.request.defaults(endpointDefaults); + } else { + cache[methodName] = octokit2.request.defaults(endpointDefaults); } + return cache[methodName]; + } + }; + function endpointsToMethods(octokit2) { + const newMethods = {}; + for (const scope of endpointMethodsMap.keys()) { + newMethods[scope] = new Proxy({ octokit: octokit2, scope, cache: {} }, handler); } return newMethods; } @@ -16037,14 +22535,18 @@ var require_dist_node9 = __commonJS({ } if (decorations.renamed) { const [newScope, newMethodName] = decorations.renamed; - octokit2.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + octokit2.log.warn( + `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` + ); } if (decorations.deprecated) { octokit2.log.warn(decorations.deprecated); } if (decorations.renamedParameters) { const options2 = requestWithDefaults.endpoint.merge(...args); - for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + for (const [name, alias] of Object.entries( + decorations.renamedParameters + )) { if (name in options2) { octokit2.log.warn( `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` @@ -16062,86 +22564,63 @@ var require_dist_node9 = __commonJS({ return Object.assign(withDecorations, requestWithDefaults); } function restEndpointMethods(octokit2) { - const api = endpointsToMethods(octokit2, Endpoints); + const api = endpointsToMethods(octokit2); return { rest: api }; } restEndpointMethods.VERSION = VERSION; function legacyRestEndpointMethods(octokit2) { - const api = endpointsToMethods(octokit2, Endpoints); - return _objectSpread2( - _objectSpread2({}, api), - {}, - { - rest: api - } - ); + const api = endpointsToMethods(octokit2); + return { + ...api, + rest: api + }; } legacyRestEndpointMethods.VERSION = VERSION; - exports2.legacyRestEndpointMethods = legacyRestEndpointMethods; - exports2.restEndpointMethods = restEndpointMethods; } }); // node_modules/@octokit/plugin-paginate-rest/dist-node/index.js var require_dist_node10 = __commonJS({ - 'node_modules/@octokit/plugin-paginate-rest/dist-node/index.js'(exports2) { - 'use strict'; - Object.defineProperty(exports2, '__esModule', { value: true }); - var VERSION = '2.21.3'; - function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - enumerableOnly && - (symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - })), - keys.push.apply(keys, symbols); - } - return keys; - } - function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - i % 2 - ? ownKeys(Object(source), true).forEach(function (key) { - _defineProperty(target, key, source[key]); - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) - : ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); - } - return target; - } - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; + "node_modules/@octokit/plugin-paginate-rest/dist-node/index.js"(exports2, module2) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } - return obj; - } + return to; + }; + var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var dist_src_exports = {}; + __export2(dist_src_exports, { + composePaginateRest: () => composePaginateRest, + isPaginatingEndpoint: () => isPaginatingEndpoint, + paginateRest: () => paginateRest, + paginatingEndpoints: () => paginatingEndpoints + }); + module2.exports = __toCommonJS2(dist_src_exports); + var VERSION = "9.2.2"; function normalizePaginatedListResponse(response) { if (!response.data) { - return _objectSpread2( - _objectSpread2({}, response), - {}, - { - data: [] - } - ); + return { + ...response, + data: [] + }; } - const responseNeedsNormalization = 'total_count' in response.data && !('url' in response.data); - if (!responseNeedsNormalization) return response; + const responseNeedsNormalization = "total_count" 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; @@ -16151,19 +22630,18 @@ var require_dist_node10 = __commonJS({ const namespaceKey = Object.keys(response.data)[0]; const data = response.data[namespaceKey]; response.data = data; - if (typeof incompleteResults !== 'undefined') { + if (typeof incompleteResults !== "undefined") { response.data.incomplete_results = incompleteResults; } - if (typeof repositorySelection !== 'undefined') { + if (typeof repositorySelection !== "undefined") { response.data.repository_selection = repositorySelection; } response.data.total_count = totalCount; return response; } function iterator(octokit2, route, parameters) { - const options = - typeof route === 'function' ? route.endpoint(parameters) : octokit2.request.endpoint(route, parameters); - const requestMethod = typeof route === 'function' ? route : octokit2.request; + const options = typeof route === "function" ? route.endpoint(parameters) : octokit2.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit2.request; const method = options.method; const headers = options.headers; let url = options.url; @@ -16171,23 +22649,18 @@ var require_dist_node10 = __commonJS({ [Symbol.asyncIterator]: () => ({ async next() { if (!url) - return { - done: true - }; + return { done: true }; try { - const response = await requestMethod({ - method, - url, - headers - }); + const response = await requestMethod({ method, url, headers }); const normalizedResponse = normalizePaginatedListResponse(response); - url = ((normalizedResponse.headers.link || '').match(/<([^>]+)>;\s*rel="next"/) || [])[1]; - return { - value: normalizedResponse - }; + url = ((normalizedResponse.headers.link || "").match( + /<([^<>]+)>;\s*rel="next"/ + ) || [])[1]; + return { value: normalizedResponse }; } catch (error) { - if (error.status !== 409) throw error; - url = ''; + if (error.status !== 409) + throw error; + url = ""; return { value: { status: 200, @@ -16201,14 +22674,19 @@ var require_dist_node10 = __commonJS({ }; } function paginate(octokit2, route, parameters, mapFn) { - if (typeof parameters === 'function') { + if (typeof parameters === "function") { mapFn = parameters; parameters = void 0; } - return gather(octokit2, [], iterator(octokit2, route, parameters)[Symbol.asyncIterator](), mapFn); + return gather( + octokit2, + [], + iterator(octokit2, route, parameters)[Symbol.asyncIterator](), + mapFn + ); } function gather(octokit2, results, iterator2, mapFn) { - return iterator2.next().then(result => { + return iterator2.next().then((result) => { if (result.done) { return results; } @@ -16216,7 +22694,9 @@ var require_dist_node10 = __commonJS({ function done() { earlyExit = true; } - results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); if (earlyExit) { return results; } @@ -16227,223 +22707,243 @@ var require_dist_node10 = __commonJS({ iterator }); var paginatingEndpoints = [ - 'GET /app/hook/deliveries', - 'GET /app/installations', - 'GET /applications/grants', - 'GET /authorizations', - 'GET /enterprises/{enterprise}/actions/permissions/organizations', - 'GET /enterprises/{enterprise}/actions/runner-groups', - 'GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations', - 'GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners', - 'GET /enterprises/{enterprise}/actions/runners', - 'GET /enterprises/{enterprise}/audit-log', - 'GET /enterprises/{enterprise}/secret-scanning/alerts', - 'GET /enterprises/{enterprise}/settings/billing/advanced-security', - '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 /orgs/{org}/actions/cache/usage-by-repository', - 'GET /orgs/{org}/actions/permissions/repositories', - 'GET /orgs/{org}/actions/runner-groups', - '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}/audit-log', - 'GET /orgs/{org}/blocks', - 'GET /orgs/{org}/code-scanning/alerts', - 'GET /orgs/{org}/codespaces', - 'GET /orgs/{org}/credential-authorizations', - 'GET /orgs/{org}/dependabot/secrets', - 'GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories', - 'GET /orgs/{org}/events', - 'GET /orgs/{org}/external-groups', - 'GET /orgs/{org}/failed_invitations', - 'GET /orgs/{org}/hooks', - 'GET /orgs/{org}/hooks/{hook_id}/deliveries', - '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}/migrations', - 'GET /orgs/{org}/migrations/{migration_id}/repositories', - 'GET /orgs/{org}/outside_collaborators', - 'GET /orgs/{org}/packages', - 'GET /orgs/{org}/packages/{package_type}/{package_name}/versions', - 'GET /orgs/{org}/projects', - 'GET /orgs/{org}/public_members', - 'GET /orgs/{org}/repos', - 'GET /orgs/{org}/secret-scanning/alerts', - 'GET /orgs/{org}/settings/billing/advanced-security', - 'GET /orgs/{org}/team-sync/groups', - '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/columns/{column_id}/cards', - 'GET /projects/{project_id}/collaborators', - 'GET /projects/{project_id}/columns', - 'GET /repos/{owner}/{repo}/actions/artifacts', - 'GET /repos/{owner}/{repo}/actions/caches', - '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/workflows', - 'GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs', - 'GET /repos/{owner}/{repo}/assignees', - '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}/contributors', - '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}/events', - 'GET /repos/{owner}/{repo}/forks', - 'GET /repos/{owner}/{repo}/git/matching-refs/{ref}', - '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}/events', - 'GET /repos/{owner}/{repo}/issues/{issue_number}/labels', - 'GET /repos/{owner}/{repo}/issues/{issue_number}/reactions', - '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}/requested_reviewers', - '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}/secret-scanning/alerts', - 'GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations', - '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 /repositories/{repository_id}/environments/{environment_name}/secrets', - '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/starred', - 'GET /user/subscriptions', - 'GET /user/teams', - 'GET /users', - '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}/received_events', - 'GET /users/{username}/received_events/public', - 'GET /users/{username}/repos', - 'GET /users/{username}/starred', - 'GET /users/{username}/subscriptions' + "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}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "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 /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "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}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "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}/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}/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}/projects", + "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}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "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/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "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}/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}/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}/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}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "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}/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 /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /repositories/{repository_id}/environments/{environment_name}/variables", + "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}/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}/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" ]; function isPaginatingEndpoint(arg) { - if (typeof arg === 'string') { + if (typeof arg === "string") { return paginatingEndpoints.includes(arg); } else { return false; @@ -16457,57 +22957,44 @@ var require_dist_node10 = __commonJS({ }; } paginateRest.VERSION = VERSION; - exports2.composePaginateRest = composePaginateRest; - exports2.isPaginatingEndpoint = isPaginatingEndpoint; - exports2.paginateRest = paginateRest; - exports2.paginatingEndpoints = paginatingEndpoints; } }); // node_modules/@actions/github/lib/utils.js var require_utils4 = __commonJS({ - 'node_modules/@actions/github/lib/utils.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__createBinding) || - (Object.create - ? function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[k]; - } - }); - } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/@actions/github/lib/utils.js"(exports2) { + "use strict"; + var __createBinding = 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 __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = 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)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getOctokitOptions = exports2.GitHub = exports2.defaults = exports2.context = void 0; var Context = __importStar(require_context()); - var Utils = __importStar(require_utils2()); + var Utils = __importStar(require_utils3()); var core_1 = require_dist_node8(); var plugin_rest_endpoint_methods_1 = require_dist_node9(); var plugin_paginate_rest_1 = require_dist_node10(); @@ -16516,13 +23003,11 @@ var require_utils4 = __commonJS({ exports2.defaults = { baseUrl, request: { - agent: Utils.getProxyAgent(baseUrl) + 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); + exports2.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports2.defaults); function getOctokitOptions(token2, options) { const opts = Object.assign({}, options || {}); const auth = Utils.getAuthString(token2, opts); @@ -16537,52 +23022,43 @@ var require_utils4 = __commonJS({ // node_modules/@actions/github/lib/github.js var require_github = __commonJS({ - 'node_modules/@actions/github/lib/github.js'(exports2) { - 'use strict'; - var __createBinding = - (exports2 && exports2.__createBinding) || - (Object.create - ? function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - Object.defineProperty(o, k2, { - enumerable: true, - get: function () { - return m[k]; - } - }); - } - : function (o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = - (exports2 && exports2.__setModuleDefault) || - (Object.create - ? function (o, v) { - Object.defineProperty(o, 'default', { enumerable: true, value: v }); - } - : function (o, v) { - o['default'] = v; - }); - var __importStar = - (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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, '__esModule', { value: true }); + "node_modules/@actions/github/lib/github.js"(exports2) { + "use strict"; + var __createBinding = 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 __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = 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)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getOctokit = exports2.context = void 0; var Context = __importStar(require_context()); var utils_1 = require_utils4(); exports2.context = new Context.Context(); function getOctokit(token2, options, ...additionalPlugins) { const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); - return new GitHubWithPlugins(utils_1.getOctokitOptions(token2, options)); + return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token2, options)); } exports2.getOctokit = getOctokit; } @@ -16595,34 +23071,34 @@ var requiredArgOptions = { required: true, trimWhitespace: true }; -var fileInput = core.getInput('files-with-code') || ''; -var filesToCheckForChanges = fileInput && fileInput.length > 0 ? fileInput.split(',') : null; -var folderInput = core.getInput('folders-with-code') || ''; -var foldersToCheckForChanges = folderInput && folderInput.length > 0 ? folderInput.split(',') : null; -var prNumber = core.getInput('pr-number') || github.context.issue.number; -var org = core.getInput('org') || github.context.repo.owner; -var repo = core.getInput('repo') || github.context.repo.repo; -var token = core.getInput('token', requiredArgOptions); +var fileInput = core.getInput("files-with-code") || ""; +var filesToCheckForChanges = fileInput && fileInput.length > 0 ? fileInput.split(",") : null; +var folderInput = core.getInput("folders-with-code") || ""; +var foldersToCheckForChanges = folderInput && folderInput.length > 0 ? folderInput.split(",") : null; +var prNumber = core.getInput("pr-number") || github.context.issue.number; +var org = core.getInput("org") || github.context.repo.owner; +var repo = core.getInput("repo") || github.context.repo.repo; +var token = core.getInput("token", requiredArgOptions); var octokit = github.getOctokit(token); function getPrFolders(prFiles) { - const prFoldersSet = new Set(); + const prFoldersSet = /* @__PURE__ */ new Set(); if (prFiles) { - prFiles.forEach(f => { - const folder = f.substring(0, f.lastIndexOf('/')); + prFiles.forEach((f) => { + const folder = f.substring(0, f.lastIndexOf("/")); prFoldersSet.add(folder); - let baseFolder = ''; - folder.split('/').forEach((fp, index) => { + let baseFolder = ""; + folder.split("/").forEach((fp, index) => { prFoldersSet.add(fp); baseFolder = index === 0 ? fp : `${baseFolder}/${fp}`; prFoldersSet.add(baseFolder); }); }); } - const prFolders = Array.from(prFoldersSet).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); + const prFolders = Array.from(prFoldersSet).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); if (prFolders.length > 0) { core.info(` The following folders have changes in the PR: - ${prFolders.join('\n ')}`); + ${prFolders.join("\n ")}`); } else { core.info(` No folders had changes in the PR.`); @@ -16630,35 +23106,32 @@ No folders had changes in the PR.`); return prFolders; } async function getPRFiles(org2, repo2, prNumber2) { - const prFilesSet = new Set(); - await octokit - .paginate(octokit.rest.pulls.listFiles, { - owner: org2, - repo: repo2, - pull_number: prNumber2 - }) - .then(prFileResponse => { - const prFiles = prFileResponse.map(prf => prf.filename).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); - prFiles.forEach(f => { - const fileParts = f.split('/'); - prFilesSet.add(fileParts[fileParts.length - 1]); - prFilesSet.add(f); - }); - }) - .catch(error => { - core.error(` -An error occurred retrieving the PR files: ${error.message}`); + const prFilesSet = /* @__PURE__ */ new Set(); + await octokit.paginate(octokit.rest.pulls.listFiles, { + owner: org2, + repo: repo2, + pull_number: prNumber2 + }).then((prFileResponse) => { + const prFiles = prFileResponse.map((prf) => prf.filename).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); + prFiles.forEach((f) => { + const fileParts = f.split("/"); + prFilesSet.add(fileParts[fileParts.length - 1]); + prFilesSet.add(f); }); - const filesToReturn = Array.from(prFilesSet).sort((a, b) => (a > b ? 1 : b > a ? -1 : 0)); + }).catch((error) => { + core.error(` +An error occurred retrieving the PR files: ${error.message}`); + }); + const filesToReturn = Array.from(prFilesSet).sort((a, b) => a > b ? 1 : b > a ? -1 : 0); core.info(` The following files have changes in the PR: - ${filesToReturn.join('\n ')}`); + ${filesToReturn.join("\n ")}`); return filesToReturn; } async function run() { const eventName = github.context.eventName; - if (eventName !== 'pull_request' && eventName !== 'pull_request_target') { - core.setFailed('The workflow must have a pull_request or pull_request_target trigger.'); + if (eventName !== "pull_request" && eventName !== "pull_request_target") { + core.setFailed("The workflow must have a pull_request or pull_request_target trigger."); return; } core.info(`org: ${org}`); @@ -16670,32 +23143,36 @@ async function run() { let matchingFiles = []; let matchingFolders = []; if (filesToCheckForChanges && filesToCheckForChanges.length > 0) { - matchingFiles = filesToCheckForChanges.filter(f => filesChangedInPr.includes(f)) || []; + matchingFiles = filesToCheckForChanges.filter((f) => filesChangedInPr.includes(f)) || []; if (matchingFiles.length > 0) { hasMatchingChanges = true; const joinedFiles = ` - ${matchingFiles.join('\n ')}`; + ${matchingFiles.join("\n ")}`; core.info(` The following files have changes in the PR and match the files to check for changes:${joinedFiles}`); } } if (foldersToCheckForChanges && foldersToCheckForChanges.length > 0) { - matchingFolders = foldersToCheckForChanges.filter(f => foldersChangedInPr.includes(f)) || []; + matchingFolders = foldersToCheckForChanges.filter((f) => foldersChangedInPr.includes(f)) || []; if (matchingFolders.length > 0) { hasMatchingChanges = true; const joinedFolders = ` - ${matchingFolders.join('\n ')}`; - core.info(` -The following folders have changes in the PR and match the folders to check for changes:${joinedFolders}`); + ${matchingFolders.join("\n ")}`; + core.info( + ` +The following folders have changes in the PR and match the folders to check for changes:${joinedFolders}` + ); } } - core.setOutput('HAS_CHANGES', hasMatchingChanges); - core.exportVariable('CODE_HAS_CHANGED', hasMatchingChanges); + core.setOutput("HAS_CHANGES", hasMatchingChanges); + core.exportVariable("CODE_HAS_CHANGED", hasMatchingChanges); } run(); -/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ +/*! Bundled license information: + +undici/lib/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting *) + +undici/lib/websocket/frame.js: + (*! ws. MIT License. Einar Otto Stangvik *) +*/ diff --git a/.github/actions/did-custom-action-code-change/package-lock.json b/.github/actions/did-custom-action-code-change/package-lock.json index 0f51c21..8f416f8 100644 --- a/.github/actions/did-custom-action-code-change/package-lock.json +++ b/.github/actions/did-custom-action-code-change/package-lock.json @@ -13,7 +13,7 @@ "@actions/github": "^6.0.0" }, "devDependencies": { - "esbuild": "^0.12.29", + "esbuild": "^0.25.0", "install": "^0.13.0", "prettier": "^2.7.1" } @@ -48,6 +48,448 @@ "undici": "^5.25.4" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@fastify/busboy": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", @@ -228,12 +670,45 @@ "license": "ISC" }, "node_modules/esbuild": { - "version": "0.12.29", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, "license": "MIT", "bin": { "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, "node_modules/install": { @@ -334,6 +809,188 @@ "undici": "^5.25.4" } }, + "@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "dev": true, + "optional": true + }, + "@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "dev": true, + "optional": true + }, "@fastify/busboy": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", @@ -468,8 +1125,38 @@ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" }, "esbuild": { - "version": "0.12.29", - "dev": true + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } }, "install": { "version": "0.13.0", diff --git a/.github/actions/did-custom-action-code-change/package.json b/.github/actions/did-custom-action-code-change/package.json index eb83744..7a8da64 100644 --- a/.github/actions/did-custom-action-code-change/package.json +++ b/.github/actions/did-custom-action-code-change/package.json @@ -17,7 +17,7 @@ "@actions/github": "^6.0.0" }, "devDependencies": { - "esbuild": "^0.12.29", + "esbuild": "^0.25.0", "install": "^0.13.0", "prettier": "^2.7.1" }