#!/usr/bin/env node
import e, { _ as t, a as n, c as r, d as i, f as a, g as o, h as s, i as c, l, m as u, n as d, o as f, p, r as m, s as h, t as g, u as _, v, y } from "./index.js";
import b from "path";
import x from "os";
import S, { env as C } from "node:process";
import w from "node:os";
import T from "node:path";
import { fileURLToPath as E } from "node:url";
import { format as D, promisify as O } from "node:util";
import k from "node:fs";
import { spawn as ee } from "node:child_process";
//#region node_modules/commander/lib/error.js
var te = /* @__PURE__ */ u(((e) => {
	var t = class extends Error {
		constructor(e, t, n) {
			super(n), Error.captureStackTrace(this, this.constructor), this.name = this.constructor.name, this.code = t, this.exitCode = e, this.nestedError = void 0;
		}
	}, n = class extends t {
		constructor(e) {
			super(1, "commander.invalidArgument", e), Error.captureStackTrace(this, this.constructor), this.name = this.constructor.name;
		}
	};
	e.CommanderError = t, e.InvalidArgumentError = n;
})), ne = /* @__PURE__ */ u(((e) => {
	var { InvalidArgumentError: t } = te(), n = class {
		constructor(e, t) {
			switch (this.description = t || "", this.variadic = !1, this.parseArg = void 0, this.defaultValue = void 0, this.defaultValueDescription = void 0, this.argChoices = void 0, e[0]) {
				case "<":
					this.required = !0, this._name = e.slice(1, -1);
					break;
				case "[":
					this.required = !1, this._name = e.slice(1, -1);
					break;
				default:
					this.required = !0, this._name = e;
					break;
			}
			this._name.endsWith("...") && (this.variadic = !0, this._name = this._name.slice(0, -3));
		}
		name() {
			return this._name;
		}
		_collectValue(e, t) {
			return t === this.defaultValue || !Array.isArray(t) ? [e] : (t.push(e), t);
		}
		default(e, t) {
			return this.defaultValue = e, this.defaultValueDescription = t, this;
		}
		argParser(e) {
			return this.parseArg = e, this;
		}
		choices(e) {
			return this.argChoices = e.slice(), this.parseArg = (e, n) => {
				if (!this.argChoices.includes(e)) throw new t(`Allowed choices are ${this.argChoices.join(", ")}.`);
				return this.variadic ? this._collectValue(e, n) : e;
			}, this;
		}
		argRequired() {
			return this.required = !0, this;
		}
		argOptional() {
			return this.required = !1, this;
		}
	};
	function r(e) {
		let t = e.name() + (e.variadic === !0 ? "..." : "");
		return e.required ? "<" + t + ">" : "[" + t + "]";
	}
	e.Argument = n, e.humanReadableArgName = r;
})), re = /* @__PURE__ */ u(((e) => {
	var { humanReadableArgName: t } = ne(), n = class {
		constructor() {
			this.helpWidth = void 0, this.minWidthToWrap = 40, this.sortSubcommands = !1, this.sortOptions = !1, this.showGlobalOptions = !1;
		}
		prepareContext(e) {
			this.helpWidth = this.helpWidth ?? e.helpWidth ?? 80;
		}
		visibleCommands(e) {
			let t = e.commands.filter((e) => !e._hidden), n = e._getHelpCommand();
			return n && !n._hidden && t.push(n), this.sortSubcommands && t.sort((e, t) => e.name().localeCompare(t.name())), t;
		}
		compareOptions(e, t) {
			let n = (e) => e.short ? e.short.replace(/^-/, "") : e.long.replace(/^--/, "");
			return n(e).localeCompare(n(t));
		}
		visibleOptions(e) {
			let t = e.options.filter((e) => !e.hidden), n = e._getHelpOption();
			if (n && !n.hidden) {
				let r = n.short && e._findOption(n.short), i = n.long && e._findOption(n.long);
				!r && !i ? t.push(n) : n.long && !i ? t.push(e.createOption(n.long, n.description)) : n.short && !r && t.push(e.createOption(n.short, n.description));
			}
			return this.sortOptions && t.sort(this.compareOptions), t;
		}
		visibleGlobalOptions(e) {
			if (!this.showGlobalOptions) return [];
			let t = [];
			for (let n = e.parent; n; n = n.parent) {
				let e = n.options.filter((e) => !e.hidden);
				t.push(...e);
			}
			return this.sortOptions && t.sort(this.compareOptions), t;
		}
		visibleArguments(e) {
			return e._argsDescription && e.registeredArguments.forEach((t) => {
				t.description = t.description || e._argsDescription[t.name()] || "";
			}), e.registeredArguments.find((e) => e.description) ? e.registeredArguments : [];
		}
		subcommandTerm(e) {
			let n = e.registeredArguments.map((e) => t(e)).join(" ");
			return e._name + (e._aliases[0] ? "|" + e._aliases[0] : "") + (e.options.length ? " [options]" : "") + (n ? " " + n : "");
		}
		optionTerm(e) {
			return e.flags;
		}
		argumentTerm(e) {
			return e.name();
		}
		longestSubcommandTermLength(e, t) {
			return t.visibleCommands(e).reduce((e, n) => Math.max(e, this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))), 0);
		}
		longestOptionTermLength(e, t) {
			return t.visibleOptions(e).reduce((e, n) => Math.max(e, this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))), 0);
		}
		longestGlobalOptionTermLength(e, t) {
			return t.visibleGlobalOptions(e).reduce((e, n) => Math.max(e, this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))), 0);
		}
		longestArgumentTermLength(e, t) {
			return t.visibleArguments(e).reduce((e, n) => Math.max(e, this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))), 0);
		}
		commandUsage(e) {
			let t = e._name;
			e._aliases[0] && (t = t + "|" + e._aliases[0]);
			let n = "";
			for (let t = e.parent; t; t = t.parent) n = t.name() + " " + n;
			return n + t + " " + e.usage();
		}
		commandDescription(e) {
			return e.description();
		}
		subcommandDescription(e) {
			return e.summary() || e.description();
		}
		optionDescription(e) {
			let t = [];
			if (e.argChoices && t.push(`choices: ${e.argChoices.map((e) => JSON.stringify(e)).join(", ")}`), e.defaultValue !== void 0 && (e.required || e.optional || e.isBoolean() && typeof e.defaultValue == "boolean") && t.push(`default: ${e.defaultValueDescription || JSON.stringify(e.defaultValue)}`), e.presetArg !== void 0 && e.optional && t.push(`preset: ${JSON.stringify(e.presetArg)}`), e.envVar !== void 0 && t.push(`env: ${e.envVar}`), t.length > 0) {
				let n = `(${t.join(", ")})`;
				return e.description ? `${e.description} ${n}` : n;
			}
			return e.description;
		}
		argumentDescription(e) {
			let t = [];
			if (e.argChoices && t.push(`choices: ${e.argChoices.map((e) => JSON.stringify(e)).join(", ")}`), e.defaultValue !== void 0 && t.push(`default: ${e.defaultValueDescription || JSON.stringify(e.defaultValue)}`), t.length > 0) {
				let n = `(${t.join(", ")})`;
				return e.description ? `${e.description} ${n}` : n;
			}
			return e.description;
		}
		formatItemList(e, t, n) {
			return t.length === 0 ? [] : [
				n.styleTitle(e),
				...t,
				""
			];
		}
		groupItems(e, t, n) {
			let r = /* @__PURE__ */ new Map();
			return e.forEach((e) => {
				let t = n(e);
				r.has(t) || r.set(t, []);
			}), t.forEach((e) => {
				let t = n(e);
				r.has(t) || r.set(t, []), r.get(t).push(e);
			}), r;
		}
		formatHelp(e, t) {
			let n = t.padWidth(e, t), r = t.helpWidth ?? 80;
			function i(e, r) {
				return t.formatItem(e, n, r, t);
			}
			let a = [`${t.styleTitle("Usage:")} ${t.styleUsage(t.commandUsage(e))}`, ""], o = t.commandDescription(e);
			o.length > 0 && (a = a.concat([t.boxWrap(t.styleCommandDescription(o), r), ""]));
			let s = t.visibleArguments(e).map((e) => i(t.styleArgumentTerm(t.argumentTerm(e)), t.styleArgumentDescription(t.argumentDescription(e))));
			if (a = a.concat(this.formatItemList("Arguments:", s, t)), this.groupItems(e.options, t.visibleOptions(e), (e) => e.helpGroupHeading ?? "Options:").forEach((e, n) => {
				let r = e.map((e) => i(t.styleOptionTerm(t.optionTerm(e)), t.styleOptionDescription(t.optionDescription(e))));
				a = a.concat(this.formatItemList(n, r, t));
			}), t.showGlobalOptions) {
				let n = t.visibleGlobalOptions(e).map((e) => i(t.styleOptionTerm(t.optionTerm(e)), t.styleOptionDescription(t.optionDescription(e))));
				a = a.concat(this.formatItemList("Global Options:", n, t));
			}
			return this.groupItems(e.commands, t.visibleCommands(e), (e) => e.helpGroup() || "Commands:").forEach((e, n) => {
				let r = e.map((e) => i(t.styleSubcommandTerm(t.subcommandTerm(e)), t.styleSubcommandDescription(t.subcommandDescription(e))));
				a = a.concat(this.formatItemList(n, r, t));
			}), a.join("\n");
		}
		displayWidth(e) {
			return r(e).length;
		}
		styleTitle(e) {
			return e;
		}
		styleUsage(e) {
			return e.split(" ").map((e) => e === "[options]" ? this.styleOptionText(e) : e === "[command]" ? this.styleSubcommandText(e) : e[0] === "[" || e[0] === "<" ? this.styleArgumentText(e) : this.styleCommandText(e)).join(" ");
		}
		styleCommandDescription(e) {
			return this.styleDescriptionText(e);
		}
		styleOptionDescription(e) {
			return this.styleDescriptionText(e);
		}
		styleSubcommandDescription(e) {
			return this.styleDescriptionText(e);
		}
		styleArgumentDescription(e) {
			return this.styleDescriptionText(e);
		}
		styleDescriptionText(e) {
			return e;
		}
		styleOptionTerm(e) {
			return this.styleOptionText(e);
		}
		styleSubcommandTerm(e) {
			return e.split(" ").map((e) => e === "[options]" ? this.styleOptionText(e) : e[0] === "[" || e[0] === "<" ? this.styleArgumentText(e) : this.styleSubcommandText(e)).join(" ");
		}
		styleArgumentTerm(e) {
			return this.styleArgumentText(e);
		}
		styleOptionText(e) {
			return e;
		}
		styleArgumentText(e) {
			return e;
		}
		styleSubcommandText(e) {
			return e;
		}
		styleCommandText(e) {
			return e;
		}
		padWidth(e, t) {
			return Math.max(t.longestOptionTermLength(e, t), t.longestGlobalOptionTermLength(e, t), t.longestSubcommandTermLength(e, t), t.longestArgumentTermLength(e, t));
		}
		preformatted(e) {
			return /\n[^\S\r\n]/.test(e);
		}
		formatItem(e, t, n, r) {
			let i = " ".repeat(2);
			if (!n) return i + e;
			let a = e.padEnd(t + e.length - r.displayWidth(e)), o = (this.helpWidth ?? 80) - t - 2 - 2, s;
			return s = o < this.minWidthToWrap || r.preformatted(n) ? n : r.boxWrap(n, o).replace(/\n/g, "\n" + " ".repeat(t + 2)), i + a + " ".repeat(2) + s.replace(/\n/g, `\n${i}`);
		}
		boxWrap(e, t) {
			if (t < this.minWidthToWrap) return e;
			let n = e.split(/\r\n|\n/), r = /[\s]*[^\s]+/g, i = [];
			return n.forEach((e) => {
				let n = e.match(r);
				if (n === null) {
					i.push("");
					return;
				}
				let a = [n.shift()], o = this.displayWidth(a[0]);
				n.forEach((e) => {
					let n = this.displayWidth(e);
					if (o + n <= t) {
						a.push(e), o += n;
						return;
					}
					i.push(a.join(""));
					let r = e.trimStart();
					a = [r], o = this.displayWidth(r);
				}), i.push(a.join(""));
			}), i.join("\n");
		}
	};
	function r(e) {
		return e.replace(/\x1b\[\d*(;\d*)*m/g, "");
	}
	e.Help = n, e.stripColor = r;
})), ie = /* @__PURE__ */ u(((e) => {
	var { InvalidArgumentError: t } = te(), n = class {
		constructor(e, t) {
			this.flags = e, this.description = t || "", this.required = e.includes("<"), this.optional = e.includes("["), this.variadic = /\w\.\.\.[>\]]$/.test(e), this.mandatory = !1;
			let n = a(e);
			this.short = n.shortFlag, this.long = n.longFlag, this.negate = !1, this.long && (this.negate = this.long.startsWith("--no-")), this.defaultValue = void 0, this.defaultValueDescription = void 0, this.presetArg = void 0, this.envVar = void 0, this.parseArg = void 0, this.hidden = !1, this.argChoices = void 0, this.conflictsWith = [], this.implied = void 0, this.helpGroupHeading = void 0;
		}
		default(e, t) {
			return this.defaultValue = e, this.defaultValueDescription = t, this;
		}
		preset(e) {
			return this.presetArg = e, this;
		}
		conflicts(e) {
			return this.conflictsWith = this.conflictsWith.concat(e), this;
		}
		implies(e) {
			let t = e;
			return typeof e == "string" && (t = { [e]: !0 }), this.implied = Object.assign(this.implied || {}, t), this;
		}
		env(e) {
			return this.envVar = e, this;
		}
		argParser(e) {
			return this.parseArg = e, this;
		}
		makeOptionMandatory(e = !0) {
			return this.mandatory = !!e, this;
		}
		hideHelp(e = !0) {
			return this.hidden = !!e, this;
		}
		_collectValue(e, t) {
			return t === this.defaultValue || !Array.isArray(t) ? [e] : (t.push(e), t);
		}
		choices(e) {
			return this.argChoices = e.slice(), this.parseArg = (e, n) => {
				if (!this.argChoices.includes(e)) throw new t(`Allowed choices are ${this.argChoices.join(", ")}.`);
				return this.variadic ? this._collectValue(e, n) : e;
			}, this;
		}
		name() {
			return this.long ? this.long.replace(/^--/, "") : this.short.replace(/^-/, "");
		}
		attributeName() {
			return this.negate ? i(this.name().replace(/^no-/, "")) : i(this.name());
		}
		helpGroup(e) {
			return this.helpGroupHeading = e, this;
		}
		is(e) {
			return this.short === e || this.long === e;
		}
		isBoolean() {
			return !this.required && !this.optional && !this.negate;
		}
	}, r = class {
		constructor(e) {
			this.positiveOptions = /* @__PURE__ */ new Map(), this.negativeOptions = /* @__PURE__ */ new Map(), this.dualOptions = /* @__PURE__ */ new Set(), e.forEach((e) => {
				e.negate ? this.negativeOptions.set(e.attributeName(), e) : this.positiveOptions.set(e.attributeName(), e);
			}), this.negativeOptions.forEach((e, t) => {
				this.positiveOptions.has(t) && this.dualOptions.add(t);
			});
		}
		valueFromOption(e, t) {
			let n = t.attributeName();
			if (!this.dualOptions.has(n)) return !0;
			let r = this.negativeOptions.get(n).presetArg, i = r === void 0 ? !1 : r;
			return t.negate === (i === e);
		}
	};
	function i(e) {
		return e.split("-").reduce((e, t) => e + t[0].toUpperCase() + t.slice(1));
	}
	function a(e) {
		let t, n, r = /^-[^-]$/, i = /^--[^-]/, a = e.split(/[ |,]+/).concat("guard");
		if (r.test(a[0]) && (t = a.shift()), i.test(a[0]) && (n = a.shift()), !t && r.test(a[0]) && (t = a.shift()), !t && i.test(a[0]) && (t = n, n = a.shift()), a[0].startsWith("-")) {
			let t = a[0], n = `option creation failed due to '${t}' in option flags '${e}'`;
			throw /^-[^-][^-]/.test(t) ? Error(`${n}
- a short flag is a single dash and a single character
  - either use a single dash and a single character (for a short flag)
  - or use a double dash for a long option (and can have two, like '--ws, --workspace')`) : r.test(t) ? Error(`${n}
- too many short flags`) : i.test(t) ? Error(`${n}
- too many long flags`) : Error(`${n}
- unrecognised flag format`);
		}
		if (t === void 0 && n === void 0) throw Error(`option creation failed due to no flags found in '${e}'.`);
		return {
			shortFlag: t,
			longFlag: n
		};
	}
	e.Option = n, e.DualOptions = r;
})), ae = /* @__PURE__ */ u(((e) => {
	var t = 3;
	function n(e, n) {
		if (Math.abs(e.length - n.length) > t) return Math.max(e.length, n.length);
		let r = [];
		for (let t = 0; t <= e.length; t++) r[t] = [t];
		for (let e = 0; e <= n.length; e++) r[0][e] = e;
		for (let t = 1; t <= n.length; t++) for (let i = 1; i <= e.length; i++) {
			let a = 1;
			a = e[i - 1] === n[t - 1] ? 0 : 1, r[i][t] = Math.min(r[i - 1][t] + 1, r[i][t - 1] + 1, r[i - 1][t - 1] + a), i > 1 && t > 1 && e[i - 1] === n[t - 2] && e[i - 2] === n[t - 1] && (r[i][t] = Math.min(r[i][t], r[i - 2][t - 2] + 1));
		}
		return r[e.length][n.length];
	}
	function r(e, r) {
		if (!r || r.length === 0) return "";
		r = Array.from(new Set(r));
		let i = e.startsWith("--");
		i && (e = e.slice(2), r = r.map((e) => e.slice(2)));
		let a = [], o = t;
		return r.forEach((t) => {
			if (t.length <= 1) return;
			let r = n(e, t), i = Math.max(e.length, t.length);
			(i - r) / i > .4 && (r < o ? (o = r, a = [t]) : r === o && a.push(t));
		}), a.sort((e, t) => e.localeCompare(t)), i && (a = a.map((e) => `--${e}`)), a.length > 1 ? `\n(Did you mean one of ${a.join(", ")}?)` : a.length === 1 ? `\n(Did you mean ${a[0]}?)` : "";
	}
	e.suggestSimilar = r;
})), oe = /* @__PURE__ */ u(((e) => {
	var n = t("node:events").EventEmitter, r = t("node:child_process"), i = t("node:path"), a = t("node:fs"), o = t("node:process"), { Argument: s, humanReadableArgName: c } = ne(), { CommanderError: l } = te(), { Help: u, stripColor: d } = re(), { Option: f, DualOptions: p } = ie(), { suggestSimilar: m } = ae(), h = class e extends n {
		constructor(e) {
			super(), this.commands = [], this.options = [], this.parent = null, this._allowUnknownOption = !1, this._allowExcessArguments = !1, this.registeredArguments = [], this._args = this.registeredArguments, this.args = [], this.rawArgs = [], this.processedArgs = [], this._scriptPath = null, this._name = e || "", this._optionValues = {}, this._optionValueSources = {}, this._storeOptionsAsProperties = !1, this._actionHandler = null, this._executableHandler = !1, this._executableFile = null, this._executableDir = null, this._defaultCommandName = null, this._exitCallback = null, this._aliases = [], this._combineFlagAndOptionalValue = !0, this._description = "", this._summary = "", this._argsDescription = void 0, this._enablePositionalOptions = !1, this._passThroughOptions = !1, this._lifeCycleHooks = {}, this._showHelpAfterError = !1, this._showSuggestionAfterError = !0, this._savedState = null, this._outputConfiguration = {
				writeOut: (e) => o.stdout.write(e),
				writeErr: (e) => o.stderr.write(e),
				outputError: (e, t) => t(e),
				getOutHelpWidth: () => o.stdout.isTTY ? o.stdout.columns : void 0,
				getErrHelpWidth: () => o.stderr.isTTY ? o.stderr.columns : void 0,
				getOutHasColors: () => _() ?? (o.stdout.isTTY && o.stdout.hasColors?.()),
				getErrHasColors: () => _() ?? (o.stderr.isTTY && o.stderr.hasColors?.()),
				stripColor: (e) => d(e)
			}, this._hidden = !1, this._helpOption = void 0, this._addImplicitHelpCommand = void 0, this._helpCommand = void 0, this._helpConfiguration = {}, this._helpGroupHeading = void 0, this._defaultCommandGroup = void 0, this._defaultOptionGroup = void 0;
		}
		copyInheritedSettings(e) {
			return this._outputConfiguration = e._outputConfiguration, this._helpOption = e._helpOption, this._helpCommand = e._helpCommand, this._helpConfiguration = e._helpConfiguration, this._exitCallback = e._exitCallback, this._storeOptionsAsProperties = e._storeOptionsAsProperties, this._combineFlagAndOptionalValue = e._combineFlagAndOptionalValue, this._allowExcessArguments = e._allowExcessArguments, this._enablePositionalOptions = e._enablePositionalOptions, this._showHelpAfterError = e._showHelpAfterError, this._showSuggestionAfterError = e._showSuggestionAfterError, this;
		}
		_getCommandAndAncestors() {
			let e = [];
			for (let t = this; t; t = t.parent) e.push(t);
			return e;
		}
		command(e, t, n) {
			let r = t, i = n;
			typeof r == "object" && r && (i = r, r = null), i ||= {};
			let [, a, o] = e.match(/([^ ]+) *(.*)/), s = this.createCommand(a);
			return r && (s.description(r), s._executableHandler = !0), i.isDefault && (this._defaultCommandName = s._name), s._hidden = !!(i.noHelp || i.hidden), s._executableFile = i.executableFile || null, o && s.arguments(o), this._registerCommand(s), s.parent = this, s.copyInheritedSettings(this), r ? this : s;
		}
		createCommand(t) {
			return new e(t);
		}
		createHelp() {
			return Object.assign(new u(), this.configureHelp());
		}
		configureHelp(e) {
			return e === void 0 ? this._helpConfiguration : (this._helpConfiguration = e, this);
		}
		configureOutput(e) {
			return e === void 0 ? this._outputConfiguration : (this._outputConfiguration = {
				...this._outputConfiguration,
				...e
			}, this);
		}
		showHelpAfterError(e = !0) {
			return typeof e != "string" && (e = !!e), this._showHelpAfterError = e, this;
		}
		showSuggestionAfterError(e = !0) {
			return this._showSuggestionAfterError = !!e, this;
		}
		addCommand(e, t) {
			if (!e._name) throw Error("Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()");
			return t ||= {}, t.isDefault && (this._defaultCommandName = e._name), (t.noHelp || t.hidden) && (e._hidden = !0), this._registerCommand(e), e.parent = this, e._checkForBrokenPassThrough(), this;
		}
		createArgument(e, t) {
			return new s(e, t);
		}
		argument(e, t, n, r) {
			let i = this.createArgument(e, t);
			return typeof n == "function" ? i.default(r).argParser(n) : i.default(n), this.addArgument(i), this;
		}
		arguments(e) {
			return e.trim().split(/ +/).forEach((e) => {
				this.argument(e);
			}), this;
		}
		addArgument(e) {
			let t = this.registeredArguments.slice(-1)[0];
			if (t?.variadic) throw Error(`only the last argument can be variadic '${t.name()}'`);
			if (e.required && e.defaultValue !== void 0 && e.parseArg === void 0) throw Error(`a default value for a required argument is never used: '${e.name()}'`);
			return this.registeredArguments.push(e), this;
		}
		helpCommand(e, t) {
			if (typeof e == "boolean") return this._addImplicitHelpCommand = e, e && this._defaultCommandGroup && this._initCommandGroup(this._getHelpCommand()), this;
			let [, n, r] = (e ?? "help [command]").match(/([^ ]+) *(.*)/), i = t ?? "display help for command", a = this.createCommand(n);
			return a.helpOption(!1), r && a.arguments(r), i && a.description(i), this._addImplicitHelpCommand = !0, this._helpCommand = a, (e || t) && this._initCommandGroup(a), this;
		}
		addHelpCommand(e, t) {
			return typeof e == "object" ? (this._addImplicitHelpCommand = !0, this._helpCommand = e, this._initCommandGroup(e), this) : (this.helpCommand(e, t), this);
		}
		_getHelpCommand() {
			return this._addImplicitHelpCommand ?? (this.commands.length && !this._actionHandler && !this._findCommand("help")) ? (this._helpCommand === void 0 && this.helpCommand(void 0, void 0), this._helpCommand) : null;
		}
		hook(e, t) {
			let n = [
				"preSubcommand",
				"preAction",
				"postAction"
			];
			if (!n.includes(e)) throw Error(`Unexpected value for event passed to hook : '${e}'.
Expecting one of '${n.join("', '")}'`);
			return this._lifeCycleHooks[e] ? this._lifeCycleHooks[e].push(t) : this._lifeCycleHooks[e] = [t], this;
		}
		exitOverride(e) {
			return e ? this._exitCallback = e : this._exitCallback = (e) => {
				if (e.code !== "commander.executeSubCommandAsync") throw e;
			}, this;
		}
		_exit(e, t, n) {
			this._exitCallback && this._exitCallback(new l(e, t, n)), o.exit(e);
		}
		action(e) {
			let t = (t) => {
				let n = this.registeredArguments.length, r = t.slice(0, n);
				return this._storeOptionsAsProperties ? r[n] = this : r[n] = this.opts(), r.push(this), e.apply(this, r);
			};
			return this._actionHandler = t, this;
		}
		createOption(e, t) {
			return new f(e, t);
		}
		_callParseArg(e, t, n, r) {
			try {
				return e.parseArg(t, n);
			} catch (e) {
				if (e.code === "commander.invalidArgument") {
					let t = `${r} ${e.message}`;
					this.error(t, {
						exitCode: e.exitCode,
						code: e.code
					});
				}
				throw e;
			}
		}
		_registerOption(e) {
			let t = e.short && this._findOption(e.short) || e.long && this._findOption(e.long);
			if (t) {
				let n = e.long && this._findOption(e.long) ? e.long : e.short;
				throw Error(`Cannot add option '${e.flags}'${this._name && ` to command '${this._name}'`} due to conflicting flag '${n}'
-  already used by option '${t.flags}'`);
			}
			this._initOptionGroup(e), this.options.push(e);
		}
		_registerCommand(e) {
			let t = (e) => [e.name()].concat(e.aliases()), n = t(e).find((e) => this._findCommand(e));
			if (n) {
				let r = t(this._findCommand(n)).join("|"), i = t(e).join("|");
				throw Error(`cannot add command '${i}' as already have command '${r}'`);
			}
			this._initCommandGroup(e), this.commands.push(e);
		}
		addOption(e) {
			this._registerOption(e);
			let t = e.name(), n = e.attributeName();
			if (e.negate) {
				let t = e.long.replace(/^--no-/, "--");
				this._findOption(t) || this.setOptionValueWithSource(n, e.defaultValue === void 0 ? !0 : e.defaultValue, "default");
			} else e.defaultValue !== void 0 && this.setOptionValueWithSource(n, e.defaultValue, "default");
			let r = (t, r, i) => {
				t == null && e.presetArg !== void 0 && (t = e.presetArg);
				let a = this.getOptionValue(n);
				t !== null && e.parseArg ? t = this._callParseArg(e, t, a, r) : t !== null && e.variadic && (t = e._collectValue(t, a)), t ??= e.negate ? !1 : e.isBoolean() || e.optional ? !0 : "", this.setOptionValueWithSource(n, t, i);
			};
			return this.on("option:" + t, (t) => {
				r(t, `error: option '${e.flags}' argument '${t}' is invalid.`, "cli");
			}), e.envVar && this.on("optionEnv:" + t, (t) => {
				r(t, `error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`, "env");
			}), this;
		}
		_optionEx(e, t, n, r, i) {
			if (typeof t == "object" && t instanceof f) throw Error("To add an Option object use addOption() instead of option() or requiredOption()");
			let a = this.createOption(t, n);
			if (a.makeOptionMandatory(!!e.mandatory), typeof r == "function") a.default(i).argParser(r);
			else if (r instanceof RegExp) {
				let e = r;
				r = (t, n) => {
					let r = e.exec(t);
					return r ? r[0] : n;
				}, a.default(i).argParser(r);
			} else a.default(r);
			return this.addOption(a);
		}
		option(e, t, n, r) {
			return this._optionEx({}, e, t, n, r);
		}
		requiredOption(e, t, n, r) {
			return this._optionEx({ mandatory: !0 }, e, t, n, r);
		}
		combineFlagAndOptionalValue(e = !0) {
			return this._combineFlagAndOptionalValue = !!e, this;
		}
		allowUnknownOption(e = !0) {
			return this._allowUnknownOption = !!e, this;
		}
		allowExcessArguments(e = !0) {
			return this._allowExcessArguments = !!e, this;
		}
		enablePositionalOptions(e = !0) {
			return this._enablePositionalOptions = !!e, this;
		}
		passThroughOptions(e = !0) {
			return this._passThroughOptions = !!e, this._checkForBrokenPassThrough(), this;
		}
		_checkForBrokenPassThrough() {
			if (this.parent && this._passThroughOptions && !this.parent._enablePositionalOptions) throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`);
		}
		storeOptionsAsProperties(e = !0) {
			if (this.options.length) throw Error("call .storeOptionsAsProperties() before adding options");
			if (Object.keys(this._optionValues).length) throw Error("call .storeOptionsAsProperties() before setting option values");
			return this._storeOptionsAsProperties = !!e, this;
		}
		getOptionValue(e) {
			return this._storeOptionsAsProperties ? this[e] : this._optionValues[e];
		}
		setOptionValue(e, t) {
			return this.setOptionValueWithSource(e, t, void 0);
		}
		setOptionValueWithSource(e, t, n) {
			return this._storeOptionsAsProperties ? this[e] = t : this._optionValues[e] = t, this._optionValueSources[e] = n, this;
		}
		getOptionValueSource(e) {
			return this._optionValueSources[e];
		}
		getOptionValueSourceWithGlobals(e) {
			let t;
			return this._getCommandAndAncestors().forEach((n) => {
				n.getOptionValueSource(e) !== void 0 && (t = n.getOptionValueSource(e));
			}), t;
		}
		_prepareUserArgs(e, t) {
			if (e !== void 0 && !Array.isArray(e)) throw Error("first parameter to parse must be array or undefined");
			if (t ||= {}, e === void 0 && t.from === void 0) {
				o.versions?.electron && (t.from = "electron");
				let e = o.execArgv ?? [];
				(e.includes("-e") || e.includes("--eval") || e.includes("-p") || e.includes("--print")) && (t.from = "eval");
			}
			e === void 0 && (e = o.argv), this.rawArgs = e.slice();
			let n;
			switch (t.from) {
				case void 0:
				case "node":
					this._scriptPath = e[1], n = e.slice(2);
					break;
				case "electron":
					o.defaultApp ? (this._scriptPath = e[1], n = e.slice(2)) : n = e.slice(1);
					break;
				case "user":
					n = e.slice(0);
					break;
				case "eval":
					n = e.slice(1);
					break;
				default: throw Error(`unexpected parse option { from: '${t.from}' }`);
			}
			return !this._name && this._scriptPath && this.nameFromFilename(this._scriptPath), this._name = this._name || "program", n;
		}
		parse(e, t) {
			this._prepareForParse();
			let n = this._prepareUserArgs(e, t);
			return this._parseCommand([], n), this;
		}
		async parseAsync(e, t) {
			this._prepareForParse();
			let n = this._prepareUserArgs(e, t);
			return await this._parseCommand([], n), this;
		}
		_prepareForParse() {
			this._savedState === null ? this.saveStateBeforeParse() : this.restoreStateBeforeParse();
		}
		saveStateBeforeParse() {
			this._savedState = {
				_name: this._name,
				_optionValues: { ...this._optionValues },
				_optionValueSources: { ...this._optionValueSources }
			};
		}
		restoreStateBeforeParse() {
			if (this._storeOptionsAsProperties) throw Error("Can not call parse again when storeOptionsAsProperties is true.\n- either make a new Command for each call to parse, or stop storing options as properties");
			this._name = this._savedState._name, this._scriptPath = null, this.rawArgs = [], this._optionValues = { ...this._savedState._optionValues }, this._optionValueSources = { ...this._savedState._optionValueSources }, this.args = [], this.processedArgs = [];
		}
		_checkForMissingExecutable(e, t, n) {
			if (a.existsSync(e)) return;
			let r = `'${e}' does not exist
 - if '${n}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
 - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
 - ${t ? `searched for local subcommand relative to directory '${t}'` : "no directory for search for local subcommand, use .executableDir() to supply a custom directory"}`;
			throw Error(r);
		}
		_executeSubCommand(e, t) {
			t = t.slice();
			let n = !1, s = [
				".js",
				".ts",
				".tsx",
				".mjs",
				".cjs"
			];
			function c(e, t) {
				let n = i.resolve(e, t);
				if (a.existsSync(n)) return n;
				if (s.includes(i.extname(t))) return;
				let r = s.find((e) => a.existsSync(`${n}${e}`));
				if (r) return `${n}${r}`;
			}
			this._checkForMissingMandatoryOptions(), this._checkForConflictingOptions();
			let u = e._executableFile || `${this._name}-${e._name}`, d = this._executableDir || "";
			if (this._scriptPath) {
				let e;
				try {
					e = a.realpathSync(this._scriptPath);
				} catch {
					e = this._scriptPath;
				}
				d = i.resolve(i.dirname(e), d);
			}
			if (d) {
				let t = c(d, u);
				if (!t && !e._executableFile && this._scriptPath) {
					let n = i.basename(this._scriptPath, i.extname(this._scriptPath));
					n !== this._name && (t = c(d, `${n}-${e._name}`));
				}
				u = t || u;
			}
			n = s.includes(i.extname(u));
			let f;
			o.platform === "win32" ? (this._checkForMissingExecutable(u, d, e._name), t.unshift(u), t = g(o.execArgv).concat(t), f = r.spawn(o.execPath, t, { stdio: "inherit" })) : n ? (t.unshift(u), t = g(o.execArgv).concat(t), f = r.spawn(o.argv[0], t, { stdio: "inherit" })) : f = r.spawn(u, t, { stdio: "inherit" }), f.killed || [
				"SIGUSR1",
				"SIGUSR2",
				"SIGTERM",
				"SIGINT",
				"SIGHUP"
			].forEach((e) => {
				o.on(e, () => {
					f.killed === !1 && f.exitCode === null && f.kill(e);
				});
			});
			let p = this._exitCallback;
			f.on("close", (e) => {
				e ??= 1, p ? p(new l(e, "commander.executeSubCommandAsync", "(close)")) : o.exit(e);
			}), f.on("error", (t) => {
				if (t.code === "ENOENT") this._checkForMissingExecutable(u, d, e._name);
				else if (t.code === "EACCES") throw Error(`'${u}' not executable`);
				if (!p) o.exit(1);
				else {
					let e = new l(1, "commander.executeSubCommandAsync", "(error)");
					e.nestedError = t, p(e);
				}
			}), this.runningCommand = f;
		}
		_dispatchSubcommand(e, t, n) {
			let r = this._findCommand(e);
			r || this.help({ error: !0 }), r._prepareForParse();
			let i;
			return i = this._chainOrCallSubCommandHook(i, r, "preSubcommand"), i = this._chainOrCall(i, () => {
				if (r._executableHandler) this._executeSubCommand(r, t.concat(n));
				else return r._parseCommand(t, n);
			}), i;
		}
		_dispatchHelpCommand(e) {
			e || this.help();
			let t = this._findCommand(e);
			return t && !t._executableHandler && t.help(), this._dispatchSubcommand(e, [], [this._getHelpOption()?.long ?? this._getHelpOption()?.short ?? "--help"]);
		}
		_checkNumberOfArguments() {
			this.registeredArguments.forEach((e, t) => {
				e.required && this.args[t] == null && this.missingArgument(e.name());
			}), !(this.registeredArguments.length > 0 && this.registeredArguments[this.registeredArguments.length - 1].variadic) && this.args.length > this.registeredArguments.length && this._excessArguments(this.args);
		}
		_processArguments() {
			let e = (e, t, n) => {
				let r = t;
				if (t !== null && e.parseArg) {
					let i = `error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;
					r = this._callParseArg(e, t, n, i);
				}
				return r;
			};
			this._checkNumberOfArguments();
			let t = [];
			this.registeredArguments.forEach((n, r) => {
				let i = n.defaultValue;
				n.variadic ? r < this.args.length ? (i = this.args.slice(r), n.parseArg && (i = i.reduce((t, r) => e(n, r, t), n.defaultValue))) : i === void 0 && (i = []) : r < this.args.length && (i = this.args[r], n.parseArg && (i = e(n, i, n.defaultValue))), t[r] = i;
			}), this.processedArgs = t;
		}
		_chainOrCall(e, t) {
			return e?.then && typeof e.then == "function" ? e.then(() => t()) : t();
		}
		_chainOrCallHooks(e, t) {
			let n = e, r = [];
			return this._getCommandAndAncestors().reverse().filter((e) => e._lifeCycleHooks[t] !== void 0).forEach((e) => {
				e._lifeCycleHooks[t].forEach((t) => {
					r.push({
						hookedCommand: e,
						callback: t
					});
				});
			}), t === "postAction" && r.reverse(), r.forEach((e) => {
				n = this._chainOrCall(n, () => e.callback(e.hookedCommand, this));
			}), n;
		}
		_chainOrCallSubCommandHook(e, t, n) {
			let r = e;
			return this._lifeCycleHooks[n] !== void 0 && this._lifeCycleHooks[n].forEach((e) => {
				r = this._chainOrCall(r, () => e(this, t));
			}), r;
		}
		_parseCommand(e, t) {
			let n = this.parseOptions(t);
			if (this._parseOptionsEnv(), this._parseOptionsImplied(), e = e.concat(n.operands), t = n.unknown, this.args = e.concat(t), e && this._findCommand(e[0])) return this._dispatchSubcommand(e[0], e.slice(1), t);
			if (this._getHelpCommand() && e[0] === this._getHelpCommand().name()) return this._dispatchHelpCommand(e[1]);
			if (this._defaultCommandName) return this._outputHelpIfRequested(t), this._dispatchSubcommand(this._defaultCommandName, e, t);
			this.commands.length && this.args.length === 0 && !this._actionHandler && !this._defaultCommandName && this.help({ error: !0 }), this._outputHelpIfRequested(n.unknown), this._checkForMissingMandatoryOptions(), this._checkForConflictingOptions();
			let r = () => {
				n.unknown.length > 0 && this.unknownOption(n.unknown[0]);
			}, i = `command:${this.name()}`;
			if (this._actionHandler) {
				r(), this._processArguments();
				let n;
				return n = this._chainOrCallHooks(n, "preAction"), n = this._chainOrCall(n, () => this._actionHandler(this.processedArgs)), this.parent && (n = this._chainOrCall(n, () => {
					this.parent.emit(i, e, t);
				})), n = this._chainOrCallHooks(n, "postAction"), n;
			}
			if (this.parent?.listenerCount(i)) r(), this._processArguments(), this.parent.emit(i, e, t);
			else if (e.length) {
				if (this._findCommand("*")) return this._dispatchSubcommand("*", e, t);
				this.listenerCount("command:*") ? this.emit("command:*", e, t) : this.commands.length ? this.unknownCommand() : (r(), this._processArguments());
			} else this.commands.length ? (r(), this.help({ error: !0 })) : (r(), this._processArguments());
		}
		_findCommand(e) {
			if (e) return this.commands.find((t) => t._name === e || t._aliases.includes(e));
		}
		_findOption(e) {
			return this.options.find((t) => t.is(e));
		}
		_checkForMissingMandatoryOptions() {
			this._getCommandAndAncestors().forEach((e) => {
				e.options.forEach((t) => {
					t.mandatory && e.getOptionValue(t.attributeName()) === void 0 && e.missingMandatoryOptionValue(t);
				});
			});
		}
		_checkForConflictingLocalOptions() {
			let e = this.options.filter((e) => {
				let t = e.attributeName();
				return this.getOptionValue(t) === void 0 ? !1 : this.getOptionValueSource(t) !== "default";
			});
			e.filter((e) => e.conflictsWith.length > 0).forEach((t) => {
				let n = e.find((e) => t.conflictsWith.includes(e.attributeName()));
				n && this._conflictingOption(t, n);
			});
		}
		_checkForConflictingOptions() {
			this._getCommandAndAncestors().forEach((e) => {
				e._checkForConflictingLocalOptions();
			});
		}
		parseOptions(e) {
			let t = [], n = [], r = t;
			function i(e) {
				return e.length > 1 && e[0] === "-";
			}
			let a = (e) => /^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e) ? !this._getCommandAndAncestors().some((e) => e.options.map((e) => e.short).some((e) => /^-\d$/.test(e))) : !1, o = null, s = null, c = 0;
			for (; c < e.length || s;) {
				let l = s ?? e[c++];
				if (s = null, l === "--") {
					r === n && r.push(l), r.push(...e.slice(c));
					break;
				}
				if (o && (!i(l) || a(l))) {
					this.emit(`option:${o.name()}`, l);
					continue;
				}
				if (o = null, i(l)) {
					let t = this._findOption(l);
					if (t) {
						if (t.required) {
							let n = e[c++];
							n === void 0 && this.optionMissingArgument(t), this.emit(`option:${t.name()}`, n);
						} else if (t.optional) {
							let n = null;
							c < e.length && (!i(e[c]) || a(e[c])) && (n = e[c++]), this.emit(`option:${t.name()}`, n);
						} else this.emit(`option:${t.name()}`);
						o = t.variadic ? t : null;
						continue;
					}
				}
				if (l.length > 2 && l[0] === "-" && l[1] !== "-") {
					let e = this._findOption(`-${l[1]}`);
					if (e) {
						e.required || e.optional && this._combineFlagAndOptionalValue ? this.emit(`option:${e.name()}`, l.slice(2)) : (this.emit(`option:${e.name()}`), s = `-${l.slice(2)}`);
						continue;
					}
				}
				if (/^--[^=]+=/.test(l)) {
					let e = l.indexOf("="), t = this._findOption(l.slice(0, e));
					if (t && (t.required || t.optional)) {
						this.emit(`option:${t.name()}`, l.slice(e + 1));
						continue;
					}
				}
				if (r === t && i(l) && !(this.commands.length === 0 && a(l)) && (r = n), (this._enablePositionalOptions || this._passThroughOptions) && t.length === 0 && n.length === 0) {
					if (this._findCommand(l)) {
						t.push(l), n.push(...e.slice(c));
						break;
					} else if (this._getHelpCommand() && l === this._getHelpCommand().name()) {
						t.push(l, ...e.slice(c));
						break;
					} else if (this._defaultCommandName) {
						n.push(l, ...e.slice(c));
						break;
					}
				}
				if (this._passThroughOptions) {
					r.push(l, ...e.slice(c));
					break;
				}
				r.push(l);
			}
			return {
				operands: t,
				unknown: n
			};
		}
		opts() {
			if (this._storeOptionsAsProperties) {
				let e = {}, t = this.options.length;
				for (let n = 0; n < t; n++) {
					let t = this.options[n].attributeName();
					e[t] = t === this._versionOptionName ? this._version : this[t];
				}
				return e;
			}
			return this._optionValues;
		}
		optsWithGlobals() {
			return this._getCommandAndAncestors().reduce((e, t) => Object.assign(e, t.opts()), {});
		}
		error(e, t) {
			this._outputConfiguration.outputError(`${e}\n`, this._outputConfiguration.writeErr), typeof this._showHelpAfterError == "string" ? this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`) : this._showHelpAfterError && (this._outputConfiguration.writeErr("\n"), this.outputHelp({ error: !0 }));
			let n = t || {}, r = n.exitCode || 1, i = n.code || "commander.error";
			this._exit(r, i, e);
		}
		_parseOptionsEnv() {
			this.options.forEach((e) => {
				if (e.envVar && e.envVar in o.env) {
					let t = e.attributeName();
					(this.getOptionValue(t) === void 0 || [
						"default",
						"config",
						"env"
					].includes(this.getOptionValueSource(t))) && (e.required || e.optional ? this.emit(`optionEnv:${e.name()}`, o.env[e.envVar]) : this.emit(`optionEnv:${e.name()}`));
				}
			});
		}
		_parseOptionsImplied() {
			let e = new p(this.options), t = (e) => this.getOptionValue(e) !== void 0 && !["default", "implied"].includes(this.getOptionValueSource(e));
			this.options.filter((n) => n.implied !== void 0 && t(n.attributeName()) && e.valueFromOption(this.getOptionValue(n.attributeName()), n)).forEach((e) => {
				Object.keys(e.implied).filter((e) => !t(e)).forEach((t) => {
					this.setOptionValueWithSource(t, e.implied[t], "implied");
				});
			});
		}
		missingArgument(e) {
			let t = `error: missing required argument '${e}'`;
			this.error(t, { code: "commander.missingArgument" });
		}
		optionMissingArgument(e) {
			let t = `error: option '${e.flags}' argument missing`;
			this.error(t, { code: "commander.optionMissingArgument" });
		}
		missingMandatoryOptionValue(e) {
			let t = `error: required option '${e.flags}' not specified`;
			this.error(t, { code: "commander.missingMandatoryOptionValue" });
		}
		_conflictingOption(e, t) {
			let n = (e) => {
				let t = e.attributeName(), n = this.getOptionValue(t), r = this.options.find((e) => e.negate && t === e.attributeName()), i = this.options.find((e) => !e.negate && t === e.attributeName());
				return r && (r.presetArg === void 0 && n === !1 || r.presetArg !== void 0 && n === r.presetArg) ? r : i || e;
			}, r = (e) => {
				let t = n(e), r = t.attributeName();
				return this.getOptionValueSource(r) === "env" ? `environment variable '${t.envVar}'` : `option '${t.flags}'`;
			}, i = `error: ${r(e)} cannot be used with ${r(t)}`;
			this.error(i, { code: "commander.conflictingOption" });
		}
		unknownOption(e) {
			if (this._allowUnknownOption) return;
			let t = "";
			if (e.startsWith("--") && this._showSuggestionAfterError) {
				let n = [], r = this;
				do {
					let e = r.createHelp().visibleOptions(r).filter((e) => e.long).map((e) => e.long);
					n = n.concat(e), r = r.parent;
				} while (r && !r._enablePositionalOptions);
				t = m(e, n);
			}
			let n = `error: unknown option '${e}'${t}`;
			this.error(n, { code: "commander.unknownOption" });
		}
		_excessArguments(e) {
			if (this._allowExcessArguments) return;
			let t = this.registeredArguments.length, n = t === 1 ? "" : "s", r = `error: too many arguments${this.parent ? ` for '${this.name()}'` : ""}. Expected ${t} argument${n} but got ${e.length}.`;
			this.error(r, { code: "commander.excessArguments" });
		}
		unknownCommand() {
			let e = this.args[0], t = "";
			if (this._showSuggestionAfterError) {
				let n = [];
				this.createHelp().visibleCommands(this).forEach((e) => {
					n.push(e.name()), e.alias() && n.push(e.alias());
				}), t = m(e, n);
			}
			let n = `error: unknown command '${e}'${t}`;
			this.error(n, { code: "commander.unknownCommand" });
		}
		version(e, t, n) {
			if (e === void 0) return this._version;
			this._version = e, t ||= "-V, --version", n ||= "output the version number";
			let r = this.createOption(t, n);
			return this._versionOptionName = r.attributeName(), this._registerOption(r), this.on("option:" + r.name(), () => {
				this._outputConfiguration.writeOut(`${e}\n`), this._exit(0, "commander.version", e);
			}), this;
		}
		description(e, t) {
			return e === void 0 && t === void 0 ? this._description : (this._description = e, t && (this._argsDescription = t), this);
		}
		summary(e) {
			return e === void 0 ? this._summary : (this._summary = e, this);
		}
		alias(e) {
			if (e === void 0) return this._aliases[0];
			let t = this;
			if (this.commands.length !== 0 && this.commands[this.commands.length - 1]._executableHandler && (t = this.commands[this.commands.length - 1]), e === t._name) throw Error("Command alias can't be the same as its name");
			let n = this.parent?._findCommand(e);
			if (n) {
				let t = [n.name()].concat(n.aliases()).join("|");
				throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`);
			}
			return t._aliases.push(e), this;
		}
		aliases(e) {
			return e === void 0 ? this._aliases : (e.forEach((e) => this.alias(e)), this);
		}
		usage(e) {
			if (e === void 0) {
				if (this._usage) return this._usage;
				let e = this.registeredArguments.map((e) => c(e));
				return [].concat(this.options.length || this._helpOption !== null ? "[options]" : [], this.commands.length ? "[command]" : [], this.registeredArguments.length ? e : []).join(" ");
			}
			return this._usage = e, this;
		}
		name(e) {
			return e === void 0 ? this._name : (this._name = e, this);
		}
		helpGroup(e) {
			return e === void 0 ? this._helpGroupHeading ?? "" : (this._helpGroupHeading = e, this);
		}
		commandsGroup(e) {
			return e === void 0 ? this._defaultCommandGroup ?? "" : (this._defaultCommandGroup = e, this);
		}
		optionsGroup(e) {
			return e === void 0 ? this._defaultOptionGroup ?? "" : (this._defaultOptionGroup = e, this);
		}
		_initOptionGroup(e) {
			this._defaultOptionGroup && !e.helpGroupHeading && e.helpGroup(this._defaultOptionGroup);
		}
		_initCommandGroup(e) {
			this._defaultCommandGroup && !e.helpGroup() && e.helpGroup(this._defaultCommandGroup);
		}
		nameFromFilename(e) {
			return this._name = i.basename(e, i.extname(e)), this;
		}
		executableDir(e) {
			return e === void 0 ? this._executableDir : (this._executableDir = e, this);
		}
		helpInformation(e) {
			let t = this.createHelp(), n = this._getOutputContext(e);
			t.prepareContext({
				error: n.error,
				helpWidth: n.helpWidth,
				outputHasColors: n.hasColors
			});
			let r = t.formatHelp(this, t);
			return n.hasColors ? r : this._outputConfiguration.stripColor(r);
		}
		_getOutputContext(e) {
			e ||= {};
			let t = !!e.error, n, r, i;
			return t ? (n = (e) => this._outputConfiguration.writeErr(e), r = this._outputConfiguration.getErrHasColors(), i = this._outputConfiguration.getErrHelpWidth()) : (n = (e) => this._outputConfiguration.writeOut(e), r = this._outputConfiguration.getOutHasColors(), i = this._outputConfiguration.getOutHelpWidth()), {
				error: t,
				write: (e) => (r || (e = this._outputConfiguration.stripColor(e)), n(e)),
				hasColors: r,
				helpWidth: i
			};
		}
		outputHelp(e) {
			let t;
			typeof e == "function" && (t = e, e = void 0);
			let n = this._getOutputContext(e), r = {
				error: n.error,
				write: n.write,
				command: this
			};
			this._getCommandAndAncestors().reverse().forEach((e) => e.emit("beforeAllHelp", r)), this.emit("beforeHelp", r);
			let i = this.helpInformation({ error: n.error });
			if (t && (i = t(i), typeof i != "string" && !Buffer.isBuffer(i))) throw Error("outputHelp callback must return a string or a Buffer");
			n.write(i), this._getHelpOption()?.long && this.emit(this._getHelpOption().long), this.emit("afterHelp", r), this._getCommandAndAncestors().forEach((e) => e.emit("afterAllHelp", r));
		}
		helpOption(e, t) {
			return typeof e == "boolean" ? (e ? (this._helpOption === null && (this._helpOption = void 0), this._defaultOptionGroup && this._initOptionGroup(this._getHelpOption())) : this._helpOption = null, this) : (this._helpOption = this.createOption(e ?? "-h, --help", t ?? "display help for command"), (e || t) && this._initOptionGroup(this._helpOption), this);
		}
		_getHelpOption() {
			return this._helpOption === void 0 && this.helpOption(void 0, void 0), this._helpOption;
		}
		addHelpOption(e) {
			return this._helpOption = e, this._initOptionGroup(e), this;
		}
		help(e) {
			this.outputHelp(e);
			let t = Number(o.exitCode ?? 0);
			t === 0 && e && typeof e != "function" && e.error && (t = 1), this._exit(t, "commander.help", "(outputHelp)");
		}
		addHelpText(e, t) {
			let n = [
				"beforeAll",
				"before",
				"after",
				"afterAll"
			];
			if (!n.includes(e)) throw Error(`Unexpected value for position to addHelpText.
Expecting one of '${n.join("', '")}'`);
			let r = `${e}Help`;
			return this.on(r, (e) => {
				let n;
				n = typeof t == "function" ? t({
					error: e.error,
					command: e.command
				}) : t, n && e.write(`${n}\n`);
			}), this;
		}
		_outputHelpIfRequested(e) {
			let t = this._getHelpOption();
			t && e.find((e) => t.is(e)) && (this.outputHelp(), this._exit(0, "commander.helpDisplayed", "(outputHelp)"));
		}
	};
	function g(e) {
		return e.map((e) => {
			if (!e.startsWith("--inspect")) return e;
			let t, n = "127.0.0.1", r = "9229", i;
			return (i = e.match(/^(--inspect(-brk)?)$/)) === null ? (i = e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/)) === null ? (i = e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/)) !== null && (t = i[1], n = i[3], r = i[4]) : (t = i[1], /^\d+$/.test(i[3]) ? r = i[3] : n = i[3]) : t = i[1], t && r !== "0" ? `${t}=${n}:${parseInt(r) + 1}` : e;
		});
	}
	function _() {
		if (o.env.NO_COLOR || o.env.FORCE_COLOR === "0" || o.env.FORCE_COLOR === "false") return !1;
		if (o.env.FORCE_COLOR || o.env.CLICOLOR_FORCE !== void 0) return !0;
	}
	e.Command = h, e.useColor = _;
})), { program: A, createCommand: se, createArgument: ce, createOption: le, CommanderError: ue, InvalidArgumentError: de, InvalidOptionArgumentError: fe, Command: pe, Argument: me, Option: he, Help: ge } = (/* @__PURE__ */ y((/* @__PURE__ */ u(((e) => {
	var { Argument: t } = ne(), { Command: n } = oe(), { CommanderError: r, InvalidArgumentError: i } = te(), { Help: a } = re(), { Option: o } = ie();
	e.program = new n(), e.createCommand = (e) => new n(e), e.createOption = (e, t) => new o(e, t), e.createArgument = (e, n) => new t(e, n), e.Command = n, e.Option = o, e.Argument = t, e.Help = a, e.CommanderError = r, e.InvalidArgumentError = i, e.InvalidOptionArgumentError = i;
})))(), 1)).default, _e = /* @__PURE__ */ u(((e, n) => {
	var r = t("constants"), i = process.cwd, a = null, o = process.env.GRACEFUL_FS_PLATFORM || process.platform;
	process.cwd = function() {
		return a ||= i.call(process), a;
	};
	try {
		process.cwd();
	} catch {}
	if (typeof process.chdir == "function") {
		var s = process.chdir;
		process.chdir = function(e) {
			a = null, s.call(process, e);
		}, Object.setPrototypeOf && Object.setPrototypeOf(process.chdir, s);
	}
	n.exports = c;
	function c(e) {
		r.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./) && t(e), e.lutimes || n(e), e.chown = s(e.chown), e.fchown = s(e.fchown), e.lchown = s(e.lchown), e.chmod = i(e.chmod), e.fchmod = i(e.fchmod), e.lchmod = i(e.lchmod), e.chownSync = c(e.chownSync), e.fchownSync = c(e.fchownSync), e.lchownSync = c(e.lchownSync), e.chmodSync = a(e.chmodSync), e.fchmodSync = a(e.fchmodSync), e.lchmodSync = a(e.lchmodSync), e.stat = l(e.stat), e.fstat = l(e.fstat), e.lstat = l(e.lstat), e.statSync = u(e.statSync), e.fstatSync = u(e.fstatSync), e.lstatSync = u(e.lstatSync), e.chmod && !e.lchmod && (e.lchmod = function(e, t, n) {
			n && process.nextTick(n);
		}, e.lchmodSync = function() {}), e.chown && !e.lchown && (e.lchown = function(e, t, n, r) {
			r && process.nextTick(r);
		}, e.lchownSync = function() {}), o === "win32" && (e.rename = typeof e.rename == "function" ? (function(t) {
			function n(n, r, i) {
				var a = Date.now(), o = 0;
				t(n, r, function s(c) {
					if (c && (c.code === "EACCES" || c.code === "EPERM" || c.code === "EBUSY") && Date.now() - a < 6e4) {
						setTimeout(function() {
							e.stat(r, function(e, a) {
								e && e.code === "ENOENT" ? t(n, r, s) : i(c);
							});
						}, o), o < 100 && (o += 10);
						return;
					}
					i && i(c);
				});
			}
			return Object.setPrototypeOf && Object.setPrototypeOf(n, t), n;
		})(e.rename) : e.rename), e.read = typeof e.read == "function" ? (function(t) {
			function n(n, r, i, a, o, s) {
				var c;
				if (s && typeof s == "function") {
					var l = 0;
					c = function(u, d, f) {
						if (u && u.code === "EAGAIN" && l < 10) return l++, t.call(e, n, r, i, a, o, c);
						s.apply(this, arguments);
					};
				}
				return t.call(e, n, r, i, a, o, c);
			}
			return Object.setPrototypeOf && Object.setPrototypeOf(n, t), n;
		})(e.read) : e.read, e.readSync = typeof e.readSync == "function" ? (function(t) {
			return function(n, r, i, a, o) {
				for (var s = 0;;) try {
					return t.call(e, n, r, i, a, o);
				} catch (e) {
					if (e.code === "EAGAIN" && s < 10) {
						s++;
						continue;
					}
					throw e;
				}
			};
		})(e.readSync) : e.readSync;
		function t(e) {
			e.lchmod = function(t, n, i) {
				e.open(t, r.O_WRONLY | r.O_SYMLINK, n, function(t, r) {
					if (t) {
						i && i(t);
						return;
					}
					e.fchmod(r, n, function(t) {
						e.close(r, function(e) {
							i && i(t || e);
						});
					});
				});
			}, e.lchmodSync = function(t, n) {
				var i = e.openSync(t, r.O_WRONLY | r.O_SYMLINK, n), a = !0, o;
				try {
					o = e.fchmodSync(i, n), a = !1;
				} finally {
					if (a) try {
						e.closeSync(i);
					} catch {}
					else e.closeSync(i);
				}
				return o;
			};
		}
		function n(e) {
			r.hasOwnProperty("O_SYMLINK") && e.futimes ? (e.lutimes = function(t, n, i, a) {
				e.open(t, r.O_SYMLINK, function(t, r) {
					if (t) {
						a && a(t);
						return;
					}
					e.futimes(r, n, i, function(t) {
						e.close(r, function(e) {
							a && a(t || e);
						});
					});
				});
			}, e.lutimesSync = function(t, n, i) {
				var a = e.openSync(t, r.O_SYMLINK), o, s = !0;
				try {
					o = e.futimesSync(a, n, i), s = !1;
				} finally {
					if (s) try {
						e.closeSync(a);
					} catch {}
					else e.closeSync(a);
				}
				return o;
			}) : e.futimes && (e.lutimes = function(e, t, n, r) {
				r && process.nextTick(r);
			}, e.lutimesSync = function() {});
		}
		function i(t) {
			return t && function(n, r, i) {
				return t.call(e, n, r, function(e) {
					d(e) && (e = null), i && i.apply(this, arguments);
				});
			};
		}
		function a(t) {
			return t && function(n, r) {
				try {
					return t.call(e, n, r);
				} catch (e) {
					if (!d(e)) throw e;
				}
			};
		}
		function s(t) {
			return t && function(n, r, i, a) {
				return t.call(e, n, r, i, function(e) {
					d(e) && (e = null), a && a.apply(this, arguments);
				});
			};
		}
		function c(t) {
			return t && function(n, r, i) {
				try {
					return t.call(e, n, r, i);
				} catch (e) {
					if (!d(e)) throw e;
				}
			};
		}
		function l(t) {
			return t && function(n, r, i) {
				typeof r == "function" && (i = r, r = null);
				function a(e, t) {
					t && (t.uid < 0 && (t.uid += 4294967296), t.gid < 0 && (t.gid += 4294967296)), i && i.apply(this, arguments);
				}
				return r ? t.call(e, n, r, a) : t.call(e, n, a);
			};
		}
		function u(t) {
			return t && function(n, r) {
				var i = r ? t.call(e, n, r) : t.call(e, n);
				return i && (i.uid < 0 && (i.uid += 4294967296), i.gid < 0 && (i.gid += 4294967296)), i;
			};
		}
		function d(e) {
			return !e || e.code === "ENOSYS" || (!process.getuid || process.getuid() !== 0) && (e.code === "EINVAL" || e.code === "EPERM");
		}
	}
})), ve = /* @__PURE__ */ u(((e, n) => {
	var r = t("stream").Stream;
	n.exports = i;
	function i(e) {
		return {
			ReadStream: t,
			WriteStream: n
		};
		function t(n, i) {
			if (!(this instanceof t)) return new t(n, i);
			r.call(this);
			var a = this;
			this.path = n, this.fd = null, this.readable = !0, this.paused = !1, this.flags = "r", this.mode = 438, this.bufferSize = 64 * 1024, i ||= {};
			for (var o = Object.keys(i), s = 0, c = o.length; s < c; s++) {
				var l = o[s];
				this[l] = i[l];
			}
			if (this.encoding && this.setEncoding(this.encoding), this.start !== void 0) {
				if (typeof this.start != "number") throw TypeError("start must be a Number");
				if (this.end === void 0) this.end = Infinity;
				else if (typeof this.end != "number") throw TypeError("end must be a Number");
				if (this.start > this.end) throw Error("start must be <= end");
				this.pos = this.start;
			}
			if (this.fd !== null) {
				process.nextTick(function() {
					a._read();
				});
				return;
			}
			e.open(this.path, this.flags, this.mode, function(e, t) {
				if (e) {
					a.emit("error", e), a.readable = !1;
					return;
				}
				a.fd = t, a.emit("open", t), a._read();
			});
		}
		function n(t, i) {
			if (!(this instanceof n)) return new n(t, i);
			r.call(this), this.path = t, this.fd = null, this.writable = !0, this.flags = "w", this.encoding = "binary", this.mode = 438, this.bytesWritten = 0, i ||= {};
			for (var a = Object.keys(i), o = 0, s = a.length; o < s; o++) {
				var c = a[o];
				this[c] = i[c];
			}
			if (this.start !== void 0) {
				if (typeof this.start != "number") throw TypeError("start must be a Number");
				if (this.start < 0) throw Error("start must be >= zero");
				this.pos = this.start;
			}
			this.busy = !1, this._queue = [], this.fd === null && (this._open = e.open, this._queue.push([
				this._open,
				this.path,
				this.flags,
				this.mode,
				void 0
			]), this.flush());
		}
	}
})), ye = /* @__PURE__ */ u(((e, t) => {
	t.exports = r;
	var n = Object.getPrototypeOf || function(e) {
		return e.__proto__;
	};
	function r(e) {
		if (typeof e != "object" || !e) return e;
		if (e instanceof Object) var t = { __proto__: n(e) };
		else var t = Object.create(null);
		return Object.getOwnPropertyNames(e).forEach(function(n) {
			Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(e, n));
		}), t;
	}
})), be = /* @__PURE__ */ u(((e, n) => {
	var r = t("fs"), i = _e(), a = ve(), o = ye(), s = t("util"), c, l;
	/* istanbul ignore else - node 0.x polyfill */
	typeof Symbol == "function" && typeof Symbol.for == "function" ? (c = Symbol.for("graceful-fs.queue"), l = Symbol.for("graceful-fs.previous")) : (c = "___graceful-fs.queue", l = "___graceful-fs.previous");
	function u() {}
	function d(e, t) {
		Object.defineProperty(e, c, { get: function() {
			return t;
		} });
	}
	var f = u;
	s.debuglog ? f = s.debuglog("gfs4") : /\bgfs4\b/i.test(process.env.NODE_DEBUG || "") && (f = function() {
		var e = s.format.apply(s, arguments);
		e = "GFS4: " + e.split(/\n/).join("\nGFS4: "), console.error(e);
	}), r[c] || (d(r, global[c] || []), r.close = (function(e) {
		function t(t, n) {
			return e.call(r, t, function(e) {
				e || g(), typeof n == "function" && n.apply(this, arguments);
			});
		}
		return Object.defineProperty(t, l, { value: e }), t;
	})(r.close), r.closeSync = (function(e) {
		function t(t) {
			e.apply(r, arguments), g();
		}
		return Object.defineProperty(t, l, { value: e }), t;
	})(r.closeSync), /\bgfs4\b/i.test(process.env.NODE_DEBUG || "") && process.on("exit", function() {
		f(r[c]), t("assert").equal(r[c].length, 0);
	})), global[c] || d(global, r[c]), n.exports = p(o(r)), process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !r.__patched && (n.exports = p(r), r.__patched = !0);
	function p(e) {
		i(e), e.gracefulify = p, e.createReadStream = T, e.createWriteStream = E;
		var t = e.readFile;
		e.readFile = n;
		function n(e, n, r) {
			return typeof n == "function" && (r = n, n = null), i(e, n, r);
			function i(e, n, r, a) {
				return t(e, n, function(t) {
					t && (t.code === "EMFILE" || t.code === "ENFILE") ? m([
						i,
						[
							e,
							n,
							r
						],
						t,
						a || Date.now(),
						Date.now()
					]) : typeof r == "function" && r.apply(this, arguments);
				});
			}
		}
		var r = e.writeFile;
		e.writeFile = o;
		function o(e, t, n, i) {
			return typeof n == "function" && (i = n, n = null), a(e, t, n, i);
			function a(e, t, n, i, o) {
				return r(e, t, n, function(r) {
					r && (r.code === "EMFILE" || r.code === "ENFILE") ? m([
						a,
						[
							e,
							t,
							n,
							i
						],
						r,
						o || Date.now(),
						Date.now()
					]) : typeof i == "function" && i.apply(this, arguments);
				});
			}
		}
		var s = e.appendFile;
		s && (e.appendFile = c);
		function c(e, t, n, r) {
			return typeof n == "function" && (r = n, n = null), i(e, t, n, r);
			function i(e, t, n, r, a) {
				return s(e, t, n, function(o) {
					o && (o.code === "EMFILE" || o.code === "ENFILE") ? m([
						i,
						[
							e,
							t,
							n,
							r
						],
						o,
						a || Date.now(),
						Date.now()
					]) : typeof r == "function" && r.apply(this, arguments);
				});
			}
		}
		var l = e.copyFile;
		l && (e.copyFile = u);
		function u(e, t, n, r) {
			return typeof n == "function" && (r = n, n = 0), i(e, t, n, r);
			function i(e, t, n, r, a) {
				return l(e, t, n, function(o) {
					o && (o.code === "EMFILE" || o.code === "ENFILE") ? m([
						i,
						[
							e,
							t,
							n,
							r
						],
						o,
						a || Date.now(),
						Date.now()
					]) : typeof r == "function" && r.apply(this, arguments);
				});
			}
		}
		var d = e.readdir;
		e.readdir = h;
		var f = /^v[0-5]\./;
		function h(e, t, n) {
			typeof t == "function" && (n = t, t = null);
			var r = f.test(process.version) ? function(e, t, n, r) {
				return d(e, i(e, t, n, r));
			} : function(e, t, n, r) {
				return d(e, t, i(e, t, n, r));
			};
			return r(e, t, n);
			function i(e, t, n, i) {
				return function(a, o) {
					a && (a.code === "EMFILE" || a.code === "ENFILE") ? m([
						r,
						[
							e,
							t,
							n
						],
						a,
						i || Date.now(),
						Date.now()
					]) : (o && o.sort && o.sort(), typeof n == "function" && n.call(this, a, o));
				};
			}
		}
		if (process.version.substr(0, 4) === "v0.8") {
			var g = a(e);
			x = g.ReadStream, C = g.WriteStream;
		}
		var _ = e.ReadStream;
		_ && (x.prototype = Object.create(_.prototype), x.prototype.open = S);
		var v = e.WriteStream;
		v && (C.prototype = Object.create(v.prototype), C.prototype.open = w), Object.defineProperty(e, "ReadStream", {
			get: function() {
				return x;
			},
			set: function(e) {
				x = e;
			},
			enumerable: !0,
			configurable: !0
		}), Object.defineProperty(e, "WriteStream", {
			get: function() {
				return C;
			},
			set: function(e) {
				C = e;
			},
			enumerable: !0,
			configurable: !0
		});
		var y = x;
		Object.defineProperty(e, "FileReadStream", {
			get: function() {
				return y;
			},
			set: function(e) {
				y = e;
			},
			enumerable: !0,
			configurable: !0
		});
		var b = C;
		Object.defineProperty(e, "FileWriteStream", {
			get: function() {
				return b;
			},
			set: function(e) {
				b = e;
			},
			enumerable: !0,
			configurable: !0
		});
		function x(e, t) {
			return this instanceof x ? (_.apply(this, arguments), this) : x.apply(Object.create(x.prototype), arguments);
		}
		function S() {
			var e = this;
			O(e.path, e.flags, e.mode, function(t, n) {
				t ? (e.autoClose && e.destroy(), e.emit("error", t)) : (e.fd = n, e.emit("open", n), e.read());
			});
		}
		function C(e, t) {
			return this instanceof C ? (v.apply(this, arguments), this) : C.apply(Object.create(C.prototype), arguments);
		}
		function w() {
			var e = this;
			O(e.path, e.flags, e.mode, function(t, n) {
				t ? (e.destroy(), e.emit("error", t)) : (e.fd = n, e.emit("open", n));
			});
		}
		function T(t, n) {
			return new e.ReadStream(t, n);
		}
		function E(t, n) {
			return new e.WriteStream(t, n);
		}
		var D = e.open;
		e.open = O;
		function O(e, t, n, r) {
			return typeof n == "function" && (r = n, n = null), i(e, t, n, r);
			function i(e, t, n, r, a) {
				return D(e, t, n, function(o, s) {
					o && (o.code === "EMFILE" || o.code === "ENFILE") ? m([
						i,
						[
							e,
							t,
							n,
							r
						],
						o,
						a || Date.now(),
						Date.now()
					]) : typeof r == "function" && r.apply(this, arguments);
				});
			}
		}
		return e;
	}
	function m(e) {
		f("ENQUEUE", e[0].name, e[1]), r[c].push(e), _();
	}
	var h;
	function g() {
		for (var e = Date.now(), t = 0; t < r[c].length; ++t) r[c][t].length > 2 && (r[c][t][3] = e, r[c][t][4] = e);
		_();
	}
	function _() {
		if (clearTimeout(h), h = void 0, r[c].length !== 0) {
			var e = r[c].shift(), t = e[0], n = e[1], i = e[2], a = e[3], o = e[4];
			if (a === void 0) f("RETRY", t.name, n), t.apply(null, n);
			else if (Date.now() - a >= 6e4) {
				f("TIMEOUT", t.name, n);
				var s = n.pop();
				typeof s == "function" && s.call(null, i);
			} else {
				var l = Date.now() - o, u = Math.max(o - a, 1);
				l >= Math.min(u * 1.2, 100) ? (f("RETRY", t.name, n), t.apply(null, n.concat([a]))) : r[c].push(e);
			}
			h === void 0 && (h = setTimeout(_, 0));
		}
	}
})), xe = /* @__PURE__ */ y(l(), 1), Se = /* @__PURE__ */ y(be(), 1), j = x.homedir(), { env: M } = process, Ce = M.XDG_DATA_HOME || (j ? b.join(j, ".local", "share") : void 0), we = M.XDG_CONFIG_HOME || (j ? b.join(j, ".config") : void 0);
M.XDG_STATE_HOME || j && b.join(j, ".local", "state"), M.XDG_CACHE_HOME || j && b.join(j, ".cache"), M.XDG_RUNTIME_DIR;
var Te = (M.XDG_DATA_DIRS || "/usr/local/share/:/usr/share/").split(":");
Ce && Te.unshift(Ce);
var Ee = (M.XDG_CONFIG_DIRS || "/etc/xdg").split(":");
we && Ee.unshift(we);
//#endregion
//#region node_modules/stubborn-utils/dist/attemptify_async.js
var N = (e, t) => {
	let { onError: n } = t;
	return function(...t) {
		return e.apply(void 0, t).catch(n);
	};
}, P = (e, t) => {
	let { onError: n } = t;
	return function(...t) {
		try {
			return e.apply(void 0, t);
		} catch (e) {
			return n(e);
		}
	};
}, F = (e, t) => {
	let { isRetriable: n } = t;
	return function(t) {
		let { timeout: r } = t, i = t.interval ?? 250, a = Date.now() + r;
		return function t(...r) {
			return e.apply(void 0, r).catch((e) => {
				if (!n(e) || Date.now() >= a) throw e;
				let o = Math.round(i * Math.random());
				return o > 0 ? new Promise((e) => setTimeout(e, o)).then(() => t.apply(void 0, r)) : t.apply(void 0, r);
			});
		};
	};
}, I = (e, t) => {
	let { isRetriable: n } = t;
	return function(t) {
		let { timeout: r } = t, i = Date.now() + r;
		return function(...t) {
			for (;;) try {
				return e.apply(void 0, t);
			} catch (e) {
				if (!n(e) || Date.now() >= i) throw e;
				continue;
			}
		};
	};
}, L = {
	isChangeErrorOk: (e) => {
		if (!L.isNodeError(e)) return !1;
		let { code: t } = e;
		return t === "ENOSYS" || !Oe && (t === "EINVAL" || t === "EPERM");
	},
	isNodeError: (e) => e instanceof Error,
	isRetriableError: (e) => {
		if (!L.isNodeError(e)) return !1;
		let { code: t } = e;
		return t === "EMFILE" || t === "ENFILE" || t === "EAGAIN" || t === "EBUSY" || t === "EACCESS" || t === "EACCES" || t === "EACCS" || t === "EPERM";
	},
	onChangeError: (e) => {
		if (!L.isNodeError(e) || !L.isChangeErrorOk(e)) throw e;
	}
}, De = { onError: L.onChangeError }, R = { onError: () => void 0 }, Oe = S.getuid ? !S.getuid() : !1, z = { isRetriable: L.isRetriableError }, B = {
	attempt: {
		chmod: N(O(k.chmod), De),
		chown: N(O(k.chown), De),
		close: N(O(k.close), R),
		fsync: N(O(k.fsync), R),
		mkdir: N(O(k.mkdir), R),
		realpath: N(O(k.realpath), R),
		stat: N(O(k.stat), R),
		unlink: N(O(k.unlink), R),
		chmodSync: P(k.chmodSync, De),
		chownSync: P(k.chownSync, De),
		closeSync: P(k.closeSync, R),
		existsSync: P(k.existsSync, R),
		fsyncSync: P(k.fsync, R),
		mkdirSync: P(k.mkdirSync, R),
		realpathSync: P(k.realpathSync, R),
		statSync: P(k.statSync, R),
		unlinkSync: P(k.unlinkSync, R)
	},
	retry: {
		close: F(O(k.close), z),
		fsync: F(O(k.fsync), z),
		open: F(O(k.open), z),
		readFile: F(O(k.readFile), z),
		rename: F(O(k.rename), z),
		stat: F(O(k.stat), z),
		write: F(O(k.write), z),
		writeFile: F(O(k.writeFile), z),
		closeSync: I(k.closeSync, z),
		fsyncSync: I(k.fsyncSync, z),
		openSync: I(k.openSync, z),
		readFileSync: I(k.readFileSync, z),
		renameSync: I(k.renameSync, z),
		statSync: I(k.statSync, z),
		writeSync: I(k.writeSync, z),
		writeFileSync: I(k.writeFileSync, z)
	}
}, ke = {}, Ae = S.geteuid ? S.geteuid() : -1, je = S.getegid ? S.getegid() : -1, Me = !!S.getuid;
S.getuid && S.getuid();
//#endregion
//#region node_modules/atomically/dist/utils/lang.js
var Ne = (e) => e instanceof Error && "code" in e, Pe = (e) => typeof e == "string", Fe = (e) => e === void 0, Ie = S.platform === "linux", Le = S.platform === "win32", Re = [
	"SIGHUP",
	"SIGINT",
	"SIGTERM"
];
Le || Re.push("SIGALRM", "SIGABRT", "SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT"), Ie && Re.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
//#endregion
//#region node_modules/when-exit/dist/node/index.js
var ze = new class {
	constructor() {
		this.callbacks = /* @__PURE__ */ new Set(), this.exited = !1, this.exit = (e) => {
			if (!this.exited) {
				this.exited = !0;
				for (let e of this.callbacks) e();
				e && (Le && e !== "SIGINT" && e !== "SIGTERM" && e !== "SIGKILL" ? S.kill(S.pid, "SIGTERM") : S.kill(S.pid, e));
			}
		}, this.hook = () => {
			S.once("exit", () => this.exit());
			for (let e of Re) try {
				S.once(e, () => this.exit(e));
			} catch {}
		}, this.register = (e) => (this.callbacks.add(e), () => {
			this.callbacks.delete(e);
		}), this.hook();
	}
}().register, V = {
	store: {},
	create: (e) => {
		let t = `000000${Math.floor(Math.random() * 16777215).toString(16)}`.slice(-6);
		return `${e}${`.tmp-${Date.now().toString().slice(-10)}${t}`}`;
	},
	get: (e, t, n = !0) => {
		let r = V.truncate(t(e));
		return r in V.store ? V.get(e, t, n) : (V.store[r] = n, [r, () => delete V.store[r]]);
	},
	purge: (e) => {
		V.store[e] && (delete V.store[e], B.attempt.unlink(e));
	},
	purgeSync: (e) => {
		V.store[e] && (delete V.store[e], B.attempt.unlinkSync(e));
	},
	purgeSyncAll: () => {
		for (let e in V.store) V.purgeSync(e);
	},
	truncate: (e) => {
		let t = T.basename(e);
		if (t.length <= 128) return e;
		let n = /^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(t);
		if (!n) return e;
		let r = t.length - 128;
		return `${e.slice(0, -t.length)}${n[1]}${n[2].slice(0, -r)}${n[3]}`;
	}
};
ze(V.purgeSyncAll);
//#endregion
//#region node_modules/atomically/dist/index.js
function Be(e, t, n = ke) {
	if (Pe(n)) return Be(e, t, { encoding: n });
	let r = { timeout: n.timeout ?? 1e3 }, i = null, a = null, o = null;
	try {
		let s = B.attempt.realpathSync(e), c = !!s;
		e = s || e, [a, i] = V.get(e, n.tmpCreate || V.create, n.tmpPurge !== !1);
		let l = Me && Fe(n.chown), u = Fe(n.mode);
		if (c && (l || u)) {
			let t = B.attempt.statSync(e);
			t && (n = { ...n }, l && (n.chown = {
				uid: t.uid,
				gid: t.gid
			}), u && (n.mode = t.mode));
		}
		if (!c) {
			let t = T.dirname(e);
			B.attempt.mkdirSync(t, {
				mode: 511,
				recursive: !0
			});
		}
		o = B.retry.openSync(r)(a, "w", n.mode || 438), n.tmpCreated && n.tmpCreated(a), Pe(t) ? B.retry.writeSync(r)(o, t, 0, n.encoding || "utf8") : Fe(t) || B.retry.writeSync(r)(o, t, 0, t.length, 0), n.fsync !== !1 && (n.fsyncWait === !1 ? B.attempt.fsync(o) : B.retry.fsyncSync(r)(o)), B.retry.closeSync(r)(o), o = null, n.chown && (n.chown.uid !== Ae || n.chown.gid !== je) && B.attempt.chownSync(a, n.chown.uid, n.chown.gid), n.mode && n.mode !== 438 && B.attempt.chmodSync(a, n.mode);
		try {
			B.retry.renameSync(r)(a, e);
		} catch (t) {
			if (!Ne(t) || t.code !== "ENAMETOOLONG") throw t;
			B.retry.renameSync(r)(a, V.truncate(e));
		}
		i(), a = null;
	} finally {
		o && B.attempt.closeSync(o), a && V.purge(a);
	}
}
//#endregion
//#region node_modules/dot-prop/index.js
var H = (e) => {
	let t = typeof e;
	return e !== null && (t === "object" || t === "function");
}, Ve = new Set([
	"__proto__",
	"prototype",
	"constructor"
]), He = /* @__PURE__ */ new Set("0123456789");
function Ue(e) {
	let t = [], n = "", r = "start", i = !1;
	for (let a of e) switch (a) {
		case "\\":
			if (r === "index") throw Error("Invalid character in an index");
			if (r === "indexEnd") throw Error("Invalid character after an index");
			i && (n += a), r = "property", i = !i;
			break;
		case ".":
			if (r === "index") throw Error("Invalid character in an index");
			if (r === "indexEnd") {
				r = "property";
				break;
			}
			if (i) {
				i = !1, n += a;
				break;
			}
			if (Ve.has(n)) return [];
			t.push(n), n = "", r = "property";
			break;
		case "[":
			if (r === "index") throw Error("Invalid character in an index");
			if (r === "indexEnd") {
				r = "index";
				break;
			}
			if (i) {
				i = !1, n += a;
				break;
			}
			if (r === "property") {
				if (Ve.has(n)) return [];
				t.push(n), n = "";
			}
			r = "index";
			break;
		case "]":
			if (r === "index") {
				t.push(Number.parseInt(n, 10)), n = "", r = "indexEnd";
				break;
			}
			if (r === "indexEnd") throw Error("Invalid character after an index");
		default:
			if (r === "index" && !He.has(a)) throw Error("Invalid character in an index");
			if (r === "indexEnd") throw Error("Invalid character after an index");
			r === "start" && (r = "property"), i && (i = !1, n += "\\"), n += a;
	}
	switch (i && (n += "\\"), r) {
		case "property":
			if (Ve.has(n)) return [];
			t.push(n);
			break;
		case "index": throw Error("Index was not closed");
		case "start":
			t.push("");
			break;
	}
	return t;
}
function We(e, t) {
	if (typeof t != "number" && Array.isArray(e)) {
		let n = Number.parseInt(t, 10);
		return Number.isInteger(n) && e[n] === e[t];
	}
	return !1;
}
function Ge(e, t) {
	if (We(e, t)) throw Error("Cannot use string index");
}
function Ke(e, t, n) {
	if (!H(e) || typeof t != "string") return n === void 0 ? e : n;
	let r = Ue(t);
	if (r.length === 0) return n;
	for (let t = 0; t < r.length; t++) {
		let i = r[t];
		if (e = We(e, i) ? t === r.length - 1 ? void 0 : null : e[i], e == null) {
			if (t !== r.length - 1) return n;
			break;
		}
	}
	return e === void 0 ? n : e;
}
function qe(e, t, n) {
	if (!H(e) || typeof t != "string") return e;
	let r = e, i = Ue(t);
	for (let t = 0; t < i.length; t++) {
		let r = i[t];
		Ge(e, r), t === i.length - 1 ? e[r] = n : H(e[r]) || (e[r] = typeof i[t + 1] == "number" ? [] : {}), e = e[r];
	}
	return r;
}
function Je(e, t) {
	if (!H(e) || typeof t != "string") return !1;
	let n = Ue(t);
	for (let t = 0; t < n.length; t++) {
		let r = n[t];
		if (Ge(e, r), t === n.length - 1) return delete e[r], !0;
		if (e = e[r], !H(e)) return !1;
	}
}
function Ye(e, t) {
	if (!H(e) || typeof t != "string") return !1;
	let n = Ue(t);
	if (n.length === 0) return !1;
	for (let t of n) {
		if (!H(e) || !(t in e) || We(e, t)) return !1;
		e = e[t];
	}
	return !0;
}
//#endregion
//#region node_modules/configstore/index.js
function Xe(e, t) {
	let n = t ? T.join(e, "config.json") : T.join("configstore", `${e}.json`), r = we ?? Se.default.mkdtempSync(Se.default.realpathSync(w.tmpdir()) + T.sep);
	return T.join(r, n);
}
var Ze = "You don't have access to this file.", Qe = {
	mode: 448,
	recursive: !0
}, $e = { mode: 384 };
function et(e) {
	throw e.code === "EACCES" && (e.message = `${e.message}\n${Ze}\n`), e;
}
var tt = class {
	constructor(e, t, n = {}) {
		this._path = n.configPath ?? Xe(e, n.globalConfigPath), this._clearInvalidConfig = n.clearInvalidConfig ?? !0, t && (this.all = {
			...t,
			...this.all
		});
	}
	get all() {
		try {
			return JSON.parse(Se.default.readFileSync(this._path, "utf8"));
		} catch (e) {
			if (e.code === "ENOENT") return {};
			if (e.name === "SyntaxError") {
				if (this._clearInvalidConfig) return Be(this._path, "", $e), {};
				throw e;
			}
			/* c8 ignore next */
			return et(e), {};
		}
	}
	set all(e) {
		try {
			Se.default.mkdirSync(T.dirname(this._path), Qe), Be(this._path, JSON.stringify(e, void 0, "	"), $e);
		} catch (e) {
			et(e);
		}
	}
	get size() {
		return Object.keys(this.all || {}).length;
	}
	get(e) {
		return Ke(this.all, e);
	}
	set(e, t) {
		let n = this.all;
		if (typeof e == "object" && arguments.length === 1) for (let t of Object.keys(e)) qe(n, t, e[t]);
		else qe(n, e, t);
		this.all = n;
	}
	has(e) {
		return Ye(this.all, e);
	}
	delete(e) {
		let t = this.all;
		Je(t, e), this.all = t;
	}
	clear() {
		this.all = {};
	}
	get path() {
		return this._path;
	}
}, nt = /* @__PURE__ */ y(i(), 1), rt = /* @__PURE__ */ y(_(), 1), it = class extends Error {
	response;
	request;
	options;
	constructor(e, t, n) {
		let r = `${e.status || e.status === 0 ? e.status : ""} ${e.statusText ?? ""}`.trim(), i = r ? `status code ${r}` : "an unknown error";
		super(`Request failed with ${i}: ${t.method} ${t.url}`), this.name = "HTTPError", this.response = e, this.request = t, this.options = n;
	}
}, at = class extends Error {
	name = "NonError";
	value;
	constructor(e) {
		let t = "Non-error value was thrown";
		try {
			typeof e == "string" ? t = e : e && typeof e == "object" && "message" in e && typeof e.message == "string" && (t = e.message);
		} catch {}
		super(t), this.value = e;
	}
}, ot = class extends Error {
	name = "ForceRetryError";
	customDelay;
	code;
	customRequest;
	constructor(e) {
		let t = e?.cause ? e.cause instanceof Error ? e.cause : new at(e.cause) : void 0;
		super(e?.code ? `Forced retry: ${e.code}` : "Forced retry", t ? { cause: t } : void 0), this.customDelay = e?.delay, this.code = e?.code, this.customRequest = e?.request;
	}
}, st = (() => {
	let e = !1, t = !1, n = typeof globalThis.ReadableStream == "function", r = typeof globalThis.Request == "function";
	if (n && r) try {
		t = new globalThis.Request("https://empty.invalid", {
			body: new globalThis.ReadableStream(),
			method: "POST",
			get duplex() {
				return e = !0, "half";
			}
		}).headers.has("Content-Type");
	} catch (e) {
		if (e instanceof Error && e.message === "unsupported BodyInit type") return !1;
		throw e;
	}
	return e && !t;
})(), ct = typeof globalThis.AbortController == "function", lt = typeof globalThis.AbortSignal == "function" && typeof globalThis.AbortSignal.any == "function", ut = typeof globalThis.ReadableStream == "function", dt = typeof globalThis.FormData == "function", ft = [
	"get",
	"post",
	"put",
	"patch",
	"head",
	"delete"
], pt = {
	json: "application/json",
	text: "text/*",
	formData: "multipart/form-data",
	arrayBuffer: "*/*",
	blob: "*/*",
	bytes: "*/*"
}, mt = 2147483647, ht = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, gt = Symbol("stop"), _t = class {
	options;
	constructor(e) {
		this.options = e;
	}
}, vt = (e) => new _t(e), yt = {
	json: !0,
	parseJson: !0,
	stringifyJson: !0,
	searchParams: !0,
	prefixUrl: !0,
	retry: !0,
	timeout: !0,
	hooks: !0,
	throwHttpErrors: !0,
	onDownloadProgress: !0,
	onUploadProgress: !0,
	fetch: !0,
	context: !0
}, bt = { next: !0 }, xt = {
	method: !0,
	headers: !0,
	body: !0,
	mode: !0,
	credentials: !0,
	cache: !0,
	redirect: !0,
	referrer: !0,
	referrerPolicy: !0,
	integrity: !0,
	keepalive: !0,
	signal: !0,
	window: !0,
	duplex: !0
}, St = (e) => {
	if (!e) return 0;
	if (e instanceof FormData) {
		let t = 0;
		for (let [n, r] of e) t += ht, t += new TextEncoder().encode(`Content-Disposition: form-data; name="${n}"`).length, t += typeof r == "string" ? new TextEncoder().encode(r).length : r.size;
		return t;
	}
	if (e instanceof Blob) return e.size;
	if (e instanceof ArrayBuffer) return e.byteLength;
	if (typeof e == "string") return new TextEncoder().encode(e).length;
	if (e instanceof URLSearchParams) return new TextEncoder().encode(e.toString()).length;
	if ("byteLength" in e) return e.byteLength;
	if (typeof e == "object" && e) try {
		let t = JSON.stringify(e);
		return new TextEncoder().encode(t).length;
	} catch {
		return 0;
	}
	return 0;
}, Ct = (e, t, n) => {
	let r, i = 0;
	return e.pipeThrough(new TransformStream({
		transform(e, a) {
			if (a.enqueue(e), r) {
				i += r.byteLength;
				let e = t === 0 ? 0 : i / t;
				e >= 1 && (e = 1 - 2 ** -52), n?.({
					percent: e,
					totalBytes: Math.max(t, i),
					transferredBytes: i
				}, r);
			}
			r = e;
		},
		flush() {
			r && (i += r.byteLength, n?.({
				percent: 1,
				totalBytes: Math.max(t, i),
				transferredBytes: i
			}, r));
		}
	}));
}, wt = (e, t) => {
	if (!e.body) return e;
	if (e.status === 204) return new Response(null, {
		status: e.status,
		statusText: e.statusText,
		headers: e.headers
	});
	let n = Math.max(0, Number(e.headers.get("content-length")) || 0);
	return new Response(Ct(e.body, n, t), {
		status: e.status,
		statusText: e.statusText,
		headers: e.headers
	});
}, Tt = (e, t, n) => {
	if (!e.body) return e;
	let r = St(n ?? e.body);
	return new Request(e, {
		duplex: "half",
		body: Ct(e.body, r, t)
	});
}, U = (e) => typeof e == "object" && !!e, W = (...e) => {
	for (let t of e) if ((!U(t) || Array.isArray(t)) && t !== void 0) throw TypeError("The `options` argument must be an object");
	return At({}, ...e);
}, Et = (e = {}, t = {}) => {
	let n = new globalThis.Headers(e), r = t instanceof globalThis.Headers, i = new globalThis.Headers(t);
	for (let [e, t] of i.entries()) r && t === "undefined" || t === void 0 ? n.delete(e) : n.set(e, t);
	return n;
};
function Dt(e, t, n) {
	return Object.hasOwn(t, n) && t[n] === void 0 ? [] : At(e[n] ?? [], t[n] ?? []);
}
var Ot = (e = {}, t = {}) => ({
	beforeRequest: Dt(e, t, "beforeRequest"),
	beforeRetry: Dt(e, t, "beforeRetry"),
	afterResponse: Dt(e, t, "afterResponse"),
	beforeError: Dt(e, t, "beforeError")
}), kt = (e, t) => {
	let n = new URLSearchParams();
	for (let r of [e, t]) if (r !== void 0) if (r instanceof URLSearchParams) for (let [e, t] of r.entries()) n.append(e, t);
	else if (Array.isArray(r)) for (let e of r) {
		if (!Array.isArray(e) || e.length !== 2) throw TypeError("Array search parameters must be provided in [[key, value], ...] format");
		n.append(String(e[0]), String(e[1]));
	}
	else if (U(r)) for (let [e, t] of Object.entries(r)) t !== void 0 && n.append(e, String(t));
	else {
		let e = new URLSearchParams(r);
		for (let [t, r] of e.entries()) n.append(t, r);
	}
	return n;
}, At = (...e) => {
	let t = {}, n = {}, r = {}, i, a = [];
	for (let o of e) if (Array.isArray(o)) Array.isArray(t) || (t = []), t = [...t, ...o];
	else if (U(o)) {
		for (let [e, n] of Object.entries(o)) {
			if (e === "signal" && n instanceof globalThis.AbortSignal) {
				a.push(n);
				continue;
			}
			if (e === "context") {
				if (n != null && (!U(n) || Array.isArray(n))) throw TypeError("The `context` option must be an object");
				t = {
					...t,
					context: n == null ? {} : {
						...t.context,
						...n
					}
				};
				continue;
			}
			if (e === "searchParams") {
				i = n == null ? void 0 : i === void 0 ? n : kt(i, n);
				continue;
			}
			U(n) && e in t && (n = At(t[e], n)), t = {
				...t,
				[e]: n
			};
		}
		U(o.hooks) && (r = Ot(r, o.hooks), t.hooks = r), U(o.headers) && (n = Et(n, o.headers), t.headers = n);
	}
	return i !== void 0 && (t.searchParams = i), a.length > 0 && (a.length === 1 ? t.signal = a[0] : lt ? t.signal = AbortSignal.any(a) : t.signal = a.at(-1)), t;
}, jt = (e) => ft.includes(e) ? e.toUpperCase() : e, Mt = {
	limit: 2,
	methods: [
		"get",
		"put",
		"head",
		"delete",
		"options",
		"trace"
	],
	statusCodes: [
		408,
		413,
		429,
		500,
		502,
		503,
		504
	],
	afterStatusCodes: [
		413,
		429,
		503
	],
	maxRetryAfter: Infinity,
	backoffLimit: Infinity,
	delay: (e) => .3 * 2 ** (e - 1) * 1e3,
	jitter: void 0,
	retryOnTimeout: !1
}, Nt = (e = {}) => {
	if (typeof e == "number") return {
		...Mt,
		limit: e
	};
	if (e.methods && !Array.isArray(e.methods)) throw Error("retry.methods must be an array");
	if (e.methods &&= e.methods.map((e) => e.toLowerCase()), e.statusCodes && !Array.isArray(e.statusCodes)) throw Error("retry.statusCodes must be an array");
	let t = Object.fromEntries(Object.entries(e).filter(([, e]) => e !== void 0));
	return {
		...Mt,
		...t
	};
}, Pt = class extends Error {
	request;
	constructor(e) {
		super(`Request timed out: ${e.method} ${e.url}`), this.name = "TimeoutError", this.request = e;
	}
};
//#endregion
//#region node_modules/ky/distribution/utils/timeout.js
async function Ft(e, t, n, r) {
	return new Promise((i, a) => {
		let o = setTimeout(() => {
			n && n.abort(), a(new Pt(e));
		}, r.timeout);
		r.fetch(e, t).then(i).catch(a).then(() => {
			clearTimeout(o);
		});
	});
}
//#endregion
//#region node_modules/ky/distribution/utils/delay.js
async function It(e, { signal: t }) {
	return new Promise((n, r) => {
		t && (t.throwIfAborted(), t.addEventListener("abort", i, { once: !0 }));
		function i() {
			clearTimeout(a), r(t.reason);
		}
		let a = setTimeout(() => {
			t?.removeEventListener("abort", i), n();
		}, e);
	});
}
//#endregion
//#region node_modules/ky/distribution/utils/options.js
var Lt = (e, t) => {
	let n = {};
	for (let r in t) Object.hasOwn(t, r) && !(r in xt) && !(r in yt) && (!(r in e) || r in bt) && (n[r] = t[r]);
	return n;
}, Rt = (e) => e === void 0 ? !1 : Array.isArray(e) ? e.length > 0 : e instanceof URLSearchParams ? e.size > 0 : typeof e == "object" ? Object.keys(e).length > 0 : typeof e == "string" ? e.trim().length > 0 : !!e;
//#endregion
//#region node_modules/ky/distribution/utils/type-guards.js
function zt(e) {
	return e instanceof it || e?.name === it.name;
}
function Bt(e) {
	return e instanceof Pt || e?.name === Pt.name;
}
//#endregion
//#region node_modules/ky/distribution/core/Ky.js
var Vt = class e {
	static create(t, n) {
		let r = new e(t, n), i = r.#p(async () => {
			if (typeof r.#i.timeout == "number" && r.#i.timeout > 2147483647) throw RangeError(`The \`timeout\` option cannot be greater than ${mt}`);
			await Promise.resolve();
			let e = await r.#m();
			for (let t of r.#i.hooks.afterResponse) {
				let n = r.#u(e.clone()), i;
				try {
					i = await t(r.request, r.#h(), n, { retryCount: r.#n });
				} catch (t) {
					throw r.#f(n), r.#f(e), t;
				}
				if (i instanceof _t) throw r.#f(n), r.#f(e), new ot(i.options);
				let a = i instanceof globalThis.Response ? i : e;
				n !== a && r.#f(n), e !== a && r.#f(e), e = a;
			}
			if (r.#u(e), !e.ok && (typeof r.#i.throwHttpErrors == "function" ? r.#i.throwHttpErrors(e.status) : r.#i.throwHttpErrors)) {
				let t = new it(e, r.request, r.#h());
				for (let e of r.#i.hooks.beforeError) t = await e(t, { retryCount: r.#n });
				throw t;
			}
			if (r.#i.onDownloadProgress) {
				if (typeof r.#i.onDownloadProgress != "function") throw TypeError("The `onDownloadProgress` option must be a function");
				if (!ut) throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");
				let t = e.clone();
				return r.#f(e), wt(t, r.#i.onDownloadProgress);
			}
			return e;
		}).finally(() => {
			let e = r.#a;
			r.#d(e?.body ?? void 0), r.#d(r.request.body ?? void 0);
		});
		for (let [e, t] of Object.entries(pt)) e === "bytes" && typeof globalThis.Response?.prototype?.bytes != "function" || (i[e] = async () => {
			r.request.headers.set("accept", r.request.headers.get("accept") || t);
			let a = await i;
			if (e === "json") {
				if (a.status === 204) return "";
				let e = await a.text();
				return e === "" ? "" : n.parseJson ? n.parseJson(e) : JSON.parse(e);
			}
			return a[e]();
		});
		return i;
	}
	static #e(e) {
		return e && typeof e == "object" && !Array.isArray(e) && !(e instanceof URLSearchParams) ? Object.fromEntries(Object.entries(e).filter(([, e]) => e !== void 0)) : e;
	}
	request;
	#t;
	#n = 0;
	#r;
	#i;
	#a;
	#o;
	#s;
	constructor(t, n = {}) {
		if (this.#r = t, this.#i = {
			...n,
			headers: Et(this.#r.headers, n.headers),
			hooks: Ot({
				beforeRequest: [],
				beforeRetry: [],
				beforeError: [],
				afterResponse: []
			}, n.hooks),
			method: jt(n.method ?? this.#r.method ?? "GET"),
			prefixUrl: String(n.prefixUrl || ""),
			retry: Nt(n.retry),
			throwHttpErrors: n.throwHttpErrors ?? !0,
			timeout: n.timeout ?? 1e4,
			fetch: n.fetch ?? globalThis.fetch.bind(globalThis),
			context: n.context ?? {}
		}, typeof this.#r != "string" && !(this.#r instanceof URL || this.#r instanceof globalThis.Request)) throw TypeError("`input` must be a string, URL, or Request");
		if (this.#i.prefixUrl && typeof this.#r == "string") {
			if (this.#r.startsWith("/")) throw Error("`input` must not begin with a slash when using `prefixUrl`");
			this.#i.prefixUrl.endsWith("/") || (this.#i.prefixUrl += "/"), this.#r = this.#i.prefixUrl + this.#r;
		}
		ct && lt && (this.#o = this.#i.signal ?? this.#r.signal, this.#t = new globalThis.AbortController(), this.#i.signal = this.#o ? AbortSignal.any([this.#o, this.#t.signal]) : this.#t.signal), st && (this.#i.duplex = "half"), this.#i.json !== void 0 && (this.#i.body = this.#i.stringifyJson?.(this.#i.json) ?? JSON.stringify(this.#i.json), this.#i.headers.set("content-type", this.#i.headers.get("content-type") ?? "application/json"));
		let r = n.headers && new globalThis.Headers(n.headers).has("content-type");
		if (this.#r instanceof globalThis.Request && (dt && this.#i.body instanceof globalThis.FormData || this.#i.body instanceof URLSearchParams) && !r && this.#i.headers.delete("content-type"), this.request = new globalThis.Request(this.#r, this.#i), Rt(this.#i.searchParams)) {
			let t = "?" + (typeof this.#i.searchParams == "string" ? this.#i.searchParams.replace(/^\?/, "") : new URLSearchParams(e.#e(this.#i.searchParams)).toString()), n = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, t);
			this.request = new globalThis.Request(n, this.#i);
		}
		if (this.#i.onUploadProgress) {
			if (typeof this.#i.onUploadProgress != "function") throw TypeError("The `onUploadProgress` option must be a function");
			if (!st) throw Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");
			this.request = this.#_(this.request, this.#i.body ?? void 0);
		}
	}
	#c() {
		let e = this.#i.retry.delay(this.#n), t = e;
		this.#i.retry.jitter === !0 ? t = Math.random() * e : typeof this.#i.retry.jitter == "function" && (t = this.#i.retry.jitter(e), (!Number.isFinite(t) || t < 0) && (t = e));
		let n = this.#i.retry.backoffLimit ?? Infinity;
		return Math.min(n, t);
	}
	async #l(e) {
		if (this.#n++, this.#n > this.#i.retry.limit) throw e;
		let t = e instanceof Error ? e : new at(e);
		if (t instanceof ot) return t.customDelay ?? this.#c();
		if (!this.#i.retry.methods.includes(this.request.method.toLowerCase())) throw e;
		if (this.#i.retry.shouldRetry !== void 0) {
			let n = await this.#i.retry.shouldRetry({
				error: t,
				retryCount: this.#n
			});
			if (n === !1) throw e;
			if (n === !0) return this.#c();
		}
		if (Bt(e) && !this.#i.retry.retryOnTimeout) throw e;
		if (zt(e)) {
			if (!this.#i.retry.statusCodes.includes(e.response.status)) throw e;
			let t = e.response.headers.get("Retry-After") ?? e.response.headers.get("RateLimit-Reset") ?? e.response.headers.get("X-RateLimit-Retry-After") ?? e.response.headers.get("X-RateLimit-Reset") ?? e.response.headers.get("X-Rate-Limit-Reset");
			if (t && this.#i.retry.afterStatusCodes.includes(e.response.status)) {
				let e = Number(t) * 1e3;
				Number.isNaN(e) ? e = Date.parse(t) - Date.now() : e >= Date.parse("2024-01-01") && (e -= Date.now());
				let n = this.#i.retry.maxRetryAfter ?? e;
				return e < n ? e : n;
			}
			if (e.response.status === 413) throw e;
		}
		return this.#c();
	}
	#u(e) {
		return this.#i.parseJson && (e.json = async () => this.#i.parseJson(await e.text())), e;
	}
	#d(e) {
		e && e.cancel().catch(() => void 0);
	}
	#f(e) {
		this.#d(e.body ?? void 0);
	}
	async #p(e) {
		try {
			return await e();
		} catch (t) {
			let n = Math.min(await this.#l(t), mt);
			if (this.#n < 1) throw t;
			if (await It(n, this.#o ? { signal: this.#o } : {}), t instanceof ot && t.customRequest) {
				let e = this.#i.signal ? new globalThis.Request(t.customRequest, { signal: this.#i.signal }) : new globalThis.Request(t.customRequest);
				this.#g(e);
			}
			for (let e of this.#i.hooks.beforeRetry) {
				let n = await e({
					request: this.request,
					options: this.#h(),
					error: t,
					retryCount: this.#n
				});
				if (n instanceof globalThis.Request) {
					this.#g(n);
					break;
				}
				if (n instanceof globalThis.Response) return n;
				if (n === gt) return;
			}
			return this.#p(e);
		}
	}
	async #m() {
		this.#t?.signal.aborted && (this.#t = new globalThis.AbortController(), this.#i.signal = this.#o ? AbortSignal.any([this.#o, this.#t.signal]) : this.#t.signal, this.request = new globalThis.Request(this.request, { signal: this.#i.signal }));
		for (let e of this.#i.hooks.beforeRequest) {
			let t = await e(this.request, this.#h(), { retryCount: this.#n });
			if (t instanceof Response) return t;
			if (t instanceof globalThis.Request) {
				this.#g(t);
				break;
			}
		}
		let e = Lt(this.request, this.#i);
		return this.#a = this.request, this.request = this.#a.clone(), this.#i.timeout === !1 ? this.#i.fetch(this.#a, e) : Ft(this.#a, e, this.#t, this.#i);
	}
	#h() {
		if (!this.#s) {
			let { hooks: e, ...t } = this.#i;
			this.#s = Object.freeze(t);
		}
		return this.#s;
	}
	#g(e) {
		this.#s = void 0, this.request = this.#_(e);
	}
	#_(e, t) {
		return !this.#i.onUploadProgress || !e.body ? e : Tt(e, this.#i.onUploadProgress, t ?? this.#i.body ?? void 0);
	}
}, Ht = (e) => {
	let t = (t, n) => Vt.create(t, W(e, n));
	for (let n of ft) t[n] = (t, r) => Vt.create(t, W(e, r, { method: n }));
	return t.create = (e) => Ht(W(e)), t.extend = (t) => (typeof t == "function" && (t = t(e ?? {})), Ht(W(e, t))), t.stop = gt, t.retry = vt, t;
}, Ut = Ht(), Wt = /* @__PURE__ */ u(((e) => {
	e.parse = e.decode = i, e.stringify = e.encode = n, e.safe = o, e.unsafe = s;
	var t = typeof process < "u" && process.platform === "win32" ? "\r\n" : "\n";
	function n(e, i) {
		var a = [], s = "";
		typeof i == "string" ? i = {
			section: i,
			whitespace: !1
		} : (i ||= {}, i.whitespace = i.whitespace === !0);
		var c = i.whitespace ? " = " : "=";
		return Object.keys(e).forEach(function(n, r, i) {
			var l = e[n];
			l && Array.isArray(l) ? l.forEach(function(e) {
				s += o(n + "[]") + c + o(e) + "\n";
			}) : l && typeof l == "object" ? a.push(n) : s += o(n) + c + o(l) + t;
		}), i.section && s.length && (s = "[" + o(i.section) + "]" + t + s), a.forEach(function(a, o, c) {
			var l = r(a).join("\\."), u = (i.section ? i.section + "." : "") + l, d = n(e[a], {
				section: u,
				whitespace: i.whitespace
			});
			s.length && d.length && (s += t), s += d;
		}), s;
	}
	function r(e) {
		return e.replace(/\1/g, "LITERAL\\1LITERAL").replace(/\\\./g, "").split(/\./).map(function(e) {
			return e.replace(/\1/g, "\\.").replace(/\2LITERAL\\1LITERAL\2/g, "");
		});
	}
	function i(e) {
		var t = {}, n = t, i = null, a = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;
		return e.split(/[\r\n]+/g).forEach(function(e, r, o) {
			if (!(!e || e.match(/^\s*[;#]/))) {
				var c = e.match(a);
				if (c) {
					if (c[1] !== void 0) {
						if (i = s(c[1]), i === "__proto__") {
							n = {};
							return;
						}
						n = t[i] = t[i] || {};
						return;
					}
					var l = s(c[2]);
					if (l !== "__proto__") {
						var u = c[3] ? s(c[4]) : !0;
						switch (u) {
							case "true":
							case "false":
							case "null": u = JSON.parse(u);
						}
						if (l.length > 2 && l.slice(-2) === "[]") {
							if (l = l.substring(0, l.length - 2), l === "__proto__") return;
							n[l] ? Array.isArray(n[l]) || (n[l] = [n[l]]) : n[l] = [];
						}
						Array.isArray(n[l]) ? n[l].push(u) : n[l] = u;
					}
				}
			}
		}), Object.keys(t).filter(function(e, n, i) {
			if (!t[e] || typeof t[e] != "object" || Array.isArray(t[e])) return !1;
			var a = r(e), o = t, s = a.pop(), c = s.replace(/\\\./g, ".");
			return a.forEach(function(e, t, n) {
				e !== "__proto__" && ((!o[e] || typeof o[e] != "object") && (o[e] = {}), o = o[e]);
			}), o === t && c === s ? !1 : (o[c] = t[e], !0);
		}).forEach(function(e, n, r) {
			delete t[e];
		}), t;
	}
	function a(e) {
		return e.charAt(0) === "\"" && e.slice(-1) === "\"" || e.charAt(0) === "'" && e.slice(-1) === "'";
	}
	function o(e) {
		return typeof e != "string" || e.match(/[=\r\n]/) || e.match(/^\[/) || e.length > 1 && a(e) || e !== e.trim() ? JSON.stringify(e) : e.replace(/;/g, "\\;").replace(/#/g, "\\#");
	}
	function s(e, t) {
		if (e = (e || "").trim(), a(e)) {
			e.charAt(0) === "'" && (e = e.substr(1, e.length - 2));
			try {
				e = JSON.parse(e);
			} catch {}
		} else {
			for (var n = !1, r = "", i = 0, o = e.length; i < o; i++) {
				var s = e.charAt(i);
				if (n) "\\;#".indexOf(s) === -1 ? r += "\\" + s : r += s, n = !1;
				else if (";#".indexOf(s) !== -1) break;
				else s === "\\" ? n = !0 : r += s;
			}
			return n && (r += "\\"), r.trim();
		}
		return e;
	}
})), Gt = /* @__PURE__ */ u(((e, t) => {
	var n = 1, r = 2;
	function i() {
		return "";
	}
	function a(e, t, n) {
		return e.slice(t, n).replace(/\S/g, " ");
	}
	t.exports = function(e, t) {
		t ||= {};
		for (var o, s, c = !1, l = !1, u = 0, d = "", f = t.whitespace === !1 ? i : a, p = 0; p < e.length; p++) if (o = e[p], s = e[p + 1], !l && o === "\"" && (e[p - 1] === "\\" && e[p - 2] !== "\\" || (c = !c)), !c) {
			if (!l && o + s === "//") d += e.slice(u, p), u = p, l = n, p++;
			else if (l === n && o + s === "\r\n") {
				p++, l = !1, d += f(e, u, p), u = p;
				continue;
			} else if (l === n && o === "\n") l = !1, d += f(e, u, p), u = p;
			else if (!l && o + s === "/*") {
				d += e.slice(u, p), u = p, l = r, p++;
				continue;
			} else if (l === r && o + s === "*/") {
				p++, l = !1, d += f(e, u, p + 1), u = p + 1;
				continue;
			}
		}
		return d + (l ? f(e.substr(u)) : e.substr(u));
	};
})), Kt = /* @__PURE__ */ u(((e) => {
	var n = t("fs"), r = Wt(), i = t("path"), a = Gt(), o = e.parse = function(e) {
		return /^\s*{/.test(e) ? JSON.parse(a(e)) : r.parse(e);
	}, s = e.file = function() {
		var e = [].slice.call(arguments).filter(function(e) {
			return e != null;
		});
		for (var t in e) if (typeof e[t] != "string") return;
		var r = i.join.apply(null, e);
		try {
			return n.readFileSync(r, "utf-8");
		} catch {
			return;
		}
	};
	e.json = function() {
		var e = s.apply(null, arguments);
		return e ? o(e) : null;
	}, e.env = function(e, t) {
		t ||= process.env;
		var n = {}, r = e.length;
		for (var i in t) if (i.toLowerCase().indexOf(e.toLowerCase()) === 0) {
			for (var a = i.substring(r).split("__"), o; (o = a.indexOf("")) > -1;) a.splice(o, 1);
			var s = n;
			a.forEach(function(e, n) {
				!e || typeof s != "object" || (n === a.length - 1 && (s[e] = t[i]), s[e] === void 0 && (s[e] = {}), s = s[e]);
			});
		}
		return n;
	}, e.find = function() {
		var e = i.join.apply(null, [].slice.call(arguments));
		function t(e, r) {
			var a = i.join(e, r);
			try {
				return n.statSync(a), a;
			} catch {
				if (i.dirname(e) !== e) return t(i.dirname(e), r);
			}
		}
		return t(process.cwd(), e);
	};
})), qt = /* @__PURE__ */ u(((e, t) => {
	function n(e) {
		return e instanceof Buffer || e instanceof Date || e instanceof RegExp;
	}
	function r(e) {
		if (e instanceof Buffer) {
			var t = Buffer.alloc ? Buffer.alloc(e.length) : new Buffer(e.length);
			return e.copy(t), t;
		} else if (e instanceof Date) return new Date(e.getTime());
		else if (e instanceof RegExp) return new RegExp(e);
		else throw Error("Unexpected situation");
	}
	function i(e) {
		var t = [];
		return e.forEach(function(e, a) {
			typeof e == "object" && e ? Array.isArray(e) ? t[a] = i(e) : n(e) ? t[a] = r(e) : t[a] = o({}, e) : t[a] = e;
		}), t;
	}
	function a(e, t) {
		return t === "__proto__" ? void 0 : e[t];
	}
	var o = t.exports = function() {
		if (arguments.length < 1 || typeof arguments[0] != "object") return !1;
		if (arguments.length < 2) return arguments[0];
		var e = arguments[0], t = Array.prototype.slice.call(arguments, 1), s, c;
		return t.forEach(function(t) {
			typeof t != "object" || !t || Array.isArray(t) || Object.keys(t).forEach(function(l) {
				if (c = a(e, l), s = a(t, l), s !== e) if (typeof s != "object" || !s) {
					e[l] = s;
					return;
				} else if (Array.isArray(s)) {
					e[l] = i(s);
					return;
				} else if (n(s)) {
					e[l] = r(s);
					return;
				} else if (typeof c != "object" || !c || Array.isArray(c)) {
					e[l] = o({}, s);
					return;
				} else {
					e[l] = o(c, s);
					return;
				}
			});
		}), e;
	};
})), Jt = /* @__PURE__ */ u(((e, t) => {
	function n(e, t) {
		var n = e;
		return t.slice(0, -1).forEach(function(e) {
			n = n[e] || {};
		}), t[t.length - 1] in n;
	}
	function r(e) {
		return typeof e == "number" || /^0x[0-9a-f]+$/i.test(e) ? !0 : /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(e);
	}
	function i(e, t) {
		return t === "constructor" && typeof e[t] == "function" || t === "__proto__";
	}
	t.exports = function(e, t) {
		t ||= {};
		var a = {
			bools: {},
			strings: {},
			unknownFn: null
		};
		typeof t.unknown == "function" && (a.unknownFn = t.unknown), typeof t.boolean == "boolean" && t.boolean ? a.allBools = !0 : [].concat(t.boolean).filter(Boolean).forEach(function(e) {
			a.bools[e] = !0;
		});
		var o = {};
		function s(e) {
			return o[e].some(function(e) {
				return a.bools[e];
			});
		}
		Object.keys(t.alias || {}).forEach(function(e) {
			o[e] = [].concat(t.alias[e]), o[e].forEach(function(t) {
				o[t] = [e].concat(o[e].filter(function(e) {
					return t !== e;
				}));
			});
		}), [].concat(t.string).filter(Boolean).forEach(function(e) {
			a.strings[e] = !0, o[e] && [].concat(o[e]).forEach(function(e) {
				a.strings[e] = !0;
			});
		});
		var c = t.default || {}, l = { _: [] };
		function u(e, t) {
			return a.allBools && /^--[^=]+$/.test(t) || a.strings[e] || a.bools[e] || o[e];
		}
		function d(e, t, n) {
			for (var r = e, o = 0; o < t.length - 1; o++) {
				var s = t[o];
				if (i(r, s)) return;
				r[s] === void 0 && (r[s] = {}), (r[s] === Object.prototype || r[s] === Number.prototype || r[s] === String.prototype) && (r[s] = {}), r[s] === Array.prototype && (r[s] = []), r = r[s];
			}
			var c = t[t.length - 1];
			i(r, c) || ((r === Object.prototype || r === Number.prototype || r === String.prototype) && (r = {}), r === Array.prototype && (r = []), r[c] === void 0 || a.bools[c] || typeof r[c] == "boolean" ? r[c] = n : Array.isArray(r[c]) ? r[c].push(n) : r[c] = [r[c], n]);
		}
		function f(e, t, n) {
			if (!(n && a.unknownFn && !u(e, n) && a.unknownFn(n) === !1)) {
				var i = !a.strings[e] && r(t) ? Number(t) : t;
				d(l, e.split("."), i), (o[e] || []).forEach(function(e) {
					d(l, e.split("."), i);
				});
			}
		}
		Object.keys(a.bools).forEach(function(e) {
			f(e, c[e] === void 0 ? !1 : c[e]);
		});
		var p = [];
		e.indexOf("--") !== -1 && (p = e.slice(e.indexOf("--") + 1), e = e.slice(0, e.indexOf("--")));
		for (var m = 0; m < e.length; m++) {
			var h = e[m], g, _;
			if (/^--.+=/.test(h)) {
				var v = h.match(/^--([^=]+)=([\s\S]*)$/);
				g = v[1];
				var y = v[2];
				a.bools[g] && (y = y !== "false"), f(g, y, h);
			} else if (/^--no-.+/.test(h)) g = h.match(/^--no-(.+)/)[1], f(g, !1, h);
			else if (/^--.+/.test(h)) g = h.match(/^--(.+)/)[1], _ = e[m + 1], _ !== void 0 && !/^(-|--)[^-]/.test(_) && !a.bools[g] && !a.allBools && (!o[g] || !s(g)) ? (f(g, _, h), m += 1) : /^(true|false)$/.test(_) ? (f(g, _ === "true", h), m += 1) : f(g, a.strings[g] ? "" : !0, h);
			else if (/^-[^-]+/.test(h)) {
				for (var b = h.slice(1, -1).split(""), x = !1, S = 0; S < b.length; S++) {
					if (_ = h.slice(S + 2), _ === "-") {
						f(b[S], _, h);
						continue;
					}
					if (/[A-Za-z]/.test(b[S]) && _[0] === "=") {
						f(b[S], _.slice(1), h), x = !0;
						break;
					}
					if (/[A-Za-z]/.test(b[S]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(_)) {
						f(b[S], _, h), x = !0;
						break;
					}
					if (b[S + 1] && b[S + 1].match(/\W/)) {
						f(b[S], h.slice(S + 2), h), x = !0;
						break;
					} else f(b[S], a.strings[b[S]] ? "" : !0, h);
				}
				g = h.slice(-1)[0], !x && g !== "-" && (e[m + 1] && !/^(-|--)[^-]/.test(e[m + 1]) && !a.bools[g] && (!o[g] || !s(g)) ? (f(g, e[m + 1], h), m += 1) : e[m + 1] && /^(true|false)$/.test(e[m + 1]) ? (f(g, e[m + 1] === "true", h), m += 1) : f(g, a.strings[g] ? "" : !0, h));
			} else if ((!a.unknownFn || a.unknownFn(h) !== !1) && l._.push(a.strings._ || !r(h) ? h : Number(h)), t.stopEarly) {
				l._.push.apply(l._, e.slice(m + 1));
				break;
			}
		}
		return Object.keys(c).forEach(function(e) {
			n(l, e.split(".")) || (d(l, e.split("."), c[e]), (o[e] || []).forEach(function(t) {
				d(l, t.split("."), c[e]);
			}));
		}), t["--"] ? l["--"] = p.slice() : p.forEach(function(e) {
			l._.push(e);
		}), l;
	};
})), Yt = /* @__PURE__ */ y((/* @__PURE__ */ u(((e, n) => {
	var r = Kt(), i = t("path").join, a = qt(), o = "/etc", s = process.platform === "win32", c = s ? process.env.USERPROFILE : process.env.HOME;
	n.exports = function(e, t, n, l) {
		if (typeof e != "string") throw Error("rc(name): name *must* be string");
		n ||= Jt()(process.argv.slice(2)), t = (typeof t == "string" ? r.json(t) : t) || {}, l ||= r.parse;
		var u = r.env(e + "_"), d = [t], f = [];
		function p(e) {
			if (!(f.indexOf(e) >= 0)) {
				var t = r.file(e);
				t && (d.push(l(t)), f.push(e));
			}
		}
		return s || [i(o, e, "config"), i(o, e + "rc")].forEach(p), c && [
			i(c, ".config", e, "config"),
			i(c, ".config", e),
			i(c, "." + e, "config"),
			i(c, "." + e + "rc")
		].forEach(p), p(r.find("." + e + "rc")), u.config && p(u.config), n.config && p(n.config), a.apply(null, d.concat([
			u,
			n,
			f.length ? {
				configs: f,
				config: f[f.length - 1]
			} : void 0
		]));
	};
})))(), 1);
function Xt(e) {
	let t = (0, Yt.default)("npm", { registry: "https://registry.npmjs.org/" }), n = t[`${e}:registry`] || t.config_registry || t.registry;
	return n.slice(-1) === "/" ? n : `${n}/`;
}
//#endregion
//#region node_modules/@pnpm/network.ca-file/node_modules/graceful-fs/polyfills.js
var Zt = /* @__PURE__ */ u(((e, n) => {
	var r = t("constants"), i = process.cwd, a = null, o = process.env.GRACEFUL_FS_PLATFORM || process.platform;
	process.cwd = function() {
		return a ||= i.call(process), a;
	};
	try {
		process.cwd();
	} catch {}
	if (typeof process.chdir == "function") {
		var s = process.chdir;
		process.chdir = function(e) {
			a = null, s.call(process, e);
		}, Object.setPrototypeOf && Object.setPrototypeOf(process.chdir, s);
	}
	n.exports = c;
	function c(e) {
		r.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./) && t(e), e.lutimes || n(e), e.chown = s(e.chown), e.fchown = s(e.fchown), e.lchown = s(e.lchown), e.chmod = i(e.chmod), e.fchmod = i(e.fchmod), e.lchmod = i(e.lchmod), e.chownSync = c(e.chownSync), e.fchownSync = c(e.fchownSync), e.lchownSync = c(e.lchownSync), e.chmodSync = a(e.chmodSync), e.fchmodSync = a(e.fchmodSync), e.lchmodSync = a(e.lchmodSync), e.stat = l(e.stat), e.fstat = l(e.fstat), e.lstat = l(e.lstat), e.statSync = u(e.statSync), e.fstatSync = u(e.fstatSync), e.lstatSync = u(e.lstatSync), e.chmod && !e.lchmod && (e.lchmod = function(e, t, n) {
			n && process.nextTick(n);
		}, e.lchmodSync = function() {}), e.chown && !e.lchown && (e.lchown = function(e, t, n, r) {
			r && process.nextTick(r);
		}, e.lchownSync = function() {}), o === "win32" && (e.rename = typeof e.rename == "function" ? (function(t) {
			function n(n, r, i) {
				var a = Date.now(), o = 0;
				t(n, r, function s(c) {
					if (c && (c.code === "EACCES" || c.code === "EPERM") && Date.now() - a < 6e4) {
						setTimeout(function() {
							e.stat(r, function(e, a) {
								e && e.code === "ENOENT" ? t(n, r, s) : i(c);
							});
						}, o), o < 100 && (o += 10);
						return;
					}
					i && i(c);
				});
			}
			return Object.setPrototypeOf && Object.setPrototypeOf(n, t), n;
		})(e.rename) : e.rename), e.read = typeof e.read == "function" ? (function(t) {
			function n(n, r, i, a, o, s) {
				var c;
				if (s && typeof s == "function") {
					var l = 0;
					c = function(u, d, f) {
						if (u && u.code === "EAGAIN" && l < 10) return l++, t.call(e, n, r, i, a, o, c);
						s.apply(this, arguments);
					};
				}
				return t.call(e, n, r, i, a, o, c);
			}
			return Object.setPrototypeOf && Object.setPrototypeOf(n, t), n;
		})(e.read) : e.read, e.readSync = typeof e.readSync == "function" ? (function(t) {
			return function(n, r, i, a, o) {
				for (var s = 0;;) try {
					return t.call(e, n, r, i, a, o);
				} catch (e) {
					if (e.code === "EAGAIN" && s < 10) {
						s++;
						continue;
					}
					throw e;
				}
			};
		})(e.readSync) : e.readSync;
		function t(e) {
			e.lchmod = function(t, n, i) {
				e.open(t, r.O_WRONLY | r.O_SYMLINK, n, function(t, r) {
					if (t) {
						i && i(t);
						return;
					}
					e.fchmod(r, n, function(t) {
						e.close(r, function(e) {
							i && i(t || e);
						});
					});
				});
			}, e.lchmodSync = function(t, n) {
				var i = e.openSync(t, r.O_WRONLY | r.O_SYMLINK, n), a = !0, o;
				try {
					o = e.fchmodSync(i, n), a = !1;
				} finally {
					if (a) try {
						e.closeSync(i);
					} catch {}
					else e.closeSync(i);
				}
				return o;
			};
		}
		function n(e) {
			r.hasOwnProperty("O_SYMLINK") && e.futimes ? (e.lutimes = function(t, n, i, a) {
				e.open(t, r.O_SYMLINK, function(t, r) {
					if (t) {
						a && a(t);
						return;
					}
					e.futimes(r, n, i, function(t) {
						e.close(r, function(e) {
							a && a(t || e);
						});
					});
				});
			}, e.lutimesSync = function(t, n, i) {
				var a = e.openSync(t, r.O_SYMLINK), o, s = !0;
				try {
					o = e.futimesSync(a, n, i), s = !1;
				} finally {
					if (s) try {
						e.closeSync(a);
					} catch {}
					else e.closeSync(a);
				}
				return o;
			}) : e.futimes && (e.lutimes = function(e, t, n, r) {
				r && process.nextTick(r);
			}, e.lutimesSync = function() {});
		}
		function i(t) {
			return t && function(n, r, i) {
				return t.call(e, n, r, function(e) {
					d(e) && (e = null), i && i.apply(this, arguments);
				});
			};
		}
		function a(t) {
			return t && function(n, r) {
				try {
					return t.call(e, n, r);
				} catch (e) {
					if (!d(e)) throw e;
				}
			};
		}
		function s(t) {
			return t && function(n, r, i, a) {
				return t.call(e, n, r, i, function(e) {
					d(e) && (e = null), a && a.apply(this, arguments);
				});
			};
		}
		function c(t) {
			return t && function(n, r, i) {
				try {
					return t.call(e, n, r, i);
				} catch (e) {
					if (!d(e)) throw e;
				}
			};
		}
		function l(t) {
			return t && function(n, r, i) {
				typeof r == "function" && (i = r, r = null);
				function a(e, t) {
					t && (t.uid < 0 && (t.uid += 4294967296), t.gid < 0 && (t.gid += 4294967296)), i && i.apply(this, arguments);
				}
				return r ? t.call(e, n, r, a) : t.call(e, n, a);
			};
		}
		function u(t) {
			return t && function(n, r) {
				var i = r ? t.call(e, n, r) : t.call(e, n);
				return i && (i.uid < 0 && (i.uid += 4294967296), i.gid < 0 && (i.gid += 4294967296)), i;
			};
		}
		function d(e) {
			return !e || e.code === "ENOSYS" || (!process.getuid || process.getuid() !== 0) && (e.code === "EINVAL" || e.code === "EPERM");
		}
	}
})), Qt = /* @__PURE__ */ u(((e, n) => {
	var r = t("stream").Stream;
	n.exports = i;
	function i(e) {
		return {
			ReadStream: t,
			WriteStream: n
		};
		function t(n, i) {
			if (!(this instanceof t)) return new t(n, i);
			r.call(this);
			var a = this;
			this.path = n, this.fd = null, this.readable = !0, this.paused = !1, this.flags = "r", this.mode = 438, this.bufferSize = 64 * 1024, i ||= {};
			for (var o = Object.keys(i), s = 0, c = o.length; s < c; s++) {
				var l = o[s];
				this[l] = i[l];
			}
			if (this.encoding && this.setEncoding(this.encoding), this.start !== void 0) {
				if (typeof this.start != "number") throw TypeError("start must be a Number");
				if (this.end === void 0) this.end = Infinity;
				else if (typeof this.end != "number") throw TypeError("end must be a Number");
				if (this.start > this.end) throw Error("start must be <= end");
				this.pos = this.start;
			}
			if (this.fd !== null) {
				process.nextTick(function() {
					a._read();
				});
				return;
			}
			e.open(this.path, this.flags, this.mode, function(e, t) {
				if (e) {
					a.emit("error", e), a.readable = !1;
					return;
				}
				a.fd = t, a.emit("open", t), a._read();
			});
		}
		function n(t, i) {
			if (!(this instanceof n)) return new n(t, i);
			r.call(this), this.path = t, this.fd = null, this.writable = !0, this.flags = "w", this.encoding = "binary", this.mode = 438, this.bytesWritten = 0, i ||= {};
			for (var a = Object.keys(i), o = 0, s = a.length; o < s; o++) {
				var c = a[o];
				this[c] = i[c];
			}
			if (this.start !== void 0) {
				if (typeof this.start != "number") throw TypeError("start must be a Number");
				if (this.start < 0) throw Error("start must be >= zero");
				this.pos = this.start;
			}
			this.busy = !1, this._queue = [], this.fd === null && (this._open = e.open, this._queue.push([
				this._open,
				this.path,
				this.flags,
				this.mode,
				void 0
			]), this.flush());
		}
	}
})), $t = /* @__PURE__ */ u(((e, t) => {
	t.exports = r;
	var n = Object.getPrototypeOf || function(e) {
		return e.__proto__;
	};
	function r(e) {
		if (typeof e != "object" || !e) return e;
		if (e instanceof Object) var t = { __proto__: n(e) };
		else var t = Object.create(null);
		return Object.getOwnPropertyNames(e).forEach(function(n) {
			Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(e, n));
		}), t;
	}
})), en = /* @__PURE__ */ u(((e, n) => {
	var r = t("fs"), i = Zt(), a = Qt(), o = $t(), s = t("util"), c, l;
	/* istanbul ignore else - node 0.x polyfill */
	typeof Symbol == "function" && typeof Symbol.for == "function" ? (c = Symbol.for("graceful-fs.queue"), l = Symbol.for("graceful-fs.previous")) : (c = "___graceful-fs.queue", l = "___graceful-fs.previous");
	function u() {}
	function d(e, t) {
		Object.defineProperty(e, c, { get: function() {
			return t;
		} });
	}
	var f = u;
	s.debuglog ? f = s.debuglog("gfs4") : /\bgfs4\b/i.test(process.env.NODE_DEBUG || "") && (f = function() {
		var e = s.format.apply(s, arguments);
		e = "GFS4: " + e.split(/\n/).join("\nGFS4: "), console.error(e);
	}), r[c] || (d(r, global[c] || []), r.close = (function(e) {
		function t(t, n) {
			return e.call(r, t, function(e) {
				e || g(), typeof n == "function" && n.apply(this, arguments);
			});
		}
		return Object.defineProperty(t, l, { value: e }), t;
	})(r.close), r.closeSync = (function(e) {
		function t(t) {
			e.apply(r, arguments), g();
		}
		return Object.defineProperty(t, l, { value: e }), t;
	})(r.closeSync), /\bgfs4\b/i.test(process.env.NODE_DEBUG || "") && process.on("exit", function() {
		f(r[c]), t("assert").equal(r[c].length, 0);
	})), global[c] || d(global, r[c]), n.exports = p(o(r)), process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !r.__patched && (n.exports = p(r), r.__patched = !0);
	function p(e) {
		i(e), e.gracefulify = p, e.createReadStream = T, e.createWriteStream = E;
		var t = e.readFile;
		e.readFile = n;
		function n(e, n, r) {
			return typeof n == "function" && (r = n, n = null), i(e, n, r);
			function i(e, n, r, a) {
				return t(e, n, function(t) {
					t && (t.code === "EMFILE" || t.code === "ENFILE") ? m([
						i,
						[
							e,
							n,
							r
						],
						t,
						a || Date.now(),
						Date.now()
					]) : typeof r == "function" && r.apply(this, arguments);
				});
			}
		}
		var r = e.writeFile;
		e.writeFile = o;
		function o(e, t, n, i) {
			return typeof n == "function" && (i = n, n = null), a(e, t, n, i);
			function a(e, t, n, i, o) {
				return r(e, t, n, function(r) {
					r && (r.code === "EMFILE" || r.code === "ENFILE") ? m([
						a,
						[
							e,
							t,
							n,
							i
						],
						r,
						o || Date.now(),
						Date.now()
					]) : typeof i == "function" && i.apply(this, arguments);
				});
			}
		}
		var s = e.appendFile;
		s && (e.appendFile = c);
		function c(e, t, n, r) {
			return typeof n == "function" && (r = n, n = null), i(e, t, n, r);
			function i(e, t, n, r, a) {
				return s(e, t, n, function(o) {
					o && (o.code === "EMFILE" || o.code === "ENFILE") ? m([
						i,
						[
							e,
							t,
							n,
							r
						],
						o,
						a || Date.now(),
						Date.now()
					]) : typeof r == "function" && r.apply(this, arguments);
				});
			}
		}
		var l = e.copyFile;
		l && (e.copyFile = u);
		function u(e, t, n, r) {
			return typeof n == "function" && (r = n, n = 0), i(e, t, n, r);
			function i(e, t, n, r, a) {
				return l(e, t, n, function(o) {
					o && (o.code === "EMFILE" || o.code === "ENFILE") ? m([
						i,
						[
							e,
							t,
							n,
							r
						],
						o,
						a || Date.now(),
						Date.now()
					]) : typeof r == "function" && r.apply(this, arguments);
				});
			}
		}
		var d = e.readdir;
		e.readdir = h;
		var f = /^v[0-5]\./;
		function h(e, t, n) {
			typeof t == "function" && (n = t, t = null);
			var r = f.test(process.version) ? function(e, t, n, r) {
				return d(e, i(e, t, n, r));
			} : function(e, t, n, r) {
				return d(e, t, i(e, t, n, r));
			};
			return r(e, t, n);
			function i(e, t, n, i) {
				return function(a, o) {
					a && (a.code === "EMFILE" || a.code === "ENFILE") ? m([
						r,
						[
							e,
							t,
							n
						],
						a,
						i || Date.now(),
						Date.now()
					]) : (o && o.sort && o.sort(), typeof n == "function" && n.call(this, a, o));
				};
			}
		}
		if (process.version.substr(0, 4) === "v0.8") {
			var g = a(e);
			x = g.ReadStream, C = g.WriteStream;
		}
		var _ = e.ReadStream;
		_ && (x.prototype = Object.create(_.prototype), x.prototype.open = S);
		var v = e.WriteStream;
		v && (C.prototype = Object.create(v.prototype), C.prototype.open = w), Object.defineProperty(e, "ReadStream", {
			get: function() {
				return x;
			},
			set: function(e) {
				x = e;
			},
			enumerable: !0,
			configurable: !0
		}), Object.defineProperty(e, "WriteStream", {
			get: function() {
				return C;
			},
			set: function(e) {
				C = e;
			},
			enumerable: !0,
			configurable: !0
		});
		var y = x;
		Object.defineProperty(e, "FileReadStream", {
			get: function() {
				return y;
			},
			set: function(e) {
				y = e;
			},
			enumerable: !0,
			configurable: !0
		});
		var b = C;
		Object.defineProperty(e, "FileWriteStream", {
			get: function() {
				return b;
			},
			set: function(e) {
				b = e;
			},
			enumerable: !0,
			configurable: !0
		});
		function x(e, t) {
			return this instanceof x ? (_.apply(this, arguments), this) : x.apply(Object.create(x.prototype), arguments);
		}
		function S() {
			var e = this;
			O(e.path, e.flags, e.mode, function(t, n) {
				t ? (e.autoClose && e.destroy(), e.emit("error", t)) : (e.fd = n, e.emit("open", n), e.read());
			});
		}
		function C(e, t) {
			return this instanceof C ? (v.apply(this, arguments), this) : C.apply(Object.create(C.prototype), arguments);
		}
		function w() {
			var e = this;
			O(e.path, e.flags, e.mode, function(t, n) {
				t ? (e.destroy(), e.emit("error", t)) : (e.fd = n, e.emit("open", n));
			});
		}
		function T(t, n) {
			return new e.ReadStream(t, n);
		}
		function E(t, n) {
			return new e.WriteStream(t, n);
		}
		var D = e.open;
		e.open = O;
		function O(e, t, n, r) {
			return typeof n == "function" && (r = n, n = null), i(e, t, n, r);
			function i(e, t, n, r, a) {
				return D(e, t, n, function(o, s) {
					o && (o.code === "EMFILE" || o.code === "ENFILE") ? m([
						i,
						[
							e,
							t,
							n,
							r
						],
						o,
						a || Date.now(),
						Date.now()
					]) : typeof r == "function" && r.apply(this, arguments);
				});
			}
		}
		return e;
	}
	function m(e) {
		f("ENQUEUE", e[0].name, e[1]), r[c].push(e), _();
	}
	var h;
	function g() {
		for (var e = Date.now(), t = 0; t < r[c].length; ++t) r[c][t].length > 2 && (r[c][t][3] = e, r[c][t][4] = e);
		_();
	}
	function _() {
		if (clearTimeout(h), h = void 0, r[c].length !== 0) {
			var e = r[c].shift(), t = e[0], n = e[1], i = e[2], a = e[3], o = e[4];
			if (a === void 0) f("RETRY", t.name, n), t.apply(null, n);
			else if (Date.now() - a >= 6e4) {
				f("TIMEOUT", t.name, n);
				var s = n.pop();
				typeof s == "function" && s.call(null, i);
			} else {
				var l = Date.now() - o, u = Math.max(o - a, 1);
				l >= Math.min(u * 1.2, 100) ? (f("RETRY", t.name, n), t.apply(null, n.concat([a]))) : r[c].push(e);
			}
			h === void 0 && (h = setTimeout(_, 0));
		}
	}
})), tn = /* @__PURE__ */ u(((e) => {
	var t = e && e.__importDefault || function(e) {
		return e && e.__esModule ? e : { default: e };
	};
	Object.defineProperty(e, "__esModule", { value: !0 }), e.readCAFileSync = void 0;
	var n = t(en());
	function r(e) {
		try {
			let t = n.default.readFileSync(e, "utf8"), r = "-----END CERTIFICATE-----";
			return t.split(r).filter((e) => !!e.trim()).map((e) => `${e.trimLeft()}${r}`);
		} catch (e) {
			if (e.code === "ENOENT") return;
			throw e;
		}
	}
	e.readCAFileSync = r;
})), nn = /* @__PURE__ */ u(((e) => {
	var t = e && e.__createBinding || (Object.create ? (function(e, t, n, r) {
		r === void 0 && (r = n);
		var i = Object.getOwnPropertyDescriptor(t, n);
		(!i || ("get" in i ? !t.__esModule : i.writable || i.configurable)) && (i = {
			enumerable: !0,
			get: function() {
				return t[n];
			}
		}), Object.defineProperty(e, r, i);
	}) : (function(e, t, n, r) {
		r === void 0 && (r = n), e[r] = t[n];
	})), n = e && e.__exportStar || function(e, n) {
		for (var r in e) r !== "default" && !Object.prototype.hasOwnProperty.call(n, r) && t(n, e, r);
	};
	Object.defineProperty(e, "__esModule", { value: !0 }), n(tn(), e);
})), rn = /* @__PURE__ */ u(((e, t) => {
	t.exports = r;
	function n(e, t) {
		if (typeof Object.setPrototypeOf == "function") return Object.setPrototypeOf(e, t);
		e.__proto__ = t;
	}
	function r() {
		this.list = [];
		var e = null;
		Object.defineProperty(this, "root", {
			get: function() {
				return e;
			},
			set: function(t) {
				e = t, this.list.length && n(this.list[this.list.length - 1], t);
			},
			enumerable: !0,
			configurable: !0
		});
	}
	r.prototype = {
		get length() {
			return this.list.length;
		},
		get keys() {
			var e = [];
			for (var t in this.list[0]) e.push(t);
			return e;
		},
		get snapshot() {
			var e = {};
			return this.keys.forEach(function(t) {
				e[t] = this.get(t);
			}, this), e;
		},
		get store() {
			return this.list[0];
		},
		push: function(e) {
			return typeof e != "object" && (e = { valueOf: e }), this.list.length >= 1 && n(this.list[this.list.length - 1], e), n(e, this.root), this.list.push(e);
		},
		pop: function() {
			return this.list.length >= 2 && n(this.list[this.list.length - 2], this.root), this.list.pop();
		},
		unshift: function(e) {
			return n(e, this.list[0] || this.root), this.list.unshift(e);
		},
		shift: function() {
			return this.list.length === 1 && n(this.list[0], this.root), this.list.shift();
		},
		get: function(e) {
			return this.list[0][e];
		},
		set: function(e, t, n) {
			return this.length || this.push({}), n && this.list[0].hasOwnProperty(e) && this.push({}), this.list[0][e] = t;
		},
		forEach: function(e, t) {
			for (var n in this.list[0]) e.call(t, n, this.list[0][n]);
		},
		slice: function() {
			return this.list.slice.apply(this.list, arguments);
		},
		splice: function() {
			for (var e = this.list.splice.apply(this.list, arguments), t = 0, r = this.list.length; t < r; t++) n(this.list[t], this.list[t + 1] || this.root);
			return e;
		}
	};
})), an = /* @__PURE__ */ u(((e) => {
	e.parse = e.decode = i, e.stringify = e.encode = n, e.safe = o, e.unsafe = s;
	var t = typeof process < "u" && process.platform === "win32" ? "\r\n" : "\n";
	function n(e, i) {
		var a = [], s = "";
		typeof i == "string" ? i = {
			section: i,
			whitespace: !1
		} : (i ||= {}, i.whitespace = i.whitespace === !0);
		var c = i.whitespace ? " = " : "=";
		return Object.keys(e).forEach(function(n, r, i) {
			var l = e[n];
			l && Array.isArray(l) ? l.forEach(function(e) {
				s += o(n + "[]") + c + o(e) + "\n";
			}) : l && typeof l == "object" ? a.push(n) : s += o(n) + c + o(l) + t;
		}), i.section && s.length && (s = "[" + o(i.section) + "]" + t + s), a.forEach(function(a, o, c) {
			var l = r(a).join("\\."), u = (i.section ? i.section + "." : "") + l, d = n(e[a], {
				section: u,
				whitespace: i.whitespace
			});
			s.length && d.length && (s += t), s += d;
		}), s;
	}
	function r(e) {
		return e.replace(/\1/g, "LITERAL\\1LITERAL").replace(/\\\./g, "").split(/\./).map(function(e) {
			return e.replace(/\1/g, "\\.").replace(/\2LITERAL\\1LITERAL\2/g, "");
		});
	}
	function i(e) {
		var t = {}, n = t, i = null, a = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;
		return e.split(/[\r\n]+/g).forEach(function(e, r, o) {
			if (!(!e || e.match(/^\s*[;#]/))) {
				var c = e.match(a);
				if (c) {
					if (c[1] !== void 0) {
						if (i = s(c[1]), i === "__proto__") {
							n = {};
							return;
						}
						n = t[i] = t[i] || {};
						return;
					}
					var l = s(c[2]);
					if (l !== "__proto__") {
						var u = c[3] ? s(c[4]) : !0;
						switch (u) {
							case "true":
							case "false":
							case "null": u = JSON.parse(u);
						}
						if (l.length > 2 && l.slice(-2) === "[]") {
							if (l = l.substring(0, l.length - 2), l === "__proto__") return;
							n[l] ? Array.isArray(n[l]) || (n[l] = [n[l]]) : n[l] = [];
						}
						Array.isArray(n[l]) ? n[l].push(u) : n[l] = u;
					}
				}
			}
		}), Object.keys(t).filter(function(e, n, i) {
			if (!t[e] || typeof t[e] != "object" || Array.isArray(t[e])) return !1;
			var a = r(e), o = t, s = a.pop(), c = s.replace(/\\\./g, ".");
			return a.forEach(function(e, t, n) {
				e !== "__proto__" && ((!o[e] || typeof o[e] != "object") && (o[e] = {}), o = o[e]);
			}), o === t && c === s ? !1 : (o[c] = t[e], !0);
		}).forEach(function(e, n, r) {
			delete t[e];
		}), t;
	}
	function a(e) {
		return e.charAt(0) === "\"" && e.slice(-1) === "\"" || e.charAt(0) === "'" && e.slice(-1) === "'";
	}
	function o(e) {
		return typeof e != "string" || e.match(/[=\r\n]/) || e.match(/^\[/) || e.length > 1 && a(e) || e !== e.trim() ? JSON.stringify(e) : e.replace(/;/g, "\\;").replace(/#/g, "\\#");
	}
	function s(e, t) {
		if (e = (e || "").trim(), a(e)) {
			e.charAt(0) === "'" && (e = e.substr(1, e.length - 2));
			try {
				e = JSON.parse(e);
			} catch {}
		} else {
			for (var n = !1, r = "", i = 0, o = e.length; i < o; i++) {
				var s = e.charAt(i);
				if (n) "\\;#".indexOf(s) === -1 ? r += "\\" + s : r += s, n = !1;
				else if (";#".indexOf(s) !== -1) break;
				else s === "\\" ? n = !0 : r += s;
			}
			return n && (r += "\\"), r.trim();
		}
		return e;
	}
})), on = /* @__PURE__ */ u(((e, n) => {
	var r = rn(), i = t("path"), a = t("fs"), o = an(), s = t("events").EventEmitter, c = t("url"), l = t("http"), e = n.exports = function() {
		for (var e = [].slice.call(arguments), t = new f(); e.length;) {
			var n = e.shift();
			n && t.push(typeof n == "string" ? d(n) : n);
		}
		return t;
	};
	e.find = function() {
		var e = i.join.apply(null, [].slice.call(arguments));
		function t(e, n) {
			var r = i.join(e, n);
			try {
				return a.statSync(r), r;
			} catch {
				if (i.dirname(e) !== e) return t(i.dirname(e), n);
			}
		}
		return t(__dirname, e);
	};
	var u = e.parse = function(e, t, n) {
		if (e = "" + e, !n) try {
			return JSON.parse(e);
		} catch {
			return o.parse(e);
		}
		else if (n === "json") if (this.emit) try {
			return JSON.parse(e);
		} catch (e) {
			this.emit("error", e);
		}
		else return JSON.parse(e);
		else return o.parse(e);
	}, d = e.json = function() {
		var e = [].slice.call(arguments).filter(function(e) {
			return e != null;
		}), t = i.join.apply(null, e), n;
		try {
			n = a.readFileSync(t, "utf-8");
		} catch {
			return;
		}
		return u(n, t, "json");
	};
	e.env = function(e, t) {
		t ||= process.env;
		var n = {}, r = e.length;
		for (var i in t) i.indexOf(e) === 0 && (n[i.substring(r)] = t[i]);
		return n;
	}, e.ConfigChain = f;
	function f() {
		s.apply(this), r.apply(this, arguments), this._awaiting = 0, this._saving = 0, this.sources = {};
	}
	var p = { constructor: { value: f } };
	Object.keys(s.prototype).forEach(function(e) {
		p[e] = Object.getOwnPropertyDescriptor(s.prototype, e);
	}), f.prototype = Object.create(r.prototype, p), f.prototype.del = function(e, t) {
		if (t) {
			var n = this.sources[t];
			if (n &&= n.data, !n) return this.emit("error", /* @__PURE__ */ Error("not found " + t));
			delete n[e];
		} else for (var r = 0, i = this.list.length; r < i; r++) delete this.list[r][e];
		return this;
	}, f.prototype.set = function(e, t, n) {
		var r;
		if (n) {
			if (r = this.sources[n], r &&= r.data, !r) return this.emit("error", /* @__PURE__ */ Error("not found " + n));
		} else if (r = this.list[0], !r) return this.emit("error", /* @__PURE__ */ Error("cannot set, no confs!"));
		return r[e] = t, this;
	}, f.prototype.get = function(e, t) {
		return t ? (t = this.sources[t], t &&= t.data, t && Object.hasOwnProperty.call(t, e) ? t[e] : void 0) : this.list[0][e];
	}, f.prototype.save = function(e, t, n) {
		typeof t == "function" && (n = t, t = null);
		var r = this.sources[e];
		if (!r || !(r.path || r.source) || !r.data) return this.emit("error", /* @__PURE__ */ Error("bad save target: " + e));
		if (r.source) {
			var i = r.prefix || "";
			return Object.keys(r.data).forEach(function(e) {
				r.source[i + e] = r.data[e];
			}), this;
		}
		var t = t || r.type, s = r.data;
		return s = r.type === "json" ? JSON.stringify(s) : o.stringify(s), this._saving++, a.writeFile(r.path, s, "utf8", function(e) {
			if (this._saving--, e) return n ? n(e) : this.emit("error", e);
			this._saving === 0 && (n && n(), this.emit("save"));
		}.bind(this)), this;
	}, f.prototype.addFile = function(e, t, n) {
		n ||= e;
		var r = { __source__: n };
		return this.sources[n] = {
			path: e,
			type: t
		}, this.push(r), this._await(), a.readFile(e, "utf8", function(n, i) {
			n && this.emit("error", n), this.addString(i, e, t, r);
		}.bind(this)), this;
	}, f.prototype.addEnv = function(t, n, r) {
		r ||= "env";
		var i = e.env(t, n);
		return this.sources[r] = {
			data: i,
			source: n,
			prefix: t
		}, this.add(i, r);
	}, f.prototype.addUrl = function(e, t, n) {
		this._await();
		var r = c.format(e);
		n ||= r;
		var i = { __source__: n };
		return this.sources[n] = {
			href: r,
			type: t
		}, this.push(i), l.request(e, function(e) {
			var n = [], a = e.headers["content-type"];
			t || (t = a.indexOf("json") === -1 ? a.indexOf("ini") === -1 ? r.match(/\.json$/) ? "json" : r.match(/\.ini$/) ? "ini" : null : "ini" : "json", i.type = t), e.on("data", n.push.bind(n)).on("end", function() {
				this.addString(Buffer.concat(n), r, t, i);
			}.bind(this)).on("error", this.emit.bind(this, "error"));
		}.bind(this)).on("error", this.emit.bind(this, "error")).end(), this;
	}, f.prototype.addString = function(e, t, n, r) {
		return e = this.parse(e, t, n), this.add(e, r), this;
	}, f.prototype.add = function(e, t) {
		if (t && typeof t == "object") {
			var n = this.list.indexOf(t);
			if (n === -1) return this.emit("error", /* @__PURE__ */ Error("bad marker"));
			this.splice(n, 1, e), t = t.__source__, this.sources[t] = this.sources[t] || {}, this.sources[t].data = e, this._resolve();
		} else typeof t == "string" && (this.sources[t] = this.sources[t] || {}, this.sources[t].data = e), this._await(), this.push(e), process.nextTick(this._resolve.bind(this));
		return this;
	}, f.prototype.parse = e.parse, f.prototype._await = function() {
		this._awaiting++;
	}, f.prototype._resolve = function() {
		this._awaiting--, this._awaiting === 0 && this.emit("load", this);
	};
})), sn = /* @__PURE__ */ u(((e, t) => {
	t.exports = function(e) {
		let t = e.indexOf(":");
		return t === -1 ? n(e) : `${e.substr(0, t)}:${n(e.substr(t + 1))}`;
	};
	function n(e) {
		if (e = e.toLowerCase(), e === "_authtoken") return "_authToken";
		let t = e[0];
		for (let n = 1; n < e.length; n++) t += e[n] === "_" ? "-" : e[n];
		return t;
	}
})), cn = /* @__PURE__ */ u(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.envReplace = void 0;
	var t = /(?<!\\)(\\*)\$\{([^${}]+)\}/g;
	function n(e, n) {
		return e.replace(t, r.bind(null, n));
	}
	e.envReplace = n;
	function r(e, t, n, r) {
		if (n.length % 2) return t.slice((n.length + 1) / 2);
		let i = a(e, r);
		if (i === void 0) throw Error(`Failed to replace env in config: ${t}`);
		return `${n.slice(n.length / 2)}${i}`;
	}
	var i = /([^:-]+)(:?)-(.+)/;
	function a(e, t) {
		let n = t.match(i);
		if (!n) return e[t];
		let [, r, a, o] = n;
		return Object.prototype.hasOwnProperty.call(e, r) ? !e[r] && a ? o : e[r] : o;
	}
})), ln = /* @__PURE__ */ u(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.envReplace = void 0;
	var t = cn();
	Object.defineProperty(e, "envReplace", {
		enumerable: !0,
		get: function() {
			return t.envReplace;
		}
	});
})), un = /* @__PURE__ */ u(((e) => {
	var n = t("fs"), r = t("path"), { envReplace: i } = ln();
	e.envReplace = i, e.findPrefix = (e) => {
		e = r.resolve(e);
		let t = !1;
		for (; r.basename(e) === "node_modules";) e = r.dirname(e), t = !0;
		if (t) return e;
		let i = (e, t) => {
			if (e === "/" || process.platform === "win32" && /^[a-zA-Z]:(\\|\/)?$/.test(e)) return t;
			try {
				let a = n.readdirSync(e);
				if (a.includes("node_modules") || a.includes("package.json") || a.includes("package.json5") || a.includes("package.yaml") || a.includes("pnpm-workspace.yaml")) return e;
				let o = r.dirname(e);
				return o === e ? t : i(o, t);
			} catch (n) {
				if (e === t) {
					if (n.code === "ENOENT") return t;
					throw n;
				}
				return t;
			}
		};
		return i(e, e);
	}, e.parseField = (e, t, n) => {
		if (typeof t != "string") return t;
		let a = [].concat(e[n]), o = a.indexOf(r) !== -1, s = a.indexOf(Boolean) !== -1, c = a.indexOf(String) !== -1, l = a.indexOf(Number) !== -1;
		if (t = `${t}`.trim(), /^".*"$/.test(t)) try {
			t = JSON.parse(t);
		} catch {
			throw Error(`Failed parsing JSON config key ${n}: ${t}`);
		}
		if (s && !c && t === "") return !0;
		switch (t) {
			case "true": return !0;
			case "false": return !1;
			case "null": return null;
			case "undefined": return;
		}
		let u = i(t, process.env);
		if ((n.endsWith(":tokenHelper") || n === "tokenHelper") && u !== t) throw Error(`It is not allowed to use environment variables in the value of the ${n} setting.`);
		return t = u, o && ((process.platform === "win32" ? /^~(\/|\\)/ : /^~\//).test(t) && process.env.HOME && (t = r.resolve(process.env.HOME, t.substr(2))), t = r.resolve(t)), l && !isNaN(t) && (t = Number(t)), t;
	}, e.parseKey = (e) => typeof e == "string" ? i(e, process.env) : e;
})), dn = /* @__PURE__ */ u(((e) => {
	var n = t("path"), r = t("stream").Stream, i = t("url"), a = () => {}, o = () => [], s = () => {};
	e.types = {
		access: [
			null,
			"restricted",
			"public"
		],
		"allow-same-version": Boolean,
		"always-auth": Boolean,
		also: [
			null,
			"dev",
			"development"
		],
		audit: Boolean,
		"auth-type": [
			"legacy",
			"sso",
			"saml",
			"oauth"
		],
		"bin-links": Boolean,
		browser: [null, String],
		ca: [
			null,
			String,
			Array
		],
		cafile: n,
		cache: n,
		"cache-lock-stale": Number,
		"cache-lock-retries": Number,
		"cache-lock-wait": Number,
		"cache-max": Number,
		"cache-min": Number,
		cert: [null, String],
		cidr: [
			null,
			String,
			Array
		],
		color: ["always", Boolean],
		depth: Number,
		description: Boolean,
		dev: Boolean,
		"dry-run": Boolean,
		editor: String,
		"engine-strict": Boolean,
		force: Boolean,
		"fetch-retries": Number,
		"fetch-retry-factor": Number,
		"fetch-retry-mintimeout": Number,
		"fetch-retry-maxtimeout": Number,
		git: String,
		"git-tag-version": Boolean,
		"commit-hooks": Boolean,
		global: Boolean,
		globalconfig: n,
		"global-style": Boolean,
		group: [Number, String],
		"https-proxy": [null, i],
		"user-agent": String,
		"ham-it-up": Boolean,
		heading: String,
		"if-present": Boolean,
		"ignore-prepublish": Boolean,
		"ignore-scripts": Boolean,
		"init-module": n,
		"init-author-name": String,
		"init-author-email": String,
		"init-author-url": ["", i],
		"init-license": String,
		"init-version": s,
		json: Boolean,
		key: [null, String],
		"legacy-bundling": Boolean,
		link: Boolean,
		"local-address": o(),
		loglevel: [
			"silent",
			"error",
			"warn",
			"notice",
			"http",
			"timing",
			"info",
			"verbose",
			"silly"
		],
		logstream: r,
		"logs-max": Number,
		long: Boolean,
		maxsockets: Number,
		message: String,
		"metrics-registry": [null, String],
		"node-options": [null, String],
		"node-version": [null, s],
		"no-proxy": [
			null,
			String,
			Array
		],
		offline: Boolean,
		"onload-script": [null, String],
		only: [
			null,
			"dev",
			"development",
			"prod",
			"production"
		],
		optional: Boolean,
		"package-lock": Boolean,
		otp: [null, String],
		"package-lock-only": Boolean,
		parseable: Boolean,
		"prefer-offline": Boolean,
		"prefer-online": Boolean,
		prefix: n,
		production: Boolean,
		progress: Boolean,
		proxy: [
			null,
			!1,
			i
		],
		provenance: Boolean,
		"read-only": Boolean,
		"rebuild-bundle": Boolean,
		registry: [null, i],
		rollback: Boolean,
		save: Boolean,
		"save-bundle": Boolean,
		"save-dev": Boolean,
		"save-exact": Boolean,
		"save-optional": Boolean,
		"save-prefix": String,
		"save-prod": Boolean,
		scope: String,
		"script-shell": [null, String],
		"scripts-prepend-node-path": [
			!1,
			!0,
			"auto",
			"warn-only"
		],
		searchopts: String,
		searchexclude: [null, String],
		searchlimit: Number,
		searchstaleness: Number,
		"send-metrics": Boolean,
		shell: String,
		shrinkwrap: Boolean,
		"sign-git-tag": Boolean,
		"sso-poll-frequency": Number,
		"sso-type": [
			null,
			"oauth",
			"saml"
		],
		"strict-ssl": Boolean,
		tag: String,
		timing: Boolean,
		tmp: n,
		unicode: Boolean,
		"unsafe-perm": Boolean,
		usage: Boolean,
		user: [Number, String],
		userconfig: n,
		umask: a,
		version: Boolean,
		"tag-version-prefix": String,
		versions: Boolean,
		viewer: String,
		_exit: Boolean
	};
})), fn = /* @__PURE__ */ u(((e, n) => {
	var { readCAFileSync: r } = nn(), i = t("fs"), a = t("path"), { ConfigChain: o } = on(), s = sn(), c = un(), l = class extends o {
		constructor(e, t) {
			super(e), this.root = e, this._parseField = c.parseField.bind(null, t || dn());
		}
		add(e, t) {
			try {
				for (let [t, n] of Object.entries(e)) {
					let r = c.parseKey(t);
					r !== t && delete e[t], e[r] = this._parseField(n, r);
				}
			} catch (e) {
				throw e;
			}
			return super.add(e, t);
		}
		addFile(e, t) {
			t ||= e;
			let n = { __source__: t };
			this.sources[t] = {
				path: e,
				type: "ini"
			}, this.push(n), this._await();
			try {
				let t = i.readFileSync(e, "utf8");
				this.addString(t, e, "ini", n);
			} catch (t) {
				if (t.code === "ENOENT") this.add({}, n);
				else if (t.code !== "EISDIR") return `Issue while reading "${e}". ${t.message}`;
			}
		}
		addEnv(e) {
			e ||= process.env;
			let t = {};
			return Object.keys(e).filter((e) => /^npm_config_/i.test(e)).forEach((n) => {
				if (!e[n]) return;
				let r = s(n.substr(11)), i = e[n];
				t[r] = u(r, i);
			}), super.addEnv("", t, "env");
		}
		loadPrefix() {
			let e = this.list[0];
			Object.defineProperty(this, "prefix", {
				enumerable: !0,
				set: (e) => {
					let t = this.get("global");
					this[t ? "globalPrefix" : "localPrefix"] = e;
				},
				get: () => this.get("global") ? this.globalPrefix : this.localPrefix
			}), Object.defineProperty(this, "globalPrefix", {
				enumerable: !0,
				set: (e) => {
					this.set("prefix", e);
				},
				get: () => a.resolve(this.get("prefix"))
			});
			let t;
			if (Object.defineProperty(this, "localPrefix", {
				enumerable: !0,
				set: (e) => {
					t = e;
				},
				get: () => t
			}), Object.prototype.hasOwnProperty.call(e, "prefix")) t = a.resolve(e.prefix);
			else try {
				t = c.findPrefix(process.cwd());
			} catch (e) {
				throw e;
			}
			return t;
		}
		loadCAFile(e) {
			if (!e) return;
			let t = r(e);
			t && this.set("ca", t);
		}
		loadUser() {
			let e = this.root;
			if (this.get("global")) return;
			if (process.env.SUDO_UID) {
				e.user = Number(process.env.SUDO_UID);
				return;
			}
			let t = a.resolve(this.get("prefix"));
			try {
				e.user = i.statSync(t).uid;
			} catch (e) {
				if (e.code === "ENOENT") return;
				throw e;
			}
		}
	};
	function u(e, t) {
		function n(e) {
			return e.indexOf("\n\n") ? e.split("\n\n") : e.split(",");
		}
		switch (e) {
			case "hoist-pattern":
			case "public-hoist-pattern": return n(t);
		}
		return t;
	}
	n.exports = l;
})), pn = /* @__PURE__ */ u(((e) => {
	var n = t("os"), r = t("path"), i = n.tmpdir(), a = process.getuid ? process.getuid() : process.pid, o = () => !0, s = process.platform === "win32", c = {
		editor: () => process.env.EDITOR || process.env.VISUAL || (s ? "notepad.exe" : "vi"),
		shell: () => s ? process.env.COMSPEC || "cmd.exe" : process.env.SHELL || "/bin/bash"
	}, l = { fromString: () => process.umask() }, u = n.homedir();
	u ? process.env.HOME = u : u = r.resolve(i, "npm-" + a);
	var d = process.platform === "win32" ? "npm-cache" : ".npm", f = process.platform === "win32" && process.env.APPDATA || u, p = r.resolve(f, d), m, h;
	Object.defineProperty(e, "defaults", { get: function() {
		return m || (process.env.PREFIX ? h = process.env.PREFIX : process.platform === "win32" ? h = r.dirname(process.execPath) : (h = r.dirname(r.dirname(process.execPath)), process.env.DESTDIR && (h = r.join(process.env.DESTDIR, h))), m = {
			access: null,
			"allow-same-version": !1,
			"always-auth": !1,
			also: null,
			audit: !0,
			"auth-type": "legacy",
			"bin-links": !0,
			browser: null,
			ca: null,
			cafile: null,
			cache: p,
			"cache-lock-stale": 6e4,
			"cache-lock-retries": 10,
			"cache-lock-wait": 1e4,
			"cache-max": Infinity,
			"cache-min": 10,
			cert: null,
			cidr: null,
			color: process.env.NO_COLOR == null,
			depth: Infinity,
			description: !0,
			dev: !1,
			"dry-run": !1,
			editor: c.editor(),
			"engine-strict": !1,
			force: !1,
			"fetch-retries": 2,
			"fetch-retry-factor": 10,
			"fetch-retry-mintimeout": 1e4,
			"fetch-retry-maxtimeout": 6e4,
			git: "git",
			"git-tag-version": !0,
			"commit-hooks": !0,
			global: !1,
			globalconfig: r.resolve(h, "etc", "npmrc"),
			"global-style": !1,
			group: process.platform === "win32" ? 0 : process.env.SUDO_GID || process.getgid && process.getgid(),
			"ham-it-up": !1,
			heading: "npm",
			"if-present": !1,
			"ignore-prepublish": !1,
			"ignore-scripts": !1,
			"init-module": r.resolve(u, ".npm-init.js"),
			"init-author-name": "",
			"init-author-email": "",
			"init-author-url": "",
			"init-version": "1.0.0",
			"init-license": "ISC",
			json: !1,
			key: null,
			"legacy-bundling": !1,
			link: !1,
			"local-address": void 0,
			loglevel: "notice",
			logstream: process.stderr,
			"logs-max": 10,
			long: !1,
			maxsockets: 50,
			message: "%s",
			"metrics-registry": null,
			"node-options": null,
			offline: !1,
			"onload-script": !1,
			only: null,
			optional: !0,
			otp: null,
			"package-lock": !0,
			"package-lock-only": !1,
			parseable: !1,
			"prefer-offline": !1,
			"prefer-online": !1,
			prefix: h,
			production: !1,
			progress: !process.env.TRAVIS && !process.env.CI,
			provenance: !1,
			proxy: null,
			"https-proxy": null,
			"no-proxy": null,
			"user-agent": "npm/{npm-version} node/{node-version} {platform} {arch}",
			"read-only": !1,
			"rebuild-bundle": !0,
			registry: "https://registry.npmjs.org/",
			rollback: !0,
			save: !0,
			"save-bundle": !1,
			"save-dev": !1,
			"save-exact": !1,
			"save-optional": !1,
			"save-prefix": "^",
			"save-prod": !1,
			scope: "",
			"script-shell": null,
			"scripts-prepend-node-path": "warn-only",
			searchopts: "",
			searchexclude: null,
			searchlimit: 20,
			searchstaleness: 900,
			"send-metrics": !1,
			shell: c.shell(),
			shrinkwrap: !0,
			"sign-git-tag": !1,
			"sso-poll-frequency": 500,
			"sso-type": "oauth",
			"strict-ssl": !0,
			tag: "latest",
			"tag-version-prefix": "v",
			timing: !1,
			tmp: i,
			unicode: o(),
			"unsafe-perm": process.platform === "win32" || process.platform === "cygwin" || !(process.getuid && process.setuid && process.getgid && process.setgid) || process.getuid() !== 0,
			usage: !1,
			user: process.platform === "win32" ? 0 : "nobody",
			userconfig: r.resolve(u, ".npmrc"),
			umask: process.umask ? process.umask() : l.fromString("022"),
			version: !1,
			versions: !1,
			viewer: process.platform === "win32" ? "browser" : "man",
			_exit: !0
		}, m);
	} });
})), mn = /* @__PURE__ */ u(((e, n) => {
	var r = t("path"), i = fn(), a = pn();
	n.exports = (e, n, o) => {
		let s = new i(Object.assign({}, a.defaults, o), n);
		s.add(Object.assign({}, e), "cli");
		let c = [], l = !1;
		if (t.resolve.paths) {
			let e = t.resolve.paths("npm"), n;
			try {
				n = t.resolve("npm", { paths: e.slice(-1) });
			} catch {
				l = !0;
			}
			n && c.push(s.addFile(r.resolve(r.dirname(n), "..", "npmrc"), "builtin"));
		}
		s.addEnv(), s.loadPrefix();
		let u = r.resolve(s.localPrefix, ".npmrc"), d = s.get("userconfig");
		if (!s.get("global") && u !== d ? c.push(s.addFile(u, "project")) : s.add({}, "project"), s.get("workspace-prefix") && s.get("workspace-prefix") !== u) {
			let e = r.resolve(s.get("workspace-prefix"), ".npmrc");
			c.push(s.addFile(e, "workspace"));
		}
		if (c.push(s.addFile(s.get("userconfig"), "user")), s.get("prefix")) {
			let e = r.resolve(s.get("prefix"), "etc");
			s.root.globalconfig = r.resolve(e, "npmrc"), s.root.globalignorefile = r.resolve(e, "npmignore");
		}
		c.push(s.addFile(s.get("globalconfig"), "global")), s.loadUser();
		let f = s.get("cafile");
		return f && s.loadCAFile(f), {
			config: s,
			warnings: c.filter(Boolean),
			failedToLoadBuiltInConfig: l
		};
	}, Object.defineProperty(n.exports, "defaults", {
		get() {
			return a.defaults;
		},
		enumerable: !0
	});
})), hn = /* @__PURE__ */ y((/* @__PURE__ */ u(((e, t) => {
	var n = mn(), r = ":_authToken", i = ":_auth", a = ":username", o = ":_password";
	t.exports = function() {
		let e, t;
		arguments.length >= 2 ? (e = arguments[0], t = Object.assign({}, arguments[1])) : typeof arguments[0] == "string" ? e = arguments[0] : t = Object.assign({}, arguments[0]), t ||= {};
		let r = t.npmrc;
		return t.npmrc = (t.npmrc ? { config: { get: (e) => r[e] } } : n()).config, e = e || t.npmrc.get("registry") || n.defaults.registry, c(e, t) || l(t.npmrc);
	};
	function s(e, t) {
		let n = new URL(t, new URL(e.startsWith("//") ? `./${e}` : e, "resolve://"));
		if (n.protocol === "resolve:") {
			let { pathname: e, search: t, hash: r } = n;
			return e + t + r;
		}
		return n.toString();
	}
	function c(e, t) {
		let n = e instanceof URL ? e : new URL(e.startsWith("//") ? `http:${e}` : e), r;
		for (; r !== "/" && n.pathname !== r;) {
			r = n.pathname || "/";
			let i = d("//" + n.host + r.replace(/\/$/, ""), t.npmrc);
			if (i) return i;
			if (!t.recursive) return /\/$/.test(e) ? void 0 : c(new URL("./", n), t);
			n.pathname = s(u(r), "..") || "/";
		}
	}
	function l(e) {
		if (e.get("_auth")) return {
			token: f(e.get("_auth")),
			type: "Basic"
		};
	}
	function u(e) {
		return e[e.length - 1] === "/" ? e : e + "/";
	}
	function d(e, t) {
		let n = p(t.get(e + r) || t.get(e + "/:_authToken"));
		if (n) return n;
		let s = m(t.get(e + a) || t.get(e + "/:username"), t.get(e + o) || t.get(e + "/:_password"));
		if (s) return s;
		let c = h(t.get(e + i) || t.get(e + "/:_auth"));
		if (c) return c;
	}
	function f(e) {
		return e.replace(/^\$\{?([^}]*)\}?$/, function(e, t) {
			return process.env[t];
		});
	}
	function p(e) {
		if (e) return {
			token: f(e),
			type: "Bearer"
		};
	}
	function m(e, t) {
		if (!e || !t) return;
		let n = Buffer.from(f(t), "base64").toString("utf8");
		return {
			token: Buffer.from(e + ":" + n, "utf8").toString("base64"),
			type: "Basic",
			password: n,
			username: e
		};
	}
	function h(e) {
		if (e) return {
			token: f(e),
			type: "Basic"
		};
	}
})))(), 1), gn = class extends Error {
	constructor(e) {
		super(`Package \`${e}\` could not be found`), this.name = "PackageNotFoundError";
	}
}, _n = class extends Error {
	constructor(e, t) {
		super(`Version \`${t}\` for package \`${e}\` could not be found`), this.name = "VersionNotFoundError";
	}
};
async function vn(e, t = {}) {
	let { version: n = "latest" } = t, { omitDeprecated: r = !0 } = t, i = e.split("/")[0], a = t.registryUrl ?? Xt(i), o = new URL(encodeURIComponent(e).replace(/^%40/, "@"), a), s = (0, hn.default)(a.toString(), { recursive: !0 }), c = { accept: "application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*" };
	t.fullMetadata && delete c.accept, s && (c.authorization = `${s.type} ${s.token}`);
	let l;
	try {
		l = await Ut(o, {
			headers: c,
			keepalive: !0
		}).json();
	} catch (t) {
		throw t?.response?.status === 404 ? new gn(e) : t;
	}
	if (t.allVersions) return l;
	let u = new _n(e, n);
	if (l["dist-tags"][n]) {
		let { time: e } = l;
		l = l.versions[l["dist-tags"][n]], l.time = e;
	} else if (n) {
		let e = !!l.versions[n];
		if (r && !e) for (let [e, t] of Object.entries(l.versions)) t.deprecated && delete l.versions[e];
		if (!e) {
			let e = Object.keys(l.versions);
			if (n = xe.default.maxSatisfying(e, n), !n) throw u;
		}
		let { time: t } = l;
		if (l = l.versions[n], l.time = t, !l) throw u;
	}
	return l;
}
//#endregion
//#region node_modules/latest-version/index.js
async function yn(e, t) {
	let { version: n } = await vn(e.toLowerCase(), t);
	return n;
}
//#endregion
//#region node_modules/is-npm/index.js
var bn = S.env.npm_package_json, xn = S.env.npm_config_user_agent, Sn = !!xn?.startsWith("npm") || !!bn?.endsWith("package.json"), Cn = !!xn?.startsWith("yarn");
xn?.startsWith("pnpm"), xn?.startsWith("bun");
var wn = Sn || Cn, Tn = /* @__PURE__ */ y((/* @__PURE__ */ u(((e, t) => {
	var { hasOwnProperty: n } = Object.prototype, r = (e, t = {}) => {
		typeof t == "string" && (t = { section: t }), t.align = t.align === !0, t.newline = t.newline === !0, t.sort = t.sort === !0, t.whitespace = t.whitespace === !0 || t.align === !0, t.platform = t.platform || typeof process < "u" && process.platform, t.bracketedArray = t.bracketedArray !== !1;
		/* istanbul ignore next */
		let n = t.platform === "win32" ? "\r\n" : "\n", a = t.whitespace ? " = " : "=", o = [], c = t.sort ? Object.keys(e).sort() : Object.keys(e), l = 0;
		t.align && (l = s(c.filter((t) => e[t] === null || Array.isArray(e[t]) || typeof e[t] != "object").map((t) => Array.isArray(e[t]) ? `${t}[]` : t).concat([""]).reduce((e, t) => s(e).length >= s(t).length ? e : t)).length);
		let u = "", d = t.bracketedArray ? "[]" : "";
		for (let t of c) {
			let r = e[t];
			if (r && Array.isArray(r)) for (let e of r) u += s(`${t}${d}`).padEnd(l, " ") + a + s(e) + n;
			else r && typeof r == "object" ? o.push(t) : u += s(t).padEnd(l, " ") + a + s(r) + n;
		}
		t.section && u.length && (u = "[" + s(t.section) + "]" + (t.newline ? n + n : n) + u);
		for (let a of o) {
			let o = i(a, ".").join("\\."), s = (t.section ? t.section + "." : "") + o, c = r(e[a], {
				...t,
				section: s
			});
			u.length && c.length && (u += n), u += c;
		}
		return u;
	};
	function i(e, t) {
		var n = 0, r = 0, i = 0, a = [];
		do
			if (i = e.indexOf(t, n), i !== -1) {
				if (n = i + t.length, i > 0 && e[i - 1] === "\\") continue;
				a.push(e.slice(r, i)), r = i + t.length;
			}
		while (i !== -1);
		return a.push(e.slice(r)), a;
	}
	var a = (e, t = {}) => {
		t.bracketedArray = t.bracketedArray !== !1;
		let r = Object.create(null), a = r, o = null, s = /^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i, l = e.split(/[\r\n]+/g), u = {};
		for (let e of l) {
			if (!e || e.match(/^\s*[;#]/) || e.match(/^\s*$/)) continue;
			let i = e.match(s);
			if (!i) continue;
			if (i[1] !== void 0) {
				if (o = c(i[1]), o === "__proto__") {
					a = Object.create(null);
					continue;
				}
				a = r[o] = r[o] || Object.create(null);
				continue;
			}
			let l = c(i[2]), d;
			t.bracketedArray ? d = l.length > 2 && l.slice(-2) === "[]" : (u[l] = (u?.[l] || 0) + 1, d = u[l] > 1);
			let f = d ? l.slice(0, -2) : l;
			if (f === "__proto__") continue;
			let p = i[3] ? c(i[4]) : !0, m = p === "true" || p === "false" || p === "null" ? JSON.parse(p) : p;
			d && (n.call(a, f) ? Array.isArray(a[f]) || (a[f] = [a[f]]) : a[f] = []), Array.isArray(a[f]) ? a[f].push(m) : a[f] = m;
		}
		let d = [];
		for (let e of Object.keys(r)) {
			if (!n.call(r, e) || typeof r[e] != "object" || Array.isArray(r[e])) continue;
			let t = i(e, ".");
			a = r;
			let o = t.pop(), s = o.replace(/\\\./g, ".");
			for (let e of t) e !== "__proto__" && ((!n.call(a, e) || typeof a[e] != "object") && (a[e] = Object.create(null)), a = a[e]);
			a === r && s === o || (a[s] = r[e], d.push(e));
		}
		for (let e of d) delete r[e];
		return r;
	}, o = (e) => e.startsWith("\"") && e.endsWith("\"") || e.startsWith("'") && e.endsWith("'"), s = (e) => typeof e != "string" || e.match(/[=\r\n]/) || e.match(/^\[/) || e.length > 1 && o(e) || e !== e.trim() ? JSON.stringify(e) : e.split(";").join("\\;").split("#").join("\\#"), c = (e, t) => {
		if (e = (e || "").trim(), o(e)) {
			e.charAt(0) === "'" && (e = e.slice(1, -1));
			try {
				e = JSON.parse(e);
			} catch {}
		} else {
			let t = !1, n = "";
			for (let r = 0, i = e.length; r < i; r++) {
				let i = e.charAt(r);
				if (t) "\\;#".indexOf(i) === -1 ? n += "\\" + i : n += i, t = !1;
				else if (";#".indexOf(i) !== -1) break;
				else i === "\\" ? t = !0 : n += i;
			}
			return t && (n += "\\"), n.trim();
		}
		return e;
	};
	t.exports = {
		parse: a,
		decode: a,
		stringify: r,
		encode: r,
		safe: s,
		unsafe: c
	};
})))(), 1), G = S.platform === "win32", En = (e) => {
	try {
		return Tn.default.parse(k.readFileSync(e, "utf8")).prefix;
	} catch {}
}, K = T.resolve(Object.keys(S.env).reduce((e, t) => /^npm_config_prefix$/i.test(t) ? S.env[t] : e, void 0) || En(T.join(w.homedir(), ".npmrc")) || (S.env.PREFIX ? S.env.PREFIX : En((() => {
	if (G && S.env.APPDATA) return T.join(S.env.APPDATA, "/npm/etc/npmrc");
	if (S.execPath.includes("/Cellar/node")) {
		let e = S.execPath.slice(0, S.execPath.indexOf("/Cellar/node"));
		return T.join(e, "/lib/node_modules/npm/npmrc");
	}
	if (S.execPath.endsWith("/bin/node")) {
		let e = T.dirname(T.dirname(S.execPath));
		return T.join(e, "/etc/npmrc");
	}
})()) || (() => {
	if (G) {
		let { APPDATA: e } = S.env;
		return e ? T.join(e, "npm") : T.dirname(S.execPath);
	}
	return T.dirname(T.dirname(S.execPath));
})())), Dn = () => {
	if (G && S.env.LOCALAPPDATA) {
		let e = T.join(S.env.LOCALAPPDATA, "Yarn");
		if (k.existsSync(e)) return e;
	}
	return !1;
}, On = () => {
	if (S.env.PREFIX) return S.env.PREFIX;
	let e = Dn();
	if (e) return e;
	let t = T.join(w.homedir(), ".config/yarn");
	if (k.existsSync(t)) return t;
	let n = T.join(w.homedir(), ".yarn-config");
	return k.existsSync(n) ? n : K;
}, q = {};
q.npm = {}, q.npm.prefix = K, q.npm.packages = T.join(K, G ? "node_modules" : "lib/node_modules"), q.npm.binaries = G ? K : T.join(K, "bin");
var kn = T.resolve(On());
q.yarn = {}, q.yarn.prefix = kn, q.yarn.packages = T.join(kn, Dn() ? "Data/global/node_modules" : "global/node_modules"), q.yarn.binaries = T.join(q.yarn.packages, ".bin");
//#endregion
//#region node_modules/is-installed-globally/node_modules/is-path-inside/index.js
function An(e, t) {
	let n = T.relative(t, e);
	return !!(n && n !== ".." && !n.startsWith(`..${T.sep}`) && n !== T.resolve(e));
}
//#endregion
//#region node_modules/is-installed-globally/index.js
var jn = T.dirname(E(import.meta.url)), Mn = (() => {
	try {
		return An(jn, q.yarn.packages) || An(jn, k.realpathSync(q.npm.packages));
	} catch {
		return !1;
	}
})();
//#endregion
//#region node_modules/ansi-regex/index.js
function Nn({ onlyFirst: e = !1 } = {}) {
	return RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]", e ? void 0 : "g");
}
//#endregion
//#region node_modules/strip-ansi/index.js
var Pn = Nn();
function Fn(e) {
	if (typeof e != "string") throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);
	return !e.includes("\x1B") && !e.includes("") ? e : e.replace(Pn, "");
}
//#endregion
//#region node_modules/get-east-asian-width/lookup-data.js
var In = [
	161,
	161,
	164,
	164,
	167,
	168,
	170,
	170,
	173,
	174,
	176,
	180,
	182,
	186,
	188,
	191,
	198,
	198,
	208,
	208,
	215,
	216,
	222,
	225,
	230,
	230,
	232,
	234,
	236,
	237,
	240,
	240,
	242,
	243,
	247,
	250,
	252,
	252,
	254,
	254,
	257,
	257,
	273,
	273,
	275,
	275,
	283,
	283,
	294,
	295,
	299,
	299,
	305,
	307,
	312,
	312,
	319,
	322,
	324,
	324,
	328,
	331,
	333,
	333,
	338,
	339,
	358,
	359,
	363,
	363,
	462,
	462,
	464,
	464,
	466,
	466,
	468,
	468,
	470,
	470,
	472,
	472,
	474,
	474,
	476,
	476,
	593,
	593,
	609,
	609,
	708,
	708,
	711,
	711,
	713,
	715,
	717,
	717,
	720,
	720,
	728,
	731,
	733,
	733,
	735,
	735,
	768,
	879,
	913,
	929,
	931,
	937,
	945,
	961,
	963,
	969,
	1025,
	1025,
	1040,
	1103,
	1105,
	1105,
	8208,
	8208,
	8211,
	8214,
	8216,
	8217,
	8220,
	8221,
	8224,
	8226,
	8228,
	8231,
	8240,
	8240,
	8242,
	8243,
	8245,
	8245,
	8251,
	8251,
	8254,
	8254,
	8308,
	8308,
	8319,
	8319,
	8321,
	8324,
	8364,
	8364,
	8451,
	8451,
	8453,
	8453,
	8457,
	8457,
	8467,
	8467,
	8470,
	8470,
	8481,
	8482,
	8486,
	8486,
	8491,
	8491,
	8531,
	8532,
	8539,
	8542,
	8544,
	8555,
	8560,
	8569,
	8585,
	8585,
	8592,
	8601,
	8632,
	8633,
	8658,
	8658,
	8660,
	8660,
	8679,
	8679,
	8704,
	8704,
	8706,
	8707,
	8711,
	8712,
	8715,
	8715,
	8719,
	8719,
	8721,
	8721,
	8725,
	8725,
	8730,
	8730,
	8733,
	8736,
	8739,
	8739,
	8741,
	8741,
	8743,
	8748,
	8750,
	8750,
	8756,
	8759,
	8764,
	8765,
	8776,
	8776,
	8780,
	8780,
	8786,
	8786,
	8800,
	8801,
	8804,
	8807,
	8810,
	8811,
	8814,
	8815,
	8834,
	8835,
	8838,
	8839,
	8853,
	8853,
	8857,
	8857,
	8869,
	8869,
	8895,
	8895,
	8978,
	8978,
	9312,
	9449,
	9451,
	9547,
	9552,
	9587,
	9600,
	9615,
	9618,
	9621,
	9632,
	9633,
	9635,
	9641,
	9650,
	9651,
	9654,
	9655,
	9660,
	9661,
	9664,
	9665,
	9670,
	9672,
	9675,
	9675,
	9678,
	9681,
	9698,
	9701,
	9711,
	9711,
	9733,
	9734,
	9737,
	9737,
	9742,
	9743,
	9756,
	9756,
	9758,
	9758,
	9792,
	9792,
	9794,
	9794,
	9824,
	9825,
	9827,
	9829,
	9831,
	9834,
	9836,
	9837,
	9839,
	9839,
	9886,
	9887,
	9919,
	9919,
	9926,
	9933,
	9935,
	9939,
	9941,
	9953,
	9955,
	9955,
	9960,
	9961,
	9963,
	9969,
	9972,
	9972,
	9974,
	9977,
	9979,
	9980,
	9982,
	9983,
	10045,
	10045,
	10102,
	10111,
	11094,
	11097,
	12872,
	12879,
	57344,
	63743,
	65024,
	65039,
	65533,
	65533,
	127232,
	127242,
	127248,
	127277,
	127280,
	127337,
	127344,
	127373,
	127375,
	127376,
	127387,
	127404,
	917760,
	917999,
	983040,
	1048573,
	1048576,
	1114109
], Ln = [
	12288,
	12288,
	65281,
	65376,
	65504,
	65510
], Rn = [
	8361,
	8361,
	65377,
	65470,
	65474,
	65479,
	65482,
	65487,
	65490,
	65495,
	65498,
	65500,
	65512,
	65518
], zn = [
	32,
	126,
	162,
	163,
	165,
	166,
	172,
	172,
	175,
	175,
	10214,
	10221,
	10629,
	10630
], Bn = [
	4352,
	4447,
	8986,
	8987,
	9001,
	9002,
	9193,
	9196,
	9200,
	9200,
	9203,
	9203,
	9725,
	9726,
	9748,
	9749,
	9776,
	9783,
	9800,
	9811,
	9855,
	9855,
	9866,
	9871,
	9875,
	9875,
	9889,
	9889,
	9898,
	9899,
	9917,
	9918,
	9924,
	9925,
	9934,
	9934,
	9940,
	9940,
	9962,
	9962,
	9970,
	9971,
	9973,
	9973,
	9978,
	9978,
	9981,
	9981,
	9989,
	9989,
	9994,
	9995,
	10024,
	10024,
	10060,
	10060,
	10062,
	10062,
	10067,
	10069,
	10071,
	10071,
	10133,
	10135,
	10160,
	10160,
	10175,
	10175,
	11035,
	11036,
	11088,
	11088,
	11093,
	11093,
	11904,
	11929,
	11931,
	12019,
	12032,
	12245,
	12272,
	12287,
	12289,
	12350,
	12353,
	12438,
	12441,
	12543,
	12549,
	12591,
	12593,
	12686,
	12688,
	12773,
	12783,
	12830,
	12832,
	12871,
	12880,
	42124,
	42128,
	42182,
	43360,
	43388,
	44032,
	55203,
	63744,
	64255,
	65040,
	65049,
	65072,
	65106,
	65108,
	65126,
	65128,
	65131,
	94176,
	94180,
	94192,
	94198,
	94208,
	101589,
	101631,
	101662,
	101760,
	101874,
	110576,
	110579,
	110581,
	110587,
	110589,
	110590,
	110592,
	110882,
	110898,
	110898,
	110928,
	110930,
	110933,
	110933,
	110948,
	110951,
	110960,
	111355,
	119552,
	119638,
	119648,
	119670,
	126980,
	126980,
	127183,
	127183,
	127374,
	127374,
	127377,
	127386,
	127488,
	127490,
	127504,
	127547,
	127552,
	127560,
	127568,
	127569,
	127584,
	127589,
	127744,
	127776,
	127789,
	127797,
	127799,
	127868,
	127870,
	127891,
	127904,
	127946,
	127951,
	127955,
	127968,
	127984,
	127988,
	127988,
	127992,
	128062,
	128064,
	128064,
	128066,
	128252,
	128255,
	128317,
	128331,
	128334,
	128336,
	128359,
	128378,
	128378,
	128405,
	128406,
	128420,
	128420,
	128507,
	128591,
	128640,
	128709,
	128716,
	128716,
	128720,
	128722,
	128725,
	128728,
	128732,
	128735,
	128747,
	128748,
	128756,
	128764,
	128992,
	129003,
	129008,
	129008,
	129292,
	129338,
	129340,
	129349,
	129351,
	129535,
	129648,
	129660,
	129664,
	129674,
	129678,
	129734,
	129736,
	129736,
	129741,
	129756,
	129759,
	129770,
	129775,
	129784,
	131072,
	196605,
	196608,
	262141
], Vn = (e, t) => {
	let n = 0, r = Math.floor(e.length / 2) - 1;
	for (; n <= r;) {
		let i = Math.floor((n + r) / 2), a = i * 2;
		if (t < e[a]) r = i - 1;
		else if (t > e[a + 1]) n = i + 1;
		else return !0;
	}
	return !1;
}, Hn = In[0], Un = In.at(-1), Wn = Ln[0], Gn = Ln.at(-1);
Rn[0], Rn.at(-1), zn[0], zn.at(-1);
var Kn = Bn[0], qn = Bn.at(-1), Jn = 19968, [Yn, Xn] = Zn(Bn);
function Zn(e) {
	let t = e[0], n = e[1];
	for (let r = 0; r < e.length; r += 2) {
		let i = e[r], a = e[r + 1];
		if (Jn >= i && Jn <= a) return [i, a];
		a - i > n - t && (t = i, n = a);
	}
	return [t, n];
}
var Qn = (e) => e < Hn || e > Un ? !1 : Vn(In, e), $n = (e) => e < Wn || e > Gn ? !1 : Vn(Ln, e), er = (e) => e >= Yn && e <= Xn ? !0 : e < Kn || e > qn ? !1 : Vn(Bn, e);
//#endregion
//#region node_modules/get-east-asian-width/index.js
function tr(e) {
	if (!Number.isSafeInteger(e)) throw TypeError(`Expected a code point, got \`${typeof e}\`.`);
}
function nr(e, { ambiguousAsWide: t = !1 } = {}) {
	return tr(e), $n(e) || er(e) || t && Qn(e) ? 2 : 1;
}
//#endregion
//#region node_modules/update-notifier/node_modules/emoji-regex/index.mjs
var rr = () => /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g, ir = new Intl.Segmenter(), ar = /^\p{Default_Ignorable_Code_Point}$/u;
function J(e, t = {}) {
	if (typeof e != "string" || e.length === 0) return 0;
	let { ambiguousIsNarrow: n = !0, countAnsiEscapeCodes: r = !1 } = t;
	if (r || (e = Fn(e)), e.length === 0) return 0;
	let i = 0, a = { ambiguousAsWide: !n };
	for (let { segment: t } of ir.segment(e)) {
		let e = t.codePointAt(0);
		if (!(e <= 31 || e >= 127 && e <= 159) && !(e >= 8203 && e <= 8207 || e === 65279) && !(e >= 768 && e <= 879 || e >= 6832 && e <= 6911 || e >= 7616 && e <= 7679 || e >= 8400 && e <= 8447 || e >= 65056 && e <= 65071) && !(e >= 55296 && e <= 57343) && !(e >= 65024 && e <= 65039) && !ar.test(t)) {
			if (rr().test(t)) {
				i += 2;
				continue;
			}
			i += nr(e, a);
		}
	}
	return i;
}
//#endregion
//#region node_modules/update-notifier/node_modules/widest-line/index.js
function or(e) {
	let t = 0;
	for (let n of e.split("\n")) t = Math.max(t, J(n));
	return t;
}
//#endregion
//#region node_modules/cli-boxes/boxes.json
var sr = /* @__PURE__ */ o({
	arrow: () => hr,
	bold: () => dr,
	classic: () => mr,
	default: () => gr,
	double: () => lr,
	doubleSingle: () => pr,
	round: () => ur,
	single: () => cr,
	singleDouble: () => fr
}), cr, lr, ur, dr, fr, pr, mr, hr, gr, _r = s((() => {
	cr = {
		topLeft: "┌",
		top: "─",
		topRight: "┐",
		right: "│",
		bottomRight: "┘",
		bottom: "─",
		bottomLeft: "└",
		left: "│"
	}, lr = {
		topLeft: "╔",
		top: "═",
		topRight: "╗",
		right: "║",
		bottomRight: "╝",
		bottom: "═",
		bottomLeft: "╚",
		left: "║"
	}, ur = {
		topLeft: "╭",
		top: "─",
		topRight: "╮",
		right: "│",
		bottomRight: "╯",
		bottom: "─",
		bottomLeft: "╰",
		left: "│"
	}, dr = {
		topLeft: "┏",
		top: "━",
		topRight: "┓",
		right: "┃",
		bottomRight: "┛",
		bottom: "━",
		bottomLeft: "┗",
		left: "┃"
	}, fr = {
		topLeft: "╓",
		top: "─",
		topRight: "╖",
		right: "║",
		bottomRight: "╜",
		bottom: "─",
		bottomLeft: "╙",
		left: "║"
	}, pr = {
		topLeft: "╒",
		top: "═",
		topRight: "╕",
		right: "│",
		bottomRight: "╛",
		bottom: "═",
		bottomLeft: "╘",
		left: "│"
	}, mr = {
		topLeft: "+",
		top: "-",
		topRight: "+",
		right: "|",
		bottomRight: "+",
		bottom: "-",
		bottomLeft: "+",
		left: "|"
	}, hr = {
		topLeft: "↘",
		top: "↓",
		topRight: "↙",
		right: "←",
		bottomRight: "↖",
		bottom: "↑",
		bottomLeft: "↗",
		left: "→"
	}, gr = {
		single: cr,
		double: lr,
		round: ur,
		bold: dr,
		singleDouble: fr,
		doubleSingle: pr,
		classic: mr,
		arrow: hr
	};
})), vr = /* @__PURE__ */ y((/* @__PURE__ */ u(((e, t) => {
	var n = (_r(), v(sr).default);
	t.exports = n, t.exports.default = n;
})))(), 1), yr = /[\p{Lu}]/u, br = /[\p{Ll}]/u, xr = /^[\p{Lu}](?![\p{Lu}])/gu, Sr = /([\p{Alpha}\p{N}_]|$)/u, Cr = /[_.\- ]+/, wr = RegExp("^" + Cr.source), Tr = new RegExp(Cr.source + Sr.source, "gu"), Er = RegExp("\\d+" + Sr.source, "gu"), Dr = (e, t, n, r) => {
	let i = !1, a = !1, o = !1, s = !1;
	for (let c = 0; c < e.length; c++) {
		let l = e[c];
		s = c > 2 ? e[c - 3] === "-" : !0, i && yr.test(l) ? (e = e.slice(0, c) + "-" + e.slice(c), i = !1, o = a, a = !0, c++) : a && o && br.test(l) && (!s || r) ? (e = e.slice(0, c - 1) + "-" + e.slice(c - 1), o = a, a = !1, i = !0) : (i = t(l) === l && n(l) !== l, o = a, a = n(l) === l && t(l) !== l);
	}
	return e;
}, Or = (e, t) => (xr.lastIndex = 0, e.replaceAll(xr, (e) => t(e))), kr = (e, t) => (Tr.lastIndex = 0, Er.lastIndex = 0, e.replaceAll(Er, (n, r, i) => ["_", "-"].includes(e.charAt(i + n.length)) ? n : t(n)).replaceAll(Tr, (e, n) => t(n)));
function Ar(e, t) {
	if (!(typeof e == "string" || Array.isArray(e))) throw TypeError("Expected the input to be `string | string[]`");
	if (t = {
		pascalCase: !1,
		preserveConsecutiveUppercase: !1,
		...t
	}, e = Array.isArray(e) ? e.map((e) => e.trim()).filter((e) => e.length).join("-") : e.trim(), e.length === 0) return "";
	let n = t.locale === !1 ? (e) => e.toLowerCase() : (e) => e.toLocaleLowerCase(t.locale), r = t.locale === !1 ? (e) => e.toUpperCase() : (e) => e.toLocaleUpperCase(t.locale);
	return e.length === 1 ? Cr.test(e) ? "" : t.pascalCase ? r(e) : n(e) : (e !== n(e) && (e = Dr(e, n, r, t.preserveConsecutiveUppercase)), e = e.replace(wr, ""), e = t.preserveConsecutiveUppercase ? Or(e, n) : n(e), t.pascalCase && (e = r(e.charAt(0)) + e.slice(1)), kr(e, r));
}
//#endregion
//#region node_modules/ansi-align/node_modules/ansi-regex/index.js
var jr = /* @__PURE__ */ u(((e, t) => {
	t.exports = ({ onlyFirst: e = !1 } = {}) => {
		let t = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");
		return new RegExp(t, e ? void 0 : "g");
	};
})), Mr = /* @__PURE__ */ u(((e, t) => {
	var n = jr();
	t.exports = (e) => typeof e == "string" ? e.replace(n(), "") : e;
})), Nr = /* @__PURE__ */ u(((e, t) => {
	t.exports = function() {
		return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
	};
})), Pr = /* @__PURE__ */ u(((e, t) => {
	var n = Mr(), r = a(), i = Nr(), o = (e) => {
		if (typeof e != "string" || e.length === 0 || (e = n(e), e.length === 0)) return 0;
		e = e.replace(i(), "  ");
		let t = 0;
		for (let n = 0; n < e.length; n++) {
			let i = e.codePointAt(n);
			i <= 31 || i >= 127 && i <= 159 || i >= 768 && i <= 879 || (i > 65535 && n++, t += r(i) ? 2 : 1);
		}
		return t;
	};
	t.exports = o, t.exports.default = o;
})), Fr = /* @__PURE__ */ y((/* @__PURE__ */ u(((e, t) => {
	var n = Pr();
	function r(e, t) {
		if (!e) return e;
		t ||= {};
		let r = t.align || "center";
		if (r === "left") return e;
		let o = t.split || "\n", s = t.pad || " ", c = r === "right" ? a : i, l = !1;
		Array.isArray(e) || (l = !0, e = String(e).split(o));
		let u, d = 0;
		return e = e.map(function(e) {
			return e = String(e), u = n(e), d = Math.max(u, d), {
				str: e,
				width: u
			};
		}).map(function(e) {
			return Array(c(d, e.width) + 1).join(s) + e.str;
		}), l ? e.join(o) : e;
	}
	r.left = function(e) {
		return r(e, { align: "left" });
	}, r.center = function(e) {
		return r(e, { align: "center" });
	}, r.right = function(e) {
		return r(e, { align: "right" });
	}, t.exports = r;
	function i(e, t) {
		return Math.floor((e - t) / 2);
	}
	function a(e, t) {
		return e - t;
	}
})))(), 1), Ir = 10, Lr = (e = 0) => (t) => `\u001B[${t + e}m`, Rr = (e = 0) => (t) => `\u001B[${38 + e};5;${t}m`, zr = (e = 0) => (t, n, r) => `\u001B[${38 + e};2;${t};${n};${r}m`, Y = {
	modifier: {
		reset: [0, 0],
		bold: [1, 22],
		dim: [2, 22],
		italic: [3, 23],
		underline: [4, 24],
		overline: [53, 55],
		inverse: [7, 27],
		hidden: [8, 28],
		strikethrough: [9, 29]
	},
	color: {
		black: [30, 39],
		red: [31, 39],
		green: [32, 39],
		yellow: [33, 39],
		blue: [34, 39],
		magenta: [35, 39],
		cyan: [36, 39],
		white: [37, 39],
		blackBright: [90, 39],
		gray: [90, 39],
		grey: [90, 39],
		redBright: [91, 39],
		greenBright: [92, 39],
		yellowBright: [93, 39],
		blueBright: [94, 39],
		magentaBright: [95, 39],
		cyanBright: [96, 39],
		whiteBright: [97, 39]
	},
	bgColor: {
		bgBlack: [40, 49],
		bgRed: [41, 49],
		bgGreen: [42, 49],
		bgYellow: [43, 49],
		bgBlue: [44, 49],
		bgMagenta: [45, 49],
		bgCyan: [46, 49],
		bgWhite: [47, 49],
		bgBlackBright: [100, 49],
		bgGray: [100, 49],
		bgGrey: [100, 49],
		bgRedBright: [101, 49],
		bgGreenBright: [102, 49],
		bgYellowBright: [103, 49],
		bgBlueBright: [104, 49],
		bgMagentaBright: [105, 49],
		bgCyanBright: [106, 49],
		bgWhiteBright: [107, 49]
	}
};
Object.keys(Y.modifier);
var Br = Object.keys(Y.color), Vr = Object.keys(Y.bgColor);
[...Br, ...Vr];
function Hr() {
	let e = /* @__PURE__ */ new Map();
	for (let [t, n] of Object.entries(Y)) {
		for (let [t, r] of Object.entries(n)) Y[t] = {
			open: `\u001B[${r[0]}m`,
			close: `\u001B[${r[1]}m`
		}, n[t] = Y[t], e.set(r[0], r[1]);
		Object.defineProperty(Y, t, {
			value: n,
			enumerable: !1
		});
	}
	return Object.defineProperty(Y, "codes", {
		value: e,
		enumerable: !1
	}), Y.color.close = "\x1B[39m", Y.bgColor.close = "\x1B[49m", Y.color.ansi = Lr(), Y.color.ansi256 = Rr(), Y.color.ansi16m = zr(), Y.bgColor.ansi = Lr(Ir), Y.bgColor.ansi256 = Rr(Ir), Y.bgColor.ansi16m = zr(Ir), Object.defineProperties(Y, {
		rgbToAnsi256: {
			value(e, t, n) {
				return e === t && t === n ? e < 8 ? 16 : e > 248 ? 231 : Math.round((e - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(e / 255 * 5) + 6 * Math.round(t / 255 * 5) + Math.round(n / 255 * 5);
			},
			enumerable: !1
		},
		hexToRgb: {
			value(e) {
				let t = /[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));
				if (!t) return [
					0,
					0,
					0
				];
				let [n] = t;
				n.length === 3 && (n = [...n].map((e) => e + e).join(""));
				let r = Number.parseInt(n, 16);
				return [
					r >> 16 & 255,
					r >> 8 & 255,
					r & 255
				];
			},
			enumerable: !1
		},
		hexToAnsi256: {
			value: (e) => Y.rgbToAnsi256(...Y.hexToRgb(e)),
			enumerable: !1
		},
		ansi256ToAnsi: {
			value(e) {
				if (e < 8) return 30 + e;
				if (e < 16) return 90 + (e - 8);
				let t, n, r;
				if (e >= 232) t = ((e - 232) * 10 + 8) / 255, n = t, r = t;
				else {
					e -= 16;
					let i = e % 36;
					t = Math.floor(e / 36) / 5, n = Math.floor(i / 6) / 5, r = i % 6 / 5;
				}
				let i = Math.max(t, n, r) * 2;
				if (i === 0) return 30;
				let a = 30 + (Math.round(r) << 2 | Math.round(n) << 1 | Math.round(t));
				return i === 2 && (a += 60), a;
			},
			enumerable: !1
		},
		rgbToAnsi: {
			value: (e, t, n) => Y.ansi256ToAnsi(Y.rgbToAnsi256(e, t, n)),
			enumerable: !1
		},
		hexToAnsi: {
			value: (e) => Y.ansi256ToAnsi(Y.hexToAnsi256(e)),
			enumerable: !1
		}
	}), Y;
}
var Ur = Hr(), Wr = new Set(["\x1B", ""]), Gr = 39, Kr = "\x07", qr = "[", Jr = "]", Yr = "m", Xr = `${Jr}8;;`, Zr = (e) => `${Wr.values().next().value}${qr}${e}${Yr}`, Qr = (e) => `${Wr.values().next().value}${Xr}${e}${Kr}`, $r = (e) => e.split(" ").map((e) => J(e)), ei = (e, t, n) => {
	let r = [...t], i = !1, a = !1, o = J(Fn(e.at(-1)));
	for (let [t, s] of r.entries()) {
		let c = J(s);
		if (o + c <= n ? e[e.length - 1] += s : (e.push(s), o = 0), Wr.has(s) && (i = !0, a = r.slice(t + 1, t + 1 + Xr.length).join("") === Xr), i) {
			a ? s === Kr && (i = !1, a = !1) : s === Yr && (i = !1);
			continue;
		}
		o += c, o === n && t < r.length - 1 && (e.push(""), o = 0);
	}
	!o && e.at(-1).length > 0 && e.length > 1 && (e[e.length - 2] += e.pop());
}, ti = (e) => {
	let t = e.split(" "), n = t.length;
	for (; n > 0 && !(J(t[n - 1]) > 0);) n--;
	return n === t.length ? e : t.slice(0, n).join(" ") + t.slice(n).join("");
}, ni = (e, t, n = {}) => {
	if (n.trim !== !1 && e.trim() === "") return "";
	let r = "", i, a, o = $r(e), s = [""];
	for (let [r, i] of e.split(" ").entries()) {
		n.trim !== !1 && (s[s.length - 1] = s.at(-1).trimStart());
		let e = J(s.at(-1));
		if (r !== 0 && (e >= t && (n.wordWrap === !1 || n.trim === !1) && (s.push(""), e = 0), (e > 0 || n.trim === !1) && (s[s.length - 1] += " ", e++)), n.hard && o[r] > t) {
			let n = t - e, a = 1 + Math.floor((o[r] - n - 1) / t);
			Math.floor((o[r] - 1) / t) < a && s.push(""), ei(s, i, t);
			continue;
		}
		if (e + o[r] > t && e > 0 && o[r] > 0) {
			if (n.wordWrap === !1 && e < t) {
				ei(s, i, t);
				continue;
			}
			s.push("");
		}
		if (e + o[r] > t && n.wordWrap === !1) {
			ei(s, i, t);
			continue;
		}
		s[s.length - 1] += i;
	}
	n.trim !== !1 && (s = s.map((e) => ti(e)));
	let c = s.join("\n"), l = [...c], u = 0;
	for (let [e, t] of l.entries()) {
		if (r += t, Wr.has(t)) {
			let { groups: e } = RegExp(`(?:\\${qr}(?<code>\\d+)m|\\${Xr}(?<uri>.*)${Kr})`).exec(c.slice(u)) || { groups: {} };
			if (e.code !== void 0) {
				let t = Number.parseFloat(e.code);
				i = t === Gr ? void 0 : t;
			} else e.uri !== void 0 && (a = e.uri.length === 0 ? void 0 : e.uri);
		}
		let n = Ur.codes.get(Number(i));
		l[e + 1] === "\n" ? (a && (r += Qr("")), i && n && (r += Zr(n))) : t === "\n" && (i && n && (r += Zr(i)), a && (r += Qr(a))), u += t.length;
	}
	return r;
};
function ri(e, t, n) {
	return String(e).normalize().replaceAll("\r\n", "\n").split("\n").map((e) => ni(e, t, n)).join("\n");
}
//#endregion
//#region node_modules/update-notifier/node_modules/boxen/index.js
var X = "\n", Z = " ", Q = "none", ii = () => {
	let { env: e, stdout: t, stderr: n } = S;
	return t?.columns ? t.columns : n?.columns ? n.columns : e.COLUMNS ? Number.parseInt(e.COLUMNS, 10) : 80;
}, ai = (e) => typeof e == "number" ? {
	top: e,
	right: e * 3,
	bottom: e,
	left: e * 3
} : {
	top: 0,
	right: 0,
	bottom: 0,
	left: 0,
	...e
}, $ = (e) => e === Q ? 0 : 2, oi = (e) => {
	let t = [
		"topLeft",
		"topRight",
		"bottomRight",
		"bottomLeft",
		"left",
		"right",
		"top",
		"bottom"
	], n;
	if (e === Q) {
		e = {};
		for (let n of t) e[n] = "";
	}
	if (typeof e == "string") {
		if (n = vr.default[e], !n) throw TypeError(`Invalid border style: ${e}`);
	} else {
		typeof e?.vertical == "string" && (e.left = e.vertical, e.right = e.vertical), typeof e?.horizontal == "string" && (e.top = e.horizontal, e.bottom = e.horizontal);
		for (let n of t) if (e[n] === null || typeof e[n] != "string") throw TypeError(`Invalid border style: ${n}`);
		n = e;
	}
	return n;
}, si = (e, t, n) => {
	let r = "", i = J(e);
	switch (n) {
		case "left":
			r = e + t.slice(i);
			break;
		case "right":
			r = t.slice(i) + e;
			break;
		default:
			t = t.slice(i), t.length % 2 == 1 ? (t = t.slice(Math.floor(t.length / 2)), r = t.slice(1) + e + t) : (t = t.slice(t.length / 2), r = t + e + t);
			break;
	}
	return r;
}, ci = (e, { padding: t, width: n, textAlignment: r, height: i }) => {
	e = (0, Fr.default)(e, { align: r });
	let a = e.split(X), o = or(e), s = n - t.left - t.right;
	if (o > s) {
		let e = [];
		for (let t of a) {
			let n = (0, Fr.default)(ri(t, s, { hard: !0 }), { align: r }).split("\n"), i = Math.max(...n.map((e) => J(e)));
			for (let t of n) {
				let n;
				switch (r) {
					case "center":
						n = Z.repeat((s - i) / 2) + t;
						break;
					case "right":
						n = Z.repeat(s - i) + t;
						break;
					default:
						n = t;
						break;
				}
				e.push(n);
			}
		}
		a = e;
	}
	r === "center" && o < s ? a = a.map((e) => Z.repeat((s - o) / 2) + e) : r === "right" && o < s && (a = a.map((e) => Z.repeat(s - o) + e));
	let c = Z.repeat(t.left), l = Z.repeat(t.right);
	return a = a.map((e) => {
		let t = c + e + l;
		return t + Z.repeat(n - J(t));
	}), t.top > 0 && (a = [...Array.from({ length: t.top }).fill(Z.repeat(n)), ...a]), t.bottom > 0 && (a = [...a, ...Array.from({ length: t.bottom }).fill(Z.repeat(n))]), i && a.length > i ? a = a.slice(0, i) : i && a.length < i && (a = [...a, ...Array.from({ length: i - a.length }).fill(Z.repeat(n))]), a.join(X);
}, li = (e, t, n) => {
	let i = (e) => {
		let t = n.borderColor ? hi(n.borderColor)(e) : e;
		return n.dimBorder ? r.dim(t) : t;
	}, a = (e) => n.backgroundColor ? gi(n.backgroundColor)(e) : e, o = oi(n.borderStyle), s = ii(), c = Z.repeat(n.margin.left);
	if (n.float === "center") {
		let e = Math.max((s - t - $(n.borderStyle)) / 2, 0);
		c = Z.repeat(e);
	} else if (n.float === "right") {
		let e = Math.max(s - t - n.margin.right - $(n.borderStyle), 0);
		c = Z.repeat(e);
	}
	let l = "";
	n.margin.top && (l += X.repeat(n.margin.top)), (n.borderStyle !== Q || n.title) && (l += i(c + o.topLeft + (n.title ? si(n.title, o.top.repeat(t), n.titleAlignment) : o.top.repeat(t)) + o.topRight) + X);
	let u = e.split(X);
	return l += u.map((e) => c + i(o.left) + a(e) + i(o.right)).join(X), n.borderStyle !== Q && (l += X + i(c + o.bottomLeft + o.bottom.repeat(t) + o.bottomRight)), n.margin.bottom && (l += X.repeat(n.margin.bottom)), l;
}, ui = (e) => {
	if (e.fullscreen && S?.stdout) {
		let t = [S.stdout.columns, S.stdout.rows];
		typeof e.fullscreen == "function" && (t = e.fullscreen(...t)), e.width ||= t[0], e.height ||= t[1];
	}
	return e.width &&= Math.max(1, e.width - $(e.borderStyle)), e.height &&= Math.max(1, e.height - $(e.borderStyle)), e;
}, di = (e, t) => t === Q ? e : ` ${e} `, fi = (e, t) => {
	t = ui(t);
	let n = t.width !== void 0, r = ii(), i = $(t.borderStyle), a = r - t.margin.left - t.margin.right - i, o = or(ri(e, r - i, {
		hard: !0,
		trim: !1
	})) + t.padding.left + t.padding.right;
	if (t.title && n ? (t.title = t.title.slice(0, Math.max(0, t.width - 2)), t.title &&= di(t.title, t.borderStyle)) : t.title && (t.title = t.title.slice(0, Math.max(0, a - 2)), t.title && (t.title = di(t.title, t.borderStyle), J(t.title) > o && (t.width = J(t.title)))), t.width ||= o, !n) {
		if (t.margin.left && t.margin.right && t.width > a) {
			let e = (r - t.width - i) / (t.margin.left + t.margin.right);
			t.margin.left = Math.max(0, Math.floor(t.margin.left * e)), t.margin.right = Math.max(0, Math.floor(t.margin.right * e));
		}
		t.width = Math.min(t.width, r - i - t.margin.left - t.margin.right);
	}
	return t.width - (t.padding.left + t.padding.right) <= 0 && (t.padding.left = 0, t.padding.right = 0), t.height && t.height - (t.padding.top + t.padding.bottom) <= 0 && (t.padding.top = 0, t.padding.bottom = 0), t;
}, pi = (e) => e.match(/^#(?:[0-f]{3}){1,2}$/i), mi = (e) => typeof e == "string" && (r[e] ?? pi(e)), hi = (e) => pi(e) ? r.hex(e) : r[e], gi = (e) => pi(e) ? r.bgHex(e) : r[Ar(["bg", e])];
function _i(e, t) {
	if (t = {
		padding: 0,
		borderStyle: "single",
		dimBorder: !1,
		textAlignment: "left",
		float: "left",
		titleAlignment: "left",
		...t
	}, t.align && (t.textAlignment = t.align), t.borderColor && !mi(t.borderColor)) throw Error(`${t.borderColor} is not a valid borderColor`);
	if (t.backgroundColor && !mi(t.backgroundColor)) throw Error(`${t.backgroundColor} is not a valid backgroundColor`);
	return t.padding = ai(t.padding), t.margin = ai(t.margin), t = fi(e, t), e = ci(e, t), li(e, t.width, t);
}
//#endregion
//#region node_modules/is-in-ci/index.js
var vi = C.CI !== "0" && C.CI !== "false" && ("CI" in C || "CONTINUOUS_INTEGRATION" in C || Object.keys(C).some((e) => e.startsWith("CI_"))), yi = (e) => e.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
function bi(e, ...t) {
	if (typeof e == "string") return yi(e);
	let n = e[0];
	for (let [r, i] of t.entries()) n = n + yi(String(i)) + e[r + 1];
	return n;
}
//#endregion
//#region node_modules/pupa/index.js
var xi = class extends Error {
	constructor(e) {
		super(`Missing a value for ${e ? `the placeholder: ${e}` : "a placeholder"}`, e), this.name = "MissingValueError", this.key = e;
	}
}, Si = class extends Error {
	constructor(e) {
		super(`Missing filter: ${e}`), this.name = "MissingFilterError", this.filterName = e;
	}
};
function Ci(e, t, { ignoreMissing: n = !1, transform: r = ({ value: e }) => e, filters: i = {} } = {}) {
	if (typeof e != "string") throw TypeError(`Expected a \`string\` in the first argument, got \`${typeof e}\``);
	if (typeof t != "object") throw TypeError(`Expected an \`object\` or \`Array\` in the second argument, got \`${typeof t}\``);
	let a = "", o = "";
	e = e.replace(/\\{/g, a), e = e.replace(/\\}/g, o);
	let s = (e) => {
		let t = [], n = "";
		for (let r = 0; r < e.length; r++) e[r] === "\\" && e[r + 1] === "." ? (n += ".", r++) : e[r] === "." ? (t.push(n), n = "") : n += e[r];
		return t.push(n), t;
	}, c = (e, a) => {
		let o = a.split("|").map((e) => e.trim()), c = o[0], l = o.slice(1), u = s(c), d = t;
		for (let e of u) d &&= d[e];
		for (let t of l) {
			let r = i[t];
			if (!r) {
				if (n) return e;
				throw new Si(t);
			}
			d !== void 0 && (d = r(d));
		}
		let f = r({
			value: d,
			key: c
		});
		if (f === void 0) {
			if (n) return e;
			throw new xi(c);
		}
		return String(f);
	}, l = "((\\d+|[a-z$_][\\w\\-.$\\\\]*)\\s*(?:\\|\\s*[a-z$_][\\w$]*\\s*)*)", u = RegExp(`{{${l}}}`, "gi"), d = RegExp(`{${l}}`, "gi");
	return e = e.replace(u, (...e) => bi(c(...e))), e = e.replace(d, c), e = e.replace(RegExp(a, "g"), "{"), e = e.replace(RegExp(o, "g"), "}"), e;
}
//#endregion
//#region node_modules/update-notifier/update-notifier.js
var wi = T.dirname(E(import.meta.url)), Ti = 1e3 * 60 * 60 * 24, Ei = class {
	config;
	update;
	_packageName;
	_shouldNotifyInNpmScript;
	#e;
	#t;
	#n;
	#r;
	constructor(e = {}) {
		if (this.#e = e, e.pkg ??= {}, e.distTag ??= "latest", e.pkg = {
			name: e.pkg.name ?? e.packageName,
			version: e.pkg.version ?? e.packageVersion
		}, !e.pkg.name || !e.pkg.version) throw Error("pkg.name and pkg.version required");
		if (this._packageName = e.pkg.name, this.#t = e.pkg.version, this.#n = typeof e.updateCheckInterval == "number" ? e.updateCheckInterval : Ti, this.#r = "NO_UPDATE_NOTIFIER" in S.env || S.env.NODE_ENV === "test" || S.argv.includes("--no-update-notifier") || vi, this._shouldNotifyInNpmScript = e.shouldNotifyInNpmScript, !this.#r) try {
			this.config = new tt(`update-notifier-${this._packageName}`, {
				optOut: !1,
				lastUpdateCheck: Date.now()
			});
		} catch {
			let t = r.yellow(D(" %s update check failed ", e.pkg.name)) + D("\n Try running with %s or get access ", r.cyan("sudo")) + "\n to the local update config store via \n" + r.cyan(D(" sudo chown -R $USER:$(id -gn $USER) %s ", we));
			S.on("exit", () => {
				console.error(_i(t, { textAlignment: "center" }));
			});
		}
	}
	check() {
		!this.config || this.config.get("optOut") || this.#r || (this.update = this.config.get("update"), this.update && (this.update.current = this.#t, this.config.delete("update")), !(Date.now() - this.config.get("lastUpdateCheck") < this.#n) && ee(S.execPath, [T.join(wi, "check.js"), JSON.stringify(this.#e)], {
			detached: !0,
			stdio: "ignore"
		}).unref());
	}
	async fetchInfo() {
		let { distTag: e } = this.#e, t = await yn(this._packageName, { version: e });
		return {
			latest: t,
			current: this.#t,
			type: (0, nt.default)(this.#t, t) ?? e,
			name: this._packageName
		};
	}
	notify(e) {
		let t = !this._shouldNotifyInNpmScript && wn;
		if (!S.stdout.isTTY || t || !this.update || !(0, rt.default)(this.update.latest, this.update.current)) return this;
		e = {
			isGlobal: Mn,
			...e
		};
		let n = e.isGlobal ? `npm i -g ${this._packageName}` : `npm i ${this._packageName}`, i = "Update available " + r.dim("{currentVersion}") + r.reset(" → ") + r.green("{latestVersion}") + " \nRun " + r.cyan("{updateCommand}") + " to update", a = e.message || i;
		e.boxenOptions ??= {
			padding: 1,
			margin: 1,
			textAlignment: "center",
			borderColor: "yellow",
			borderStyle: "round"
		};
		let o = _i(Ci(a, {
			packageName: this._packageName,
			currentVersion: this.update.current,
			latestVersion: this.update.latest,
			updateCommand: n
		}), e.boxenOptions);
		return e.defer === !1 ? console.error(o) : S.on("exit", () => {
			console.error(o);
		}), this;
	}
};
//#endregion
//#region node_modules/update-notifier/index.js
function Di(e) {
	let t = new Ei(e);
	return t.check(), t;
}
//#endregion
//#region src/bin/cli.ts
var Oi = "Output the version number of npm-check-updates.", ki = (e) => e.replace(/`/g, "");
(async () => {
	let t = Di({ pkg: p });
	if (t.update && t.update.latest !== p.version) {
		let e = h(!0), n = xe.default.parse(t.update.current)?.major, r = xe.default.parse(t.update.latest)?.major, i = (n && r && r >= n ? Array(r - n).fill(0).map((e, t) => n + t + 1) : []).map((e) => `${p.homepage ?? ""}/releases/tag/v${e}.0.0`), a = `${p.homepage ?? ""}/compare/v${t.update.current}...v${t.update.latest}`;
		t.notify({
			defer: !1,
			isGlobal: !0,
			message: `Update available ${e.dim("{currentVersion}")}${e.reset(" → ")}${t.update.type === "major" ? e.red("{latestVersion}") : t.update.type === "minor" ? e.yellow("{latestVersion}") : e.green("{latestVersion}")}
Run ${e.cyan("{updateCommand}")} to update
${e.dim.underline(t.update.type === "major" ? i.map((t) => e.dim.underline(t)).join("\n") : a)}`
		});
	}
	let r = process.argv.slice(2), i = r.findIndex((e) => e === "--help" || e === "-h");
	if (i !== -1 && r[i + 1]) {
		let e = r[i + 1].replace(/^-*/, "");
		if (e === "help" || e === "h") console.info("Would you like some help with your help?");
		else {
			f();
			let e = [...r.slice(0, i), ...r.slice(i + 1)];
			for (let t of e) {
				let e = t.replace(/^-*/, ""), r = c.find((t) => e === t.long || e === t.short || e === `no-${t.long}` && t.type === "boolean");
				console.info(r ? n(r) + "\n" : e === "version" || e === "v" || e === "V" ? n({
					long: "version",
					short: "v",
					description: Oi,
					type: "string"
				}) + "\n" : `Unknown option: ${t}`);
			}
		}
		process.exit(0);
	}
	let a = new Set(c.filter((e) => e.cli === !1).map((e) => `--${e.long}`));
	A.description("[filter] is a list or regex of package names to check (all others will be ignored).").usage("[options] [filter]").configureHelp({
		optionTerm: (e) => e.long && a.has(e.long) ? e.long.replace("--", "") + "*" : e.long === "--version" ? "-v, -V, --version" : e.flags.replace("[bool]", ""),
		optionDescription: (e) => e.long === "--version" ? Oi : e.long === "--help" ? "You're lookin' at it. Run \"ncu --help <option>\" for a specific option." : ge.prototype.optionDescription(e)
	}).addOption(new he("-v, --versionAlias").hideHelp()).on("option:versionAlias", () => {
		console.info(p.version), process.exit(0);
	});
	for (let { long: e, short: t, arg: n, description: r, default: i, help: a, parse: o, type: s } of c) {
		let c = `${t ? `-${t}, ` : ""}--${e}${n ? ` <${n}>` : ""}`, l = `${ki(r)}${a ? ` Run "ncu --help ${e}" for details.` : ""}`;
		A.option(c, l, o || i, o ? i : void 0), s === "boolean" && A.addOption(new he(`--no-${e}`).default(!1).hideHelp());
	}
	A.version(p.version);
	let o = structuredClone(A._optionValues);
	A.allowExcessArguments(!0), A.parse(process.argv);
	let s = A.opts(), l = process.argv.slice(2), { color: u, configFileName: _, configFilePath: v, global: y, packageFile: b, mergeConfig: x } = s;
	f(u);
	let S = !process.env.NCU_TESTS || v || x ? await d({
		configFileName: _,
		configFilePath: v,
		global: y,
		packageFile: b,
		options: {
			...s,
			cli: !0
		}
	}) : null, C = (S?.args || []).filter((e, t, n) => (typeof e != "string" || !e.startsWith("-") || !l.includes(e)) && (typeof n[t - 1] != "string" || !n[t - 1].startsWith("-") || !l.includes(n[t - 1]))), w = [
		...process.argv.slice(0, 2),
		...C,
		...l
	], T = {}, E = w.slice(2);
	for (let e = 0; e < E.length; e++) {
		let t = E[e];
		if (typeof t != "string" || !t.startsWith("-")) continue;
		let n = m[t.replace(/^--?(no-)?/, "")];
		if (n) {
			let r = n.long;
			n.arg ? (T[r] = e + 1 < E.length ? E[e + 1] : !0, e++) : n.type === "boolean" ? T[r] = !t.startsWith("--no-") : T[r] = !0;
		}
	}
	A._optionValues = o, A.parse(w);
	let D = A.opts();
	e({
		...S && Object.keys(S.config).length > 0 ? { rcConfigPath: S.filePath } : null,
		...g(A.opts(), (e) => e !== void 0),
		args: A.args,
		raw: T,
		...D.filter ? { filter: D.filter } : null,
		...D.reject ? { reject: D.reject } : null
	}, { cli: !0 });
})();
//#endregion
export {};

//# sourceMappingURL=cli.js.map