#!/usr/bin/env node
import { a as e, i as t, n, o as r, r as i, t as a } from "./chunks/rolldown-runtime-C6GIJ8is.js";
import o, { _ as s, a as c, c as l, d as u, f as d, g as f, h as p, i as m, m as h, o as g, p as _, r as v, s as y, v as b } from "./index.js";
import x from "node:path";
import S from "node:os";
import C from "os";
import w, { env as T } from "node:process";
import { fileURLToPath as E } from "node:url";
import { format as D, promisify as O, stripVTControlCharacters as k } from "node:util";
import ee from "path";
import A from "node:fs";
import te, { spawn as ne } from "node:child_process";
import { EventEmitter as re } from "node:events";
//#region node_modules/commander/lib/error.js
var ie = 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;
	}
}, ae = class extends ie {
	constructor(e) {
		super(1, "commander.invalidArgument", e), Error.captureStackTrace(this, this.constructor), this.name = this.constructor.name;
	}
}, oe = 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, t) => {
			if (!this.argChoices.includes(e)) throw new ae(`Allowed choices are ${this.argChoices.join(", ")}.`);
			return this.variadic ? this._collectValue(e, t) : e;
		}, this;
	}
	argRequired() {
		return this.required = !0, this;
	}
	argOptional() {
		return this.required = !1, this;
	}
};
function se(e) {
	let t = e.name() + (e.variadic === !0 ? "..." : "");
	return e.required ? "<" + t + ">" : "[" + t + "]";
}
//#endregion
//#region node_modules/commander/lib/help.js
var ce = 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 t = e.registeredArguments.map((e) => se(e)).join(" ");
		return e._name + (e._aliases[0] ? "|" + e._aliases[0] : "") + (e.options.length ? " [options]" : "") + (t ? " " + t : "");
	}
	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 k(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");
	}
}, le = 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 = fe(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, t) => {
			if (!this.argChoices.includes(e)) throw new ae(`Allowed choices are ${this.argChoices.join(", ")}.`);
			return this.variadic ? this._collectValue(e, t) : e;
		}, this;
	}
	name() {
		return this.long ? this.long.replace(/^--/, "") : this.short.replace(/^-/, "");
	}
	attributeName() {
		return this.negate ? de(this.name().replace(/^no-/, "")) : de(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;
	}
}, ue = 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 && r;
		return t.negate === (i === e);
	}
};
function de(e) {
	return e.split("-").reduce((e, t) => e + t[0].toUpperCase() + t.slice(1));
}
function fe(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
	};
}
//#endregion
//#region node_modules/commander/lib/suggestSimilar.js
var pe = 3;
function me(e, t) {
	if (Math.abs(e.length - t.length) > pe) return Math.max(e.length, t.length);
	let n = [];
	for (let t = 0; t <= e.length; t++) n[t] = [t];
	for (let e = 0; e <= t.length; e++) n[0][e] = e;
	for (let r = 1; r <= t.length; r++) for (let i = 1; i <= e.length; i++) {
		let a;
		a = e[i - 1] === t[r - 1] ? 0 : 1, n[i][r] = Math.min(n[i - 1][r] + 1, n[i][r - 1] + 1, n[i - 1][r - 1] + a), i > 1 && r > 1 && e[i - 1] === t[r - 2] && e[i - 2] === t[r - 1] && (n[i][r] = Math.min(n[i][r], n[i - 2][r - 2] + 1));
	}
	return n[e.length][t.length];
}
function he(e, t) {
	if (!t || t.length === 0) return "";
	t = Array.from(new Set(t));
	let n = e.startsWith("--");
	n && (e = e.slice(2), t = t.map((e) => e.slice(2)));
	let r = [], i = pe;
	return t.forEach((t) => {
		if (t.length <= 1) return;
		let n = me(e, t), a = Math.max(e.length, t.length);
		(a - n) / a > .4 && (n < i ? (i = n, r = [t]) : n === i && r.push(t));
	}), r.sort((e, t) => e.localeCompare(t)), n && (r = r.map((e) => `--${e}`)), r.length > 1 ? `\n(Did you mean one of ${r.join(", ")}?)` : r.length === 1 ? `\n(Did you mean ${r[0]}?)` : "";
}
//#endregion
//#region node_modules/commander/lib/command.js
var ge = class e extends re {
	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) => w.stdout.write(e),
			writeErr: (e) => w.stderr.write(e),
			outputError: (e, t) => t(e),
			getOutHelpWidth: () => w.stdout.isTTY ? w.stdout.columns : void 0,
			getErrHelpWidth: () => w.stderr.isTTY ? w.stderr.columns : void 0,
			getOutHasColors: () => ve() ?? (w.stdout.isTTY && w.stdout.hasColors?.()),
			getErrHasColors: () => ve() ?? (w.stderr.isTTY && w.stderr.hasColors?.()),
			stripColor: (e) => k(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 ce(), 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 oe(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 ie(e, t, n)), w.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 le(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();
		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) => {
			let n = `error: option '${e.flags}' argument '${t}' is invalid.`;
			r(t, n, "cli");
		}), e.envVar && this.on("optionEnv:" + t, (t) => {
			let n = `error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`;
			r(t, n, "env");
		}), this;
	}
	_optionEx(e, t, n, r, i) {
		if (typeof t == "object" && t instanceof le) 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) {
			w.versions?.electron && (t.from = "electron");
			let e = w.execArgv ?? [];
			(e.includes("-e") || e.includes("--eval") || e.includes("-p") || e.includes("--print")) && (t.from = "eval");
		}
		e === void 0 && (e = w.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":
				w.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.options.filter((e) => e.negate && e.defaultValue === void 0 && this.getOptionValue(e.attributeName()) === void 0).forEach((e) => {
			let t = e.long.replace(/^--no-/, "--");
			this._findOption(t) || this.setOptionValueWithSource(e.attributeName(), !0, "default");
		}), 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 = [
			".js",
			".ts",
			".tsx",
			".mjs",
			".cjs"
		];
		function r(e, t) {
			let r = x.resolve(e, t);
			if (A.existsSync(r)) return r;
			if (n.includes(x.extname(t))) return;
			let i = n.find((e) => A.existsSync(`${r}${e}`));
			if (i) return `${r}${i}`;
		}
		this._checkForMissingMandatoryOptions(), this._checkForConflictingOptions();
		let i = e._executableFile || `${this._name}-${e._name}`, a = this._executableDir || "";
		if (this._scriptPath) {
			let e;
			try {
				e = A.realpathSync(this._scriptPath);
			} catch {
				e = this._scriptPath;
			}
			a = x.resolve(x.dirname(e), a);
		}
		if (a) {
			let t = r(a, i);
			if (!t && !e._executableFile && this._scriptPath) {
				let n = x.basename(this._scriptPath, x.extname(this._scriptPath));
				n !== this._name && (t = r(a, `${n}-${e._name}`));
			}
			i = t || i;
		}
		let o = n.includes(x.extname(i)), s;
		w.platform === "win32" ? (this._checkForMissingExecutable(i, a, e._name), t.unshift(i), t = _e(w.execArgv).concat(t), s = te.spawn(w.execPath, t, { stdio: "inherit" })) : o ? (t.unshift(i), t = _e(w.execArgv).concat(t), s = te.spawn(w.argv[0], t, { stdio: "inherit" })) : s = te.spawn(i, t, { stdio: "inherit" }), s.killed || [
			"SIGUSR1",
			"SIGUSR2",
			"SIGTERM",
			"SIGINT",
			"SIGHUP"
		].forEach((e) => {
			w.on(e, () => {
				s.killed === !1 && s.exitCode === null && s.kill(e);
			});
		});
		let c = this._exitCallback;
		s.on("close", (e) => {
			e ??= 1, c ? c(new ie(e, "commander.executeSubCommandAsync", "(close)")) : w.exit(e);
		}), s.on("error", (t) => {
			if (t.code === "ENOENT") this._checkForMissingExecutable(i, a, e._name);
			else if (t.code === "EACCES") throw Error(`'${i}' not executable`);
			if (!c) w.exit(1);
			else {
				let e = new ie(1, "commander.executeSubCommandAsync", "(error)");
				e.nestedError = t, c(e);
			}
		}), this.runningCommand = s;
	}
	_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 && 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 w.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()}`, w.env[e.envVar]) : this.emit(`optionEnv:${e.name()}`));
			}
		});
	}
	_parseOptionsImplied() {
		let e = new ue(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 = he(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 = e.length, i = `error: too many arguments${this.parent ? ` for '${this.name()}'` : ""}. Expected ${t} argument${n} but got ${r}: ${e.join(", ")}.`;
		this.error(i, { 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 = he(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) => se(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 = x.basename(e, x.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(w.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 _e(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 ve() {
	if (w.env.NO_COLOR || w.env.FORCE_COLOR === "0" || w.env.FORCE_COLOR === "false") return !1;
	if (w.env.FORCE_COLOR || w.env.CLICOLOR_FORCE !== void 0) return !0;
}
//#endregion
//#region node_modules/commander/index.js
var j = new ge(), ye = /* @__PURE__ */ a(((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");
		}
	}
})), be = /* @__PURE__ */ a(((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());
		}
	}
})), xe = /* @__PURE__ */ a(((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;
	}
})), Se = /* @__PURE__ */ a(((e, n) => {
	var r = t("fs"), i = ye(), a = be(), o = xe(), 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));
		}
	}
})), Ce = /* @__PURE__ */ r(h(), 1), we = /* @__PURE__ */ r(Se(), 1), M = C.homedir(), { env: N } = process, Te = N.XDG_DATA_HOME || (M ? ee.join(M, ".local", "share") : void 0), Ee = N.XDG_CONFIG_HOME || (M ? ee.join(M, ".config") : void 0);
N.XDG_STATE_HOME || M && ee.join(M, ".local", "state"), N.XDG_CACHE_HOME || M && ee.join(M, ".cache"), N.XDG_RUNTIME_DIR;
var De = (N.XDG_DATA_DIRS || "/usr/local/share/:/usr/share/").split(":");
Te && De.unshift(Te);
var Oe = (N.XDG_CONFIG_DIRS || "/etc/xdg").split(":");
Ee && Oe.unshift(Ee);
//#endregion
//#region node_modules/stubborn-utils/dist/attemptify_async.js
var P = (e, t) => {
	let { onError: n } = t;
	return function(...t) {
		return e.apply(void 0, t).catch(n);
	};
}, F = (e, t) => {
	let { onError: n } = t;
	return function(...t) {
		try {
			return e.apply(void 0, t);
		} catch (e) {
			return n(e);
		}
	};
}, I = (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);
			});
		};
	};
}, L = (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;
			}
		};
	};
}, R = {
	isChangeErrorOk: (e) => {
		if (!R.isNodeError(e)) return !1;
		let { code: t } = e;
		return t === "ENOSYS" || !Ae && (t === "EINVAL" || t === "EPERM");
	},
	isNodeError: (e) => e instanceof Error,
	isRetriableError: (e) => {
		if (!R.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 (!R.isNodeError(e) || !R.isChangeErrorOk(e)) throw e;
	}
}, ke = { onError: R.onChangeError }, z = { onError: () => void 0 }, Ae = w.getuid ? !w.getuid() : !1, B = { isRetriable: R.isRetriableError }, V = {
	attempt: {
		chmod: P(O(A.chmod), ke),
		chown: P(O(A.chown), ke),
		close: P(O(A.close), z),
		fsync: P(O(A.fsync), z),
		mkdir: P(O(A.mkdir), z),
		realpath: P(O(A.realpath), z),
		stat: P(O(A.stat), z),
		unlink: P(O(A.unlink), z),
		chmodSync: F(A.chmodSync, ke),
		chownSync: F(A.chownSync, ke),
		closeSync: F(A.closeSync, z),
		existsSync: F(A.existsSync, z),
		fsyncSync: F(A.fsync, z),
		mkdirSync: F(A.mkdirSync, z),
		realpathSync: F(A.realpathSync, z),
		statSync: F(A.statSync, z),
		unlinkSync: F(A.unlinkSync, z)
	},
	retry: {
		close: I(O(A.close), B),
		fsync: I(O(A.fsync), B),
		open: I(O(A.open), B),
		readFile: I(O(A.readFile), B),
		rename: I(O(A.rename), B),
		stat: I(O(A.stat), B),
		write: I(O(A.write), B),
		writeFile: I(O(A.writeFile), B),
		closeSync: L(A.closeSync, B),
		fsyncSync: L(A.fsyncSync, B),
		openSync: L(A.openSync, B),
		readFileSync: L(A.readFileSync, B),
		renameSync: L(A.renameSync, B),
		statSync: L(A.statSync, B),
		writeSync: L(A.writeSync, B),
		writeFileSync: L(A.writeFileSync, B)
	}
}, je = {}, Me = w.geteuid ? w.geteuid() : -1, Ne = w.getegid ? w.getegid() : -1, Pe = !!w.getuid;
w.getuid && w.getuid();
//#endregion
//#region node_modules/atomically/dist/utils/lang.js
var Fe = (e) => e instanceof Error && "code" in e, Ie = (e) => typeof e == "string", Le = (e) => e === void 0, Re = w.platform === "linux", ze = w.platform === "win32", Be = [
	"SIGHUP",
	"SIGINT",
	"SIGTERM"
];
ze || Be.push("SIGALRM", "SIGABRT", "SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT"), Re && Be.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
//#endregion
//#region node_modules/when-exit/dist/node/index.js
var Ve = 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 && (ze && e !== "SIGINT" && e !== "SIGTERM" && e !== "SIGKILL" ? w.kill(w.pid, "SIGTERM") : w.kill(w.pid, e));
			}
		}, this.hook = () => {
			w.once("exit", () => this.exit());
			for (let e of Be) try {
				w.once(e, () => this.exit(e));
			} catch {}
		}, this.register = (e) => (this.callbacks.add(e), () => {
			this.callbacks.delete(e);
		}), this.hook();
	}
}().register, H = {
	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 = H.truncate(t(e));
		return r in H.store ? H.get(e, t, n) : (H.store[r] = n, [r, () => delete H.store[r]]);
	},
	purge: (e) => {
		H.store[e] && (delete H.store[e], V.attempt.unlink(e));
	},
	purgeSync: (e) => {
		H.store[e] && (delete H.store[e], V.attempt.unlinkSync(e));
	},
	purgeSyncAll: () => {
		for (let e in H.store) H.purgeSync(e);
	},
	truncate: (e) => {
		let t = x.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]}`;
	}
};
Ve(H.purgeSyncAll);
//#endregion
//#region node_modules/atomically/dist/index.js
function He(e, t, n = je) {
	if (Ie(n)) return He(e, t, { encoding: n });
	let r = { timeout: n.timeout ?? 1e3 }, i = null, a = null, o = null;
	try {
		let s = V.attempt.realpathSync(e), c = !!s;
		e = s || e, [a, i] = H.get(e, n.tmpCreate || H.create, n.tmpPurge !== !1);
		let l = Pe && Le(n.chown), u = Le(n.mode);
		if (c && (l || u)) {
			let t = V.attempt.statSync(e);
			t && (n = { ...n }, l && (n.chown = {
				uid: t.uid,
				gid: t.gid
			}), u && (n.mode = t.mode));
		}
		if (!c) {
			let t = x.dirname(e);
			V.attempt.mkdirSync(t, {
				mode: 511,
				recursive: !0
			});
		}
		o = V.retry.openSync(r)(a, "w", n.mode || 438), n.tmpCreated && n.tmpCreated(a), Ie(t) ? V.retry.writeSync(r)(o, t, 0, n.encoding || "utf8") : Le(t) || V.retry.writeSync(r)(o, t, 0, t.length, 0), n.fsync !== !1 && (n.fsyncWait === !1 ? V.attempt.fsync(o) : V.retry.fsyncSync(r)(o)), V.retry.closeSync(r)(o), o = null, n.chown && (n.chown.uid !== Me || n.chown.gid !== Ne) && V.attempt.chownSync(a, n.chown.uid, n.chown.gid), n.mode && n.mode !== 438 && V.attempt.chmodSync(a, n.mode);
		try {
			V.retry.renameSync(r)(a, e);
		} catch (t) {
			if (!Fe(t) || t.code !== "ENAMETOOLONG") throw t;
			V.retry.renameSync(r)(a, H.truncate(e));
		}
		i(), a = null;
	} finally {
		o && V.attempt.closeSync(o), a && H.purge(a);
	}
}
//#endregion
//#region node_modules/dot-prop/index.js
var U = (e) => {
	let t = typeof e;
	return e !== null && (t === "object" || t === "function");
}, Ue = /* @__PURE__ */ new Set([
	"__proto__",
	"prototype",
	"constructor"
]), We = /* @__PURE__ */ new Set("0123456789");
function Ge(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 (Ue.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 (Ue.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" && !We.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 (Ue.has(n)) return [];
			t.push(n);
			break;
		case "index": throw Error("Index was not closed");
		case "start":
			t.push("");
			break;
	}
	return t;
}
function Ke(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 qe(e, t) {
	if (Ke(e, t)) throw Error("Cannot use string index");
}
function Je(e, t, n) {
	if (!U(e) || typeof t != "string") return n === void 0 ? e : n;
	let r = Ge(t);
	if (r.length === 0) return n;
	for (let t = 0; t < r.length; t++) {
		let i = r[t];
		if (e = Ke(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 Ye(e, t, n) {
	if (!U(e) || typeof t != "string") return e;
	let r = e, i = Ge(t);
	for (let t = 0; t < i.length; t++) {
		let r = i[t];
		qe(e, r), t === i.length - 1 ? e[r] = n : U(e[r]) || (e[r] = typeof i[t + 1] == "number" ? [] : {}), e = e[r];
	}
	return r;
}
function Xe(e, t) {
	if (!U(e) || typeof t != "string") return !1;
	let n = Ge(t);
	for (let t = 0; t < n.length; t++) {
		let r = n[t];
		if (qe(e, r), t === n.length - 1) return delete e[r], !0;
		if (e = e[r], !U(e)) return !1;
	}
}
function Ze(e, t) {
	if (!U(e) || typeof t != "string") return !1;
	let n = Ge(t);
	if (n.length === 0) return !1;
	for (let t of n) {
		if (!U(e) || !(t in e) || Ke(e, t)) return !1;
		e = e[t];
	}
	return !0;
}
//#endregion
//#region node_modules/configstore/index.js
function Qe(e, t) {
	let n = t ? x.join(e, "config.json") : x.join("configstore", `${e}.json`), r = Ee ?? we.default.mkdtempSync(we.default.realpathSync(S.tmpdir()) + x.sep);
	return x.join(r, n);
}
var $e = "You don't have access to this file.", et = {
	mode: 448,
	recursive: !0
}, tt = { mode: 384 };
function nt(e) {
	throw e.code === "EACCES" && (e.message = `${e.message}\n${$e}\n`), e;
}
var rt = class {
	constructor(e, t, n = {}) {
		this._path = n.configPath ?? Qe(e, n.globalConfigPath), this._clearInvalidConfig = n.clearInvalidConfig ?? !0, t && (this.all = {
			...t,
			...this.all
		});
	}
	get all() {
		try {
			return JSON.parse(we.default.readFileSync(this._path, "utf8"));
		} catch (e) {
			if (e.code === "ENOENT") return {};
			if (e.name === "SyntaxError") {
				if (this._clearInvalidConfig) return He(this._path, "", tt), {};
				throw e;
			}
			/* c8 ignore next */
			return nt(e), {};
		}
	}
	set all(e) {
		try {
			we.default.mkdirSync(x.dirname(this._path), et), He(this._path, JSON.stringify(e, void 0, "	"), tt);
		} catch (e) {
			nt(e);
		}
	}
	get size() {
		return Object.keys(this.all || {}).length;
	}
	get(e) {
		return Je(this.all, e);
	}
	set(e, t) {
		let n = this.all;
		if (typeof e == "object" && arguments.length === 1) for (let t of Object.keys(e)) Ye(n, t, e[t]);
		else Ye(n, e, t);
		this.all = n;
	}
	has(e) {
		return Ze(this.all, e);
	}
	delete(e) {
		let t = this.all;
		Xe(t, e), this.all = t;
	}
	clear() {
		this.all = {};
	}
	get path() {
		return this._path;
	}
}, it = /* @__PURE__ */ r(f(), 1), at = /* @__PURE__ */ r(p(), 1), ot = 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;
	}
}, st = 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;
	}
}, ct = class extends Error {
	name = "ForceRetryError";
	customDelay;
	code;
	customRequest;
	constructor(e) {
		let t = e?.cause ? e.cause instanceof Error ? e.cause : new st(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;
	}
}, lt = (() => {
	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;
})(), ut = typeof globalThis.AbortController == "function", dt = typeof globalThis.AbortSignal == "function" && typeof globalThis.AbortSignal.any == "function", ft = typeof globalThis.ReadableStream == "function", pt = typeof globalThis.FormData == "function", mt = [
	"get",
	"post",
	"put",
	"patch",
	"head",
	"delete"
], ht = {
	json: "application/json",
	text: "text/*",
	formData: "multipart/form-data",
	arrayBuffer: "*/*",
	blob: "*/*",
	bytes: "*/*"
}, gt = 2147483647, _t = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, vt = Symbol("stop"), yt = class {
	options;
	constructor(e) {
		this.options = e;
	}
}, bt = (e) => new yt(e), xt = {
	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
}, St = { next: !0 }, Ct = {
	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
}, wt = (e) => {
	if (!e) return 0;
	if (e instanceof FormData) {
		let t = 0;
		for (let [n, r] of e) t += _t, 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;
}, Tt = (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));
		}
	}));
}, Et = (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(Tt(e.body, n, t), {
		status: e.status,
		statusText: e.statusText,
		headers: e.headers
	});
}, Dt = (e, t, n) => {
	if (!e.body) return e;
	let r = wt(n ?? e.body);
	return new Request(e, {
		duplex: "half",
		body: Tt(e.body, r, t)
	});
}, W = (e) => typeof e == "object" && !!e, Ot = (...e) => {
	for (let t of e) if ((!W(t) || Array.isArray(t)) && t !== void 0) throw TypeError("The `options` argument must be an object");
	return Nt({}, ...e);
}, kt = (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 At(e, t, n) {
	return Object.hasOwn(t, n) && t[n] === void 0 ? [] : Nt(e[n] ?? [], t[n] ?? []);
}
var jt = (e = {}, t = {}) => ({
	beforeRequest: At(e, t, "beforeRequest"),
	beforeRetry: At(e, t, "beforeRetry"),
	afterResponse: At(e, t, "afterResponse"),
	beforeError: At(e, t, "beforeError")
}), Mt = (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 (W(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;
}, Nt = (...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 (W(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 && (!W(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 : Mt(i, n);
				continue;
			}
			W(n) && e in t && (n = Nt(t[e], n)), t = {
				...t,
				[e]: n
			};
		}
		W(o.hooks) && (r = jt(r, o.hooks), t.hooks = r), W(o.headers) && (n = kt(n, o.headers), t.headers = n);
	}
	return i !== void 0 && (t.searchParams = i), a.length > 0 && (a.length === 1 ? t.signal = a[0] : dt ? t.signal = AbortSignal.any(a) : t.signal = a.at(-1)), t;
}, Pt = (e) => mt.includes(e) ? e.toUpperCase() : e, Ft = {
	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
}, It = (e = {}) => {
	if (typeof e == "number") return {
		...Ft,
		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 {
		...Ft,
		...t
	};
}, Lt = 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 Rt(e, t, n, r) {
	return new Promise((i, a) => {
		let o = setTimeout(() => {
			n && n.abort(), a(new Lt(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 zt(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 Bt = (e, t) => {
	let n = {};
	for (let r in t) Object.hasOwn(t, r) && !(r in Ct) && !(r in xt) && (!(r in e) || r in St) && (n[r] = t[r]);
	return n;
}, Vt = (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 Ht(e) {
	return e instanceof ot || e?.name === ot.name;
}
function Ut(e) {
	return e instanceof Lt || e?.name === Lt.name;
}
//#endregion
//#region node_modules/ky/distribution/core/Ky.js
var Wt = 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 ${gt}`);
			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 yt) throw r.#f(n), r.#f(e), new ct(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 ot(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 (!ft) throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");
				let t = e.clone();
				return r.#f(e), Et(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(ht)) 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: kt(this.#r.headers, n.headers),
			hooks: jt({
				beforeRequest: [],
				beforeRetry: [],
				beforeError: [],
				afterResponse: []
			}, n.hooks),
			method: Pt(n.method ?? this.#r.method ?? "GET"),
			prefixUrl: String(n.prefixUrl || ""),
			retry: It(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;
		}
		ut && dt && (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), lt && (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 && (pt && 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), Vt(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 (!lt) 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 st(e);
		if (t instanceof ct) 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 (Ut(e) && !this.#i.retry.retryOnTimeout) throw e;
		if (Ht(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), gt);
			if (this.#n < 1) throw t;
			if (await zt(n, this.#o ? { signal: this.#o } : {}), t instanceof ct && 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 === vt) 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 = Bt(this.request, this.#i);
		return this.#a = this.request, this.request = this.#a.clone(), this.#i.timeout === !1 ? this.#i.fetch(this.#a, e) : Rt(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 : Dt(e, this.#i.onUploadProgress, t ?? this.#i.body ?? void 0);
	}
}, Gt = (e) => {
	let t = (t, n) => Wt.create(t, Ot(e, n));
	for (let n of mt) t[n] = (t, r) => Wt.create(t, Ot(e, r, { method: n }));
	return t.create = (e) => Gt(Ot(e)), t.extend = (t) => (typeof t == "function" && (t = t(e ?? {})), Gt(Ot(e, t))), t.stop = vt, t.retry = bt, t;
}, Kt = Gt(), qt = /* @__PURE__ */ a(((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]);
						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;
	}
})), Jt = /* @__PURE__ */ a(((e, t) => {
	function n() {
		return "";
	}
	function r(e, t, n) {
		return e.slice(t, n).replace(/\S/g, " ");
	}
	t.exports = function(e, t) {
		t ||= {};
		for (var i, a, o = !1, s = !1, c = 0, l = "", u = t.whitespace === !1 ? n : r, d = 0; d < e.length; d++) if (i = e[d], a = e[d + 1], !s && i === "\"" && (e[d - 1] === "\\" && e[d - 2] !== "\\" || (o = !o)), !o) {
			if (!s && i + a === "//") l += e.slice(c, d), c = d, s = 1, d++;
			else if (s === 1 && i + a === "\r\n") {
				d++, s = !1, l += u(e, c, d), c = d;
				continue;
			} else if (s === 1 && i === "\n") s = !1, l += u(e, c, d), c = d;
			else if (!s && i + a === "/*") {
				l += e.slice(c, d), c = d, s = 2, d++;
				continue;
			} else if (s === 2 && i + a === "*/") {
				d++, s = !1, l += u(e, c, d + 1), c = d + 1;
				continue;
			}
		}
		return l + (s ? u(e.substr(c)) : e.substr(c));
	};
})), Yt = /* @__PURE__ */ a(((e) => {
	var n = t("fs"), r = qt(), i = t("path"), a = Jt(), 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);
	};
})), Xt = /* @__PURE__ */ a(((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;
	};
})), Zt = /* @__PURE__ */ a(((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 && 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] || "", 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]] || "", 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] || "", 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;
	};
})), Qt = /* @__PURE__ */ r((/* @__PURE__ */ a(((e, n) => {
	var r = Yt(), i = t("path").join, a = Xt(), 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 ||= Zt()(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 $t(e) {
	let t = (0, Qt.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 en = /* @__PURE__ */ a(((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");
		}
	}
})), tn = /* @__PURE__ */ a(((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());
		}
	}
})), nn = /* @__PURE__ */ a(((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;
	}
})), rn = /* @__PURE__ */ a(((e, n) => {
	var r = t("fs"), i = en(), a = tn(), o = nn(), 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));
		}
	}
})), an = /* @__PURE__ */ a(((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(rn());
	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;
})), on = /* @__PURE__ */ a(((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(an(), e);
})), sn = /* @__PURE__ */ a(((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;
		}
	};
})), cn = /* @__PURE__ */ a(((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]);
						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;
	}
})), ln = /* @__PURE__ */ a(((e, n) => {
	var r = sn(), i = t("path"), a = t("fs"), o = cn(), 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);
	};
})), un = /* @__PURE__ */ a(((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;
	}
})), dn = /* @__PURE__ */ a(((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;
	}
})), fn = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.envReplace = void 0;
	var t = dn();
	Object.defineProperty(e, "envReplace", {
		enumerable: !0,
		get: function() {
			return t.envReplace;
		}
	});
})), pn = /* @__PURE__ */ a(((e) => {
	var n = t("fs"), r = t("path"), { envReplace: i } = fn();
	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;
})), mn = /* @__PURE__ */ a(((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
	};
})), hn = /* @__PURE__ */ a(((e, n) => {
	var { readCAFileSync: r } = on(), i = t("fs"), a = t("path"), { ConfigChain: o } = ln(), s = un(), c = pn(), l = class extends o {
		constructor(e, t) {
			super(e), this.root = e, this._parseField = c.parseField.bind(null, t || mn());
		}
		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;
})), gn = /* @__PURE__ */ a(((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);
	} });
})), _n = /* @__PURE__ */ a(((e, n) => {
	var r = t("path"), i = hn(), a = gn();
	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 = s.get("userconfig"), d = s.get("prefix");
		if (d) {
			let e = r.resolve(d, "etc");
			s.root.globalconfig = r.resolve(e, "npmrc"), s.root.globalignorefile = r.resolve(e, "npmignore");
		}
		let f = s.get("globalconfig"), p = r.resolve(s.localPrefix, ".npmrc"), m = u;
		if (!s.get("global") && p !== m ? c.push(s.addFile(p, "project")) : s.add({}, "project"), s.get("workspace-prefix") && s.get("workspace-prefix") !== p) {
			let e = r.resolve(s.get("workspace-prefix"), ".npmrc");
			c.push(s.addFile(e, "workspace"));
		}
		c.push(s.addFile(u, "user")), c.push(s.addFile(f, "global")), s.loadUser();
		let h = s.get("cafile");
		return h && s.loadCAFile(h), {
			config: s,
			warnings: c.filter(Boolean),
			failedToLoadBuiltInConfig: l
		};
	}, Object.defineProperty(n.exports, "defaults", {
		get() {
			return a.defaults;
		},
		enumerable: !0
	});
})), vn = /* @__PURE__ */ r((/* @__PURE__ */ a(((e, t) => {
	var n = _n(), 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), yn = class extends Error {
	constructor(e) {
		super(`Package \`${e}\` could not be found`), this.name = "PackageNotFoundError";
	}
}, bn = class extends Error {
	constructor(e, t) {
		super(`Version \`${t}\` for package \`${e}\` could not be found`), this.name = "VersionNotFoundError";
	}
};
async function xn(e, t = {}) {
	let { version: n = "latest" } = t, { omitDeprecated: r = !0 } = t, i = e.split("/")[0], a = t.registryUrl ?? $t(i), o = new URL(encodeURIComponent(e).replace(/^%40/, "@"), a), s = (0, vn.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 Kt(o, {
			headers: c,
			keepalive: !0
		}).json();
	} catch (t) {
		throw t?.response?.status === 404 ? new yn(e) : t;
	}
	if (t.allVersions) return l;
	let u = new bn(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 = Ce.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 Sn(e, t) {
	let { version: n } = await xn(e.toLowerCase(), t);
	return n;
}
//#endregion
//#region node_modules/is-npm/index.js
var Cn = w.env.npm_package_json, wn = w.env.npm_config_user_agent, Tn = !!wn?.startsWith("npm") || !!Cn?.endsWith("package.json"), En = !!wn?.startsWith("yarn");
wn?.startsWith("pnpm"), wn?.startsWith("bun");
var Dn = Tn || En, On = /* @__PURE__ */ r((/* @__PURE__ */ a(((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]), 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 = w.platform === "win32", kn = (e) => {
	try {
		return On.default.parse(A.readFileSync(e, "utf8")).prefix;
	} catch {}
}, K = x.resolve(Object.keys(w.env).reduce((e, t) => /^npm_config_prefix$/i.test(t) ? w.env[t] : e, void 0) || kn(x.join(S.homedir(), ".npmrc")) || (w.env.PREFIX ? w.env.PREFIX : kn((() => {
	if (G && w.env.APPDATA) return x.join(w.env.APPDATA, "/npm/etc/npmrc");
	if (w.execPath.includes("/Cellar/node")) {
		let e = w.execPath.slice(0, w.execPath.indexOf("/Cellar/node"));
		return x.join(e, "/lib/node_modules/npm/npmrc");
	}
	if (w.execPath.endsWith("/bin/node")) {
		let e = x.dirname(x.dirname(w.execPath));
		return x.join(e, "/etc/npmrc");
	}
})()) || (() => {
	if (G) {
		let { APPDATA: e } = w.env;
		return e ? x.join(e, "npm") : x.dirname(w.execPath);
	}
	return x.dirname(x.dirname(w.execPath));
})())), An = () => {
	if (G && w.env.LOCALAPPDATA) {
		let e = x.join(w.env.LOCALAPPDATA, "Yarn");
		if (A.existsSync(e)) return e;
	}
	return !1;
}, jn = () => {
	if (w.env.PREFIX) return w.env.PREFIX;
	let e = An();
	if (e) return e;
	let t = x.join(S.homedir(), ".config/yarn");
	if (A.existsSync(t)) return t;
	let n = x.join(S.homedir(), ".yarn-config");
	return A.existsSync(n) ? n : K;
}, q = {};
q.npm = {}, q.npm.prefix = K, q.npm.packages = x.join(K, G ? "node_modules" : "lib/node_modules"), q.npm.binaries = G ? K : x.join(K, "bin");
var Mn = x.resolve(jn());
q.yarn = {}, q.yarn.prefix = Mn, q.yarn.packages = x.join(Mn, An() ? "Data/global/node_modules" : "global/node_modules"), q.yarn.binaries = x.join(q.yarn.packages, ".bin");
//#endregion
//#region node_modules/is-path-inside/index.js
function Nn(e, t) {
	let n = x.relative(t, e);
	return !!(n && n !== ".." && !n.startsWith(`..${x.sep}`) && n !== x.resolve(e));
}
//#endregion
//#region node_modules/is-installed-globally/index.js
var Pn = x.dirname(E(import.meta.url)), Fn = (() => {
	try {
		return Nn(Pn, q.yarn.packages) || Nn(Pn, A.realpathSync(q.npm.packages));
	} catch {
		return !1;
	}
})();
//#endregion
//#region node_modules/ansi-regex/index.js
function In({ 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 Ln = In();
function Rn(e) {
	if (typeof e != "string") throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);
	return !e.includes("\x1B") && !e.includes("") ? e : e.replace(Ln, "");
}
var zn = [
	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
], Bn = [
	12288,
	12288,
	65281,
	65376,
	65504,
	65510
], Vn = [
	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
], Hn = (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;
}, Un = 19968, [Wn, Gn] = /* #__PURE__ */ Kn(Vn);
function Kn(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 (Un >= i && Un <= a) return [i, a];
		a - i > n - t && (t = i, n = a);
	}
	return [t, n];
}
var qn = (e) => e < 161 || e > 1114109 ? !1 : Hn(zn, e), Jn = (e) => e < 12288 || e > 65510 ? !1 : Hn(Bn, e), Yn = (e) => e >= Wn && e <= Gn ? !0 : e < 4352 || e > 262141 ? !1 : Hn(Vn, e);
//#endregion
//#region node_modules/get-east-asian-width/index.js
function Xn(e) {
	if (!Number.isSafeInteger(e)) throw TypeError(`Expected a code point, got \`${typeof e}\`.`);
}
function Zn(e, { ambiguousAsWide: t = !1 } = {}) {
	return Xn(e), Jn(e) || Yn(e) || t && qn(e) ? 2 : 1;
}
//#endregion
//#region node_modules/update-notifier/node_modules/emoji-regex/index.mjs
var Qn = () => /[#*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, $n = new Intl.Segmenter(), er = /^\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 = Rn(e)), e.length === 0) return 0;
	let i = 0, a = { ambiguousAsWide: !n };
	for (let { segment: t } of $n.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) && !er.test(t)) {
			if (Qn().test(t)) {
				i += 2;
				continue;
			}
			i += Zn(e, a);
		}
	}
	return i;
}
//#endregion
//#region node_modules/update-notifier/node_modules/widest-line/index.js
function tr(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 nr = /* @__PURE__ */ i({
	arrow: () => ur,
	bold: () => or,
	classic: () => lr,
	default: () => dr,
	double: () => ir,
	doubleSingle: () => cr,
	round: () => ar,
	single: () => rr,
	singleDouble: () => sr
}), rr, ir, ar, or, sr, cr, lr, ur, dr, fr = n((() => {
	rr = {
		topLeft: "┌",
		top: "─",
		topRight: "┐",
		right: "│",
		bottomRight: "┘",
		bottom: "─",
		bottomLeft: "└",
		left: "│"
	}, ir = {
		topLeft: "╔",
		top: "═",
		topRight: "╗",
		right: "║",
		bottomRight: "╝",
		bottom: "═",
		bottomLeft: "╚",
		left: "║"
	}, ar = {
		topLeft: "╭",
		top: "─",
		topRight: "╮",
		right: "│",
		bottomRight: "╯",
		bottom: "─",
		bottomLeft: "╰",
		left: "│"
	}, or = {
		topLeft: "┏",
		top: "━",
		topRight: "┓",
		right: "┃",
		bottomRight: "┛",
		bottom: "━",
		bottomLeft: "┗",
		left: "┃"
	}, sr = {
		topLeft: "╓",
		top: "─",
		topRight: "╖",
		right: "║",
		bottomRight: "╜",
		bottom: "─",
		bottomLeft: "╙",
		left: "║"
	}, 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 = {
		single: rr,
		double: ir,
		round: ar,
		bold: or,
		singleDouble: sr,
		doubleSingle: cr,
		classic: lr,
		arrow: ur
	};
})), pr = /* @__PURE__ */ r((/* @__PURE__ */ a(((t, n) => {
	var r = (fr(), e(nr).default);
	n.exports = r, n.exports.default = r;
})))(), 1), mr = /[\p{Lu}]/u, hr = /[\p{Ll}]/u, gr = /^[\p{Lu}](?![\p{Lu}])/gu, _r = /([\p{Alpha}\p{N}_]|$)/u, vr = /[_.\- ]+/, yr = RegExp("^" + vr.source), br = new RegExp(vr.source + _r.source, "gu"), xr = RegExp("\\d+" + _r.source, "gu"), Sr = (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 && mr.test(l) ? (e = e.slice(0, c) + "-" + e.slice(c), i = !1, o = a, a = !0, c++) : a && o && hr.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;
}, Cr = (e, t) => (gr.lastIndex = 0, e.replaceAll(gr, (e) => t(e))), wr = (e, t) => (br.lastIndex = 0, xr.lastIndex = 0, e.replaceAll(xr, (n, r, i) => ["_", "-"].includes(e.charAt(i + n.length)) ? n : t(n)).replaceAll(br, (e, n) => t(n)));
function Tr(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 ? vr.test(e) ? "" : t.pascalCase ? r(e) : n(e) : (e !== n(e) && (e = Sr(e, n, r, t.preserveConsecutiveUppercase)), e = e.replace(yr, ""), e = t.preserveConsecutiveUppercase ? Cr(e, n) : n(e), t.pascalCase && (e = r(e.charAt(0)) + e.slice(1)), wr(e, r));
}
//#endregion
//#region node_modules/ansi-align/node_modules/ansi-regex/index.js
var Er = /* @__PURE__ */ a(((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");
	};
})), Dr = /* @__PURE__ */ a(((e, t) => {
	var n = Er();
	t.exports = (e) => typeof e == "string" ? e.replace(n(), "") : e;
})), Or = /* @__PURE__ */ a(((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;
	};
})), kr = /* @__PURE__ */ a(((e, t) => {
	var n = Dr(), r = s(), i = Or(), a = (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 = a, t.exports.default = a;
})), Ar = /* @__PURE__ */ r((/* @__PURE__ */ a(((e, t) => {
	var n = kr();
	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), jr = 10, Mr = (e = 0) => (t) => `\u001B[${t + e}m`, Nr = (e = 0) => (t) => `\u001B[${38 + e};5;${t}m`, Pr = (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 Fr = Object.keys(Y.color), Ir = Object.keys(Y.bgColor);
[...Fr, ...Ir];
function Lr() {
	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 = Mr(), Y.color.ansi256 = Nr(), Y.color.ansi16m = Pr(), Y.bgColor.ansi = Mr(jr), Y.bgColor.ansi256 = Nr(jr), Y.bgColor.ansi16m = Pr(jr), 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 Rr = Lr(), zr = /* @__PURE__ */ new Set(["\x1B", ""]), Br = 39, Vr = "\x07", Hr = "[", Ur = "]", Wr = "m", Gr = `${Ur}8;;`, Kr = (e) => `${zr.values().next().value}${Hr}${e}${Wr}`, qr = (e) => `${zr.values().next().value}${Gr}${e}${Vr}`, Jr = (e) => e.split(" ").map((e) => J(e)), Yr = (e, t, n) => {
	let r = [...t], i = !1, a = !1, o = J(Rn(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), zr.has(s) && (i = !0, a = r.slice(t + 1, t + 1 + Gr.length).join("") === Gr), i) {
			a ? s === Vr && (i = !1, a = !1) : s === Wr && (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());
}, Xr = (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("");
}, Zr = (e, t, n = {}) => {
	if (n.trim !== !1 && e.trim() === "") return "";
	let r = "", i, a, o = Jr(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(""), Yr(s, i, t);
			continue;
		}
		if (e + o[r] > t && e > 0 && o[r] > 0) {
			if (n.wordWrap === !1 && e < t) {
				Yr(s, i, t);
				continue;
			}
			s.push("");
		}
		if (e + o[r] > t && n.wordWrap === !1) {
			Yr(s, i, t);
			continue;
		}
		s[s.length - 1] += i;
	}
	n.trim !== !1 && (s = s.map((e) => Xr(e)));
	let c = s.join("\n"), l = [...c], u = 0;
	for (let [e, t] of l.entries()) {
		if (r += t, zr.has(t)) {
			let { groups: e } = RegExp(`(?:\\${Hr}(?<code>\\d+)m|\\${Gr}(?<uri>.*)${Vr})`).exec(c.slice(u)) || { groups: {} };
			if (e.code !== void 0) {
				let t = Number.parseFloat(e.code);
				i = t === Br ? void 0 : t;
			} else e.uri !== void 0 && (a = e.uri.length === 0 ? void 0 : e.uri);
		}
		let n = Rr.codes.get(Number(i));
		l[e + 1] === "\n" ? (a && (r += qr("")), i && n && (r += Kr(n))) : t === "\n" && (i && n && (r += Kr(i)), a && (r += qr(a))), u += t.length;
	}
	return r;
};
function Qr(e, t, n) {
	return String(e).normalize().replaceAll("\r\n", "\n").split("\n").map((e) => Zr(e, t, n)).join("\n");
}
//#endregion
//#region node_modules/update-notifier/node_modules/boxen/index.js
var X = "\n", Z = " ", Q = "none", $r = () => {
	let { env: e, stdout: t, stderr: n } = w;
	return t?.columns ? t.columns : n?.columns ? n.columns : e.COLUMNS ? Number.parseInt(e.COLUMNS, 10) : 80;
}, ei = (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, ti = (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 = pr.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;
}, ni = (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;
}, ri = (e, { padding: t, width: n, textAlignment: r, height: i }) => {
	e = (0, Ar.default)(e, { align: r });
	let a = e.split(X), o = tr(e), s = n - t.left - t.right;
	if (o > s) {
		let e = [];
		for (let t of a) {
			let n = (0, Ar.default)(Qr(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);
}, ii = (e, t, n) => {
	let r = (e) => {
		let t = n.borderColor ? ui(n.borderColor)(e) : e;
		return n.dimBorder ? _.dim(t) : t;
	}, i = (e) => n.backgroundColor ? di(n.backgroundColor)(e) : e, a = ti(n.borderStyle), o = $r(), s = Z.repeat(n.margin.left);
	if (n.float === "center") {
		let e = Math.max((o - t - $(n.borderStyle)) / 2, 0);
		s = Z.repeat(e);
	} else if (n.float === "right") {
		let e = Math.max(o - t - n.margin.right - $(n.borderStyle), 0);
		s = Z.repeat(e);
	}
	let c = "";
	n.margin.top && (c += X.repeat(n.margin.top)), (n.borderStyle !== Q || n.title) && (c += r(s + a.topLeft + (n.title ? ni(n.title, a.top.repeat(t), n.titleAlignment) : a.top.repeat(t)) + a.topRight) + X);
	let l = e.split(X);
	return c += l.map((e) => s + r(a.left) + i(e) + r(a.right)).join(X), n.borderStyle !== Q && (c += X + r(s + a.bottomLeft + a.bottom.repeat(t) + a.bottomRight)), n.margin.bottom && (c += X.repeat(n.margin.bottom)), c;
}, ai = (e) => {
	if (e.fullscreen && w?.stdout) {
		let t = [w.stdout.columns, w.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;
}, oi = (e, t) => t === Q ? e : ` ${e} `, si = (e, t) => {
	t = ai(t);
	let n = t.width !== void 0, r = $r(), i = $(t.borderStyle), a = r - t.margin.left - t.margin.right - i, o = tr(Qr(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 &&= oi(t.title, t.borderStyle)) : t.title && (t.title = t.title.slice(0, Math.max(0, a - 2)), t.title && (t.title = oi(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;
}, ci = (e) => e.match(/^#(?:[0-f]{3}){1,2}$/i), li = (e) => typeof e == "string" && (_[e] ?? ci(e)), ui = (e) => ci(e) ? _.hex(e) : _[e], di = (e) => ci(e) ? _.bgHex(e) : _[Tr(["bg", e])];
function fi(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 && !li(t.borderColor)) throw Error(`${t.borderColor} is not a valid borderColor`);
	if (t.backgroundColor && !li(t.backgroundColor)) throw Error(`${t.backgroundColor} is not a valid backgroundColor`);
	return t.padding = ei(t.padding), t.margin = ei(t.margin), t = si(e, t), e = ri(e, t), ii(e, t.width, t);
}
//#endregion
//#region node_modules/is-in-ci/index.js
var pi = T.CI !== "0" && T.CI !== "false" && ("CI" in T || "CONTINUOUS_INTEGRATION" in T || Object.keys(T).some((e) => e.startsWith("CI_"))), mi = (e) => e.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
function hi(e, ...t) {
	if (typeof e == "string") return mi(e);
	let n = e[0];
	for (let [r, i] of t.entries()) n = n + mi(String(i)) + e[r + 1];
	return n;
}
//#endregion
//#region node_modules/pupa/index.js
var gi = class extends Error {
	constructor(e) {
		super(`Missing a value for ${e ? `the placeholder: ${e}` : "a placeholder"}`, e), this.name = "MissingValueError", this.key = e;
	}
}, _i = class extends Error {
	constructor(e) {
		super(`Missing filter: ${e}`), this.name = "MissingFilterError", this.filterName = e;
	}
};
function vi(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 _i(t);
			}
			d !== void 0 && (d = r(d));
		}
		let f = r({
			value: d,
			key: c
		});
		if (f === void 0) {
			if (n) return e;
			throw new gi(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) => hi(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 yi = x.dirname(E(import.meta.url)), bi = 1e3 * 60 * 60 * 24, xi = 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 : bi, this.#r = "NO_UPDATE_NOTIFIER" in w.env || w.env.NODE_ENV === "test" || w.argv.includes("--no-update-notifier") || pi, this._shouldNotifyInNpmScript = e.shouldNotifyInNpmScript, !this.#r) try {
			this.config = new rt(`update-notifier-${this._packageName}`, {
				optOut: !1,
				lastUpdateCheck: Date.now()
			});
		} catch {
			let t = _.yellow(D(" %s update check failed ", e.pkg.name)) + D("\n Try running with %s or get access ", _.cyan("sudo")) + "\n to the local update config store via \n" + _.cyan(D(" sudo chown -R $USER:$(id -gn $USER) %s ", Ee));
			w.on("exit", () => {
				console.error(fi(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) && ne(w.execPath, [x.join(yi, "check.js"), JSON.stringify(this.#e)], {
			detached: !0,
			stdio: "ignore"
		}).unref());
	}
	async fetchInfo() {
		let { distTag: e } = this.#e, t = await Sn(this._packageName, { version: e });
		return {
			latest: t,
			current: this.#t,
			type: (0, it.default)(this.#t, t) ?? e,
			name: this._packageName
		};
	}
	notify(e) {
		let t = !this._shouldNotifyInNpmScript && Dn;
		if (!w.stdout.isTTY || t || !this.update || !(0, at.default)(this.update.latest, this.update.current)) return this;
		e = {
			isGlobal: Fn,
			...e
		};
		let n = e.isGlobal ? `npm i -g ${this._packageName}` : `npm i ${this._packageName}`, r = "Update available " + _.dim("{currentVersion}") + _.reset(" → ") + _.green("{latestVersion}") + " \nRun " + _.cyan("{updateCommand}") + " to update", i = e.message || r;
		e.boxenOptions ??= {
			padding: 1,
			margin: 1,
			textAlignment: "center",
			borderColor: "yellow",
			borderStyle: "round"
		};
		let a = fi(vi(i, {
			packageName: this._packageName,
			currentVersion: this.update.current,
			latestVersion: this.update.latest,
			updateCommand: n
		}), e.boxenOptions);
		return e.defer === !1 ? console.error(a) : w.on("exit", () => {
			console.error(a);
		}), this;
	}
};
//#endregion
//#region node_modules/update-notifier/index.js
function Si(e) {
	let t = new xi(e);
	return t.check(), t;
}
//#endregion
//#region src/bin/cli.ts
var Ci = "Output the version number of npm-check-updates.";
(async () => {
	let e = Si({ pkg: b });
	if (e.update && e.update.latest !== b.version) {
		let t = d(!0), n = Ce.default.parse(e.update.current)?.major, r = Ce.default.parse(e.update.latest)?.major, i = (n && r && r >= n ? Array(r - n).fill(0).map((e, t) => n + t + 1) : []).map((e) => `${b.homepage ?? ""}/releases/tag/v${e}.0.0`), a = `${b.homepage ?? ""}/compare/v${e.update.current}...v${e.update.latest}`;
		e.notify({
			defer: !1,
			isGlobal: !0,
			message: `Update available ${t.dim("{currentVersion}")}${t.reset(" → ")}${e.update.type === "major" ? t.red("{latestVersion}") : e.update.type === "minor" ? t.yellow("{latestVersion}") : t.green("{latestVersion}")}
Run ${t.cyan("{updateCommand}")} to update
${t.dim.underline(e.update.type === "major" ? i.map((e) => t.dim.underline(e)).join("\n") : a)}`
		});
	}
	let t = process.argv.slice(2), n = t.findIndex((e) => e === "--help" || e === "-h");
	if (n !== -1 && t[n + 1]) {
		let e = t[n + 1].replace(/^-*/, "");
		if (e === "help" || e === "h") console.info("Would you like some help with your help?");
		else {
			u();
			let e = [...t.slice(0, n), ...t.slice(n + 1)];
			for (let t of e) {
				let e = t.replace(/^-*/, ""), n = g.find((t) => e === t.long || e === t.short || e === `no-${t.long}` && t.type === "boolean");
				console.info(n ? y(n) + "\n" : e === "version" || e === "v" || e === "V" ? y({
					long: "version",
					short: "v",
					description: Ci,
					type: "string"
				}) + "\n" : `Unknown option: ${t}`);
			}
		}
		process.exit(0);
	}
	let r = new Set(g.filter((e) => e.cli === !1).map((e) => `--${e.long}`));
	j.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 && r.has(e.long) ? e.long.replace("--", "") + "*" : e.long === "--version" ? "-v, -V, --version" : e.flags.replace("[bool]", ""),
		optionDescription: (e) => e.long === "--version" ? Ci : e.long === "--help" ? "You're lookin' at it. Run \"ncu --help <option>\" for a specific option." : ce.prototype.optionDescription(e)
	}).addOption(new le("-v, --versionAlias").hideHelp()).on("option:versionAlias", () => {
		console.info(b.version), process.exit(0);
	});
	for (let { long: e, short: t, arg: n, description: r, default: i, help: a, parse: o, type: s } of g) {
		let c = `${t ? `-${t}, ` : ""}--${e}${n ? ` <${n}>` : ""}`, u = `${l(r)}${a ? ` Run "ncu --help ${e}" for details.` : ""}`;
		j.option(c, u, o || i, o ? i : void 0), s === "boolean" && j.addOption(new le(`--no-${e}`).hideHelp());
	}
	j.version(b.version);
	let i = structuredClone(j._optionValues);
	j.allowExcessArguments(!0), j.parse(process.argv);
	let a = j.opts(), s = process.argv.slice(2), { color: f, configFileName: p, configFilePath: h, global: _, packageFile: x, mergeConfig: S } = a;
	u(f);
	let C = !process.env.NCU_TESTS || h || S ? await v({
		configFileName: p,
		configFilePath: h,
		global: _,
		packageFile: x,
		options: {
			...a,
			cli: !0
		}
	}) : null, w = (C?.args || []).filter((e, t, n) => (typeof e != "string" || !e.startsWith("-") || !s.includes(e)) && (typeof n[t - 1] != "string" || !n[t - 1].startsWith("-") || !s.includes(n[t - 1]))), T = [
		...process.argv.slice(0, 2),
		...w,
		...s
	], E = {}, D = T.slice(2);
	for (let e = 0; e < D.length; e++) {
		let t = D[e];
		if (typeof t != "string" || !t.startsWith("-")) continue;
		let n = c[t.replace(/^--?(no-)?/, "")];
		if (n) {
			let r = n.long;
			n.arg ? (E[r] = e + 1 < D.length ? D[e + 1] : !0, e++) : n.type === "boolean" ? E[r] = !t.startsWith("--no-") : E[r] = !0;
		}
	}
	let O = Object.keys(a).filter((e) => j.getOptionValueSource(e) === "cli");
	j._optionValues = i, j.parse(T);
	let k = j.opts();
	o({
		...C && Object.keys(C.config).length > 0 ? { rcConfigPath: C.filePath } : null,
		...m(j.opts(), (e) => e !== void 0),
		args: j.args,
		raw: E,
		cliKeys: O,
		...k.filter ? { filter: k.filter } : null,
		...k.reject ? { reject: k.reject } : null
	}, { cli: !0 });
})();
//#endregion
export {};

//# sourceMappingURL=cli.js.map