Files
hive/frontend/node_modules/storybook/dist/common/index.cjs
anthonyrawlins e89f2f4b7b Add comprehensive development roadmap via GitHub Issues
Created 10 detailed GitHub issues covering:
- Project activation and management UI (#1-2)
- Worker node coordination and visualization (#3-4)
- Automated GitHub repository scanning (#5)
- Intelligent model-to-issue matching (#6)
- Multi-model task execution system (#7)
- N8N workflow integration (#8)
- Hive-Bzzz P2P bridge (#9)
- Peer assistance protocol (#10)

Each issue includes detailed specifications, acceptance criteria,
technical implementation notes, and dependency mapping.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:41:01 +10:00

27827 lines
1.1 MiB

"use strict";
var Rk = Object.create;
var xi = Object.defineProperty;
var vk = Object.getOwnPropertyDescriptor;
var Lk = Object.getOwnPropertyNames;
var xk = Object.getPrototypeOf, Yk = Object.prototype.hasOwnProperty;
var s = (t, A) => xi(t, "name", { value: A, configurable: !0 });
var Qe = (t, A) => () => (t && (A = t(t = 0)), A);
var m = (t, A) => () => (A || t((A = { exports: {} }).exports, A), A.exports), Yi = (t, A) => {
for (var e in A)
xi(t, e, { get: A[e], enumerable: !0 });
}, mE = (t, A, e, r) => {
if (A && typeof A == "object" || typeof A == "function")
for (let i of Lk(A))
!Yk.call(t, i) && i !== e && xi(t, i, { get: () => A[i], enumerable: !(r = vk(A, i)) || r.enumerable });
return t;
};
var P = (t, A, e) => (e = t != null ? Rk(xk(t)) : {}, mE(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
A || !t || !t.__esModule ? xi(e, "default", { value: t, enumerable: !0 }) : e,
t
)), fe = (t) => mE(xi({}, "__esModule", { value: !0 }), t);
// ../node_modules/ts-dedent/dist/index.js
var ht = m((Pi) => {
"use strict";
Object.defineProperty(Pi, "__esModule", { value: !0 });
Pi.dedent = void 0;
function yE(t) {
for (var A = [], e = 1; e < arguments.length; e++)
A[e - 1] = arguments[e];
var r = Array.from(typeof t == "string" ? [t] : t);
r[r.length - 1] = r[r.length - 1].replace(/\r?\n([\t ]*)$/, "");
var i = r.reduce(function(g, C) {
var I = C.match(/\n([\t ]+|(?!\s).)/g);
return I ? g.concat(I.map(function(E) {
var Q, B;
return (B = (Q = E.match(/[\t ]/g)) === null || Q === void 0 ? void 0 : Q.length) !== null && B !== void 0 ? B : 0;
})) : g;
}, []);
if (i.length) {
var n = new RegExp(`
[ ]{` + Math.min.apply(Math, i) + "}", "g");
r = r.map(function(g) {
return g.replace(n, `
`);
});
}
r[0] = r[0].replace(/^\r?\n/, "");
var o = r[0];
return A.forEach(function(g, C) {
var I = o.match(/(?:^|\n)( *)$/), E = I ? I[1] : "", Q = g;
typeof g == "string" && g.includes(`
`) && (Q = String(g).split(`
`).map(function(B, p) {
return p === 0 ? B : "" + E + B;
}).join(`
`)), o += Q + r[C + 1];
}), o;
}
s(yE, "dedent");
Pi.dedent = yE;
Pi.default = yE;
});
// ../node_modules/balanced-match/index.js
var NE = m((uT, bE) => {
"use strict";
bE.exports = FE;
function FE(t, A, e) {
t instanceof RegExp && (t = KE(t, e)), A instanceof RegExp && (A = KE(A, e));
var r = kE(t, A, e);
return r && {
start: r[0],
end: r[1],
pre: e.slice(0, r[0]),
body: e.slice(r[0] + t.length, r[1]),
post: e.slice(r[1] + A.length)
};
}
s(FE, "balanced");
function KE(t, A) {
var e = A.match(t);
return e ? e[0] : null;
}
s(KE, "maybeMatch");
FE.range = kE;
function kE(t, A, e) {
var r, i, n, o, g, C = e.indexOf(t), I = e.indexOf(A, C + 1), E = C;
if (C >= 0 && I > 0) {
if (t === A)
return [C, I];
for (r = [], n = e.length; E >= 0 && !g; )
E == C ? (r.push(E), C = e.indexOf(t, E + 1)) : r.length == 1 ? g = [r.pop(), I] : (i = r.pop(), i < n && (n = i, o = I), I = e.indexOf(
A, E + 1)), E = C < I && C >= 0 ? C : I;
r.length && (g = [n, o]);
}
return g;
}
s(kE, "range");
});
// ../node_modules/brace-expansion/index.js
var UE = m((QT, PE) => {
var ME = NE();
PE.exports = Jk;
var RE = "\0SLASH" + Math.random() + "\0", vE = "\0OPEN" + Math.random() + "\0", ua = "\0CLOSE" + Math.random() + "\0", LE = "\0COMMA" + Math.
random() + "\0", xE = "\0PERIOD" + Math.random() + "\0";
function Ea(t) {
return parseInt(t, 10) == t ? parseInt(t, 10) : t.charCodeAt(0);
}
s(Ea, "numeric");
function _k(t) {
return t.split("\\\\").join(RE).split("\\{").join(vE).split("\\}").join(ua).split("\\,").join(LE).split("\\.").join(xE);
}
s(_k, "escapeBraces");
function Gk(t) {
return t.split(RE).join("\\").split(vE).join("{").split(ua).join("}").split(LE).join(",").split(xE).join(".");
}
s(Gk, "unescapeBraces");
function YE(t) {
if (!t)
return [""];
var A = [], e = ME("{", "}", t);
if (!e)
return t.split(",");
var r = e.pre, i = e.body, n = e.post, o = r.split(",");
o[o.length - 1] += "{" + i + "}";
var g = YE(n);
return n.length && (o[o.length - 1] += g.shift(), o.push.apply(o, g)), A.push.apply(A, o), A;
}
s(YE, "parseCommaParts");
function Jk(t) {
return t ? (t.substr(0, 2) === "{}" && (t = "\\{\\}" + t.substr(2)), Ui(_k(t), !0).map(Gk)) : [];
}
s(Jk, "expandTop");
function Ok(t) {
return "{" + t + "}";
}
s(Ok, "embrace");
function Tk(t) {
return /^-?0\d/.test(t);
}
s(Tk, "isPadded");
function Hk(t, A) {
return t <= A;
}
s(Hk, "lte");
function jk(t, A) {
return t >= A;
}
s(jk, "gte");
function Ui(t, A) {
var e = [], r = ME("{", "}", t);
if (!r) return [t];
var i = r.pre, n = r.post.length ? Ui(r.post, !1) : [""];
if (/\$$/.test(r.pre))
for (var o = 0; o < n.length; o++) {
var g = i + "{" + r.body + "}" + n[o];
e.push(g);
}
else {
var C = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body), I = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body), E = C || I, Q = r.body.
indexOf(",") >= 0;
if (!E && !Q)
return r.post.match(/,.*\}/) ? (t = r.pre + "{" + r.body + ua + r.post, Ui(t)) : [t];
var B;
if (E)
B = r.body.split(/\.\./);
else if (B = YE(r.body), B.length === 1 && (B = Ui(B[0], !1).map(Ok), B.length === 1))
return n.map(function(wA) {
return r.pre + B[0] + wA;
});
var p;
if (E) {
var w = Ea(B[0]), D = Ea(B[1]), N = Math.max(B[0].length, B[1].length), k = B.length == 3 ? Math.abs(Ea(B[2])) : 1, _ = Hk, v = D < w;
v && (k *= -1, _ = jk);
var J = B.some(Tk);
p = [];
for (var U = w; _(U, D); U += k) {
var $;
if (I)
$ = String.fromCharCode(U), $ === "\\" && ($ = "");
else if ($ = String(U), J) {
var q = N - $.length;
if (q > 0) {
var T = new Array(q + 1).join("0");
U < 0 ? $ = "-" + T + $.slice(1) : $ = T + $;
}
}
p.push($);
}
} else {
p = [];
for (var eA = 0; eA < B.length; eA++)
p.push.apply(p, Ui(B[eA], !1));
}
for (var eA = 0; eA < p.length; eA++)
for (var o = 0; o < n.length; o++) {
var g = i + p[eA] + n[o];
(!A || E || g) && e.push(g);
}
}
return e;
}
s(Ui, "expand");
});
// ../node_modules/slash/index.js
function Ae(t) {
return t.startsWith("\\\\?\\") ? t : t.replace(/\\/g, "/");
}
var Vr = Qe(() => {
s(Ae, "slash");
});
// ../node_modules/resolve-from/index.js
var Ya = m((HH, xa) => {
"use strict";
var Fu = require("path"), ku = require("module"), AN = require("fs"), bu = /* @__PURE__ */ s((t, A, e) => {
if (typeof t != "string")
throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof t}\``);
if (typeof A != "string")
throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof A}\``);
try {
t = AN.realpathSync(t);
} catch (n) {
if (n.code === "ENOENT")
t = Fu.resolve(t);
else {
if (e)
return;
throw n;
}
}
let r = Fu.join(t, "noop.js"), i = /* @__PURE__ */ s(() => ku._resolveFilename(A, {
id: r,
filename: r,
paths: ku._nodeModulePaths(t)
}), "resolveFileName");
if (e)
try {
return i();
} catch {
return;
}
return i();
}, "resolveFrom");
xa.exports = (t, A) => bu(t, A);
xa.exports.silent = (t, A) => bu(t, A, !0);
});
// ../node_modules/common-path-prefix/index.js
var Tu = m((n1, Ou) => {
"use strict";
var { sep: nN } = require("path"), oN = /* @__PURE__ */ s((t) => {
for (let A of t) {
let e = /(\/|\\)/.exec(A);
if (e !== null) return e[0];
}
return nN;
}, "determineSeparator");
Ou.exports = /* @__PURE__ */ s(function(A, e = oN(A)) {
let [r = "", ...i] = A;
if (r === "" || i.length === 0) return "";
let n = r.split(e), o = n.length;
for (let C of i) {
let I = C.split(e);
for (let E = 0; E < o; E++)
I[E] !== n[E] && (o = E);
if (o === 0) return "";
}
let g = n.slice(0, o).join(e);
return g.endsWith(e) ? g : g + e;
}, "commonPathPrefix");
});
// ../node_modules/yocto-queue/index.js
var Ua, hr, _a = Qe(() => {
Ua = class {
static {
s(this, "Node");
}
value;
next;
constructor(A) {
this.value = A;
}
}, hr = class {
static {
s(this, "Queue");
}
#A;
#e;
#t;
constructor() {
this.clear();
}
enqueue(A) {
let e = new Ua(A);
this.#A ? (this.#e.next = e, this.#e = e) : (this.#A = e, this.#e = e), this.#t++;
}
dequeue() {
let A = this.#A;
if (A)
return this.#A = this.#A.next, this.#t--, A.value;
}
peek() {
if (this.#A)
return this.#A.value;
}
clear() {
this.#A = void 0, this.#e = void 0, this.#t = 0;
}
get size() {
return this.#t;
}
*[Symbol.iterator]() {
let A = this.#A;
for (; A; )
yield A.value, A = A.next;
}
*drain() {
for (; this.#A; )
yield this.dequeue();
}
};
});
// ../node_modules/isexe/windows.js
var EB = m((j1, lB) => {
lB.exports = hB;
hB.sync = KN;
var cB = require("fs");
function SN(t, A) {
var e = A.pathExt !== void 0 ? A.pathExt : process.env.PATHEXT;
if (!e || (e = e.split(";"), e.indexOf("") !== -1))
return !0;
for (var r = 0; r < e.length; r++) {
var i = e[r].toLowerCase();
if (i && t.substr(-i.length).toLowerCase() === i)
return !0;
}
return !1;
}
s(SN, "checkPathExt");
function IB(t, A, e) {
return !t.isSymbolicLink() && !t.isFile() ? !1 : SN(A, e);
}
s(IB, "checkStat");
function hB(t, A, e) {
cB.stat(t, function(r, i) {
e(r, r ? !1 : IB(i, t, A));
});
}
s(hB, "isexe");
function KN(t, A) {
return IB(cB.statSync(t), t, A);
}
s(KN, "sync");
});
// ../node_modules/isexe/mode.js
var dB = m((z1, fB) => {
fB.exports = BB;
BB.sync = FN;
var uB = require("fs");
function BB(t, A, e) {
uB.stat(t, function(r, i) {
e(r, r ? !1 : QB(i, A));
});
}
s(BB, "isexe");
function FN(t, A) {
return QB(uB.statSync(t), A);
}
s(FN, "sync");
function QB(t, A) {
return t.isFile() && kN(t, A);
}
s(QB, "checkStat");
function kN(t, A) {
var e = t.mode, r = t.uid, i = t.gid, n = A.uid !== void 0 ? A.uid : process.getuid && process.getuid(), o = A.gid !== void 0 ? A.gid : process.
getgid && process.getgid(), g = parseInt("100", 8), C = parseInt("010", 8), I = parseInt("001", 8), E = g | C, Q = e & I || e & C && i ===
o || e & g && r === n || e & E && n === 0;
return Q;
}
s(kN, "checkMode");
});
// ../node_modules/isexe/index.js
var wB = m((X1, pB) => {
var V1 = require("fs"), xn;
process.platform === "win32" || global.TESTING_WINDOWS ? xn = EB() : xn = dB();
pB.exports = Wa;
Wa.sync = bN;
function Wa(t, A, e) {
if (typeof A == "function" && (e = A, A = {}), !e) {
if (typeof Promise != "function")
throw new TypeError("callback not provided");
return new Promise(function(r, i) {
Wa(t, A || {}, function(n, o) {
n ? i(n) : r(o);
});
});
}
xn(t, A || {}, function(r, i) {
r && (r.code === "EACCES" || A && A.ignoreErrors) && (r = null, i = !1), e(r, i);
});
}
s(Wa, "isexe");
function bN(t, A) {
try {
return xn.sync(t, A || {});
} catch (e) {
if (A && A.ignoreErrors || e.code === "EACCES")
return !1;
throw e;
}
}
s(bN, "sync");
});
// ../node_modules/which/which.js
var kB = m(($1, FB) => {
var ti = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys", mB = require("path"), NN = ti ?
";" : ":", yB = wB(), DB = /* @__PURE__ */ s((t) => Object.assign(new Error(`not found: ${t}`), { code: "ENOENT" }), "getNotFoundError"), SB = /* @__PURE__ */ s(
(t, A) => {
let e = A.colon || NN, r = t.match(/\//) || ti && t.match(/\\/) ? [""] : [
// windows always checks the cwd first
...ti ? [process.cwd()] : [],
...(A.path || process.env.PATH || /* istanbul ignore next: very unusual */
"").split(e)
], i = ti ? A.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "", n = ti ? i.split(e) : [""];
return ti && t.indexOf(".") !== -1 && n[0] !== "" && n.unshift(""), {
pathEnv: r,
pathExt: n,
pathExtExe: i
};
}, "getPathInfo"), KB = /* @__PURE__ */ s((t, A, e) => {
typeof A == "function" && (e = A, A = {}), A || (A = {});
let { pathEnv: r, pathExt: i, pathExtExe: n } = SB(t, A), o = [], g = /* @__PURE__ */ s((I) => new Promise((E, Q) => {
if (I === r.length)
return A.all && o.length ? E(o) : Q(DB(t));
let B = r[I], p = /^".*"$/.test(B) ? B.slice(1, -1) : B, w = mB.join(p, t), D = !p && /^\.[\\\/]/.test(t) ? t.slice(0, 2) + w : w;
E(C(D, I, 0));
}), "step"), C = /* @__PURE__ */ s((I, E, Q) => new Promise((B, p) => {
if (Q === i.length)
return B(g(E + 1));
let w = i[Q];
yB(I + w, { pathExt: n }, (D, N) => {
if (!D && N)
if (A.all)
o.push(I + w);
else
return B(I + w);
return B(C(I, E, Q + 1));
});
}), "subStep");
return e ? g(0).then((I) => e(null, I), e) : g(0);
}, "which"), MN = /* @__PURE__ */ s((t, A) => {
A = A || {};
let { pathEnv: e, pathExt: r, pathExtExe: i } = SB(t, A), n = [];
for (let o = 0; o < e.length; o++) {
let g = e[o], C = /^".*"$/.test(g) ? g.slice(1, -1) : g, I = mB.join(C, t), E = !C && /^\.[\\\/]/.test(t) ? t.slice(0, 2) + I : I;
for (let Q = 0; Q < r.length; Q++) {
let B = E + r[Q];
try {
if (yB.sync(B, { pathExt: i }))
if (A.all)
n.push(B);
else
return B;
} catch {
}
}
}
if (A.all && n.length)
return n;
if (A.nothrow)
return null;
throw DB(t);
}, "whichSync");
FB.exports = KB;
KB.sync = MN;
});
// ../node_modules/path-key/index.js
var NB = m((ej, Va) => {
"use strict";
var bB = /* @__PURE__ */ s((t = {}) => {
let A = t.env || process.env;
return (t.platform || process.platform) !== "win32" ? "PATH" : Object.keys(A).reverse().find((r) => r.toUpperCase() === "PATH") || "Path";
}, "pathKey");
Va.exports = bB;
Va.exports.default = bB;
});
// ../node_modules/cross-spawn/lib/util/resolveCommand.js
var LB = m((rj, vB) => {
"use strict";
var MB = require("path"), RN = kB(), vN = NB();
function RB(t, A) {
let e = t.options.env || process.env, r = process.cwd(), i = t.options.cwd != null, n = i && process.chdir !== void 0 && !process.chdir.
disabled;
if (n)
try {
process.chdir(t.options.cwd);
} catch {
}
let o;
try {
o = RN.sync(t.command, {
path: e[vN({ env: e })],
pathExt: A ? MB.delimiter : void 0
});
} catch {
} finally {
n && process.chdir(r);
}
return o && (o = MB.resolve(i ? t.options.cwd : "", o)), o;
}
s(RB, "resolveCommandAttempt");
function LN(t) {
return RB(t) || RB(t, !0);
}
s(LN, "resolveCommand");
vB.exports = LN;
});
// ../node_modules/cross-spawn/lib/util/escape.js
var xB = m((sj, Za) => {
"use strict";
var Xa = /([()\][%!^"`<>&|;, *?])/g;
function xN(t) {
return t = t.replace(Xa, "^$1"), t;
}
s(xN, "escapeCommand");
function YN(t, A) {
return t = `${t}`, t = t.replace(/(?=(\\+?)?)\1"/g, '$1$1\\"'), t = t.replace(/(?=(\\+?)?)\1$/, "$1$1"), t = `"${t}"`, t = t.replace(Xa,
"^$1"), A && (t = t.replace(Xa, "^$1")), t;
}
s(YN, "escapeArgument");
Za.exports.command = xN;
Za.exports.argument = YN;
});
// ../node_modules/shebang-regex/index.js
var PB = m((oj, YB) => {
"use strict";
YB.exports = /^#!(.*)/;
});
// ../node_modules/shebang-command/index.js
var _B = m((gj, UB) => {
"use strict";
var PN = PB();
UB.exports = (t = "") => {
let A = t.match(PN);
if (!A)
return null;
let [e, r] = A[0].replace(/#! ?/, "").split(" "), i = e.split("/").pop();
return i === "env" ? r : r ? `${i} ${r}` : i;
};
});
// ../node_modules/cross-spawn/lib/util/readShebang.js
var JB = m((aj, GB) => {
"use strict";
var $a = require("fs"), UN = _B();
function _N(t) {
let e = Buffer.alloc(150), r;
try {
r = $a.openSync(t, "r"), $a.readSync(r, e, 0, 150, 0), $a.closeSync(r);
} catch {
}
return UN(e.toString());
}
s(_N, "readShebang");
GB.exports = _N;
});
// ../node_modules/cross-spawn/lib/parse.js
var jB = m((cj, HB) => {
"use strict";
var GN = require("path"), OB = LB(), TB = xB(), JN = JB(), ON = process.platform === "win32", TN = /\.(?:com|exe)$/i, HN = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
function jN(t) {
t.file = OB(t);
let A = t.file && JN(t.file);
return A ? (t.args.unshift(t.file), t.command = A, OB(t)) : t.file;
}
s(jN, "detectShebang");
function qN(t) {
if (!ON)
return t;
let A = jN(t), e = !TN.test(A);
if (t.options.forceShell || e) {
let r = HN.test(A);
t.command = GN.normalize(t.command), t.command = TB.command(t.command), t.args = t.args.map((n) => TB.argument(n, r));
let i = [t.command].concat(t.args).join(" ");
t.args = ["/d", "/s", "/c", `"${i}"`], t.command = process.env.comspec || "cmd.exe", t.options.windowsVerbatimArguments = !0;
}
return t;
}
s(qN, "parseNonShell");
function zN(t, A, e) {
A && !Array.isArray(A) && (e = A, A = null), A = A ? A.slice(0) : [], e = Object.assign({}, e);
let r = {
command: t,
args: A,
options: e,
file: void 0,
original: {
command: t,
args: A
}
};
return e.shell ? r : qN(r);
}
s(zN, "parse");
HB.exports = zN;
});
// ../node_modules/cross-spawn/lib/enoent.js
var WB = m((hj, zB) => {
"use strict";
var AC = process.platform === "win32";
function eC(t, A) {
return Object.assign(new Error(`${A} ${t.command} ENOENT`), {
code: "ENOENT",
errno: "ENOENT",
syscall: `${A} ${t.command}`,
path: t.command,
spawnargs: t.args
});
}
s(eC, "notFoundError");
function WN(t, A) {
if (!AC)
return;
let e = t.emit;
t.emit = function(r, i) {
if (r === "exit") {
let n = qB(i, A);
if (n)
return e.call(t, "error", n);
}
return e.apply(t, arguments);
};
}
s(WN, "hookChildProcess");
function qB(t, A) {
return AC && t === 1 && !A.file ? eC(A.original, "spawn") : null;
}
s(qB, "verifyENOENT");
function VN(t, A) {
return AC && t === 1 && !A.file ? eC(A.original, "spawnSync") : null;
}
s(VN, "verifyENOENTSync");
zB.exports = {
hookChildProcess: WN,
verifyENOENT: qB,
verifyENOENTSync: VN,
notFoundError: eC
};
});
// ../node_modules/cross-spawn/index.js
var iC = m((Ej, ri) => {
"use strict";
var VB = require("child_process"), tC = jB(), rC = WB();
function XB(t, A, e) {
let r = tC(t, A, e), i = VB.spawn(r.command, r.args, r.options);
return rC.hookChildProcess(i, r), i;
}
s(XB, "spawn");
function XN(t, A, e) {
let r = tC(t, A, e), i = VB.spawnSync(r.command, r.args, r.options);
return i.error = i.error || rC.verifyENOENTSync(i.status, r), i;
}
s(XN, "spawnSync");
ri.exports = XB;
ri.exports.spawn = XB;
ri.exports.sync = XN;
ri.exports._parse = tC;
ri.exports._enoent = rC;
});
// ../node_modules/merge-stream/index.js
var kQ = m((Mq, FQ) => {
"use strict";
var { PassThrough: OM } = require("stream");
FQ.exports = function() {
var t = [], A = new OM({ objectMode: !0 });
return A.setMaxListeners(0), A.add = e, A.isEmpty = r, A.on("unpipe", i), Array.prototype.slice.call(arguments).forEach(e), A;
function e(n) {
return Array.isArray(n) ? (n.forEach(e), this) : (t.push(n), n.once("end", i.bind(null, n)), n.once("error", A.emit.bind(A, "error")),
n.pipe(A, { end: !1 }), this);
}
s(e, "add");
function r() {
return t.length == 0;
}
s(r, "isEmpty");
function i(n) {
t = t.filter(function(o) {
return o !== n;
}), !t.length && A.readable && A.end();
}
s(i, "remove");
};
});
// ../node_modules/picocolors/picocolors.js
var hs = m((B8, NC) => {
var $n = process || {}, of = $n.argv || [], Zn = $n.env || {}, rR = !(Zn.NO_COLOR || of.includes("--no-color")) && (!!Zn.FORCE_COLOR || of.
includes("--color") || $n.platform === "win32" || ($n.stdout || {}).isTTY && Zn.TERM !== "dumb" || !!Zn.CI), iR = /* @__PURE__ */ s((t, A, e = t) => (r) => {
let i = "" + r, n = i.indexOf(A, t.length);
return ~n ? t + sR(i, A, e, n) + A : t + i + A;
}, "formatter"), sR = /* @__PURE__ */ s((t, A, e, r) => {
let i = "", n = 0;
do
i += t.substring(n, r) + e, n = r + A.length, r = t.indexOf(A, n);
while (~r);
return i + t.substring(n);
}, "replaceClose"), gf = /* @__PURE__ */ s((t = rR) => {
let A = t ? iR : () => String;
return {
isColorSupported: t,
reset: A("\x1B[0m", "\x1B[0m"),
bold: A("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
dim: A("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
italic: A("\x1B[3m", "\x1B[23m"),
underline: A("\x1B[4m", "\x1B[24m"),
inverse: A("\x1B[7m", "\x1B[27m"),
hidden: A("\x1B[8m", "\x1B[28m"),
strikethrough: A("\x1B[9m", "\x1B[29m"),
black: A("\x1B[30m", "\x1B[39m"),
red: A("\x1B[31m", "\x1B[39m"),
green: A("\x1B[32m", "\x1B[39m"),
yellow: A("\x1B[33m", "\x1B[39m"),
blue: A("\x1B[34m", "\x1B[39m"),
magenta: A("\x1B[35m", "\x1B[39m"),
cyan: A("\x1B[36m", "\x1B[39m"),
white: A("\x1B[37m", "\x1B[39m"),
gray: A("\x1B[90m", "\x1B[39m"),
bgBlack: A("\x1B[40m", "\x1B[49m"),
bgRed: A("\x1B[41m", "\x1B[49m"),
bgGreen: A("\x1B[42m", "\x1B[49m"),
bgYellow: A("\x1B[43m", "\x1B[49m"),
bgBlue: A("\x1B[44m", "\x1B[49m"),
bgMagenta: A("\x1B[45m", "\x1B[49m"),
bgCyan: A("\x1B[46m", "\x1B[49m"),
bgWhite: A("\x1B[47m", "\x1B[49m"),
blackBright: A("\x1B[90m", "\x1B[39m"),
redBright: A("\x1B[91m", "\x1B[39m"),
greenBright: A("\x1B[92m", "\x1B[39m"),
yellowBright: A("\x1B[93m", "\x1B[39m"),
blueBright: A("\x1B[94m", "\x1B[39m"),
magentaBright: A("\x1B[95m", "\x1B[39m"),
cyanBright: A("\x1B[96m", "\x1B[39m"),
whiteBright: A("\x1B[97m", "\x1B[39m"),
bgBlackBright: A("\x1B[100m", "\x1B[49m"),
bgRedBright: A("\x1B[101m", "\x1B[49m"),
bgGreenBright: A("\x1B[102m", "\x1B[49m"),
bgYellowBright: A("\x1B[103m", "\x1B[49m"),
bgBlueBright: A("\x1B[104m", "\x1B[49m"),
bgMagentaBright: A("\x1B[105m", "\x1B[49m"),
bgCyanBright: A("\x1B[106m", "\x1B[49m"),
bgWhiteBright: A("\x1B[107m", "\x1B[49m")
};
}, "createColors");
NC.exports = gf();
NC.exports.createColors = gf;
});
// ../node_modules/app-root-dir/lib/index.js
var uf = m((_C) => {
var Ef = "app-root-dir", Br;
_C.get = function() {
var t = global[Ef];
if (t)
return t;
if (Br === void 0) {
var A = require("fs"), e = require("path"), r = e.sep + "node_modules" + e.sep, i = process.cwd(), n = i.indexOf(r);
n !== -1 ? Br = i.substring(0, n) : A.existsSync(e.join(i, "package.json")) ? Br = i : (n = __dirname.indexOf(r), n === -1 ? Br = e.normalize(
e.join(__dirname, "..")) : Br = __dirname.substring(0, n));
}
return Br;
};
_C.set = function(t) {
global[Ef] = Br = t;
};
});
// ../node_modules/lazy-universal-dotenv/node_modules/dotenv/package.json
var Bf = m((Z8, wR) => {
wR.exports = {
name: "dotenv",
version: "16.5.0",
description: "Loads environment variables from .env file",
main: "lib/main.js",
types: "lib/main.d.ts",
exports: {
".": {
types: "./lib/main.d.ts",
require: "./lib/main.js",
default: "./lib/main.js"
},
"./config": "./config.js",
"./config.js": "./config.js",
"./lib/env-options": "./lib/env-options.js",
"./lib/env-options.js": "./lib/env-options.js",
"./lib/cli-options": "./lib/cli-options.js",
"./lib/cli-options.js": "./lib/cli-options.js",
"./package.json": "./package.json"
},
scripts: {
"dts-check": "tsc --project tests/types/tsconfig.json",
lint: "standard",
pretest: "npm run lint && npm run dts-check",
test: "tap run --allow-empty-coverage --disable-coverage --timeout=60000",
"test:coverage": "tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",
prerelease: "npm test",
release: "standard-version"
},
repository: {
type: "git",
url: "git://github.com/motdotla/dotenv.git"
},
homepage: "https://github.com/motdotla/dotenv#readme",
funding: "https://dotenvx.com",
keywords: [
"dotenv",
"env",
".env",
"environment",
"variables",
"config",
"settings"
],
readmeFilename: "README.md",
license: "BSD-2-Clause",
devDependencies: {
"@types/node": "^18.11.3",
decache: "^4.6.2",
sinon: "^14.0.1",
standard: "^17.0.0",
"standard-version": "^9.5.0",
tap: "^19.2.0",
typescript: "^4.8.4"
},
engines: {
node: ">=12"
},
browser: {
fs: !1
}
};
});
// ../node_modules/lazy-universal-dotenv/node_modules/dotenv/lib/main.js
var wf = m(($8, ut) => {
var GC = require("fs"), JC = require("path"), mR = require("os"), yR = require("crypto"), DR = Bf(), ff = DR.version, SR = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
function KR(t) {
let A = {}, e = t.toString();
e = e.replace(/\r\n?/mg, `
`);
let r;
for (; (r = SR.exec(e)) != null; ) {
let i = r[1], n = r[2] || "";
n = n.trim();
let o = n[0];
n = n.replace(/^(['"`])([\s\S]*)\1$/mg, "$2"), o === '"' && (n = n.replace(/\\n/g, `
`), n = n.replace(/\\r/g, "\r")), A[i] = n;
}
return A;
}
s(KR, "parse");
function FR(t) {
let A = pf(t), e = MA.configDotenv({ path: A });
if (!e.parsed) {
let o = new Error(`MISSING_DATA: Cannot parse ${A} for an unknown reason`);
throw o.code = "MISSING_DATA", o;
}
let r = df(t).split(","), i = r.length, n;
for (let o = 0; o < i; o++)
try {
let g = r[o].trim(), C = bR(e, g);
n = MA.decrypt(C.ciphertext, C.key);
break;
} catch (g) {
if (o + 1 >= i)
throw g;
}
return MA.parse(n);
}
s(FR, "_parseVault");
function kR(t) {
console.log(`[dotenv@${ff}][WARN] ${t}`);
}
s(kR, "_warn");
function us(t) {
console.log(`[dotenv@${ff}][DEBUG] ${t}`);
}
s(us, "_debug");
function df(t) {
return t && t.DOTENV_KEY && t.DOTENV_KEY.length > 0 ? t.DOTENV_KEY : process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0 ? process.
env.DOTENV_KEY : "";
}
s(df, "_dotenvKey");
function bR(t, A) {
let e;
try {
e = new URL(A);
} catch (g) {
if (g.code === "ERR_INVALID_URL") {
let C = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vaul\
t?environment=development");
throw C.code = "INVALID_DOTENV_KEY", C;
}
throw g;
}
let r = e.password;
if (!r) {
let g = new Error("INVALID_DOTENV_KEY: Missing key part");
throw g.code = "INVALID_DOTENV_KEY", g;
}
let i = e.searchParams.get("environment");
if (!i) {
let g = new Error("INVALID_DOTENV_KEY: Missing environment part");
throw g.code = "INVALID_DOTENV_KEY", g;
}
let n = `DOTENV_VAULT_${i.toUpperCase()}`, o = t.parsed[n];
if (!o) {
let g = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);
throw g.code = "NOT_FOUND_DOTENV_ENVIRONMENT", g;
}
return { ciphertext: o, key: r };
}
s(bR, "_instructions");
function pf(t) {
let A = null;
if (t && t.path && t.path.length > 0)
if (Array.isArray(t.path))
for (let e of t.path)
GC.existsSync(e) && (A = e.endsWith(".vault") ? e : `${e}.vault`);
else
A = t.path.endsWith(".vault") ? t.path : `${t.path}.vault`;
else
A = JC.resolve(process.cwd(), ".env.vault");
return GC.existsSync(A) ? A : null;
}
s(pf, "_vaultPath");
function Qf(t) {
return t[0] === "~" ? JC.join(mR.homedir(), t.slice(1)) : t;
}
s(Qf, "_resolveHome");
function NR(t) {
!!(t && t.debug) && us("Loading env from encrypted .env.vault");
let e = MA._parseVault(t), r = process.env;
return t && t.processEnv != null && (r = t.processEnv), MA.populate(r, e, t), { parsed: e };
}
s(NR, "_configVault");
function MR(t) {
let A = JC.resolve(process.cwd(), ".env"), e = "utf8", r = !!(t && t.debug);
t && t.encoding ? e = t.encoding : r && us("No encoding is specified. UTF-8 is used by default");
let i = [A];
if (t && t.path)
if (!Array.isArray(t.path))
i = [Qf(t.path)];
else {
i = [];
for (let C of t.path)
i.push(Qf(C));
}
let n, o = {};
for (let C of i)
try {
let I = MA.parse(GC.readFileSync(C, { encoding: e }));
MA.populate(o, I, t);
} catch (I) {
r && us(`Failed to load ${C} ${I.message}`), n = I;
}
let g = process.env;
return t && t.processEnv != null && (g = t.processEnv), MA.populate(g, o, t), n ? { parsed: o, error: n } : { parsed: o };
}
s(MR, "configDotenv");
function RR(t) {
if (df(t).length === 0)
return MA.configDotenv(t);
let A = pf(t);
return A ? MA._configVault(t) : (kR(`You set DOTENV_KEY but you are missing a .env.vault file at ${A}. Did you forget to build it?`), MA.
configDotenv(t));
}
s(RR, "config");
function vR(t, A) {
let e = Buffer.from(A.slice(-64), "hex"), r = Buffer.from(t, "base64"), i = r.subarray(0, 12), n = r.subarray(-16);
r = r.subarray(12, -16);
try {
let o = yR.createDecipheriv("aes-256-gcm", e, i);
return o.setAuthTag(n), `${o.update(r)}${o.final()}`;
} catch (o) {
let g = o instanceof RangeError, C = o.message === "Invalid key length", I = o.message === "Unsupported state or unable to authenticat\
e data";
if (g || C) {
let E = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");
throw E.code = "INVALID_DOTENV_KEY", E;
} else if (I) {
let E = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");
throw E.code = "DECRYPTION_FAILED", E;
} else
throw o;
}
}
s(vR, "decrypt");
function LR(t, A, e = {}) {
let r = !!(e && e.debug), i = !!(e && e.override);
if (typeof A != "object") {
let n = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");
throw n.code = "OBJECT_REQUIRED", n;
}
for (let n of Object.keys(A))
Object.prototype.hasOwnProperty.call(t, n) ? (i === !0 && (t[n] = A[n]), r && us(i === !0 ? `"${n}" is already defined and WAS overwri\
tten` : `"${n}" is already defined and was NOT overwritten`)) : t[n] = A[n];
}
s(LR, "populate");
var MA = {
configDotenv: MR,
_configVault: NR,
_parseVault: FR,
config: RR,
decrypt: vR,
parse: KR,
populate: LR
};
ut.exports.configDotenv = MA.configDotenv;
ut.exports._configVault = MA._configVault;
ut.exports._parseVault = MA._parseVault;
ut.exports.config = MA.config;
ut.exports.decrypt = MA.decrypt;
ut.exports.parse = MA.parse;
ut.exports.populate = MA.populate;
ut.exports = MA;
});
// ../node_modules/lazy-universal-dotenv/node_modules/dotenv-expand/lib/main.js
var Df = m((ez, yf) => {
"use strict";
function xR(t, A) {
let e = Array.from(t.matchAll(A));
return e.length > 0 ? e.slice(-1)[0].index : -1;
}
s(xR, "_searchLast");
function mf(t, A, e) {
let r = xR(t, /(?!(?<=\\))\$/g);
if (r === -1) return t;
let i = t.slice(r), n = /((?!(?<=\\))\${?([\w]+)(?::-([^}\\]*))?}?)/, o = i.match(n);
if (o != null) {
let [, g, C, I] = o;
return mf(
t.replace(
g,
A[C] || I || e.parsed[C] || ""
),
A,
e
);
}
return t;
}
s(mf, "_interpolate");
function YR(t) {
return t.replace(/\\\$/g, "$");
}
s(YR, "_resolveEscapeSequences");
function PR(t) {
let A = t.ignoreProcessEnv ? {} : process.env;
for (let e in t.parsed) {
let r = Object.prototype.hasOwnProperty.call(A, e) ? A[e] : t.parsed[e];
t.parsed[e] = YR(
mf(r, A, t)
);
}
for (let e in t.parsed)
A[e] = t.parsed[e];
return t;
}
s(PR, "expand");
yf.exports.expand = PR;
});
// ../node_modules/picomatch/lib/constants.js
var Bs = m((kz, Of) => {
"use strict";
var WR = require("path"), At = "\\\\/", Uf = `[^${At}]`, Bt = "\\.", VR = "\\+", XR = "\\?", ho = "\\/", ZR = "(?=.)", _f = "[^/]", zC = `\
(?:${ho}|$)`, Gf = `(?:^|${ho})`, WC = `${Bt}{1,2}${zC}`, $R = `(?!${Bt})`, A0 = `(?!${Gf}${WC})`, e0 = `(?!${Bt}{0,1}${zC})`, t0 = `(?!${WC}\
)`, r0 = `[^.${ho}]`, i0 = `${_f}*?`, Jf = {
DOT_LITERAL: Bt,
PLUS_LITERAL: VR,
QMARK_LITERAL: XR,
SLASH_LITERAL: ho,
ONE_CHAR: ZR,
QMARK: _f,
END_ANCHOR: zC,
DOTS_SLASH: WC,
NO_DOT: $R,
NO_DOTS: A0,
NO_DOT_SLASH: e0,
NO_DOTS_SLASH: t0,
QMARK_NO_DOT: r0,
STAR: i0,
START_ANCHOR: Gf
}, s0 = {
...Jf,
SLASH_LITERAL: `[${At}]`,
QMARK: Uf,
STAR: `${Uf}*?`,
DOTS_SLASH: `${Bt}{1,2}(?:[${At}]|$)`,
NO_DOT: `(?!${Bt})`,
NO_DOTS: `(?!(?:^|[${At}])${Bt}{1,2}(?:[${At}]|$))`,
NO_DOT_SLASH: `(?!${Bt}{0,1}(?:[${At}]|$))`,
NO_DOTS_SLASH: `(?!${Bt}{1,2}(?:[${At}]|$))`,
QMARK_NO_DOT: `[^.${At}]`,
START_ANCHOR: `(?:^|[${At}])`,
END_ANCHOR: `(?:[${At}]|$)`
}, n0 = {
alnum: "a-zA-Z0-9",
alpha: "a-zA-Z",
ascii: "\\x00-\\x7F",
blank: " \\t",
cntrl: "\\x00-\\x1F\\x7F",
digit: "0-9",
graph: "\\x21-\\x7E",
lower: "a-z",
print: "\\x20-\\x7E ",
punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
space: " \\t\\r\\n\\v\\f",
upper: "A-Z",
word: "A-Za-z0-9_",
xdigit: "A-Fa-f0-9"
};
Of.exports = {
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE: n0,
// regular expressions
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
"***": "*",
"**/**": "**",
"**/**/**": "**"
},
// Digits
CHAR_0: 48,
/* 0 */
CHAR_9: 57,
/* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: 65,
/* A */
CHAR_LOWERCASE_A: 97,
/* a */
CHAR_UPPERCASE_Z: 90,
/* Z */
CHAR_LOWERCASE_Z: 122,
/* z */
CHAR_LEFT_PARENTHESES: 40,
/* ( */
CHAR_RIGHT_PARENTHESES: 41,
/* ) */
CHAR_ASTERISK: 42,
/* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: 38,
/* & */
CHAR_AT: 64,
/* @ */
CHAR_BACKWARD_SLASH: 92,
/* \ */
CHAR_CARRIAGE_RETURN: 13,
/* \r */
CHAR_CIRCUMFLEX_ACCENT: 94,
/* ^ */
CHAR_COLON: 58,
/* : */
CHAR_COMMA: 44,
/* , */
CHAR_DOT: 46,
/* . */
CHAR_DOUBLE_QUOTE: 34,
/* " */
CHAR_EQUAL: 61,
/* = */
CHAR_EXCLAMATION_MARK: 33,
/* ! */
CHAR_FORM_FEED: 12,
/* \f */
CHAR_FORWARD_SLASH: 47,
/* / */
CHAR_GRAVE_ACCENT: 96,
/* ` */
CHAR_HASH: 35,
/* # */
CHAR_HYPHEN_MINUS: 45,
/* - */
CHAR_LEFT_ANGLE_BRACKET: 60,
/* < */
CHAR_LEFT_CURLY_BRACE: 123,
/* { */
CHAR_LEFT_SQUARE_BRACKET: 91,
/* [ */
CHAR_LINE_FEED: 10,
/* \n */
CHAR_NO_BREAK_SPACE: 160,
/* \u00A0 */
CHAR_PERCENT: 37,
/* % */
CHAR_PLUS: 43,
/* + */
CHAR_QUESTION_MARK: 63,
/* ? */
CHAR_RIGHT_ANGLE_BRACKET: 62,
/* > */
CHAR_RIGHT_CURLY_BRACE: 125,
/* } */
CHAR_RIGHT_SQUARE_BRACKET: 93,
/* ] */
CHAR_SEMICOLON: 59,
/* ; */
CHAR_SINGLE_QUOTE: 39,
/* ' */
CHAR_SPACE: 32,
/* */
CHAR_TAB: 9,
/* \t */
CHAR_UNDERSCORE: 95,
/* _ */
CHAR_VERTICAL_LINE: 124,
/* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
/* \uFEFF */
SEP: WR.sep,
/**
* Create EXTGLOB_CHARS
*/
extglobChars(t) {
return {
"!": { type: "negate", open: "(?:(?!(?:", close: `))${t.STAR})` },
"?": { type: "qmark", open: "(?:", close: ")?" },
"+": { type: "plus", open: "(?:", close: ")+" },
"*": { type: "star", open: "(?:", close: ")*" },
"@": { type: "at", open: "(?:", close: ")" }
};
},
/**
* Create GLOB_CHARS
*/
globChars(t) {
return t === !0 ? s0 : Jf;
}
};
});
// ../node_modules/picomatch/lib/utils.js
var Qs = m((ie) => {
"use strict";
var o0 = require("path"), g0 = process.platform === "win32", {
REGEX_BACKSLASH: a0,
REGEX_REMOVE_BACKSLASH: C0,
REGEX_SPECIAL_CHARS: c0,
REGEX_SPECIAL_CHARS_GLOBAL: I0
} = Bs();
ie.isObject = (t) => t !== null && typeof t == "object" && !Array.isArray(t);
ie.hasRegexChars = (t) => c0.test(t);
ie.isRegexChar = (t) => t.length === 1 && ie.hasRegexChars(t);
ie.escapeRegex = (t) => t.replace(I0, "\\$1");
ie.toPosixSlashes = (t) => t.replace(a0, "/");
ie.removeBackslashes = (t) => t.replace(C0, (A) => A === "\\" ? "" : A);
ie.supportsLookbehinds = () => {
let t = process.version.slice(1).split(".").map(Number);
return t.length === 3 && t[0] >= 9 || t[0] === 8 && t[1] >= 10;
};
ie.isWindows = (t) => t && typeof t.windows == "boolean" ? t.windows : g0 === !0 || o0.sep === "\\";
ie.escapeLast = (t, A, e) => {
let r = t.lastIndexOf(A, e);
return r === -1 ? t : t[r - 1] === "\\" ? ie.escapeLast(t, A, r - 1) : `${t.slice(0, r)}\\${t.slice(r)}`;
};
ie.removePrefix = (t, A = {}) => {
let e = t;
return e.startsWith("./") && (e = e.slice(2), A.prefix = "./"), e;
};
ie.wrapOutput = (t, A = {}, e = {}) => {
let r = e.contains ? "" : "^", i = e.contains ? "" : "$", n = `${r}(?:${t})${i}`;
return A.negated === !0 && (n = `(?:^(?!${n}).*$)`), n;
};
});
// ../node_modules/picomatch/lib/scan.js
var Xf = m((Nz, Vf) => {
"use strict";
var Tf = Qs(), {
CHAR_ASTERISK: VC,
/* * */
CHAR_AT: h0,
/* @ */
CHAR_BACKWARD_SLASH: fs,
/* \ */
CHAR_COMMA: l0,
/* , */
CHAR_DOT: XC,
/* . */
CHAR_EXCLAMATION_MARK: ZC,
/* ! */
CHAR_FORWARD_SLASH: Wf,
/* / */
CHAR_LEFT_CURLY_BRACE: $C,
/* { */
CHAR_LEFT_PARENTHESES: Ac,
/* ( */
CHAR_LEFT_SQUARE_BRACKET: E0,
/* [ */
CHAR_PLUS: u0,
/* + */
CHAR_QUESTION_MARK: Hf,
/* ? */
CHAR_RIGHT_CURLY_BRACE: B0,
/* } */
CHAR_RIGHT_PARENTHESES: jf,
/* ) */
CHAR_RIGHT_SQUARE_BRACKET: Q0
/* ] */
} = Bs(), qf = /* @__PURE__ */ s((t) => t === Wf || t === fs, "isPathSeparator"), zf = /* @__PURE__ */ s((t) => {
t.isPrefix !== !0 && (t.depth = t.isGlobstar ? 1 / 0 : 1);
}, "depth"), f0 = /* @__PURE__ */ s((t, A) => {
let e = A || {}, r = t.length - 1, i = e.parts === !0 || e.scanToEnd === !0, n = [], o = [], g = [], C = t, I = -1, E = 0, Q = 0, B = !1,
p = !1, w = !1, D = !1, N = !1, k = !1, _ = !1, v = !1, J = !1, U = !1, $ = 0, q, T, eA = { value: "", depth: 0, isGlob: !1 }, wA = /* @__PURE__ */ s(
() => I >= r, "eos"), b = /* @__PURE__ */ s(() => C.charCodeAt(I + 1), "peek"), EA = /* @__PURE__ */ s(() => (q = T, C.charCodeAt(++I)),
"advance");
for (; I < r; ) {
T = EA();
let _A;
if (T === fs) {
_ = eA.backslashes = !0, T = EA(), T === $C && (k = !0);
continue;
}
if (k === !0 || T === $C) {
for ($++; wA() !== !0 && (T = EA()); ) {
if (T === fs) {
_ = eA.backslashes = !0, EA();
continue;
}
if (T === $C) {
$++;
continue;
}
if (k !== !0 && T === XC && (T = EA()) === XC) {
if (B = eA.isBrace = !0, w = eA.isGlob = !0, U = !0, i === !0)
continue;
break;
}
if (k !== !0 && T === l0) {
if (B = eA.isBrace = !0, w = eA.isGlob = !0, U = !0, i === !0)
continue;
break;
}
if (T === B0 && ($--, $ === 0)) {
k = !1, B = eA.isBrace = !0, U = !0;
break;
}
}
if (i === !0)
continue;
break;
}
if (T === Wf) {
if (n.push(I), o.push(eA), eA = { value: "", depth: 0, isGlob: !1 }, U === !0) continue;
if (q === XC && I === E + 1) {
E += 2;
continue;
}
Q = I + 1;
continue;
}
if (e.noext !== !0 && (T === u0 || T === h0 || T === VC || T === Hf || T === ZC) === !0 && b() === Ac) {
if (w = eA.isGlob = !0, D = eA.isExtglob = !0, U = !0, T === ZC && I === E && (J = !0), i === !0) {
for (; wA() !== !0 && (T = EA()); ) {
if (T === fs) {
_ = eA.backslashes = !0, T = EA();
continue;
}
if (T === jf) {
w = eA.isGlob = !0, U = !0;
break;
}
}
continue;
}
break;
}
if (T === VC) {
if (q === VC && (N = eA.isGlobstar = !0), w = eA.isGlob = !0, U = !0, i === !0)
continue;
break;
}
if (T === Hf) {
if (w = eA.isGlob = !0, U = !0, i === !0)
continue;
break;
}
if (T === E0) {
for (; wA() !== !0 && (_A = EA()); ) {
if (_A === fs) {
_ = eA.backslashes = !0, EA();
continue;
}
if (_A === Q0) {
p = eA.isBracket = !0, w = eA.isGlob = !0, U = !0;
break;
}
}
if (i === !0)
continue;
break;
}
if (e.nonegate !== !0 && T === ZC && I === E) {
v = eA.negated = !0, E++;
continue;
}
if (e.noparen !== !0 && T === Ac) {
if (w = eA.isGlob = !0, i === !0) {
for (; wA() !== !0 && (T = EA()); ) {
if (T === Ac) {
_ = eA.backslashes = !0, T = EA();
continue;
}
if (T === jf) {
U = !0;
break;
}
}
continue;
}
break;
}
if (w === !0) {
if (U = !0, i === !0)
continue;
break;
}
}
e.noext === !0 && (D = !1, w = !1);
let uA = C, ke = "", K = "";
E > 0 && (ke = C.slice(0, E), C = C.slice(E), Q -= E), uA && w === !0 && Q > 0 ? (uA = C.slice(0, Q), K = C.slice(Q)) : w === !0 ? (uA =
"", K = C) : uA = C, uA && uA !== "" && uA !== "/" && uA !== C && qf(uA.charCodeAt(uA.length - 1)) && (uA = uA.slice(0, -1)), e.unescape ===
!0 && (K && (K = Tf.removeBackslashes(K)), uA && _ === !0 && (uA = Tf.removeBackslashes(uA)));
let F = {
prefix: ke,
input: t,
start: E,
base: uA,
glob: K,
isBrace: B,
isBracket: p,
isGlob: w,
isExtglob: D,
isGlobstar: N,
negated: v,
negatedExtglob: J
};
if (e.tokens === !0 && (F.maxDepth = 0, qf(T) || o.push(eA), F.tokens = o), e.parts === !0 || e.tokens === !0) {
let _A;
for (let gA = 0; gA < n.length; gA++) {
let GA = _A ? _A + 1 : E, ae = n[gA], vA = t.slice(GA, ae);
e.tokens && (gA === 0 && E !== 0 ? (o[gA].isPrefix = !0, o[gA].value = ke) : o[gA].value = vA, zf(o[gA]), F.maxDepth += o[gA].depth),
(gA !== 0 || vA !== "") && g.push(vA), _A = ae;
}
if (_A && _A + 1 < t.length) {
let gA = t.slice(_A + 1);
g.push(gA), e.tokens && (o[o.length - 1].value = gA, zf(o[o.length - 1]), F.maxDepth += o[o.length - 1].depth);
}
F.slashes = n, F.parts = g;
}
return F;
}, "scan");
Vf.exports = f0;
});
// ../node_modules/picomatch/lib/parse.js
var Ad = m((Rz, $f) => {
"use strict";
var lo = Bs(), ue = Qs(), {
MAX_LENGTH: Eo,
POSIX_REGEX_SOURCE: d0,
REGEX_NON_SPECIAL_CHARS: p0,
REGEX_SPECIAL_CHARS_BACKREF: w0,
REPLACEMENTS: Zf
} = lo, m0 = /* @__PURE__ */ s((t, A) => {
if (typeof A.expandRange == "function")
return A.expandRange(...t, A);
t.sort();
let e = `[${t.join("-")}]`;
try {
new RegExp(e);
} catch {
return t.map((i) => ue.escapeRegex(i)).join("..");
}
return e;
}, "expandRange"), oi = /* @__PURE__ */ s((t, A) => `Missing ${t}: "${A}" - use "\\\\${A}" to match literal characters`, "syntaxError"), ec = /* @__PURE__ */ s(
(t, A) => {
if (typeof t != "string")
throw new TypeError("Expected a string");
t = Zf[t] || t;
let e = { ...A }, r = typeof e.maxLength == "number" ? Math.min(Eo, e.maxLength) : Eo, i = t.length;
if (i > r)
throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);
let n = { type: "bos", value: "", output: e.prepend || "" }, o = [n], g = e.capture ? "" : "?:", C = ue.isWindows(A), I = lo.globChars(C),
E = lo.extglobChars(I), {
DOT_LITERAL: Q,
PLUS_LITERAL: B,
SLASH_LITERAL: p,
ONE_CHAR: w,
DOTS_SLASH: D,
NO_DOT: N,
NO_DOT_SLASH: k,
NO_DOTS_SLASH: _,
QMARK: v,
QMARK_NO_DOT: J,
STAR: U,
START_ANCHOR: $
} = I, q = /* @__PURE__ */ s((Y) => `(${g}(?:(?!${$}${Y.dot ? D : Q}).)*?)`, "globstar"), T = e.dot ? "" : N, eA = e.dot ? v : J, wA = e.
bash === !0 ? q(e) : U;
e.capture && (wA = `(${wA})`), typeof e.noext == "boolean" && (e.noextglob = e.noext);
let b = {
input: t,
index: -1,
start: 0,
dot: e.dot === !0,
consumed: "",
output: "",
prefix: "",
backtrack: !1,
negated: !1,
brackets: 0,
braces: 0,
parens: 0,
quotes: 0,
globstar: !1,
tokens: o
};
t = ue.removePrefix(t, b), i = t.length;
let EA = [], uA = [], ke = [], K = n, F, _A = /* @__PURE__ */ s(() => b.index === i - 1, "eos"), gA = b.peek = (Y = 1) => t[b.index + Y],
GA = b.advance = () => t[++b.index] || "", ae = /* @__PURE__ */ s(() => t.slice(b.index + 1), "remaining"), vA = /* @__PURE__ */ s((Y = "", cA = 0) => {
b.consumed += Y, b.index += cA;
}, "consume"), or = /* @__PURE__ */ s((Y) => {
b.output += Y.output != null ? Y.output : Y.value, vA(Y.value);
}, "append"), Mr = /* @__PURE__ */ s(() => {
let Y = 1;
for (; gA() === "!" && (gA(2) !== "(" || gA(3) === "?"); )
GA(), b.start++, Y++;
return Y % 2 === 0 ? !1 : (b.negated = !0, b.start++, !0);
}, "negate"), Mt = /* @__PURE__ */ s((Y) => {
b[Y]++, ke.push(Y);
}, "increment"), Ct = /* @__PURE__ */ s((Y) => {
b[Y]--, ke.pop();
}, "decrement"), nA = /* @__PURE__ */ s((Y) => {
if (K.type === "globstar") {
let cA = b.braces > 0 && (Y.type === "comma" || Y.type === "brace"), L = Y.extglob === !0 || EA.length && (Y.type === "pipe" || Y.type ===
"paren");
Y.type !== "slash" && Y.type !== "paren" && !cA && !L && (b.output = b.output.slice(0, -K.output.length), K.type = "star", K.value =
"*", K.output = wA, b.output += K.output);
}
if (EA.length && Y.type !== "paren" && (EA[EA.length - 1].inner += Y.value), (Y.value || Y.output) && or(Y), K && K.type === "text" &&
Y.type === "text") {
K.value += Y.value, K.output = (K.output || "") + Y.value;
return;
}
Y.prev = K, o.push(Y), K = Y;
}, "push"), Rt = /* @__PURE__ */ s((Y, cA) => {
let L = { ...E[cA], conditions: 1, inner: "" };
L.prev = K, L.parens = b.parens, L.output = b.output;
let M = (e.capture ? "(" : "") + L.open;
Mt("parens"), nA({ type: Y, value: cA, output: b.output ? "" : w }), nA({ type: "paren", extglob: !0, value: GA(), output: M }), EA.push(
L);
}, "extglobOpen"), JA = /* @__PURE__ */ s((Y) => {
let cA = Y.close + (e.capture ? ")" : ""), L;
if (Y.type === "negate") {
let M = wA;
if (Y.inner && Y.inner.length > 1 && Y.inner.includes("/") && (M = q(e)), (M !== wA || _A() || /^\)+$/.test(ae())) && (cA = Y.close =
`)$))${M}`), Y.inner.includes("*") && (L = ae()) && /^\.[^\\/.]+$/.test(L)) {
let dA = ec(L, { ...A, fastpaths: !1 }).output;
cA = Y.close = `)${dA})${M})`;
}
Y.prev.type === "bos" && (b.negatedExtglob = !0);
}
nA({ type: "paren", extglob: !0, value: F, output: cA }), Ct("parens");
}, "extglobClose");
if (e.fastpaths !== !1 && !/(^[*!]|[/()[\]{}"])/.test(t)) {
let Y = !1, cA = t.replace(w0, (L, M, dA, LA, SA, Rr) => LA === "\\" ? (Y = !0, L) : LA === "?" ? M ? M + LA + (SA ? v.repeat(SA.length) :
"") : Rr === 0 ? eA + (SA ? v.repeat(SA.length) : "") : v.repeat(dA.length) : LA === "." ? Q.repeat(dA.length) : LA === "*" ? M ? M + LA +
(SA ? wA : "") : wA : M ? L : `\\${L}`);
return Y === !0 && (e.unescape === !0 ? cA = cA.replace(/\\/g, "") : cA = cA.replace(/\\+/g, (L) => L.length % 2 === 0 ? "\\\\" : L ? "\
\\" : "")), cA === t && e.contains === !0 ? (b.output = t, b) : (b.output = ue.wrapOutput(cA, b, A), b);
}
for (; !_A(); ) {
if (F = GA(), F === "\0")
continue;
if (F === "\\") {
let L = gA();
if (L === "/" && e.bash !== !0 || L === "." || L === ";")
continue;
if (!L) {
F += "\\", nA({ type: "text", value: F });
continue;
}
let M = /^\\+/.exec(ae()), dA = 0;
if (M && M[0].length > 2 && (dA = M[0].length, b.index += dA, dA % 2 !== 0 && (F += "\\")), e.unescape === !0 ? F = GA() : F += GA(),
b.brackets === 0) {
nA({ type: "text", value: F });
continue;
}
}
if (b.brackets > 0 && (F !== "]" || K.value === "[" || K.value === "[^")) {
if (e.posix !== !1 && F === ":") {
let L = K.value.slice(1);
if (L.includes("[") && (K.posix = !0, L.includes(":"))) {
let M = K.value.lastIndexOf("["), dA = K.value.slice(0, M), LA = K.value.slice(M + 2), SA = d0[LA];
if (SA) {
K.value = dA + SA, b.backtrack = !0, GA(), !n.output && o.indexOf(K) === 1 && (n.output = w);
continue;
}
}
}
(F === "[" && gA() !== ":" || F === "-" && gA() === "]") && (F = `\\${F}`), F === "]" && (K.value === "[" || K.value === "[^") && (F =
`\\${F}`), e.posix === !0 && F === "!" && K.value === "[" && (F = "^"), K.value += F, or({ value: F });
continue;
}
if (b.quotes === 1 && F !== '"') {
F = ue.escapeRegex(F), K.value += F, or({ value: F });
continue;
}
if (F === '"') {
b.quotes = b.quotes === 1 ? 0 : 1, e.keepQuotes === !0 && nA({ type: "text", value: F });
continue;
}
if (F === "(") {
Mt("parens"), nA({ type: "paren", value: F });
continue;
}
if (F === ")") {
if (b.parens === 0 && e.strictBrackets === !0)
throw new SyntaxError(oi("opening", "("));
let L = EA[EA.length - 1];
if (L && b.parens === L.parens + 1) {
JA(EA.pop());
continue;
}
nA({ type: "paren", value: F, output: b.parens ? ")" : "\\)" }), Ct("parens");
continue;
}
if (F === "[") {
if (e.nobracket === !0 || !ae().includes("]")) {
if (e.nobracket !== !0 && e.strictBrackets === !0)
throw new SyntaxError(oi("closing", "]"));
F = `\\${F}`;
} else
Mt("brackets");
nA({ type: "bracket", value: F });
continue;
}
if (F === "]") {
if (e.nobracket === !0 || K && K.type === "bracket" && K.value.length === 1) {
nA({ type: "text", value: F, output: `\\${F}` });
continue;
}
if (b.brackets === 0) {
if (e.strictBrackets === !0)
throw new SyntaxError(oi("opening", "["));
nA({ type: "text", value: F, output: `\\${F}` });
continue;
}
Ct("brackets");
let L = K.value.slice(1);
if (K.posix !== !0 && L[0] === "^" && !L.includes("/") && (F = `/${F}`), K.value += F, or({ value: F }), e.literalBrackets === !1 ||
ue.hasRegexChars(L))
continue;
let M = ue.escapeRegex(K.value);
if (b.output = b.output.slice(0, -K.value.length), e.literalBrackets === !0) {
b.output += M, K.value = M;
continue;
}
K.value = `(${g}${M}|${K.value})`, b.output += K.value;
continue;
}
if (F === "{" && e.nobrace !== !0) {
Mt("braces");
let L = {
type: "brace",
value: F,
output: "(",
outputIndex: b.output.length,
tokensIndex: b.tokens.length
};
uA.push(L), nA(L);
continue;
}
if (F === "}") {
let L = uA[uA.length - 1];
if (e.nobrace === !0 || !L) {
nA({ type: "text", value: F, output: F });
continue;
}
let M = ")";
if (L.dots === !0) {
let dA = o.slice(), LA = [];
for (let SA = dA.length - 1; SA >= 0 && (o.pop(), dA[SA].type !== "brace"); SA--)
dA[SA].type !== "dots" && LA.unshift(dA[SA].value);
M = m0(LA, e), b.backtrack = !0;
}
if (L.comma !== !0 && L.dots !== !0) {
let dA = b.output.slice(0, L.outputIndex), LA = b.tokens.slice(L.tokensIndex);
L.value = L.output = "\\{", F = M = "\\}", b.output = dA;
for (let SA of LA)
b.output += SA.output || SA.value;
}
nA({ type: "brace", value: F, output: M }), Ct("braces"), uA.pop();
continue;
}
if (F === "|") {
EA.length > 0 && EA[EA.length - 1].conditions++, nA({ type: "text", value: F });
continue;
}
if (F === ",") {
let L = F, M = uA[uA.length - 1];
M && ke[ke.length - 1] === "braces" && (M.comma = !0, L = "|"), nA({ type: "comma", value: F, output: L });
continue;
}
if (F === "/") {
if (K.type === "dot" && b.index === b.start + 1) {
b.start = b.index + 1, b.consumed = "", b.output = "", o.pop(), K = n;
continue;
}
nA({ type: "slash", value: F, output: p });
continue;
}
if (F === ".") {
if (b.braces > 0 && K.type === "dot") {
K.value === "." && (K.output = Q);
let L = uA[uA.length - 1];
K.type = "dots", K.output += F, K.value += F, L.dots = !0;
continue;
}
if (b.braces + b.parens === 0 && K.type !== "bos" && K.type !== "slash") {
nA({ type: "text", value: F, output: Q });
continue;
}
nA({ type: "dot", value: F, output: Q });
continue;
}
if (F === "?") {
if (!(K && K.value === "(") && e.noextglob !== !0 && gA() === "(" && gA(2) !== "?") {
Rt("qmark", F);
continue;
}
if (K && K.type === "paren") {
let M = gA(), dA = F;
if (M === "<" && !ue.supportsLookbehinds())
throw new Error("Node.js v10 or higher is required for regex lookbehinds");
(K.value === "(" && !/[!=<:]/.test(M) || M === "<" && !/<([!=]|\w+>)/.test(ae())) && (dA = `\\${F}`), nA({ type: "text", value: F,
output: dA });
continue;
}
if (e.dot !== !0 && (K.type === "slash" || K.type === "bos")) {
nA({ type: "qmark", value: F, output: J });
continue;
}
nA({ type: "qmark", value: F, output: v });
continue;
}
if (F === "!") {
if (e.noextglob !== !0 && gA() === "(" && (gA(2) !== "?" || !/[!=<:]/.test(gA(3)))) {
Rt("negate", F);
continue;
}
if (e.nonegate !== !0 && b.index === 0) {
Mr();
continue;
}
}
if (F === "+") {
if (e.noextglob !== !0 && gA() === "(" && gA(2) !== "?") {
Rt("plus", F);
continue;
}
if (K && K.value === "(" || e.regex === !1) {
nA({ type: "plus", value: F, output: B });
continue;
}
if (K && (K.type === "bracket" || K.type === "paren" || K.type === "brace") || b.parens > 0) {
nA({ type: "plus", value: F });
continue;
}
nA({ type: "plus", value: B });
continue;
}
if (F === "@") {
if (e.noextglob !== !0 && gA() === "(" && gA(2) !== "?") {
nA({ type: "at", extglob: !0, value: F, output: "" });
continue;
}
nA({ type: "text", value: F });
continue;
}
if (F !== "*") {
(F === "$" || F === "^") && (F = `\\${F}`);
let L = p0.exec(ae());
L && (F += L[0], b.index += L[0].length), nA({ type: "text", value: F });
continue;
}
if (K && (K.type === "globstar" || K.star === !0)) {
K.type = "star", K.star = !0, K.value += F, K.output = wA, b.backtrack = !0, b.globstar = !0, vA(F);
continue;
}
let Y = ae();
if (e.noextglob !== !0 && /^\([^?]/.test(Y)) {
Rt("star", F);
continue;
}
if (K.type === "star") {
if (e.noglobstar === !0) {
vA(F);
continue;
}
let L = K.prev, M = L.prev, dA = L.type === "slash" || L.type === "bos", LA = M && (M.type === "star" || M.type === "globstar");
if (e.bash === !0 && (!dA || Y[0] && Y[0] !== "/")) {
nA({ type: "star", value: F, output: "" });
continue;
}
let SA = b.braces > 0 && (L.type === "comma" || L.type === "brace"), Rr = EA.length && (L.type === "pipe" || L.type === "paren");
if (!dA && L.type !== "paren" && !SA && !Rr) {
nA({ type: "star", value: F, output: "" });
continue;
}
for (; Y.slice(0, 3) === "/**"; ) {
let Mi = t[b.index + 4];
if (Mi && Mi !== "/")
break;
Y = Y.slice(3), vA("/**", 3);
}
if (L.type === "bos" && _A()) {
K.type = "globstar", K.value += F, K.output = q(e), b.output = K.output, b.globstar = !0, vA(F);
continue;
}
if (L.type === "slash" && L.prev.type !== "bos" && !LA && _A()) {
b.output = b.output.slice(0, -(L.output + K.output).length), L.output = `(?:${L.output}`, K.type = "globstar", K.output = q(e) + (e.
strictSlashes ? ")" : "|$)"), K.value += F, b.globstar = !0, b.output += L.output + K.output, vA(F);
continue;
}
if (L.type === "slash" && L.prev.type !== "bos" && Y[0] === "/") {
let Mi = Y[1] !== void 0 ? "|$" : "";
b.output = b.output.slice(0, -(L.output + K.output).length), L.output = `(?:${L.output}`, K.type = "globstar", K.output = `${q(e)}${p}\
|${p}${Mi})`, K.value += F, b.output += L.output + K.output, b.globstar = !0, vA(F + GA()), nA({ type: "slash", value: "/", output: "" });
continue;
}
if (L.type === "bos" && Y[0] === "/") {
K.type = "globstar", K.value += F, K.output = `(?:^|${p}|${q(e)}${p})`, b.output = K.output, b.globstar = !0, vA(F + GA()), nA({ type: "\
slash", value: "/", output: "" });
continue;
}
b.output = b.output.slice(0, -K.output.length), K.type = "globstar", K.output = q(e), K.value += F, b.output += K.output, b.globstar =
!0, vA(F);
continue;
}
let cA = { type: "star", value: F, output: wA };
if (e.bash === !0) {
cA.output = ".*?", (K.type === "bos" || K.type === "slash") && (cA.output = T + cA.output), nA(cA);
continue;
}
if (K && (K.type === "bracket" || K.type === "paren") && e.regex === !0) {
cA.output = F, nA(cA);
continue;
}
(b.index === b.start || K.type === "slash" || K.type === "dot") && (K.type === "dot" ? (b.output += k, K.output += k) : e.dot === !0 ?
(b.output += _, K.output += _) : (b.output += T, K.output += T), gA() !== "*" && (b.output += w, K.output += w)), nA(cA);
}
for (; b.brackets > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(oi("closing", "]"));
b.output = ue.escapeLast(b.output, "["), Ct("brackets");
}
for (; b.parens > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(oi("closing", ")"));
b.output = ue.escapeLast(b.output, "("), Ct("parens");
}
for (; b.braces > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(oi("closing", "}"));
b.output = ue.escapeLast(b.output, "{"), Ct("braces");
}
if (e.strictSlashes !== !0 && (K.type === "star" || K.type === "bracket") && nA({ type: "maybe_slash", value: "", output: `${p}?` }), b.
backtrack === !0) {
b.output = "";
for (let Y of b.tokens)
b.output += Y.output != null ? Y.output : Y.value, Y.suffix && (b.output += Y.suffix);
}
return b;
}, "parse");
ec.fastpaths = (t, A) => {
let e = { ...A }, r = typeof e.maxLength == "number" ? Math.min(Eo, e.maxLength) : Eo, i = t.length;
if (i > r)
throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);
t = Zf[t] || t;
let n = ue.isWindows(A), {
DOT_LITERAL: o,
SLASH_LITERAL: g,
ONE_CHAR: C,
DOTS_SLASH: I,
NO_DOT: E,
NO_DOTS: Q,
NO_DOTS_SLASH: B,
STAR: p,
START_ANCHOR: w
} = lo.globChars(n), D = e.dot ? Q : E, N = e.dot ? B : E, k = e.capture ? "" : "?:", _ = { negated: !1, prefix: "" }, v = e.bash === !0 ?
".*?" : p;
e.capture && (v = `(${v})`);
let J = /* @__PURE__ */ s((T) => T.noglobstar === !0 ? v : `(${k}(?:(?!${w}${T.dot ? I : o}).)*?)`, "globstar"), U = /* @__PURE__ */ s((T) => {
switch (T) {
case "*":
return `${D}${C}${v}`;
case ".*":
return `${o}${C}${v}`;
case "*.*":
return `${D}${v}${o}${C}${v}`;
case "*/*":
return `${D}${v}${g}${C}${N}${v}`;
case "**":
return D + J(e);
case "**/*":
return `(?:${D}${J(e)}${g})?${N}${C}${v}`;
case "**/*.*":
return `(?:${D}${J(e)}${g})?${N}${v}${o}${C}${v}`;
case "**/.*":
return `(?:${D}${J(e)}${g})?${o}${C}${v}`;
default: {
let eA = /^(.*?)\.(\w+)$/.exec(T);
if (!eA) return;
let wA = U(eA[1]);
return wA ? wA + o + eA[2] : void 0;
}
}
}, "create"), $ = ue.removePrefix(t, _), q = U($);
return q && e.strictSlashes !== !0 && (q += `${g}?`), q;
};
$f.exports = ec;
});
// ../node_modules/picomatch/lib/picomatch.js
var td = m((Lz, ed) => {
"use strict";
var y0 = require("path"), D0 = Xf(), tc = Ad(), rc = Qs(), S0 = Bs(), K0 = /* @__PURE__ */ s((t) => t && typeof t == "object" && !Array.isArray(
t), "isObject"), kA = /* @__PURE__ */ s((t, A, e = !1) => {
if (Array.isArray(t)) {
let E = t.map((B) => kA(B, A, e));
return /* @__PURE__ */ s((B) => {
for (let p of E) {
let w = p(B);
if (w) return w;
}
return !1;
}, "arrayMatcher");
}
let r = K0(t) && t.tokens && t.input;
if (t === "" || typeof t != "string" && !r)
throw new TypeError("Expected pattern to be a non-empty string");
let i = A || {}, n = rc.isWindows(A), o = r ? kA.compileRe(t, A) : kA.makeRe(t, A, !1, !0), g = o.state;
delete o.state;
let C = /* @__PURE__ */ s(() => !1, "isIgnored");
if (i.ignore) {
let E = { ...A, ignore: null, onMatch: null, onResult: null };
C = kA(i.ignore, E, e);
}
let I = /* @__PURE__ */ s((E, Q = !1) => {
let { isMatch: B, match: p, output: w } = kA.test(E, o, A, { glob: t, posix: n }), D = { glob: t, state: g, regex: o, posix: n, input: E,
output: w, match: p, isMatch: B };
return typeof i.onResult == "function" && i.onResult(D), B === !1 ? (D.isMatch = !1, Q ? D : !1) : C(E) ? (typeof i.onIgnore == "funct\
ion" && i.onIgnore(D), D.isMatch = !1, Q ? D : !1) : (typeof i.onMatch == "function" && i.onMatch(D), Q ? D : !0);
}, "matcher");
return e && (I.state = g), I;
}, "picomatch");
kA.test = (t, A, e, { glob: r, posix: i } = {}) => {
if (typeof t != "string")
throw new TypeError("Expected input to be a string");
if (t === "")
return { isMatch: !1, output: "" };
let n = e || {}, o = n.format || (i ? rc.toPosixSlashes : null), g = t === r, C = g && o ? o(t) : t;
return g === !1 && (C = o ? o(t) : t, g = C === r), (g === !1 || n.capture === !0) && (n.matchBase === !0 || n.basename === !0 ? g = kA.
matchBase(t, A, e, i) : g = A.exec(C)), { isMatch: !!g, match: g, output: C };
};
kA.matchBase = (t, A, e, r = rc.isWindows(e)) => (A instanceof RegExp ? A : kA.makeRe(A, e)).test(y0.basename(t));
kA.isMatch = (t, A, e) => kA(A, e)(t);
kA.parse = (t, A) => Array.isArray(t) ? t.map((e) => kA.parse(e, A)) : tc(t, { ...A, fastpaths: !1 });
kA.scan = (t, A) => D0(t, A);
kA.compileRe = (t, A, e = !1, r = !1) => {
if (e === !0)
return t.output;
let i = A || {}, n = i.contains ? "" : "^", o = i.contains ? "" : "$", g = `${n}(?:${t.output})${o}`;
t && t.negated === !0 && (g = `^(?!${g}).*$`);
let C = kA.toRegex(g, A);
return r === !0 && (C.state = t), C;
};
kA.makeRe = (t, A = {}, e = !1, r = !1) => {
if (!t || typeof t != "string")
throw new TypeError("Expected a non-empty string");
let i = { negated: !1, fastpaths: !0 };
return A.fastpaths !== !1 && (t[0] === "." || t[0] === "*") && (i.output = tc.fastpaths(t, A)), i.output || (i = tc(t, A)), kA.compileRe(
i, A, e, r);
};
kA.toRegex = (t, A) => {
try {
let e = A || {};
return new RegExp(t, e.flags || (e.nocase ? "i" : ""));
} catch (e) {
if (A && A.debug === !0) throw e;
return /$^/;
}
};
kA.constants = S0;
ed.exports = kA;
});
// ../node_modules/picomatch/index.js
var uo = m((Yz, rd) => {
"use strict";
rd.exports = td();
});
// ../node_modules/@yarnpkg/fslib/node_modules/tslib/tslib.es6.js
var Pe = {};
Yi(Pe, {
__assign: () => hc,
__asyncDelegator: () => uv,
__asyncGenerator: () => Ev,
__asyncValues: () => Bv,
__await: () => ys,
__awaiter: () => av,
__classPrivateFieldGet: () => pv,
__classPrivateFieldSet: () => wv,
__createBinding: () => cv,
__decorate: () => nv,
__exportStar: () => Iv,
__extends: () => iv,
__generator: () => Cv,
__importDefault: () => dv,
__importStar: () => fv,
__makeTemplateObject: () => Qv,
__metadata: () => gv,
__param: () => ov,
__read: () => Hd,
__rest: () => sv,
__spread: () => hv,
__spreadArrays: () => lv,
__values: () => lc
});
function iv(t, A) {
Ic(t, A);
function e() {
this.constructor = t;
}
s(e, "__"), t.prototype = A === null ? Object.create(A) : (e.prototype = A.prototype, new e());
}
function sv(t, A) {
var e = {};
for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && A.indexOf(r) < 0 && (e[r] = t[r]);
if (t != null && typeof Object.getOwnPropertySymbols == "function")
for (var i = 0, r = Object.getOwnPropertySymbols(t); i < r.length; i++)
A.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(t, r[i]) && (e[r[i]] = t[r[i]]);
return e;
}
function nv(t, A, e, r) {
var i = arguments.length, n = i < 3 ? A : r === null ? r = Object.getOwnPropertyDescriptor(A, e) : r, o;
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") n = Reflect.decorate(t, A, e, r);
else for (var g = t.length - 1; g >= 0; g--) (o = t[g]) && (n = (i < 3 ? o(n) : i > 3 ? o(A, e, n) : o(A, e)) || n);
return i > 3 && n && Object.defineProperty(A, e, n), n;
}
function ov(t, A) {
return function(e, r) {
A(e, r, t);
};
}
function gv(t, A) {
if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(t, A);
}
function av(t, A, e, r) {
function i(n) {
return n instanceof e ? n : new e(function(o) {
o(n);
});
}
return s(i, "adopt"), new (e || (e = Promise))(function(n, o) {
function g(E) {
try {
I(r.next(E));
} catch (Q) {
o(Q);
}
}
s(g, "fulfilled");
function C(E) {
try {
I(r.throw(E));
} catch (Q) {
o(Q);
}
}
s(C, "rejected");
function I(E) {
E.done ? n(E.value) : i(E.value).then(g, C);
}
s(I, "step"), I((r = r.apply(t, A || [])).next());
});
}
function Cv(t, A) {
var e = { label: 0, sent: /* @__PURE__ */ s(function() {
if (n[0] & 1) throw n[1];
return n[1];
}, "sent"), trys: [], ops: [] }, r, i, n, o;
return o = { next: g(0), throw: g(1), return: g(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
return this;
}), o;
function g(I) {
return function(E) {
return C([I, E]);
};
}
function C(I) {
if (r) throw new TypeError("Generator is already executing.");
for (; e; ) try {
if (r = 1, i && (n = I[0] & 2 ? i.return : I[0] ? i.throw || ((n = i.return) && n.call(i), 0) : i.next) && !(n = n.call(i, I[1])).done)
return n;
switch (i = 0, n && (I = [I[0] & 2, n.value]), I[0]) {
case 0:
case 1:
n = I;
break;
case 4:
return e.label++, { value: I[1], done: !1 };
case 5:
e.label++, i = I[1], I = [0];
continue;
case 7:
I = e.ops.pop(), e.trys.pop();
continue;
default:
if (n = e.trys, !(n = n.length > 0 && n[n.length - 1]) && (I[0] === 6 || I[0] === 2)) {
e = 0;
continue;
}
if (I[0] === 3 && (!n || I[1] > n[0] && I[1] < n[3])) {
e.label = I[1];
break;
}
if (I[0] === 6 && e.label < n[1]) {
e.label = n[1], n = I;
break;
}
if (n && e.label < n[2]) {
e.label = n[2], e.ops.push(I);
break;
}
n[2] && e.ops.pop(), e.trys.pop();
continue;
}
I = A.call(t, e);
} catch (E) {
I = [6, E], i = 0;
} finally {
r = n = 0;
}
if (I[0] & 5) throw I[1];
return { value: I[0] ? I[1] : void 0, done: !0 };
}
}
function cv(t, A, e, r) {
r === void 0 && (r = e), t[r] = A[e];
}
function Iv(t, A) {
for (var e in t) e !== "default" && !A.hasOwnProperty(e) && (A[e] = t[e]);
}
function lc(t) {
var A = typeof Symbol == "function" && Symbol.iterator, e = A && t[A], r = 0;
if (e) return e.call(t);
if (t && typeof t.length == "number") return {
next: /* @__PURE__ */ s(function() {
return t && r >= t.length && (t = void 0), { value: t && t[r++], done: !t };
}, "next")
};
throw new TypeError(A ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function Hd(t, A) {
var e = typeof Symbol == "function" && t[Symbol.iterator];
if (!e) return t;
var r = e.call(t), i, n = [], o;
try {
for (; (A === void 0 || A-- > 0) && !(i = r.next()).done; ) n.push(i.value);
} catch (g) {
o = { error: g };
} finally {
try {
i && !i.done && (e = r.return) && e.call(r);
} finally {
if (o) throw o.error;
}
}
return n;
}
function hv() {
for (var t = [], A = 0; A < arguments.length; A++)
t = t.concat(Hd(arguments[A]));
return t;
}
function lv() {
for (var t = 0, A = 0, e = arguments.length; A < e; A++) t += arguments[A].length;
for (var r = Array(t), i = 0, A = 0; A < e; A++)
for (var n = arguments[A], o = 0, g = n.length; o < g; o++, i++)
r[i] = n[o];
return r;
}
function ys(t) {
return this instanceof ys ? (this.v = t, this) : new ys(t);
}
function Ev(t, A, e) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var r = e.apply(t, A || []), i, n = [];
return i = {}, o("next"), o("throw"), o("return"), i[Symbol.asyncIterator] = function() {
return this;
}, i;
function o(B) {
r[B] && (i[B] = function(p) {
return new Promise(function(w, D) {
n.push([B, p, w, D]) > 1 || g(B, p);
});
});
}
function g(B, p) {
try {
C(r[B](p));
} catch (w) {
Q(n[0][3], w);
}
}
function C(B) {
B.value instanceof ys ? Promise.resolve(B.value.v).then(I, E) : Q(n[0][2], B);
}
function I(B) {
g("next", B);
}
function E(B) {
g("throw", B);
}
function Q(B, p) {
B(p), n.shift(), n.length && g(n[0][0], n[0][1]);
}
}
function uv(t) {
var A, e;
return A = {}, r("next"), r("throw", function(i) {
throw i;
}), r("return"), A[Symbol.iterator] = function() {
return this;
}, A;
function r(i, n) {
A[i] = t[i] ? function(o) {
return (e = !e) ? { value: ys(t[i](o)), done: i === "return" } : n ? n(o) : o;
} : n;
}
}
function Bv(t) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var A = t[Symbol.asyncIterator], e;
return A ? A.call(t) : (t = typeof lc == "function" ? lc(t) : t[Symbol.iterator](), e = {}, r("next"), r("throw"), r("return"), e[Symbol.asyncIterator] =
function() {
return this;
}, e);
function r(n) {
e[n] = t[n] && function(o) {
return new Promise(function(g, C) {
o = t[n](o), i(g, C, o.done, o.value);
});
};
}
function i(n, o, g, C) {
Promise.resolve(C).then(function(I) {
n({ value: I, done: g });
}, o);
}
}
function Qv(t, A) {
return Object.defineProperty ? Object.defineProperty(t, "raw", { value: A }) : t.raw = A, t;
}
function fv(t) {
if (t && t.__esModule) return t;
var A = {};
if (t != null) for (var e in t) Object.hasOwnProperty.call(t, e) && (A[e] = t[e]);
return A.default = t, A;
}
function dv(t) {
return t && t.__esModule ? t : { default: t };
}
function pv(t, A) {
if (!A.has(t))
throw new TypeError("attempted to get private field on non-instance");
return A.get(t);
}
function wv(t, A, e) {
if (!A.has(t))
throw new TypeError("attempted to set private field on non-instance");
return A.set(t, e), e;
}
var Ic, hc, Ue = Qe(() => {
Ic = /* @__PURE__ */ s(function(t, A) {
return Ic = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, r) {
e.__proto__ = r;
} || function(e, r) {
for (var i in r) r.hasOwnProperty(i) && (e[i] = r[i]);
}, Ic(t, A);
}, "extendStatics");
s(iv, "__extends");
hc = /* @__PURE__ */ s(function() {
return hc = Object.assign || /* @__PURE__ */ s(function(A) {
for (var e, r = 1, i = arguments.length; r < i; r++) {
e = arguments[r];
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (A[n] = e[n]);
}
return A;
}, "__assign"), hc.apply(this, arguments);
}, "__assign");
s(sv, "__rest");
s(nv, "__decorate");
s(ov, "__param");
s(gv, "__metadata");
s(av, "__awaiter");
s(Cv, "__generator");
s(cv, "__createBinding");
s(Iv, "__exportStar");
s(lc, "__values");
s(Hd, "__read");
s(hv, "__spread");
s(lv, "__spreadArrays");
s(ys, "__await");
s(Ev, "__asyncGenerator");
s(uv, "__asyncDelegator");
s(Bv, "__asyncValues");
s(Qv, "__makeTemplateObject");
s(fv, "__importStar");
s(dv, "__importDefault");
s(pv, "__classPrivateFieldGet");
s(wv, "__classPrivateFieldSet");
});
// ../node_modules/@yarnpkg/fslib/lib/constants.js
var Ds = m((me) => {
"use strict";
Object.defineProperty(me, "__esModule", { value: !0 });
me.SAFE_TIME = me.S_IFLNK = me.S_IFREG = me.S_IFDIR = me.S_IFMT = void 0;
me.S_IFMT = 61440;
me.S_IFDIR = 16384;
me.S_IFREG = 32768;
me.S_IFLNK = 40960;
me.SAFE_TIME = 456789e3;
});
// ../node_modules/@yarnpkg/fslib/lib/statUtils.js
var Lo = m((KA) => {
"use strict";
Object.defineProperty(KA, "__esModule", { value: !0 });
KA.areStatsEqual = KA.convertToBigIntStats = KA.clearStats = KA.makeEmptyStats = KA.makeDefaultStats = KA.BigIntStatsEntry = KA.StatEntry =
KA.DirEntry = KA.DEFAULT_MODE = void 0;
var mv = (Ue(), fe(Pe)), jd = mv.__importStar(require("util")), RA = Ds();
KA.DEFAULT_MODE = RA.S_IFREG | 420;
var Ec = class {
static {
s(this, "DirEntry");
}
constructor() {
this.name = "", this.mode = 0;
}
isBlockDevice() {
return !1;
}
isCharacterDevice() {
return !1;
}
isDirectory() {
return (this.mode & RA.S_IFMT) === RA.S_IFDIR;
}
isFIFO() {
return !1;
}
isFile() {
return (this.mode & RA.S_IFMT) === RA.S_IFREG;
}
isSocket() {
return !1;
}
isSymbolicLink() {
return (this.mode & RA.S_IFMT) === RA.S_IFLNK;
}
};
KA.DirEntry = Ec;
var Ro = class {
static {
s(this, "StatEntry");
}
constructor() {
this.uid = 0, this.gid = 0, this.size = 0, this.blksize = 0, this.atimeMs = 0, this.mtimeMs = 0, this.ctimeMs = 0, this.birthtimeMs = 0,
this.atime = /* @__PURE__ */ new Date(0), this.mtime = /* @__PURE__ */ new Date(0), this.ctime = /* @__PURE__ */ new Date(0), this.birthtime =
/* @__PURE__ */ new Date(0), this.dev = 0, this.ino = 0, this.mode = KA.DEFAULT_MODE, this.nlink = 1, this.rdev = 0, this.blocks = 1;
}
isBlockDevice() {
return !1;
}
isCharacterDevice() {
return !1;
}
isDirectory() {
return (this.mode & RA.S_IFMT) === RA.S_IFDIR;
}
isFIFO() {
return !1;
}
isFile() {
return (this.mode & RA.S_IFMT) === RA.S_IFREG;
}
isSocket() {
return !1;
}
isSymbolicLink() {
return (this.mode & RA.S_IFMT) === RA.S_IFLNK;
}
};
KA.StatEntry = Ro;
var vo = class {
static {
s(this, "BigIntStatsEntry");
}
constructor() {
this.uid = BigInt(0), this.gid = BigInt(0), this.size = BigInt(0), this.blksize = BigInt(0), this.atimeMs = BigInt(0), this.mtimeMs = BigInt(
0), this.ctimeMs = BigInt(0), this.birthtimeMs = BigInt(0), this.atimeNs = BigInt(0), this.mtimeNs = BigInt(0), this.ctimeNs = BigInt(
0), this.birthtimeNs = BigInt(0), this.atime = /* @__PURE__ */ new Date(0), this.mtime = /* @__PURE__ */ new Date(0), this.ctime = /* @__PURE__ */ new Date(
0), this.birthtime = /* @__PURE__ */ new Date(0), this.dev = BigInt(0), this.ino = BigInt(0), this.mode = BigInt(KA.DEFAULT_MODE), this.
nlink = BigInt(1), this.rdev = BigInt(0), this.blocks = BigInt(1);
}
isBlockDevice() {
return !1;
}
isCharacterDevice() {
return !1;
}
isDirectory() {
return (this.mode & BigInt(RA.S_IFMT)) === BigInt(RA.S_IFDIR);
}
isFIFO() {
return !1;
}
isFile() {
return (this.mode & BigInt(RA.S_IFMT)) === BigInt(RA.S_IFREG);
}
isSocket() {
return !1;
}
isSymbolicLink() {
return (this.mode & BigInt(RA.S_IFMT)) === BigInt(RA.S_IFLNK);
}
};
KA.BigIntStatsEntry = vo;
function qd() {
return new Ro();
}
s(qd, "makeDefaultStats");
KA.makeDefaultStats = qd;
function yv() {
return zd(qd());
}
s(yv, "makeEmptyStats");
KA.makeEmptyStats = yv;
function zd(t) {
for (let A in t)
if (Object.prototype.hasOwnProperty.call(t, A)) {
let e = t[A];
typeof e == "number" ? t[A] = 0 : typeof e == "bigint" ? t[A] = BigInt(0) : jd.types.isDate(e) && (t[A] = /* @__PURE__ */ new Date(0));
}
return t;
}
s(zd, "clearStats");
KA.clearStats = zd;
function Dv(t) {
let A = new vo();
for (let e in t)
if (Object.prototype.hasOwnProperty.call(t, e)) {
let r = t[e];
typeof r == "number" ? A[e] = BigInt(r) : jd.types.isDate(r) && (A[e] = new Date(r));
}
return A.atimeNs = A.atimeMs * BigInt(1e6), A.mtimeNs = A.mtimeMs * BigInt(1e6), A.ctimeNs = A.ctimeMs * BigInt(1e6), A.birthtimeNs = A.
birthtimeMs * BigInt(1e6), A;
}
s(Dv, "convertToBigIntStats");
KA.convertToBigIntStats = Dv;
function Sv(t, A) {
if (t.atimeMs !== A.atimeMs || t.birthtimeMs !== A.birthtimeMs || t.blksize !== A.blksize || t.blocks !== A.blocks || t.ctimeMs !== A.ctimeMs ||
t.dev !== A.dev || t.gid !== A.gid || t.ino !== A.ino || t.isBlockDevice() !== A.isBlockDevice() || t.isCharacterDevice() !== A.isCharacterDevice() ||
t.isDirectory() !== A.isDirectory() || t.isFIFO() !== A.isFIFO() || t.isFile() !== A.isFile() || t.isSocket() !== A.isSocket() || t.isSymbolicLink() !==
A.isSymbolicLink() || t.mode !== A.mode || t.mtimeMs !== A.mtimeMs || t.nlink !== A.nlink || t.rdev !== A.rdev || t.size !== A.size || t.
uid !== A.uid)
return !1;
let e = t, r = A;
return !(e.atimeNs !== r.atimeNs || e.mtimeNs !== r.mtimeNs || e.ctimeNs !== r.ctimeNs || e.birthtimeNs !== r.birthtimeNs);
}
s(Sv, "areStatsEqual");
KA.areStatsEqual = Sv;
});
// ../node_modules/@yarnpkg/fslib/lib/path.js
var ee = m((hA) => {
"use strict";
Object.defineProperty(hA, "__esModule", { value: !0 });
hA.toFilename = hA.convertPath = hA.ppath = hA.npath = hA.Filename = hA.PortablePath = void 0;
var Kv = (Ue(), fe(Pe)), xo = Kv.__importDefault(require("path")), Wd;
(function(t) {
t[t.File = 0] = "File", t[t.Portable = 1] = "Portable", t[t.Native = 2] = "Native";
})(Wd || (Wd = {}));
hA.PortablePath = {
root: "/",
dot: ".",
parent: ".."
};
hA.Filename = {
nodeModules: "node_modules",
manifest: "package.json",
lockfile: "yarn.lock",
virtual: "__virtual__",
/**
* @deprecated
*/
pnpJs: ".pnp.js",
pnpCjs: ".pnp.cjs",
rc: ".yarnrc.yml"
};
hA.npath = Object.create(xo.default);
hA.ppath = Object.create(xo.default.posix);
hA.npath.cwd = () => process.cwd();
hA.ppath.cwd = () => uc(process.cwd());
hA.ppath.resolve = (...t) => t.length > 0 && hA.ppath.isAbsolute(t[0]) ? xo.default.posix.resolve(...t) : xo.default.posix.resolve(hA.ppath.
cwd(), ...t);
var Vd = /* @__PURE__ */ s(function(t, A, e) {
return A = t.normalize(A), e = t.normalize(e), A === e ? "." : (A.endsWith(t.sep) || (A = A + t.sep), e.startsWith(A) ? e.slice(A.length) :
null);
}, "contains");
hA.npath.fromPortablePath = Xd;
hA.npath.toPortablePath = uc;
hA.npath.contains = (t, A) => Vd(hA.npath, t, A);
hA.ppath.contains = (t, A) => Vd(hA.ppath, t, A);
var Fv = /^([a-zA-Z]:.*)$/, kv = /^\/\/(\.\/)?(.*)$/, bv = /^\/([a-zA-Z]:.*)$/, Nv = /^\/unc\/(\.dot\/)?(.*)$/;
function Xd(t) {
if (process.platform !== "win32")
return t;
let A, e;
if (A = t.match(bv))
t = A[1];
else if (e = t.match(Nv))
t = `\\\\${e[1] ? ".\\" : ""}${e[2]}`;
else
return t;
return t.replace(/\//g, "\\");
}
s(Xd, "fromPortablePath");
function uc(t) {
if (process.platform !== "win32")
return t;
t = t.replace(/\\/g, "/");
let A, e;
return (A = t.match(Fv)) ? t = `/${A[1]}` : (e = t.match(kv)) && (t = `/unc/${e[1] ? ".dot/" : ""}${e[2]}`), t;
}
s(uc, "toPortablePath");
function Mv(t, A) {
return t === hA.npath ? Xd(A) : uc(A);
}
s(Mv, "convertPath");
hA.convertPath = Mv;
function Rv(t) {
if (hA.npath.parse(t).dir !== "" || hA.ppath.parse(t).dir !== "")
throw new Error(`Invalid filename: "${t}"`);
return t;
}
s(Rv, "toFilename");
hA.toFilename = Rv;
});
// ../node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js
var pc = m((dr) => {
"use strict";
Object.defineProperty(dr, "__esModule", { value: !0 });
dr.copyPromise = dr.LinkStrategy = void 0;
var Zd = (Ue(), fe(Pe)), Qc = Zd.__importDefault(require("fs")), vv = Zd.__importStar(Ds()), Lv = ee(), Yo = new Date(vv.SAFE_TIME * 1e3),
$d;
(function(t) {
t.Allow = "allow", t.ReadOnly = "readOnly";
})($d = dr.LinkStrategy || (dr.LinkStrategy = {}));
async function xv(t, A, e, r, i) {
let n = t.pathUtils.normalize(A), o = e.pathUtils.normalize(r), g = [], C = [], { atime: I, mtime: E } = i.stableTime ? { atime: Yo, mtime: Yo } :
await e.lstatPromise(o);
await t.mkdirpPromise(t.pathUtils.dirname(A), { utimes: [I, E] });
let Q = typeof t.lutimesPromise == "function" ? t.lutimesPromise.bind(t) : t.utimesPromise.bind(t);
await fc(g, C, Q, t, n, e, o, { ...i, didParentExist: !0 });
for (let B of g)
await B();
await Promise.all(C.map((B) => B()));
}
s(xv, "copyPromise");
dr.copyPromise = xv;
async function fc(t, A, e, r, i, n, o, g) {
var C, I;
let E = g.didParentExist ? await Yv(r, i) : null, Q = await n.lstatPromise(o), { atime: B, mtime: p } = g.stableTime ? { atime: Yo, mtime: Yo } :
Q, w;
switch (!0) {
case Q.isDirectory():
w = await Pv(t, A, e, r, i, E, n, o, Q, g);
break;
case Q.isFile():
w = await _v(t, A, e, r, i, E, n, o, Q, g);
break;
case Q.isSymbolicLink():
w = await Gv(t, A, e, r, i, E, n, o, Q, g);
break;
default:
throw new Error(`Unsupported file type (${Q.mode})`);
}
return (w || ((C = E?.mtime) === null || C === void 0 ? void 0 : C.getTime()) !== p.getTime() || ((I = E?.atime) === null || I === void 0 ?
void 0 : I.getTime()) !== B.getTime()) && (A.push(() => e(i, B, p)), w = !0), (E === null || (E.mode & 511) !== (Q.mode & 511)) && (A.push(
() => r.chmodPromise(i, Q.mode & 511)), w = !0), w;
}
s(fc, "copyImpl");
async function Yv(t, A) {
try {
return await t.lstatPromise(A);
} catch {
return null;
}
}
s(Yv, "maybeLStat");
async function Pv(t, A, e, r, i, n, o, g, C, I) {
if (n !== null && !n.isDirectory())
if (I.overwrite)
t.push(async () => r.removePromise(i)), n = null;
else
return !1;
let E = !1;
n === null && (t.push(async () => {
try {
await r.mkdirPromise(i, { mode: C.mode });
} catch (p) {
if (p.code !== "EEXIST")
throw p;
}
}), E = !0);
let Q = await o.readdirPromise(g), B = I.didParentExist && !n ? { ...I, didParentExist: !1 } : I;
if (I.stableSort)
for (let p of Q.sort())
await fc(t, A, e, r, r.pathUtils.join(i, p), o, o.pathUtils.join(g, p), B) && (E = !0);
else
(await Promise.all(Q.map(async (w) => {
await fc(t, A, e, r, r.pathUtils.join(i, w), o, o.pathUtils.join(g, w), B);
}))).some((w) => w) && (E = !0);
return E;
}
s(Pv, "copyFolder");
var Bc = /* @__PURE__ */ new WeakMap();
function dc(t, A, e, r, i) {
return async () => {
await t.linkPromise(e, A), i === $d.ReadOnly && (r.mode &= -147, await t.chmodPromise(A, r.mode));
};
}
s(dc, "makeLinkOperation");
function Uv(t, A, e, r, i) {
let n = Bc.get(t);
return typeof n > "u" ? async () => {
try {
await t.copyFilePromise(e, A, Qc.default.constants.COPYFILE_FICLONE_FORCE), Bc.set(t, !0);
} catch (o) {
if (o.code === "ENOSYS" || o.code === "ENOTSUP")
Bc.set(t, !1), await dc(t, A, e, r, i)();
else
throw o;
}
} : n ? async () => t.copyFilePromise(e, A, Qc.default.constants.COPYFILE_FICLONE_FORCE) : dc(t, A, e, r, i);
}
s(Uv, "makeCloneLinkOperation");
async function _v(t, A, e, r, i, n, o, g, C, I) {
var E;
if (n !== null)
if (I.overwrite)
t.push(async () => r.removePromise(i)), n = null;
else
return !1;
let Q = (E = I.linkStrategy) !== null && E !== void 0 ? E : null, B = r === o ? Q !== null ? Uv(r, i, g, C, Q) : async () => r.copyFilePromise(
g, i, Qc.default.constants.COPYFILE_FICLONE) : Q !== null ? dc(r, i, g, C, Q) : async () => r.writeFilePromise(i, await o.readFilePromise(
g));
return t.push(async () => B()), !0;
}
s(_v, "copyFile");
async function Gv(t, A, e, r, i, n, o, g, C, I) {
if (n !== null)
if (I.overwrite)
t.push(async () => r.removePromise(i)), n = null;
else
return !1;
return t.push(async () => {
await r.symlinkPromise((0, Lv.convertPath)(r.pathUtils, await o.readlinkPromise(g)), i);
}), !0;
}
s(Gv, "copySymlink");
});
// ../node_modules/@yarnpkg/fslib/lib/errors.js
var Ss = m((lA) => {
"use strict";
Object.defineProperty(lA, "__esModule", { value: !0 });
lA.LibzipError = lA.ERR_DIR_CLOSED = lA.EOPNOTSUPP = lA.ENOTEMPTY = lA.EROFS = lA.EEXIST = lA.EISDIR = lA.ENOTDIR = lA.ENOENT = lA.EBADF =
lA.EINVAL = lA.ENOSYS = lA.EBUSY = void 0;
function ye(t, A) {
return Object.assign(new Error(`${t}: ${A}`), { code: t });
}
s(ye, "makeError");
function Jv(t) {
return ye("EBUSY", t);
}
s(Jv, "EBUSY");
lA.EBUSY = Jv;
function Ov(t, A) {
return ye("ENOSYS", `${t}, ${A}`);
}
s(Ov, "ENOSYS");
lA.ENOSYS = Ov;
function Tv(t) {
return ye("EINVAL", `invalid argument, ${t}`);
}
s(Tv, "EINVAL");
lA.EINVAL = Tv;
function Hv(t) {
return ye("EBADF", `bad file descriptor, ${t}`);
}
s(Hv, "EBADF");
lA.EBADF = Hv;
function jv(t) {
return ye("ENOENT", `no such file or directory, ${t}`);
}
s(jv, "ENOENT");
lA.ENOENT = jv;
function qv(t) {
return ye("ENOTDIR", `not a directory, ${t}`);
}
s(qv, "ENOTDIR");
lA.ENOTDIR = qv;
function zv(t) {
return ye("EISDIR", `illegal operation on a directory, ${t}`);
}
s(zv, "EISDIR");
lA.EISDIR = zv;
function Wv(t) {
return ye("EEXIST", `file already exists, ${t}`);
}
s(Wv, "EEXIST");
lA.EEXIST = Wv;
function Vv(t) {
return ye("EROFS", `read-only filesystem, ${t}`);
}
s(Vv, "EROFS");
lA.EROFS = Vv;
function Xv(t) {
return ye("ENOTEMPTY", `directory not empty, ${t}`);
}
s(Xv, "ENOTEMPTY");
lA.ENOTEMPTY = Xv;
function Zv(t) {
return ye("EOPNOTSUPP", `operation not supported, ${t}`);
}
s(Zv, "EOPNOTSUPP");
lA.EOPNOTSUPP = Zv;
function $v() {
return ye("ERR_DIR_CLOSED", "Directory handle was closed");
}
s($v, "ERR_DIR_CLOSED");
lA.ERR_DIR_CLOSED = $v;
var wc = class extends Error {
static {
s(this, "LibzipError");
}
constructor(A, e) {
super(A), this.name = "Libzip Error", this.code = e;
}
};
lA.LibzipError = wc;
});
// ../node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js
var mc = m((hi) => {
"use strict";
Object.defineProperty(hi, "__esModule", { value: !0 });
hi.opendir = hi.CustomDir = void 0;
var AL = (Ue(), fe(Pe)), eL = AL.__importStar(Ss()), Po = class {
static {
s(this, "CustomDir");
}
constructor(A, e, r = {}) {
this.path = A, this.nextDirent = e, this.opts = r, this.closed = !1;
}
throwIfClosed() {
if (this.closed)
throw eL.ERR_DIR_CLOSED();
}
async *[Symbol.asyncIterator]() {
try {
let A;
for (; (A = await this.read()) !== null; )
yield A;
} finally {
await this.close();
}
}
read(A) {
let e = this.readSync();
return typeof A < "u" ? A(null, e) : Promise.resolve(e);
}
readSync() {
return this.throwIfClosed(), this.nextDirent();
}
close(A) {
return this.closeSync(), typeof A < "u" ? A(null) : Promise.resolve();
}
closeSync() {
var A, e;
this.throwIfClosed(), (e = (A = this.opts).onClose) === null || e === void 0 || e.call(A), this.closed = !0;
}
};
hi.CustomDir = Po;
function tL(t, A, e, r) {
let i = /* @__PURE__ */ s(() => {
let n = e.shift();
return typeof n > "u" ? null : Object.assign(t.statSync(t.pathUtils.join(A, n)), {
name: n
});
}, "nextDirent");
return new Po(A, i, r);
}
s(tL, "opendir");
hi.opendir = tL;
});
// ../node_modules/@yarnpkg/fslib/lib/FakeFS.js
var Ot = m((Jt) => {
"use strict";
Object.defineProperty(Jt, "__esModule", { value: !0 });
Jt.normalizeLineEndings = Jt.BasePortableFakeFS = Jt.FakeFS = void 0;
var rL = require("os"), iL = pc(), Ap = ee(), Uo = class {
static {
s(this, "FakeFS");
}
constructor(A) {
this.pathUtils = A;
}
async *genTraversePromise(A, { stableSort: e = !1 } = {}) {
let r = [A];
for (; r.length > 0; ) {
let i = r.shift();
if ((await this.lstatPromise(i)).isDirectory()) {
let o = await this.readdirPromise(i);
if (e)
for (let g of o.sort())
r.push(this.pathUtils.join(i, g));
else
throw new Error("Not supported");
} else
yield i;
}
}
async removePromise(A, { recursive: e = !0, maxRetries: r = 5 } = {}) {
let i;
try {
i = await this.lstatPromise(A);
} catch (n) {
if (n.code === "ENOENT")
return;
throw n;
}
if (i.isDirectory()) {
if (e) {
let n = await this.readdirPromise(A);
await Promise.all(n.map((o) => this.removePromise(this.pathUtils.resolve(A, o))));
}
for (let n = 0; n <= r; n++)
try {
await this.rmdirPromise(A);
break;
} catch (o) {
if (o.code !== "EBUSY" && o.code !== "ENOTEMPTY")
throw o;
n < r && await new Promise((g) => setTimeout(g, n * 100));
}
} else
await this.unlinkPromise(A);
}
removeSync(A, { recursive: e = !0 } = {}) {
let r;
try {
r = this.lstatSync(A);
} catch (i) {
if (i.code === "ENOENT")
return;
throw i;
}
if (r.isDirectory()) {
if (e)
for (let i of this.readdirSync(A))
this.removeSync(this.pathUtils.resolve(A, i));
this.rmdirSync(A);
} else
this.unlinkSync(A);
}
async mkdirpPromise(A, { chmod: e, utimes: r } = {}) {
if (A = this.resolve(A), A === this.pathUtils.dirname(A))
return;
let i = A.split(this.pathUtils.sep), n;
for (let o = 2; o <= i.length; ++o) {
let g = i.slice(0, o).join(this.pathUtils.sep);
if (!this.existsSync(g)) {
try {
await this.mkdirPromise(g);
} catch (C) {
if (C.code === "EEXIST")
continue;
throw C;
}
if (n ?? (n = g), e != null && await this.chmodPromise(g, e), r != null)
await this.utimesPromise(g, r[0], r[1]);
else {
let C = await this.statPromise(this.pathUtils.dirname(g));
await this.utimesPromise(g, C.atime, C.mtime);
}
}
}
return n;
}
mkdirpSync(A, { chmod: e, utimes: r } = {}) {
if (A = this.resolve(A), A === this.pathUtils.dirname(A))
return;
let i = A.split(this.pathUtils.sep), n;
for (let o = 2; o <= i.length; ++o) {
let g = i.slice(0, o).join(this.pathUtils.sep);
if (!this.existsSync(g)) {
try {
this.mkdirSync(g);
} catch (C) {
if (C.code === "EEXIST")
continue;
throw C;
}
if (n ?? (n = g), e != null && this.chmodSync(g, e), r != null)
this.utimesSync(g, r[0], r[1]);
else {
let C = this.statSync(this.pathUtils.dirname(g));
this.utimesSync(g, C.atime, C.mtime);
}
}
}
return n;
}
async copyPromise(A, e, { baseFs: r = this, overwrite: i = !0, stableSort: n = !1, stableTime: o = !1, linkStrategy: g = null } = {}) {
return await (0, iL.copyPromise)(this, A, r, e, { overwrite: i, stableSort: n, stableTime: o, linkStrategy: g });
}
copySync(A, e, { baseFs: r = this, overwrite: i = !0 } = {}) {
let n = r.lstatSync(e), o = this.existsSync(A);
if (n.isDirectory()) {
this.mkdirpSync(A);
let C = r.readdirSync(e);
for (let I of C)
this.copySync(this.pathUtils.join(A, I), r.pathUtils.join(e, I), { baseFs: r, overwrite: i });
} else if (n.isFile()) {
if (!o || i) {
o && this.removeSync(A);
let C = r.readFileSync(e);
this.writeFileSync(A, C);
}
} else if (n.isSymbolicLink()) {
if (!o || i) {
o && this.removeSync(A);
let C = r.readlinkSync(e);
this.symlinkSync((0, Ap.convertPath)(this.pathUtils, C), A);
}
} else
throw new Error(`Unsupported file type (file: ${e}, mode: 0o${n.mode.toString(8).padStart(6, "0")})`);
let g = n.mode & 511;
this.chmodSync(A, g);
}
async changeFilePromise(A, e, r = {}) {
return Buffer.isBuffer(e) ? this.changeFileBufferPromise(A, e, r) : this.changeFileTextPromise(A, e, r);
}
async changeFileBufferPromise(A, e, { mode: r } = {}) {
let i = Buffer.alloc(0);
try {
i = await this.readFilePromise(A);
} catch {
}
Buffer.compare(i, e) !== 0 && await this.writeFilePromise(A, e, { mode: r });
}
async changeFileTextPromise(A, e, { automaticNewlines: r, mode: i } = {}) {
let n = "";
try {
n = await this.readFilePromise(A, "utf8");
} catch {
}
let o = r ? Dc(n, e) : e;
n !== o && await this.writeFilePromise(A, o, { mode: i });
}
changeFileSync(A, e, r = {}) {
return Buffer.isBuffer(e) ? this.changeFileBufferSync(A, e, r) : this.changeFileTextSync(A, e, r);
}
changeFileBufferSync(A, e, { mode: r } = {}) {
let i = Buffer.alloc(0);
try {
i = this.readFileSync(A);
} catch {
}
Buffer.compare(i, e) !== 0 && this.writeFileSync(A, e, { mode: r });
}
changeFileTextSync(A, e, { automaticNewlines: r = !1, mode: i } = {}) {
let n = "";
try {
n = this.readFileSync(A, "utf8");
} catch {
}
let o = r ? Dc(n, e) : e;
n !== o && this.writeFileSync(A, o, { mode: i });
}
async movePromise(A, e) {
try {
await this.renamePromise(A, e);
} catch (r) {
if (r.code === "EXDEV")
await this.copyPromise(e, A), await this.removePromise(A);
else
throw r;
}
}
moveSync(A, e) {
try {
this.renameSync(A, e);
} catch (r) {
if (r.code === "EXDEV")
this.copySync(e, A), this.removeSync(A);
else
throw r;
}
}
async lockPromise(A, e) {
let r = `${A}.flock`, i = 1e3 / 60, n = Date.now(), o = null, g = /* @__PURE__ */ s(async () => {
let C;
try {
[C] = await this.readJsonPromise(r);
} catch {
return Date.now() - n < 500;
}
try {
return process.kill(C, 0), !0;
} catch {
return !1;
}
}, "isAlive");
for (; o === null; )
try {
o = await this.openPromise(r, "wx");
} catch (C) {
if (C.code === "EEXIST") {
if (!await g())
try {
await this.unlinkPromise(r);
continue;
} catch {
}
if (Date.now() - n < 60 * 1e3)
await new Promise((I) => setTimeout(I, i));
else
throw new Error(`Couldn't acquire a lock in a reasonable time (via ${r})`);
} else
throw C;
}
await this.writePromise(o, JSON.stringify([process.pid]));
try {
return await e();
} finally {
try {
await this.closePromise(o), await this.unlinkPromise(r);
} catch {
}
}
}
async readJsonPromise(A) {
let e = await this.readFilePromise(A, "utf8");
try {
return JSON.parse(e);
} catch (r) {
throw r.message += ` (in ${A})`, r;
}
}
readJsonSync(A) {
let e = this.readFileSync(A, "utf8");
try {
return JSON.parse(e);
} catch (r) {
throw r.message += ` (in ${A})`, r;
}
}
async writeJsonPromise(A, e) {
return await this.writeFilePromise(A, `${JSON.stringify(e, null, 2)}
`);
}
writeJsonSync(A, e) {
return this.writeFileSync(A, `${JSON.stringify(e, null, 2)}
`);
}
async preserveTimePromise(A, e) {
let r = await this.lstatPromise(A), i = await e();
typeof i < "u" && (A = i), this.lutimesPromise ? await this.lutimesPromise(A, r.atime, r.mtime) : r.isSymbolicLink() || await this.utimesPromise(
A, r.atime, r.mtime);
}
async preserveTimeSync(A, e) {
let r = this.lstatSync(A), i = e();
typeof i < "u" && (A = i), this.lutimesSync ? this.lutimesSync(A, r.atime, r.mtime) : r.isSymbolicLink() || this.utimesSync(A, r.atime,
r.mtime);
}
};
Jt.FakeFS = Uo;
var yc = class extends Uo {
static {
s(this, "BasePortableFakeFS");
}
constructor() {
super(Ap.ppath);
}
};
Jt.BasePortableFakeFS = yc;
function sL(t) {
let A = t.match(/\r?\n/g);
if (A === null)
return rL.EOL;
let e = A.filter((i) => i === `\r
`).length, r = A.length - e;
return e > r ? `\r
` : `
`;
}
s(sL, "getEndOfLine");
function Dc(t, A) {
return A.replace(/\r?\n/g, sL(t));
}
s(Dc, "normalizeLineEndings");
Jt.normalizeLineEndings = Dc;
});
// ../node_modules/@yarnpkg/fslib/lib/NodeFS.js
var Tt = m((_o) => {
"use strict";
Object.defineProperty(_o, "__esModule", { value: !0 });
_o.NodeFS = void 0;
var nL = (Ue(), fe(Pe)), oL = nL.__importDefault(require("fs")), gL = Ot(), ep = Ss(), x = ee(), Sc = class extends gL.BasePortableFakeFS {
static {
s(this, "NodeFS");
}
constructor(A = oL.default) {
super(), this.realFs = A, typeof this.realFs.lutimes < "u" && (this.lutimesPromise = this.lutimesPromiseImpl, this.lutimesSync = this.
lutimesSyncImpl);
}
getExtractHint() {
return !1;
}
getRealPath() {
return x.PortablePath.root;
}
resolve(A) {
return x.ppath.resolve(A);
}
async openPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.open(x.npath.fromPortablePath(A), e, r, this.makeCallback(i, n));
});
}
openSync(A, e, r) {
return this.realFs.openSync(x.npath.fromPortablePath(A), e, r);
}
async opendirPromise(A, e) {
return await new Promise((r, i) => {
typeof e < "u" ? this.realFs.opendir(x.npath.fromPortablePath(A), e, this.makeCallback(r, i)) : this.realFs.opendir(x.npath.fromPortablePath(
A), this.makeCallback(r, i));
}).then((r) => Object.defineProperty(r, "path", { value: A, configurable: !0, writable: !0 }));
}
opendirSync(A, e) {
let r = typeof e < "u" ? this.realFs.opendirSync(x.npath.fromPortablePath(A), e) : this.realFs.opendirSync(x.npath.fromPortablePath(A));
return Object.defineProperty(r, "path", { value: A, configurable: !0, writable: !0 });
}
async readPromise(A, e, r = 0, i = 0, n = -1) {
return await new Promise((o, g) => {
this.realFs.read(A, e, r, i, n, (C, I) => {
C ? g(C) : o(I);
});
});
}
readSync(A, e, r, i, n) {
return this.realFs.readSync(A, e, r, i, n);
}
async writePromise(A, e, r, i, n) {
return await new Promise((o, g) => typeof e == "string" ? this.realFs.write(A, e, r, this.makeCallback(o, g)) : this.realFs.write(A, e,
r, i, n, this.makeCallback(o, g)));
}
writeSync(A, e, r, i, n) {
return typeof e == "string" ? this.realFs.writeSync(A, e, r) : this.realFs.writeSync(A, e, r, i, n);
}
async closePromise(A) {
await new Promise((e, r) => {
this.realFs.close(A, this.makeCallback(e, r));
});
}
closeSync(A) {
this.realFs.closeSync(A);
}
createReadStream(A, e) {
let r = A !== null ? x.npath.fromPortablePath(A) : A;
return this.realFs.createReadStream(r, e);
}
createWriteStream(A, e) {
let r = A !== null ? x.npath.fromPortablePath(A) : A;
return this.realFs.createWriteStream(r, e);
}
async realpathPromise(A) {
return await new Promise((e, r) => {
this.realFs.realpath(x.npath.fromPortablePath(A), {}, this.makeCallback(e, r));
}).then((e) => x.npath.toPortablePath(e));
}
realpathSync(A) {
return x.npath.toPortablePath(this.realFs.realpathSync(x.npath.fromPortablePath(A), {}));
}
async existsPromise(A) {
return await new Promise((e) => {
this.realFs.exists(x.npath.fromPortablePath(A), e);
});
}
accessSync(A, e) {
return this.realFs.accessSync(x.npath.fromPortablePath(A), e);
}
async accessPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.access(x.npath.fromPortablePath(A), e, this.makeCallback(r, i));
});
}
existsSync(A) {
return this.realFs.existsSync(x.npath.fromPortablePath(A));
}
async statPromise(A, e) {
return await new Promise((r, i) => {
e ? this.realFs.stat(x.npath.fromPortablePath(A), e, this.makeCallback(r, i)) : this.realFs.stat(x.npath.fromPortablePath(A), this.makeCallback(
r, i));
});
}
statSync(A, e) {
return e ? this.realFs.statSync(x.npath.fromPortablePath(A), e) : this.realFs.statSync(x.npath.fromPortablePath(A));
}
async fstatPromise(A, e) {
return await new Promise((r, i) => {
e ? this.realFs.fstat(A, e, this.makeCallback(r, i)) : this.realFs.fstat(A, this.makeCallback(r, i));
});
}
fstatSync(A, e) {
return e ? this.realFs.fstatSync(A, e) : this.realFs.fstatSync(A);
}
async lstatPromise(A, e) {
return await new Promise((r, i) => {
e ? this.realFs.lstat(x.npath.fromPortablePath(A), e, this.makeCallback(r, i)) : this.realFs.lstat(x.npath.fromPortablePath(A), this.
makeCallback(r, i));
});
}
lstatSync(A, e) {
return e ? this.realFs.lstatSync(x.npath.fromPortablePath(A), e) : this.realFs.lstatSync(x.npath.fromPortablePath(A));
}
async fchmodPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.fchmod(A, e, this.makeCallback(r, i));
});
}
fchmodSync(A, e) {
return this.realFs.fchmodSync(A, e);
}
async chmodPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.chmod(x.npath.fromPortablePath(A), e, this.makeCallback(r, i));
});
}
chmodSync(A, e) {
return this.realFs.chmodSync(x.npath.fromPortablePath(A), e);
}
async fchownPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.fchown(A, e, r, this.makeCallback(i, n));
});
}
fchownSync(A, e, r) {
return this.realFs.fchownSync(A, e, r);
}
async chownPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.chown(x.npath.fromPortablePath(A), e, r, this.makeCallback(i, n));
});
}
chownSync(A, e, r) {
return this.realFs.chownSync(x.npath.fromPortablePath(A), e, r);
}
async renamePromise(A, e) {
return await new Promise((r, i) => {
this.realFs.rename(x.npath.fromPortablePath(A), x.npath.fromPortablePath(e), this.makeCallback(r, i));
});
}
renameSync(A, e) {
return this.realFs.renameSync(x.npath.fromPortablePath(A), x.npath.fromPortablePath(e));
}
async copyFilePromise(A, e, r = 0) {
return await new Promise((i, n) => {
this.realFs.copyFile(x.npath.fromPortablePath(A), x.npath.fromPortablePath(e), r, this.makeCallback(i, n));
});
}
copyFileSync(A, e, r = 0) {
return this.realFs.copyFileSync(x.npath.fromPortablePath(A), x.npath.fromPortablePath(e), r);
}
async appendFilePromise(A, e, r) {
return await new Promise((i, n) => {
let o = typeof A == "string" ? x.npath.fromPortablePath(A) : A;
r ? this.realFs.appendFile(o, e, r, this.makeCallback(i, n)) : this.realFs.appendFile(o, e, this.makeCallback(i, n));
});
}
appendFileSync(A, e, r) {
let i = typeof A == "string" ? x.npath.fromPortablePath(A) : A;
r ? this.realFs.appendFileSync(i, e, r) : this.realFs.appendFileSync(i, e);
}
async writeFilePromise(A, e, r) {
return await new Promise((i, n) => {
let o = typeof A == "string" ? x.npath.fromPortablePath(A) : A;
r ? this.realFs.writeFile(o, e, r, this.makeCallback(i, n)) : this.realFs.writeFile(o, e, this.makeCallback(i, n));
});
}
writeFileSync(A, e, r) {
let i = typeof A == "string" ? x.npath.fromPortablePath(A) : A;
r ? this.realFs.writeFileSync(i, e, r) : this.realFs.writeFileSync(i, e);
}
async unlinkPromise(A) {
return await new Promise((e, r) => {
this.realFs.unlink(x.npath.fromPortablePath(A), this.makeCallback(e, r));
});
}
unlinkSync(A) {
return this.realFs.unlinkSync(x.npath.fromPortablePath(A));
}
async utimesPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.utimes(x.npath.fromPortablePath(A), e, r, this.makeCallback(i, n));
});
}
utimesSync(A, e, r) {
this.realFs.utimesSync(x.npath.fromPortablePath(A), e, r);
}
async lutimesPromiseImpl(A, e, r) {
let i = this.realFs.lutimes;
if (typeof i > "u")
throw (0, ep.ENOSYS)("unavailable Node binding", `lutimes '${A}'`);
return await new Promise((n, o) => {
i.call(this.realFs, x.npath.fromPortablePath(A), e, r, this.makeCallback(n, o));
});
}
lutimesSyncImpl(A, e, r) {
let i = this.realFs.lutimesSync;
if (typeof i > "u")
throw (0, ep.ENOSYS)("unavailable Node binding", `lutimes '${A}'`);
i.call(this.realFs, x.npath.fromPortablePath(A), e, r);
}
async mkdirPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.mkdir(x.npath.fromPortablePath(A), e, this.makeCallback(r, i));
});
}
mkdirSync(A, e) {
return this.realFs.mkdirSync(x.npath.fromPortablePath(A), e);
}
async rmdirPromise(A, e) {
return await new Promise((r, i) => {
e ? this.realFs.rmdir(x.npath.fromPortablePath(A), e, this.makeCallback(r, i)) : this.realFs.rmdir(x.npath.fromPortablePath(A), this.
makeCallback(r, i));
});
}
rmdirSync(A, e) {
return this.realFs.rmdirSync(x.npath.fromPortablePath(A), e);
}
async linkPromise(A, e) {
return await new Promise((r, i) => {
this.realFs.link(x.npath.fromPortablePath(A), x.npath.fromPortablePath(e), this.makeCallback(r, i));
});
}
linkSync(A, e) {
return this.realFs.linkSync(x.npath.fromPortablePath(A), x.npath.fromPortablePath(e));
}
async symlinkPromise(A, e, r) {
return await new Promise((i, n) => {
this.realFs.symlink(x.npath.fromPortablePath(A.replace(/\/+$/, "")), x.npath.fromPortablePath(e), r, this.makeCallback(i, n));
});
}
symlinkSync(A, e, r) {
return this.realFs.symlinkSync(x.npath.fromPortablePath(A.replace(/\/+$/, "")), x.npath.fromPortablePath(e), r);
}
async readFilePromise(A, e) {
return await new Promise((r, i) => {
let n = typeof A == "string" ? x.npath.fromPortablePath(A) : A;
this.realFs.readFile(n, e, this.makeCallback(r, i));
});
}
readFileSync(A, e) {
let r = typeof A == "string" ? x.npath.fromPortablePath(A) : A;
return this.realFs.readFileSync(r, e);
}
async readdirPromise(A, e) {
return await new Promise((r, i) => {
e?.withFileTypes ? this.realFs.readdir(x.npath.fromPortablePath(A), { withFileTypes: !0 }, this.makeCallback(r, i)) : this.realFs.readdir(
x.npath.fromPortablePath(A), this.makeCallback((n) => r(n), i));
});
}
readdirSync(A, e) {
return e?.withFileTypes ? this.realFs.readdirSync(x.npath.fromPortablePath(A), { withFileTypes: !0 }) : this.realFs.readdirSync(x.npath.
fromPortablePath(A));
}
async readlinkPromise(A) {
return await new Promise((e, r) => {
this.realFs.readlink(x.npath.fromPortablePath(A), this.makeCallback(e, r));
}).then((e) => x.npath.toPortablePath(e));
}
readlinkSync(A) {
return x.npath.toPortablePath(this.realFs.readlinkSync(x.npath.fromPortablePath(A)));
}
async truncatePromise(A, e) {
return await new Promise((r, i) => {
this.realFs.truncate(x.npath.fromPortablePath(A), e, this.makeCallback(r, i));
});
}
truncateSync(A, e) {
return this.realFs.truncateSync(x.npath.fromPortablePath(A), e);
}
async ftruncatePromise(A, e) {
return await new Promise((r, i) => {
this.realFs.ftruncate(A, e, this.makeCallback(r, i));
});
}
ftruncateSync(A, e) {
return this.realFs.ftruncateSync(A, e);
}
watch(A, e, r) {
return this.realFs.watch(
x.npath.fromPortablePath(A),
// @ts-expect-error
e,
r
);
}
watchFile(A, e, r) {
return this.realFs.watchFile(
x.npath.fromPortablePath(A),
// @ts-expect-error
e,
r
);
}
unwatchFile(A, e) {
return this.realFs.unwatchFile(x.npath.fromPortablePath(A), e);
}
makeCallback(A, e) {
return (r, i) => {
r ? e(r) : A(i);
};
}
};
_o.NodeFS = Sc;
});
// ../node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js
var tp = m((De) => {
"use strict";
Object.defineProperty(De, "__esModule", { value: !0 });
De.CustomStatWatcher = De.assertStatus = De.Status = De.Event = void 0;
var aL = (Ue(), fe(Pe)), CL = require("events"), Go = aL.__importStar(Lo()), li;
(function(t) {
t.Change = "change", t.Stop = "stop";
})(li = De.Event || (De.Event = {}));
var Ei;
(function(t) {
t.Ready = "ready", t.Running = "running", t.Stopped = "stopped";
})(Ei = De.Status || (De.Status = {}));
function Kc(t, A) {
if (t !== A)
throw new Error(`Invalid StatWatcher status: expected '${A}', got '${t}'`);
}
s(Kc, "assertStatus");
De.assertStatus = Kc;
var Fc = class t extends CL.EventEmitter {
static {
s(this, "CustomStatWatcher");
}
static create(A, e, r) {
let i = new t(A, e, r);
return i.start(), i;
}
constructor(A, e, { bigint: r = !1 } = {}) {
super(), this.status = Ei.Ready, this.changeListeners = /* @__PURE__ */ new Map(), this.startTimeout = null, this.fakeFs = A, this.path =
e, this.bigint = r, this.lastStats = this.stat();
}
start() {
Kc(this.status, Ei.Ready), this.status = Ei.Running, this.startTimeout = setTimeout(() => {
this.startTimeout = null, this.fakeFs.existsSync(this.path) || this.emit(li.Change, this.lastStats, this.lastStats);
}, 3);
}
stop() {
Kc(this.status, Ei.Running), this.status = Ei.Stopped, this.startTimeout !== null && (clearTimeout(this.startTimeout), this.startTimeout =
null), this.emit(li.Stop);
}
stat() {
try {
return this.fakeFs.statSync(this.path, { bigint: this.bigint });
} catch {
let e = this.bigint ? new Go.BigIntStatsEntry() : new Go.StatEntry();
return Go.clearStats(e);
}
}
/**
* Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes.
*
* @param opts.persistent Decides whether the interval should be immediately unref-ed.
*/
makeInterval(A) {
let e = setInterval(() => {
let r = this.stat(), i = this.lastStats;
Go.areStatsEqual(r, i) || (this.lastStats = r, this.emit(li.Change, r, i));
}, A.interval);
return A.persistent ? e : e.unref();
}
/**
* Registers a listener and assigns it an interval.
*/
registerChangeListener(A, e) {
this.addListener(li.Change, A), this.changeListeners.set(A, this.makeInterval(e));
}
/**
* Unregisters the listener and clears the assigned interval.
*/
unregisterChangeListener(A) {
this.removeListener(li.Change, A);
let e = this.changeListeners.get(A);
typeof e < "u" && clearInterval(e), this.changeListeners.delete(A);
}
/**
* Unregisters all listeners and clears all assigned intervals.
*/
unregisterAllChangeListeners() {
for (let A of this.changeListeners.keys())
this.unregisterChangeListener(A);
}
hasChangeListeners() {
return this.changeListeners.size > 0;
}
/**
* Refs all stored intervals.
*/
ref() {
for (let A of this.changeListeners.values())
A.ref();
return this;
}
/**
* Unrefs all stored intervals.
*/
unref() {
for (let A of this.changeListeners.values())
A.unref();
return this;
}
};
De.CustomStatWatcher = Fc;
});
// ../node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js
var kc = m((Ht) => {
"use strict";
Object.defineProperty(Ht, "__esModule", { value: !0 });
Ht.unwatchAllFiles = Ht.unwatchFile = Ht.watchFile = void 0;
var cL = tp(), Jo = /* @__PURE__ */ new WeakMap();
function IL(t, A, e, r) {
let i, n, o, g;
switch (typeof e) {
case "function":
i = !1, n = !0, o = 5007, g = e;
break;
default:
({
bigint: i = !1,
persistent: n = !0,
interval: o = 5007
} = e), g = r;
break;
}
let C = Jo.get(t);
typeof C > "u" && Jo.set(t, C = /* @__PURE__ */ new Map());
let I = C.get(A);
return typeof I > "u" && (I = cL.CustomStatWatcher.create(t, A, { bigint: i }), C.set(A, I)), I.registerChangeListener(g, { persistent: n,
interval: o }), I;
}
s(IL, "watchFile");
Ht.watchFile = IL;
function rp(t, A, e) {
let r = Jo.get(t);
if (typeof r > "u")
return;
let i = r.get(A);
typeof i > "u" || (typeof e > "u" ? i.unregisterAllChangeListeners() : i.unregisterChangeListener(e), i.hasChangeListeners() || (i.stop(),
r.delete(A)));
}
s(rp, "unwatchFile");
Ht.unwatchFile = rp;
function hL(t) {
let A = Jo.get(t);
if (!(typeof A > "u"))
for (let e of A.keys())
rp(t, e);
}
s(hL, "unwatchAllFiles");
Ht.unwatchAllFiles = hL;
});
// ../node_modules/@yarnpkg/fslib/lib/ZipFS.js
var To = m((dt) => {
"use strict";
Object.defineProperty(dt, "__esModule", { value: !0 });
dt.ZipFS = dt.makeEmptyArchive = dt.DEFAULT_COMPRESSION_LEVEL = void 0;
var Mc = (Ue(), fe(Pe)), Ks = require("fs"), ip = require("stream"), lL = require("util"), sp = Mc.__importDefault(require("zlib")), EL = Ot(),
uL = Tt(), BL = mc(), bc = kc(), ft = Ds(), W = Mc.__importStar(Ss()), aA = ee(), pr = Mc.__importStar(Lo());
dt.DEFAULT_COMPRESSION_LEVEL = "mixed";
function QL(t) {
if (typeof t == "string" && String(+t) === t)
return +t;
if (typeof t == "number" && Number.isFinite(t))
return t < 0 ? Date.now() / 1e3 : t;
if (lL.types.isDate(t))
return t.getTime() / 1e3;
throw new Error("Invalid time");
}
s(QL, "toUnixTimestamp");
function Oo() {
return Buffer.from([
80,
75,
5,
6,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]);
}
s(Oo, "makeEmptyArchive");
dt.makeEmptyArchive = Oo;
var Nc = class extends EL.BasePortableFakeFS {
static {
s(this, "ZipFS");
}
constructor(A, e) {
super(), this.lzSource = null, this.listings = /* @__PURE__ */ new Map(), this.entries = /* @__PURE__ */ new Map(), this.fileSources =
/* @__PURE__ */ new Map(), this.fds = /* @__PURE__ */ new Map(), this.nextFd = 0, this.ready = !1, this.readOnly = !1, this.libzip = e.
libzip;
let r = e;
if (this.level = typeof r.level < "u" ? r.level : dt.DEFAULT_COMPRESSION_LEVEL, A ?? (A = Oo()), typeof A == "string") {
let { baseFs: o = new uL.NodeFS() } = r;
this.baseFs = o, this.path = A;
} else
this.path = null, this.baseFs = null;
if (e.stats)
this.stats = e.stats;
else if (typeof A == "string")
try {
this.stats = this.baseFs.statSync(A);
} catch (o) {
if (o.code === "ENOENT" && r.create)
this.stats = pr.makeDefaultStats();
else
throw o;
}
else
this.stats = pr.makeDefaultStats();
let i = this.libzip.malloc(4);
try {
let o = 0;
if (typeof A == "string" && r.create && (o |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE), e.readOnly && (o |= this.libzip.ZIP_RDONLY,
this.readOnly = !0), typeof A == "string")
this.zip = this.libzip.open(aA.npath.fromPortablePath(A), o, i);
else {
let g = this.allocateUnattachedSource(A);
try {
this.zip = this.libzip.openFromSource(g, o, i), this.lzSource = g;
} catch (C) {
throw this.libzip.source.free(g), C;
}
}
if (this.zip === 0) {
let g = this.libzip.struct.errorS();
throw this.libzip.error.initWithCode(g, this.libzip.getValue(i, "i32")), this.makeLibzipError(g);
}
} finally {
this.libzip.free(i);
}
this.listings.set(aA.PortablePath.root, /* @__PURE__ */ new Set());
let n = this.libzip.getNumEntries(this.zip, 0);
for (let o = 0; o < n; ++o) {
let g = this.libzip.getName(this.zip, o, 0);
if (aA.ppath.isAbsolute(g))
continue;
let C = aA.ppath.resolve(aA.PortablePath.root, g);
this.registerEntry(C, o), g.endsWith("/") && this.registerListing(C);
}
if (this.symlinkCount = this.libzip.ext.countSymlinks(this.zip), this.symlinkCount === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
this.ready = !0;
}
makeLibzipError(A) {
let e = this.libzip.struct.errorCodeZip(A), r = this.libzip.error.strerror(A), i = new W.LibzipError(r, this.libzip.errors[e]);
if (e === this.libzip.errors.ZIP_ER_CHANGED)
throw new Error(`Assertion failed: Unexpected libzip error: ${i.message}`);
return i;
}
getExtractHint(A) {
for (let e of this.entries.keys()) {
let r = this.pathUtils.extname(e);
if (A.relevantExtensions.has(r))
return !0;
}
return !1;
}
getAllFiles() {
return Array.from(this.entries.keys());
}
getRealPath() {
if (!this.path)
throw new Error("ZipFS don't have real paths when loaded from a buffer");
return this.path;
}
getBufferAndClose() {
if (this.prepareClose(), !this.lzSource)
throw new Error("ZipFS was not created from a Buffer");
if (this.entries.size === 0)
return this.discardAndClose(), Oo();
try {
if (this.libzip.source.keep(this.lzSource), this.libzip.close(this.zip) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
if (this.libzip.source.open(this.lzSource) === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
let A = this.libzip.source.tell(this.lzSource);
if (A === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
let e = this.libzip.malloc(A);
if (!e)
throw new Error("Couldn't allocate enough memory");
try {
let r = this.libzip.source.read(this.lzSource, e, A);
if (r === -1)
throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
if (r < A)
throw new Error("Incomplete read");
if (r > A)
throw new Error("Overread");
let i = this.libzip.HEAPU8.subarray(e, e + A);
return Buffer.from(i);
} finally {
this.libzip.free(e);
}
} finally {
this.libzip.source.close(this.lzSource), this.libzip.source.free(this.lzSource), this.ready = !1;
}
}
prepareClose() {
if (!this.ready)
throw W.EBUSY("archive closed, close");
(0, bc.unwatchAllFiles)(this);
}
saveAndClose() {
if (!this.path || !this.baseFs)
throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");
if (this.prepareClose(), this.readOnly) {
this.discardAndClose();
return;
}
let A = this.baseFs.existsSync(this.path) || this.stats.mode === pr.DEFAULT_MODE ? void 0 : this.stats.mode;
if (this.entries.size === 0)
this.discardAndClose(), this.baseFs.writeFileSync(this.path, Oo(), { mode: A });
else {
if (this.libzip.close(this.zip) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
typeof A < "u" && this.baseFs.chmodSync(this.path, A);
}
this.ready = !1;
}
discardAndClose() {
this.prepareClose(), this.libzip.discard(this.zip), this.ready = !1;
}
resolve(A) {
return aA.ppath.resolve(aA.PortablePath.root, A);
}
async openPromise(A, e, r) {
return this.openSync(A, e, r);
}
openSync(A, e, r) {
let i = this.nextFd++;
return this.fds.set(i, { cursor: 0, p: A }), i;
}
hasOpenFileHandles() {
return !!this.fds.size;
}
async opendirPromise(A, e) {
return this.opendirSync(A, e);
}
opendirSync(A, e = {}) {
let r = this.resolveFilename(`opendir '${A}'`, A);
if (!this.entries.has(r) && !this.listings.has(r))
throw W.ENOENT(`opendir '${A}'`);
let i = this.listings.get(r);
if (!i)
throw W.ENOTDIR(`opendir '${A}'`);
let n = [...i], o = this.openSync(r, "r"), g = /* @__PURE__ */ s(() => {
this.closeSync(o);
}, "onClose");
return (0, BL.opendir)(this, r, n, { onClose: g });
}
async readPromise(A, e, r, i, n) {
return this.readSync(A, e, r, i, n);
}
readSync(A, e, r = 0, i = e.byteLength, n = -1) {
let o = this.fds.get(A);
if (typeof o > "u")
throw W.EBADF("read");
let g = n === -1 || n === null ? o.cursor : n, C = this.readFileSync(o.p);
C.copy(e, r, g, g + i);
let I = Math.max(0, Math.min(C.length - g, i));
return (n === -1 || n === null) && (o.cursor += I), I;
}
async writePromise(A, e, r, i, n) {
return typeof e == "string" ? this.writeSync(A, e, n) : this.writeSync(A, e, r, i, n);
}
writeSync(A, e, r, i, n) {
throw typeof this.fds.get(A) > "u" ? W.EBADF("read") : new Error("Unimplemented");
}
async closePromise(A) {
return this.closeSync(A);
}
closeSync(A) {
if (typeof this.fds.get(A) > "u")
throw W.EBADF("read");
this.fds.delete(A);
}
createReadStream(A, { encoding: e } = {}) {
if (A === null)
throw new Error("Unimplemented");
let r = this.openSync(A, "r"), i = Object.assign(new ip.PassThrough({
emitClose: !0,
autoDestroy: !0,
destroy: /* @__PURE__ */ s((o, g) => {
clearImmediate(n), this.closeSync(r), g(o);
}, "destroy")
}), {
close() {
i.destroy();
},
bytesRead: 0,
path: A
}), n = setImmediate(async () => {
try {
let o = await this.readFilePromise(A, e);
i.bytesRead = o.length, i.end(o);
} catch (o) {
i.destroy(o);
}
});
return i;
}
createWriteStream(A, { encoding: e } = {}) {
if (this.readOnly)
throw W.EROFS(`open '${A}'`);
if (A === null)
throw new Error("Unimplemented");
let r = [], i = this.openSync(A, "w"), n = Object.assign(new ip.PassThrough({
autoDestroy: !0,
emitClose: !0,
destroy: /* @__PURE__ */ s((o, g) => {
try {
o ? g(o) : (this.writeFileSync(A, Buffer.concat(r), e), g(null));
} catch (C) {
g(C);
} finally {
this.closeSync(i);
}
}, "destroy")
}), {
bytesWritten: 0,
path: A,
close() {
n.destroy();
}
});
return n.on("data", (o) => {
let g = Buffer.from(o);
n.bytesWritten += g.length, r.push(g);
}), n;
}
async realpathPromise(A) {
return this.realpathSync(A);
}
realpathSync(A) {
let e = this.resolveFilename(`lstat '${A}'`, A);
if (!this.entries.has(e) && !this.listings.has(e))
throw W.ENOENT(`lstat '${A}'`);
return e;
}
async existsPromise(A) {
return this.existsSync(A);
}
existsSync(A) {
if (!this.ready)
throw W.EBUSY(`archive closed, existsSync '${A}'`);
if (this.symlinkCount === 0) {
let r = aA.ppath.resolve(aA.PortablePath.root, A);
return this.entries.has(r) || this.listings.has(r);
}
let e;
try {
e = this.resolveFilename(`stat '${A}'`, A, void 0, !1);
} catch {
return !1;
}
return e === void 0 ? !1 : this.entries.has(e) || this.listings.has(e);
}
async accessPromise(A, e) {
return this.accessSync(A, e);
}
accessSync(A, e = Ks.constants.F_OK) {
let r = this.resolveFilename(`access '${A}'`, A);
if (!this.entries.has(r) && !this.listings.has(r))
throw W.ENOENT(`access '${A}'`);
if (this.readOnly && e & Ks.constants.W_OK)
throw W.EROFS(`access '${A}'`);
}
async statPromise(A, e = { bigint: !1 }) {
return e.bigint ? this.statSync(A, { bigint: !0 }) : this.statSync(A);
}
statSync(A, e = { bigint: !1, throwIfNoEntry: !0 }) {
let r = this.resolveFilename(`stat '${A}'`, A, void 0, e.throwIfNoEntry);
if (r !== void 0) {
if (!this.entries.has(r) && !this.listings.has(r)) {
if (e.throwIfNoEntry === !1)
return;
throw W.ENOENT(`stat '${A}'`);
}
if (A[A.length - 1] === "/" && !this.listings.has(r))
throw W.ENOTDIR(`stat '${A}'`);
return this.statImpl(`stat '${A}'`, r, e);
}
}
async fstatPromise(A, e) {
return this.fstatSync(A, e);
}
fstatSync(A, e) {
let r = this.fds.get(A);
if (typeof r > "u")
throw W.EBADF("fstatSync");
let { p: i } = r, n = this.resolveFilename(`stat '${i}'`, i);
if (!this.entries.has(n) && !this.listings.has(n))
throw W.ENOENT(`stat '${i}'`);
if (i[i.length - 1] === "/" && !this.listings.has(n))
throw W.ENOTDIR(`stat '${i}'`);
return this.statImpl(`fstat '${i}'`, n, e);
}
async lstatPromise(A, e = { bigint: !1 }) {
return e.bigint ? this.lstatSync(A, { bigint: !0 }) : this.lstatSync(A);
}
lstatSync(A, e = { bigint: !1, throwIfNoEntry: !0 }) {
let r = this.resolveFilename(`lstat '${A}'`, A, !1, e.throwIfNoEntry);
if (r !== void 0) {
if (!this.entries.has(r) && !this.listings.has(r)) {
if (e.throwIfNoEntry === !1)
return;
throw W.ENOENT(`lstat '${A}'`);
}
if (A[A.length - 1] === "/" && !this.listings.has(r))
throw W.ENOTDIR(`lstat '${A}'`);
return this.statImpl(`lstat '${A}'`, r, e);
}
}
statImpl(A, e, r = {}) {
let i = this.entries.get(e);
if (typeof i < "u") {
let n = this.libzip.struct.statS();
if (this.libzip.statIndex(this.zip, i, 0, 0, n) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
let g = this.stats.uid, C = this.stats.gid, I = this.libzip.struct.statSize(n) >>> 0, E = 512, Q = Math.ceil(I / E), B = (this.libzip.
struct.statMtime(n) >>> 0) * 1e3, p = B, w = B, D = B, N = new Date(p), k = new Date(w), _ = new Date(D), v = new Date(B), J = this.
listings.has(e) ? ft.S_IFDIR : this.isSymbolicLink(i) ? ft.S_IFLNK : ft.S_IFREG, U = J === ft.S_IFDIR ? 493 : 420, $ = J | this.getUnixMode(
i, U) & 511, q = this.libzip.struct.statCrc(n), T = Object.assign(new pr.StatEntry(), { uid: g, gid: C, size: I, blksize: E, blocks: Q,
atime: N, birthtime: k, ctime: _, mtime: v, atimeMs: p, birthtimeMs: w, ctimeMs: D, mtimeMs: B, mode: $, crc: q });
return r.bigint === !0 ? pr.convertToBigIntStats(T) : T;
}
if (this.listings.has(e)) {
let n = this.stats.uid, o = this.stats.gid, g = 0, C = 512, I = 0, E = this.stats.mtimeMs, Q = this.stats.mtimeMs, B = this.stats.mtimeMs,
p = this.stats.mtimeMs, w = new Date(E), D = new Date(Q), N = new Date(B), k = new Date(p), _ = ft.S_IFDIR | 493, J = Object.assign(
new pr.StatEntry(), { uid: n, gid: o, size: g, blksize: C, blocks: I, atime: w, birthtime: D, ctime: N, mtime: k, atimeMs: E, birthtimeMs: Q,
ctimeMs: B, mtimeMs: p, mode: _, crc: 0 });
return r.bigint === !0 ? pr.convertToBigIntStats(J) : J;
}
throw new Error("Unreachable");
}
getUnixMode(A, e) {
if (this.libzip.file.getExternalAttributes(this.zip, A, 0, 0, this.libzip.uint08S, this.libzip.uint32S) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
return this.libzip.getValue(this.libzip.uint08S, "i8") >>> 0 !== this.libzip.ZIP_OPSYS_UNIX ? e : this.libzip.getValue(this.libzip.uint32S,
"i32") >>> 16;
}
registerListing(A) {
let e = this.listings.get(A);
if (e)
return e;
this.registerListing(aA.ppath.dirname(A)).add(aA.ppath.basename(A));
let i = /* @__PURE__ */ new Set();
return this.listings.set(A, i), i;
}
registerEntry(A, e) {
this.registerListing(aA.ppath.dirname(A)).add(aA.ppath.basename(A)), this.entries.set(A, e);
}
unregisterListing(A) {
this.listings.delete(A);
let e = this.listings.get(aA.ppath.dirname(A));
e?.delete(aA.ppath.basename(A));
}
unregisterEntry(A) {
this.unregisterListing(A);
let e = this.entries.get(A);
this.entries.delete(A), !(typeof e > "u") && (this.fileSources.delete(e), this.isSymbolicLink(e) && this.symlinkCount--);
}
deleteEntry(A, e) {
if (this.unregisterEntry(A), this.libzip.delete(this.zip, e) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
}
resolveFilename(A, e, r = !0, i = !0) {
if (!this.ready)
throw W.EBUSY(`archive closed, ${A}`);
let n = aA.ppath.resolve(aA.PortablePath.root, e);
if (n === "/")
return aA.PortablePath.root;
let o = this.entries.get(n);
if (r && o !== void 0)
if (this.symlinkCount !== 0 && this.isSymbolicLink(o)) {
let g = this.getFileSource(o).toString();
return this.resolveFilename(A, aA.ppath.resolve(aA.ppath.dirname(n), g), !0, i);
} else
return n;
for (; ; ) {
let g = this.resolveFilename(A, aA.ppath.dirname(n), !0, i);
if (g === void 0)
return g;
let C = this.listings.has(g), I = this.entries.has(g);
if (!C && !I) {
if (i === !1)
return;
throw W.ENOENT(A);
}
if (!C)
throw W.ENOTDIR(A);
if (n = aA.ppath.resolve(g, aA.ppath.basename(n)), !r || this.symlinkCount === 0)
break;
let E = this.libzip.name.locate(this.zip, n.slice(1), 0);
if (E === -1)
break;
if (this.isSymbolicLink(E)) {
let Q = this.getFileSource(E).toString();
n = aA.ppath.resolve(aA.ppath.dirname(n), Q);
} else
break;
}
return n;
}
allocateBuffer(A) {
Buffer.isBuffer(A) || (A = Buffer.from(A));
let e = this.libzip.malloc(A.byteLength);
if (!e)
throw new Error("Couldn't allocate enough memory");
return new Uint8Array(this.libzip.HEAPU8.buffer, e, A.byteLength).set(A), { buffer: e, byteLength: A.byteLength };
}
allocateUnattachedSource(A) {
let e = this.libzip.struct.errorS(), { buffer: r, byteLength: i } = this.allocateBuffer(A), n = this.libzip.source.fromUnattachedBuffer(
r, i, 0, 1, e);
if (n === 0)
throw this.libzip.free(e), this.makeLibzipError(e);
return n;
}
allocateSource(A) {
let { buffer: e, byteLength: r } = this.allocateBuffer(A), i = this.libzip.source.fromBuffer(this.zip, e, r, 0, 1);
if (i === 0)
throw this.libzip.free(e), this.makeLibzipError(this.libzip.getError(this.zip));
return i;
}
setFileSource(A, e) {
let r = Buffer.isBuffer(e) ? e : Buffer.from(e), i = aA.ppath.relative(aA.PortablePath.root, A), n = this.allocateSource(e);
try {
let o = this.libzip.file.add(this.zip, i, n, this.libzip.ZIP_FL_OVERWRITE);
if (o === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
if (this.level !== "mixed") {
let g = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE;
if (this.libzip.file.setCompression(this.zip, o, 0, g, this.level) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
}
return this.fileSources.set(o, r), o;
} catch (o) {
throw this.libzip.source.free(n), o;
}
}
isSymbolicLink(A) {
if (this.symlinkCount === 0)
return !1;
if (this.libzip.file.getExternalAttributes(this.zip, A, 0, 0, this.libzip.uint08S, this.libzip.uint32S) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
return this.libzip.getValue(this.libzip.uint08S, "i8") >>> 0 !== this.libzip.ZIP_OPSYS_UNIX ? !1 : (this.libzip.getValue(this.libzip.uint32S,
"i32") >>> 16 & ft.S_IFMT) === ft.S_IFLNK;
}
getFileSource(A, e = { asyncDecompress: !1 }) {
let r = this.fileSources.get(A);
if (typeof r < "u")
return r;
let i = this.libzip.struct.statS();
if (this.libzip.statIndex(this.zip, A, 0, 0, i) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
let o = this.libzip.struct.statCompSize(i), g = this.libzip.struct.statCompMethod(i), C = this.libzip.malloc(o);
try {
let I = this.libzip.fopenIndex(this.zip, A, 0, this.libzip.ZIP_FL_COMPRESSED);
if (I === 0)
throw this.makeLibzipError(this.libzip.getError(this.zip));
try {
let E = this.libzip.fread(I, C, o, 0);
if (E === -1)
throw this.makeLibzipError(this.libzip.file.getError(I));
if (E < o)
throw new Error("Incomplete read");
if (E > o)
throw new Error("Overread");
let Q = this.libzip.HEAPU8.subarray(C, C + o), B = Buffer.from(Q);
if (g === 0)
return this.fileSources.set(A, B), B;
if (e.asyncDecompress)
return new Promise((p, w) => {
sp.default.inflateRaw(B, (D, N) => {
D ? w(D) : (this.fileSources.set(A, N), p(N));
});
});
{
let p = sp.default.inflateRawSync(B);
return this.fileSources.set(A, p), p;
}
} finally {
this.libzip.fclose(I);
}
} finally {
this.libzip.free(C);
}
}
async fchmodPromise(A, e) {
return this.chmodPromise(this.fdToPath(A, "fchmod"), e);
}
fchmodSync(A, e) {
return this.chmodSync(this.fdToPath(A, "fchmodSync"), e);
}
async chmodPromise(A, e) {
return this.chmodSync(A, e);
}
chmodSync(A, e) {
if (this.readOnly)
throw W.EROFS(`chmod '${A}'`);
e &= 493;
let r = this.resolveFilename(`chmod '${A}'`, A, !1), i = this.entries.get(r);
if (typeof i > "u")
throw new Error(`Assertion failed: The entry should have been registered (${r})`);
let o = this.getUnixMode(i, ft.S_IFREG | 0) & -512 | e;
if (this.libzip.file.setExternalAttributes(this.zip, i, 0, 0, this.libzip.ZIP_OPSYS_UNIX, o << 16) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
}
async fchownPromise(A, e, r) {
return this.chownPromise(this.fdToPath(A, "fchown"), e, r);
}
fchownSync(A, e, r) {
return this.chownSync(this.fdToPath(A, "fchownSync"), e, r);
}
async chownPromise(A, e, r) {
return this.chownSync(A, e, r);
}
chownSync(A, e, r) {
throw new Error("Unimplemented");
}
async renamePromise(A, e) {
return this.renameSync(A, e);
}
renameSync(A, e) {
throw new Error("Unimplemented");
}
async copyFilePromise(A, e, r) {
let { indexSource: i, indexDest: n, resolvedDestP: o } = this.prepareCopyFile(A, e, r), g = await this.getFileSource(i, { asyncDecompress: !0 }),
C = this.setFileSource(o, g);
C !== n && this.registerEntry(o, C);
}
copyFileSync(A, e, r = 0) {
let { indexSource: i, indexDest: n, resolvedDestP: o } = this.prepareCopyFile(A, e, r), g = this.getFileSource(i), C = this.setFileSource(
o, g);
C !== n && this.registerEntry(o, C);
}
prepareCopyFile(A, e, r = 0) {
if (this.readOnly)
throw W.EROFS(`copyfile '${A} -> '${e}'`);
if ((r & Ks.constants.COPYFILE_FICLONE_FORCE) !== 0)
throw W.ENOSYS("unsupported clone operation", `copyfile '${A}' -> ${e}'`);
let i = this.resolveFilename(`copyfile '${A} -> ${e}'`, A), n = this.entries.get(i);
if (typeof n > "u")
throw W.EINVAL(`copyfile '${A}' -> '${e}'`);
let o = this.resolveFilename(`copyfile '${A}' -> ${e}'`, e), g = this.entries.get(o);
if ((r & (Ks.constants.COPYFILE_EXCL | Ks.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof g < "u")
throw W.EEXIST(`copyfile '${A}' -> '${e}'`);
return {
indexSource: n,
resolvedDestP: o,
indexDest: g
};
}
async appendFilePromise(A, e, r) {
if (this.readOnly)
throw W.EROFS(`open '${A}'`);
return typeof r > "u" ? r = { flag: "a" } : typeof r == "string" ? r = { flag: "a", encoding: r } : typeof r.flag > "u" && (r = { flag: "\
a", ...r }), this.writeFilePromise(A, e, r);
}
appendFileSync(A, e, r = {}) {
if (this.readOnly)
throw W.EROFS(`open '${A}'`);
return typeof r > "u" ? r = { flag: "a" } : typeof r == "string" ? r = { flag: "a", encoding: r } : typeof r.flag > "u" && (r = { flag: "\
a", ...r }), this.writeFileSync(A, e, r);
}
fdToPath(A, e) {
var r;
let i = (r = this.fds.get(A)) === null || r === void 0 ? void 0 : r.p;
if (typeof i > "u")
throw W.EBADF(e);
return i;
}
async writeFilePromise(A, e, r) {
let { encoding: i, mode: n, index: o, resolvedP: g } = this.prepareWriteFile(A, r);
o !== void 0 && typeof r == "object" && r.flag && r.flag.includes("a") && (e = Buffer.concat([await this.getFileSource(o, { asyncDecompress: !0 }),
Buffer.from(e)])), i !== null && (e = e.toString(i));
let C = this.setFileSource(g, e);
C !== o && this.registerEntry(g, C), n !== null && await this.chmodPromise(g, n);
}
writeFileSync(A, e, r) {
let { encoding: i, mode: n, index: o, resolvedP: g } = this.prepareWriteFile(A, r);
o !== void 0 && typeof r == "object" && r.flag && r.flag.includes("a") && (e = Buffer.concat([this.getFileSource(o), Buffer.from(e)])),
i !== null && (e = e.toString(i));
let C = this.setFileSource(g, e);
C !== o && this.registerEntry(g, C), n !== null && this.chmodSync(g, n);
}
prepareWriteFile(A, e) {
if (typeof A == "number" && (A = this.fdToPath(A, "read")), this.readOnly)
throw W.EROFS(`open '${A}'`);
let r = this.resolveFilename(`open '${A}'`, A);
if (this.listings.has(r))
throw W.EISDIR(`open '${A}'`);
let i = null, n = null;
typeof e == "string" ? i = e : typeof e == "object" && ({
encoding: i = null,
mode: n = null
} = e);
let o = this.entries.get(r);
return {
encoding: i,
mode: n,
resolvedP: r,
index: o
};
}
async unlinkPromise(A) {
return this.unlinkSync(A);
}
unlinkSync(A) {
if (this.readOnly)
throw W.EROFS(`unlink '${A}'`);
let e = this.resolveFilename(`unlink '${A}'`, A);
if (this.listings.has(e))
throw W.EISDIR(`unlink '${A}'`);
let r = this.entries.get(e);
if (typeof r > "u")
throw W.EINVAL(`unlink '${A}'`);
this.deleteEntry(e, r);
}
async utimesPromise(A, e, r) {
return this.utimesSync(A, e, r);
}
utimesSync(A, e, r) {
if (this.readOnly)
throw W.EROFS(`utimes '${A}'`);
let i = this.resolveFilename(`utimes '${A}'`, A);
this.utimesImpl(i, r);
}
async lutimesPromise(A, e, r) {
return this.lutimesSync(A, e, r);
}
lutimesSync(A, e, r) {
if (this.readOnly)
throw W.EROFS(`lutimes '${A}'`);
let i = this.resolveFilename(`utimes '${A}'`, A, !1);
this.utimesImpl(i, r);
}
utimesImpl(A, e) {
this.listings.has(A) && (this.entries.has(A) || this.hydrateDirectory(A));
let r = this.entries.get(A);
if (r === void 0)
throw new Error("Unreachable");
if (this.libzip.file.setMtime(this.zip, r, 0, QL(e), 0) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
}
async mkdirPromise(A, e) {
return this.mkdirSync(A, e);
}
mkdirSync(A, { mode: e = 493, recursive: r = !1 } = {}) {
if (r)
return this.mkdirpSync(A, { chmod: e });
if (this.readOnly)
throw W.EROFS(`mkdir '${A}'`);
let i = this.resolveFilename(`mkdir '${A}'`, A);
if (this.entries.has(i) || this.listings.has(i))
throw W.EEXIST(`mkdir '${A}'`);
this.hydrateDirectory(i), this.chmodSync(i, e);
}
async rmdirPromise(A, e) {
return this.rmdirSync(A, e);
}
rmdirSync(A, { recursive: e = !1 } = {}) {
if (this.readOnly)
throw W.EROFS(`rmdir '${A}'`);
if (e) {
this.removeSync(A);
return;
}
let r = this.resolveFilename(`rmdir '${A}'`, A), i = this.listings.get(r);
if (!i)
throw W.ENOTDIR(`rmdir '${A}'`);
if (i.size > 0)
throw W.ENOTEMPTY(`rmdir '${A}'`);
let n = this.entries.get(r);
if (typeof n > "u")
throw W.EINVAL(`rmdir '${A}'`);
this.deleteEntry(A, n);
}
hydrateDirectory(A) {
let e = this.libzip.dir.add(this.zip, aA.ppath.relative(aA.PortablePath.root, A));
if (e === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
return this.registerListing(A), this.registerEntry(A, e), e;
}
async linkPromise(A, e) {
return this.linkSync(A, e);
}
linkSync(A, e) {
throw W.EOPNOTSUPP(`link '${A}' -> '${e}'`);
}
async symlinkPromise(A, e) {
return this.symlinkSync(A, e);
}
symlinkSync(A, e) {
if (this.readOnly)
throw W.EROFS(`symlink '${A}' -> '${e}'`);
let r = this.resolveFilename(`symlink '${A}' -> '${e}'`, e);
if (this.listings.has(r))
throw W.EISDIR(`symlink '${A}' -> '${e}'`);
if (this.entries.has(r))
throw W.EEXIST(`symlink '${A}' -> '${e}'`);
let i = this.setFileSource(r, A);
if (this.registerEntry(r, i), this.libzip.file.setExternalAttributes(this.zip, i, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (ft.S_IFLNK | 511) <<
16) === -1)
throw this.makeLibzipError(this.libzip.getError(this.zip));
this.symlinkCount += 1;
}
async readFilePromise(A, e) {
typeof e == "object" && (e = e ? e.encoding : void 0);
let r = await this.readFileBuffer(A, { asyncDecompress: !0 });
return e ? r.toString(e) : r;
}
readFileSync(A, e) {
typeof e == "object" && (e = e ? e.encoding : void 0);
let r = this.readFileBuffer(A);
return e ? r.toString(e) : r;
}
readFileBuffer(A, e = { asyncDecompress: !1 }) {
typeof A == "number" && (A = this.fdToPath(A, "read"));
let r = this.resolveFilename(`open '${A}'`, A);
if (!this.entries.has(r) && !this.listings.has(r))
throw W.ENOENT(`open '${A}'`);
if (A[A.length - 1] === "/" && !this.listings.has(r))
throw W.ENOTDIR(`open '${A}'`);
if (this.listings.has(r))
throw W.EISDIR("read");
let i = this.entries.get(r);
if (i === void 0)
throw new Error("Unreachable");
return this.getFileSource(i, e);
}
async readdirPromise(A, e) {
return this.readdirSync(A, e);
}
readdirSync(A, e) {
let r = this.resolveFilename(`scandir '${A}'`, A);
if (!this.entries.has(r) && !this.listings.has(r))
throw W.ENOENT(`scandir '${A}'`);
let i = this.listings.get(r);
if (!i)
throw W.ENOTDIR(`scandir '${A}'`);
let n = [...i];
return e?.withFileTypes ? n.map((o) => Object.assign(this.statImpl("lstat", aA.ppath.join(A, o)), {
name: o
})) : n;
}
async readlinkPromise(A) {
let e = this.prepareReadlink(A);
return (await this.getFileSource(e, { asyncDecompress: !0 })).toString();
}
readlinkSync(A) {
let e = this.prepareReadlink(A);
return this.getFileSource(e).toString();
}
prepareReadlink(A) {
let e = this.resolveFilename(`readlink '${A}'`, A, !1);
if (!this.entries.has(e) && !this.listings.has(e))
throw W.ENOENT(`readlink '${A}'`);
if (A[A.length - 1] === "/" && !this.listings.has(e))
throw W.ENOTDIR(`open '${A}'`);
if (this.listings.has(e))
throw W.EINVAL(`readlink '${A}'`);
let r = this.entries.get(e);
if (r === void 0)
throw new Error("Unreachable");
if (!this.isSymbolicLink(r))
throw W.EINVAL(`readlink '${A}'`);
return r;
}
async truncatePromise(A, e = 0) {
let r = this.resolveFilename(`open '${A}'`, A), i = this.entries.get(r);
if (typeof i > "u")
throw W.EINVAL(`open '${A}'`);
let n = await this.getFileSource(i, { asyncDecompress: !0 }), o = Buffer.alloc(e, 0);
return n.copy(o), await this.writeFilePromise(A, o);
}
truncateSync(A, e = 0) {
let r = this.resolveFilename(`open '${A}'`, A), i = this.entries.get(r);
if (typeof i > "u")
throw W.EINVAL(`open '${A}'`);
let n = this.getFileSource(i), o = Buffer.alloc(e, 0);
return n.copy(o), this.writeFileSync(A, o);
}
async ftruncatePromise(A, e) {
return this.truncatePromise(this.fdToPath(A, "ftruncate"), e);
}
ftruncateSync(A, e) {
return this.truncateSync(this.fdToPath(A, "ftruncateSync"), e);
}
watch(A, e, r) {
let i;
switch (typeof e) {
case "function":
case "string":
case "undefined":
i = !0;
break;
default:
({ persistent: i = !0 } = e);
break;
}
if (!i)
return { on: /* @__PURE__ */ s(() => {
}, "on"), close: /* @__PURE__ */ s(() => {
}, "close") };
let n = setInterval(() => {
}, 24 * 60 * 60 * 1e3);
return { on: /* @__PURE__ */ s(() => {
}, "on"), close: /* @__PURE__ */ s(() => {
clearInterval(n);
}, "close") };
}
watchFile(A, e, r) {
let i = aA.ppath.resolve(aA.PortablePath.root, A);
return (0, bc.watchFile)(this, i, e, r);
}
unwatchFile(A, e) {
let r = aA.ppath.resolve(aA.PortablePath.root, A);
return (0, bc.unwatchFile)(this, r, e);
}
};
dt.ZipFS = Nc;
});
// ../node_modules/@yarnpkg/fslib/lib/ProxiedFS.js
var pt = m((Ho) => {
"use strict";
Object.defineProperty(Ho, "__esModule", { value: !0 });
Ho.ProxiedFS = void 0;
var fL = Ot(), Rc = class extends fL.FakeFS {
static {
s(this, "ProxiedFS");
}
getExtractHint(A) {
return this.baseFs.getExtractHint(A);
}
resolve(A) {
return this.mapFromBase(this.baseFs.resolve(this.mapToBase(A)));
}
getRealPath() {
return this.mapFromBase(this.baseFs.getRealPath());
}
async openPromise(A, e, r) {
return this.baseFs.openPromise(this.mapToBase(A), e, r);
}
openSync(A, e, r) {
return this.baseFs.openSync(this.mapToBase(A), e, r);
}
async opendirPromise(A, e) {
return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(A), e), { path: A });
}
opendirSync(A, e) {
return Object.assign(this.baseFs.opendirSync(this.mapToBase(A), e), { path: A });
}
async readPromise(A, e, r, i, n) {
return await this.baseFs.readPromise(A, e, r, i, n);
}
readSync(A, e, r, i, n) {
return this.baseFs.readSync(A, e, r, i, n);
}
async writePromise(A, e, r, i, n) {
return typeof e == "string" ? await this.baseFs.writePromise(A, e, r) : await this.baseFs.writePromise(A, e, r, i, n);
}
writeSync(A, e, r, i, n) {
return typeof e == "string" ? this.baseFs.writeSync(A, e, r) : this.baseFs.writeSync(A, e, r, i, n);
}
async closePromise(A) {
return this.baseFs.closePromise(A);
}
closeSync(A) {
this.baseFs.closeSync(A);
}
createReadStream(A, e) {
return this.baseFs.createReadStream(A !== null ? this.mapToBase(A) : A, e);
}
createWriteStream(A, e) {
return this.baseFs.createWriteStream(A !== null ? this.mapToBase(A) : A, e);
}
async realpathPromise(A) {
return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(A)));
}
realpathSync(A) {
return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(A)));
}
async existsPromise(A) {
return this.baseFs.existsPromise(this.mapToBase(A));
}
existsSync(A) {
return this.baseFs.existsSync(this.mapToBase(A));
}
accessSync(A, e) {
return this.baseFs.accessSync(this.mapToBase(A), e);
}
async accessPromise(A, e) {
return this.baseFs.accessPromise(this.mapToBase(A), e);
}
async statPromise(A, e) {
return this.baseFs.statPromise(this.mapToBase(A), e);
}
statSync(A, e) {
return this.baseFs.statSync(this.mapToBase(A), e);
}
async fstatPromise(A, e) {
return this.baseFs.fstatPromise(A, e);
}
fstatSync(A, e) {
return this.baseFs.fstatSync(A, e);
}
lstatPromise(A, e) {
return this.baseFs.lstatPromise(this.mapToBase(A), e);
}
lstatSync(A, e) {
return this.baseFs.lstatSync(this.mapToBase(A), e);
}
async fchmodPromise(A, e) {
return this.baseFs.fchmodPromise(A, e);
}
fchmodSync(A, e) {
return this.baseFs.fchmodSync(A, e);
}
async chmodPromise(A, e) {
return this.baseFs.chmodPromise(this.mapToBase(A), e);
}
chmodSync(A, e) {
return this.baseFs.chmodSync(this.mapToBase(A), e);
}
async fchownPromise(A, e, r) {
return this.baseFs.fchownPromise(A, e, r);
}
fchownSync(A, e, r) {
return this.baseFs.fchownSync(A, e, r);
}
async chownPromise(A, e, r) {
return this.baseFs.chownPromise(this.mapToBase(A), e, r);
}
chownSync(A, e, r) {
return this.baseFs.chownSync(this.mapToBase(A), e, r);
}
async renamePromise(A, e) {
return this.baseFs.renamePromise(this.mapToBase(A), this.mapToBase(e));
}
renameSync(A, e) {
return this.baseFs.renameSync(this.mapToBase(A), this.mapToBase(e));
}
async copyFilePromise(A, e, r = 0) {
return this.baseFs.copyFilePromise(this.mapToBase(A), this.mapToBase(e), r);
}
copyFileSync(A, e, r = 0) {
return this.baseFs.copyFileSync(this.mapToBase(A), this.mapToBase(e), r);
}
async appendFilePromise(A, e, r) {
return this.baseFs.appendFilePromise(this.fsMapToBase(A), e, r);
}
appendFileSync(A, e, r) {
return this.baseFs.appendFileSync(this.fsMapToBase(A), e, r);
}
async writeFilePromise(A, e, r) {
return this.baseFs.writeFilePromise(this.fsMapToBase(A), e, r);
}
writeFileSync(A, e, r) {
return this.baseFs.writeFileSync(this.fsMapToBase(A), e, r);
}
async unlinkPromise(A) {
return this.baseFs.unlinkPromise(this.mapToBase(A));
}
unlinkSync(A) {
return this.baseFs.unlinkSync(this.mapToBase(A));
}
async utimesPromise(A, e, r) {
return this.baseFs.utimesPromise(this.mapToBase(A), e, r);
}
utimesSync(A, e, r) {
return this.baseFs.utimesSync(this.mapToBase(A), e, r);
}
async mkdirPromise(A, e) {
return this.baseFs.mkdirPromise(this.mapToBase(A), e);
}
mkdirSync(A, e) {
return this.baseFs.mkdirSync(this.mapToBase(A), e);
}
async rmdirPromise(A, e) {
return this.baseFs.rmdirPromise(this.mapToBase(A), e);
}
rmdirSync(A, e) {
return this.baseFs.rmdirSync(this.mapToBase(A), e);
}
async linkPromise(A, e) {
return this.baseFs.linkPromise(this.mapToBase(A), this.mapToBase(e));
}
linkSync(A, e) {
return this.baseFs.linkSync(this.mapToBase(A), this.mapToBase(e));
}
async symlinkPromise(A, e, r) {
let i = this.mapToBase(e);
if (this.pathUtils.isAbsolute(A))
return this.baseFs.symlinkPromise(this.mapToBase(A), i, r);
let n = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(e), A)), o = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(
i), n);
return this.baseFs.symlinkPromise(o, i, r);
}
symlinkSync(A, e, r) {
let i = this.mapToBase(e);
if (this.pathUtils.isAbsolute(A))
return this.baseFs.symlinkSync(this.mapToBase(A), i, r);
let n = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(e), A)), o = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(
i), n);
return this.baseFs.symlinkSync(o, i, r);
}
async readFilePromise(A, e) {
return e === "utf8" ? this.baseFs.readFilePromise(this.fsMapToBase(A), e) : this.baseFs.readFilePromise(this.fsMapToBase(A), e);
}
readFileSync(A, e) {
return e === "utf8" ? this.baseFs.readFileSync(this.fsMapToBase(A), e) : this.baseFs.readFileSync(this.fsMapToBase(A), e);
}
async readdirPromise(A, e) {
return this.baseFs.readdirPromise(this.mapToBase(A), e);
}
readdirSync(A, e) {
return this.baseFs.readdirSync(this.mapToBase(A), e);
}
async readlinkPromise(A) {
return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(A)));
}
readlinkSync(A) {
return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(A)));
}
async truncatePromise(A, e) {
return this.baseFs.truncatePromise(this.mapToBase(A), e);
}
truncateSync(A, e) {
return this.baseFs.truncateSync(this.mapToBase(A), e);
}
async ftruncatePromise(A, e) {
return this.baseFs.ftruncatePromise(A, e);
}
ftruncateSync(A, e) {
return this.baseFs.ftruncateSync(A, e);
}
watch(A, e, r) {
return this.baseFs.watch(
this.mapToBase(A),
// @ts-expect-error
e,
r
);
}
watchFile(A, e, r) {
return this.baseFs.watchFile(
this.mapToBase(A),
// @ts-expect-error
e,
r
);
}
unwatchFile(A, e) {
return this.baseFs.unwatchFile(this.mapToBase(A), e);
}
fsMapToBase(A) {
return typeof A == "number" ? A : this.mapToBase(A);
}
};
Ho.ProxiedFS = Rc;
});
// ../node_modules/@yarnpkg/fslib/lib/AliasFS.js
var np = m((jo) => {
"use strict";
Object.defineProperty(jo, "__esModule", { value: !0 });
jo.AliasFS = void 0;
var dL = pt(), vc = class extends dL.ProxiedFS {
static {
s(this, "AliasFS");
}
constructor(A, { baseFs: e, pathUtils: r }) {
super(r), this.target = A, this.baseFs = e;
}
getRealPath() {
return this.target;
}
getBaseFs() {
return this.baseFs;
}
mapFromBase(A) {
return A;
}
mapToBase(A) {
return A;
}
};
jo.AliasFS = vc;
});
// ../node_modules/@yarnpkg/fslib/lib/CwdFS.js
var op = m((qo) => {
"use strict";
Object.defineProperty(qo, "__esModule", { value: !0 });
qo.CwdFS = void 0;
var pL = Tt(), wL = pt(), Lc = ee(), xc = class extends wL.ProxiedFS {
static {
s(this, "CwdFS");
}
constructor(A, { baseFs: e = new pL.NodeFS() } = {}) {
super(Lc.ppath), this.target = this.pathUtils.normalize(A), this.baseFs = e;
}
getRealPath() {
return this.pathUtils.resolve(this.baseFs.getRealPath(), this.target);
}
resolve(A) {
return this.pathUtils.isAbsolute(A) ? Lc.ppath.normalize(A) : this.baseFs.resolve(Lc.ppath.join(this.target, A));
}
mapFromBase(A) {
return A;
}
mapToBase(A) {
return this.pathUtils.isAbsolute(A) ? A : this.pathUtils.join(this.target, A);
}
};
qo.CwdFS = xc;
});
// ../node_modules/@yarnpkg/fslib/lib/JailFS.js
var ap = m((Wo) => {
"use strict";
Object.defineProperty(Wo, "__esModule", { value: !0 });
Wo.JailFS = void 0;
var mL = Tt(), yL = pt(), zo = ee(), gp = zo.PortablePath.root, Yc = class extends yL.ProxiedFS {
static {
s(this, "JailFS");
}
constructor(A, { baseFs: e = new mL.NodeFS() } = {}) {
super(zo.ppath), this.target = this.pathUtils.resolve(zo.PortablePath.root, A), this.baseFs = e;
}
getRealPath() {
return this.pathUtils.resolve(this.baseFs.getRealPath(), this.pathUtils.relative(zo.PortablePath.root, this.target));
}
getTarget() {
return this.target;
}
getBaseFs() {
return this.baseFs;
}
mapToBase(A) {
let e = this.pathUtils.normalize(A);
if (this.pathUtils.isAbsolute(A))
return this.pathUtils.resolve(this.target, this.pathUtils.relative(gp, A));
if (e.match(/^\.\.\/?/))
throw new Error(`Resolving this path (${A}) would escape the jail`);
return this.pathUtils.resolve(this.target, A);
}
mapFromBase(A) {
return this.pathUtils.resolve(gp, this.pathUtils.relative(this.target, A));
}
};
Wo.JailFS = Yc;
});
// ../node_modules/@yarnpkg/fslib/lib/LazyFS.js
var Cp = m((Vo) => {
"use strict";
Object.defineProperty(Vo, "__esModule", { value: !0 });
Vo.LazyFS = void 0;
var DL = pt(), Pc = class extends DL.ProxiedFS {
static {
s(this, "LazyFS");
}
constructor(A, e) {
super(e), this.instance = null, this.factory = A;
}
get baseFs() {
return this.instance || (this.instance = this.factory()), this.instance;
}
set baseFs(A) {
this.instance = A;
}
mapFromBase(A) {
return A;
}
mapToBase(A) {
return A;
}
};
Vo.LazyFS = Pc;
});
// ../node_modules/@yarnpkg/fslib/lib/NoFS.js
var cp = m((Xo) => {
"use strict";
Object.defineProperty(Xo, "__esModule", { value: !0 });
Xo.NoFS = void 0;
var SL = Ot(), KL = ee(), G = /* @__PURE__ */ s(() => Object.assign(new Error("ENOSYS: unsupported filesystem access"), { code: "ENOSYS" }),
"makeError"), Fs = class extends SL.FakeFS {
static {
s(this, "NoFS");
}
constructor() {
super(KL.ppath);
}
getExtractHint() {
throw G();
}
getRealPath() {
throw G();
}
resolve() {
throw G();
}
async openPromise() {
throw G();
}
openSync() {
throw G();
}
async opendirPromise() {
throw G();
}
opendirSync() {
throw G();
}
async readPromise() {
throw G();
}
readSync() {
throw G();
}
async writePromise() {
throw G();
}
writeSync() {
throw G();
}
async closePromise() {
throw G();
}
closeSync() {
throw G();
}
createWriteStream() {
throw G();
}
createReadStream() {
throw G();
}
async realpathPromise() {
throw G();
}
realpathSync() {
throw G();
}
async readdirPromise() {
throw G();
}
readdirSync() {
throw G();
}
async existsPromise(A) {
throw G();
}
existsSync(A) {
throw G();
}
async accessPromise() {
throw G();
}
accessSync() {
throw G();
}
async statPromise() {
throw G();
}
statSync() {
throw G();
}
async fstatPromise(A) {
throw G();
}
fstatSync(A) {
throw G();
}
async lstatPromise(A) {
throw G();
}
lstatSync(A) {
throw G();
}
async fchmodPromise() {
throw G();
}
fchmodSync() {
throw G();
}
async chmodPromise() {
throw G();
}
chmodSync() {
throw G();
}
async fchownPromise() {
throw G();
}
fchownSync() {
throw G();
}
async chownPromise() {
throw G();
}
chownSync() {
throw G();
}
async mkdirPromise() {
throw G();
}
mkdirSync() {
throw G();
}
async rmdirPromise() {
throw G();
}
rmdirSync() {
throw G();
}
async linkPromise() {
throw G();
}
linkSync() {
throw G();
}
async symlinkPromise() {
throw G();
}
symlinkSync() {
throw G();
}
async renamePromise() {
throw G();
}
renameSync() {
throw G();
}
async copyFilePromise() {
throw G();
}
copyFileSync() {
throw G();
}
async appendFilePromise() {
throw G();
}
appendFileSync() {
throw G();
}
async writeFilePromise() {
throw G();
}
writeFileSync() {
throw G();
}
async unlinkPromise() {
throw G();
}
unlinkSync() {
throw G();
}
async utimesPromise() {
throw G();
}
utimesSync() {
throw G();
}
async readFilePromise() {
throw G();
}
readFileSync() {
throw G();
}
async readlinkPromise() {
throw G();
}
readlinkSync() {
throw G();
}
async truncatePromise() {
throw G();
}
truncateSync() {
throw G();
}
async ftruncatePromise(A, e) {
throw G();
}
ftruncateSync(A, e) {
throw G();
}
watch() {
throw G();
}
watchFile() {
throw G();
}
unwatchFile() {
throw G();
}
};
Fs.instance = new Fs();
Xo.NoFS = Fs;
});
// ../node_modules/@yarnpkg/fslib/lib/PosixFS.js
var Ip = m((Zo) => {
"use strict";
Object.defineProperty(Zo, "__esModule", { value: !0 });
Zo.PosixFS = void 0;
var FL = pt(), Uc = ee(), _c = class extends FL.ProxiedFS {
static {
s(this, "PosixFS");
}
constructor(A) {
super(Uc.npath), this.baseFs = A;
}
mapFromBase(A) {
return Uc.npath.fromPortablePath(A);
}
mapToBase(A) {
return Uc.npath.toPortablePath(A);
}
};
Zo.PosixFS = _c;
});
// ../node_modules/@yarnpkg/fslib/lib/VirtualFS.js
var hp = m(($o) => {
"use strict";
Object.defineProperty($o, "__esModule", { value: !0 });
$o.VirtualFS = void 0;
var kL = Tt(), bL = pt(), _e = ee(), NL = /^[0-9]+$/, Gc = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,
ML = /^([^/]+-)?[a-f0-9]+$/, Jc = class t extends bL.ProxiedFS {
static {
s(this, "VirtualFS");
}
static makeVirtualPath(A, e, r) {
if (_e.ppath.basename(A) !== "__virtual__")
throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');
if (!_e.ppath.basename(e).match(ML))
throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");
let n = _e.ppath.relative(_e.ppath.dirname(A), r).split("/"), o = 0;
for (; o < n.length && n[o] === ".."; )
o += 1;
let g = n.slice(o);
return _e.ppath.join(A, e, String(o), ...g);
}
static resolveVirtual(A) {
let e = A.match(Gc);
if (!e || !e[3] && e[5])
return A;
let r = _e.ppath.dirname(e[1]);
if (!e[3] || !e[4])
return r;
if (!NL.test(e[4]))
return A;
let n = Number(e[4]), o = "../".repeat(n), g = e[5] || ".";
return t.resolveVirtual(_e.ppath.join(r, o, g));
}
constructor({ baseFs: A = new kL.NodeFS() } = {}) {
super(_e.ppath), this.baseFs = A;
}
getExtractHint(A) {
return this.baseFs.getExtractHint(A);
}
getRealPath() {
return this.baseFs.getRealPath();
}
realpathSync(A) {
let e = A.match(Gc);
if (!e)
return this.baseFs.realpathSync(A);
if (!e[5])
return A;
let r = this.baseFs.realpathSync(this.mapToBase(A));
return t.makeVirtualPath(e[1], e[3], r);
}
async realpathPromise(A) {
let e = A.match(Gc);
if (!e)
return await this.baseFs.realpathPromise(A);
if (!e[5])
return A;
let r = await this.baseFs.realpathPromise(this.mapToBase(A));
return t.makeVirtualPath(e[1], e[3], r);
}
mapToBase(A) {
if (A === "")
return A;
if (this.pathUtils.isAbsolute(A))
return t.resolveVirtual(A);
let e = t.resolveVirtual(this.baseFs.resolve(_e.PortablePath.dot)), r = t.resolveVirtual(this.baseFs.resolve(A));
return _e.ppath.relative(e, r) || _e.PortablePath.dot;
}
mapFromBase(A) {
return A;
}
};
$o.VirtualFS = Jc;
});
// ../node_modules/@yarnpkg/fslib/lib/ZipOpenFS.js
var lp = m((jt) => {
"use strict";
Object.defineProperty(jt, "__esModule", { value: !0 });
jt.ZipOpenFS = jt.getArchivePart = void 0;
var RL = (Ue(), fe(Pe)), Ag = require("fs"), vL = Ot(), LL = Tt(), eg = To(), tg = kc(), se = RL.__importStar(Ss()), wr = ee(), ne = 4278190080,
te = 704643072, xL = /* @__PURE__ */ s((t, A) => {
let e = t.indexOf(A);
if (e <= 0)
return null;
let r = e;
for (; e >= 0 && (r = e + A.length, t[r] !== wr.ppath.sep); ) {
if (t[e - 1] === wr.ppath.sep)
return null;
e = t.indexOf(A, r);
}
return t.length > r && t[r] !== wr.ppath.sep ? null : t.slice(0, r);
}, "getArchivePart");
jt.getArchivePart = xL;
var Oc = class t extends vL.BasePortableFakeFS {
static {
s(this, "ZipOpenFS");
}
static async openPromise(A, e) {
let r = new t(e);
try {
return await A(r);
} finally {
r.saveAndClose();
}
}
get libzip() {
return typeof this.libzipInstance > "u" && (this.libzipInstance = this.libzipFactory()), this.libzipInstance;
}
constructor({ libzip: A, baseFs: e = new LL.NodeFS(), filter: r = null, maxOpenFiles: i = 1 / 0, readOnlyArchives: n = !1, useCache: o = !0,
maxAge: g = 5e3, fileExtensions: C = null }) {
super(), this.fdMap = /* @__PURE__ */ new Map(), this.nextFd = 3, this.isZip = /* @__PURE__ */ new Set(), this.notZip = /* @__PURE__ */ new Set(),
this.realPaths = /* @__PURE__ */ new Map(), this.limitOpenFilesTimeout = null, this.libzipFactory = typeof A != "function" ? () => A :
A, this.baseFs = e, this.zipInstances = o ? /* @__PURE__ */ new Map() : null, this.filter = r, this.maxOpenFiles = i, this.readOnlyArchives =
n, this.maxAge = g, this.fileExtensions = C;
}
getExtractHint(A) {
return this.baseFs.getExtractHint(A);
}
getRealPath() {
return this.baseFs.getRealPath();
}
saveAndClose() {
if ((0, tg.unwatchAllFiles)(this), this.zipInstances)
for (let [A, { zipFs: e }] of this.zipInstances.entries())
e.saveAndClose(), this.zipInstances.delete(A);
}
discardAndClose() {
if ((0, tg.unwatchAllFiles)(this), this.zipInstances)
for (let [A, { zipFs: e }] of this.zipInstances.entries())
e.discardAndClose(), this.zipInstances.delete(A);
}
resolve(A) {
return this.baseFs.resolve(A);
}
remapFd(A, e) {
let r = this.nextFd++ | te;
return this.fdMap.set(r, [A, e]), r;
}
async openPromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.openPromise(A, e, r), async (i, { subPath: n }) => this.remapFd(i, await i.
openPromise(n, e, r)));
}
openSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.openSync(A, e, r), (i, { subPath: n }) => this.remapFd(i, i.openSync(n, e, r)));
}
async opendirPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.opendirPromise(A, e), async (r, { subPath: i }) => await r.opendirPromise(
i, e), {
requireSubpath: !1
});
}
opendirSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.opendirSync(A, e), (r, { subPath: i }) => r.opendirSync(i, e), {
requireSubpath: !1
});
}
async readPromise(A, e, r, i, n) {
if ((A & ne) !== te)
return await this.baseFs.readPromise(A, e, r, i, n);
let o = this.fdMap.get(A);
if (typeof o > "u")
throw se.EBADF("read");
let [g, C] = o;
return await g.readPromise(C, e, r, i, n);
}
readSync(A, e, r, i, n) {
if ((A & ne) !== te)
return this.baseFs.readSync(A, e, r, i, n);
let o = this.fdMap.get(A);
if (typeof o > "u")
throw se.EBADF("readSync");
let [g, C] = o;
return g.readSync(C, e, r, i, n);
}
async writePromise(A, e, r, i, n) {
if ((A & ne) !== te)
return typeof e == "string" ? await this.baseFs.writePromise(A, e, r) : await this.baseFs.writePromise(A, e, r, i, n);
let o = this.fdMap.get(A);
if (typeof o > "u")
throw se.EBADF("write");
let [g, C] = o;
return typeof e == "string" ? await g.writePromise(C, e, r) : await g.writePromise(C, e, r, i, n);
}
writeSync(A, e, r, i, n) {
if ((A & ne) !== te)
return typeof e == "string" ? this.baseFs.writeSync(A, e, r) : this.baseFs.writeSync(A, e, r, i, n);
let o = this.fdMap.get(A);
if (typeof o > "u")
throw se.EBADF("writeSync");
let [g, C] = o;
return typeof e == "string" ? g.writeSync(C, e, r) : g.writeSync(C, e, r, i, n);
}
async closePromise(A) {
if ((A & ne) !== te)
return await this.baseFs.closePromise(A);
let e = this.fdMap.get(A);
if (typeof e > "u")
throw se.EBADF("close");
this.fdMap.delete(A);
let [r, i] = e;
return await r.closePromise(i);
}
closeSync(A) {
if ((A & ne) !== te)
return this.baseFs.closeSync(A);
let e = this.fdMap.get(A);
if (typeof e > "u")
throw se.EBADF("closeSync");
this.fdMap.delete(A);
let [r, i] = e;
return r.closeSync(i);
}
createReadStream(A, e) {
return A === null ? this.baseFs.createReadStream(A, e) : this.makeCallSync(A, () => this.baseFs.createReadStream(A, e), (r, { archivePath: i,
subPath: n }) => {
let o = r.createReadStream(n, e);
return o.path = wr.npath.fromPortablePath(this.pathUtils.join(i, n)), o;
});
}
createWriteStream(A, e) {
return A === null ? this.baseFs.createWriteStream(A, e) : this.makeCallSync(A, () => this.baseFs.createWriteStream(A, e), (r, { subPath: i }) => r.
createWriteStream(i, e));
}
async realpathPromise(A) {
return await this.makeCallPromise(A, async () => await this.baseFs.realpathPromise(A), async (e, { archivePath: r, subPath: i }) => {
let n = this.realPaths.get(r);
return typeof n > "u" && (n = await this.baseFs.realpathPromise(r), this.realPaths.set(r, n)), this.pathUtils.join(n, this.pathUtils.
relative(wr.PortablePath.root, await e.realpathPromise(i)));
});
}
realpathSync(A) {
return this.makeCallSync(A, () => this.baseFs.realpathSync(A), (e, { archivePath: r, subPath: i }) => {
let n = this.realPaths.get(r);
return typeof n > "u" && (n = this.baseFs.realpathSync(r), this.realPaths.set(r, n)), this.pathUtils.join(n, this.pathUtils.relative(
wr.PortablePath.root, e.realpathSync(i)));
});
}
async existsPromise(A) {
return await this.makeCallPromise(A, async () => await this.baseFs.existsPromise(A), async (e, { subPath: r }) => await e.existsPromise(
r));
}
existsSync(A) {
return this.makeCallSync(A, () => this.baseFs.existsSync(A), (e, { subPath: r }) => e.existsSync(r));
}
async accessPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.accessPromise(A, e), async (r, { subPath: i }) => await r.accessPromise(
i, e));
}
accessSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.accessSync(A, e), (r, { subPath: i }) => r.accessSync(i, e));
}
async statPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.statPromise(A, e), async (r, { subPath: i }) => await r.statPromise(
i, e));
}
statSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.statSync(A, e), (r, { subPath: i }) => r.statSync(i, e));
}
async fstatPromise(A, e) {
if ((A & ne) !== te)
return this.baseFs.fstatPromise(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw se.EBADF("fstat");
let [i, n] = r;
return i.fstatPromise(n, e);
}
fstatSync(A, e) {
if ((A & ne) !== te)
return this.baseFs.fstatSync(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw se.EBADF("fstatSync");
let [i, n] = r;
return i.fstatSync(n, e);
}
async lstatPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.lstatPromise(A, e), async (r, { subPath: i }) => await r.lstatPromise(
i, e));
}
lstatSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.lstatSync(A, e), (r, { subPath: i }) => r.lstatSync(i, e));
}
async fchmodPromise(A, e) {
if ((A & ne) !== te)
return this.baseFs.fchmodPromise(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw se.EBADF("fchmod");
let [i, n] = r;
return i.fchmodPromise(n, e);
}
fchmodSync(A, e) {
if ((A & ne) !== te)
return this.baseFs.fchmodSync(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw se.EBADF("fchmodSync");
let [i, n] = r;
return i.fchmodSync(n, e);
}
async chmodPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.chmodPromise(A, e), async (r, { subPath: i }) => await r.chmodPromise(
i, e));
}
chmodSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.chmodSync(A, e), (r, { subPath: i }) => r.chmodSync(i, e));
}
async fchownPromise(A, e, r) {
if ((A & ne) !== te)
return this.baseFs.fchownPromise(A, e, r);
let i = this.fdMap.get(A);
if (typeof i > "u")
throw se.EBADF("fchown");
let [n, o] = i;
return n.fchownPromise(o, e, r);
}
fchownSync(A, e, r) {
if ((A & ne) !== te)
return this.baseFs.fchownSync(A, e, r);
let i = this.fdMap.get(A);
if (typeof i > "u")
throw se.EBADF("fchownSync");
let [n, o] = i;
return n.fchownSync(o, e, r);
}
async chownPromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.chownPromise(A, e, r), async (i, { subPath: n }) => await i.chownPromise(
n, e, r));
}
chownSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.chownSync(A, e, r), (i, { subPath: n }) => i.chownSync(n, e, r));
}
async renamePromise(A, e) {
return await this.makeCallPromise(A, async () => await this.makeCallPromise(e, async () => await this.baseFs.renamePromise(A, e), async () => {
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
}), async (r, { subPath: i }) => await this.makeCallPromise(e, async () => {
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
}, async (n, { subPath: o }) => {
if (r !== n)
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
return await r.renamePromise(i, o);
}));
}
renameSync(A, e) {
return this.makeCallSync(A, () => this.makeCallSync(e, () => this.baseFs.renameSync(A, e), () => {
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
}), (r, { subPath: i }) => this.makeCallSync(e, () => {
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
}, (n, { subPath: o }) => {
if (r !== n)
throw Object.assign(new Error("EEXDEV: cross-device link not permitted"), { code: "EEXDEV" });
return r.renameSync(i, o);
}));
}
async copyFilePromise(A, e, r = 0) {
let i = /* @__PURE__ */ s(async (n, o, g, C) => {
if ((r & Ag.constants.COPYFILE_FICLONE_FORCE) !== 0)
throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${C}'`), { code: "EXDEV" });
if (r & Ag.constants.COPYFILE_EXCL && await this.existsPromise(o))
throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${C}'`), { code: "EEXIST" });
let I;
try {
I = await n.readFilePromise(o);
} catch {
throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${C}'`), { code: "EINVAL" });
}
await g.writeFilePromise(C, I);
}, "fallback");
return await this.makeCallPromise(A, async () => await this.makeCallPromise(e, async () => await this.baseFs.copyFilePromise(A, e, r),
async (n, { subPath: o }) => await i(this.baseFs, A, n, o)), async (n, { subPath: o }) => await this.makeCallPromise(e, async () => await i(
n, o, this.baseFs, e), async (g, { subPath: C }) => n !== g ? await i(n, o, g, C) : await n.copyFilePromise(o, C, r)));
}
copyFileSync(A, e, r = 0) {
let i = /* @__PURE__ */ s((n, o, g, C) => {
if ((r & Ag.constants.COPYFILE_FICLONE_FORCE) !== 0)
throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${C}'`), { code: "EXDEV" });
if (r & Ag.constants.COPYFILE_EXCL && this.existsSync(o))
throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${C}'`), { code: "EEXIST" });
let I;
try {
I = n.readFileSync(o);
} catch {
throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${C}'`), { code: "EINVAL" });
}
g.writeFileSync(C, I);
}, "fallback");
return this.makeCallSync(A, () => this.makeCallSync(e, () => this.baseFs.copyFileSync(A, e, r), (n, { subPath: o }) => i(this.baseFs, A,
n, o)), (n, { subPath: o }) => this.makeCallSync(e, () => i(n, o, this.baseFs, e), (g, { subPath: C }) => n !== g ? i(n, o, g, C) : n.
copyFileSync(o, C, r)));
}
async appendFilePromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.appendFilePromise(A, e, r), async (i, { subPath: n }) => await i.appendFilePromise(
n, e, r));
}
appendFileSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.appendFileSync(A, e, r), (i, { subPath: n }) => i.appendFileSync(n, e, r));
}
async writeFilePromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.writeFilePromise(A, e, r), async (i, { subPath: n }) => await i.writeFilePromise(
n, e, r));
}
writeFileSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.writeFileSync(A, e, r), (i, { subPath: n }) => i.writeFileSync(n, e, r));
}
async unlinkPromise(A) {
return await this.makeCallPromise(A, async () => await this.baseFs.unlinkPromise(A), async (e, { subPath: r }) => await e.unlinkPromise(
r));
}
unlinkSync(A) {
return this.makeCallSync(A, () => this.baseFs.unlinkSync(A), (e, { subPath: r }) => e.unlinkSync(r));
}
async utimesPromise(A, e, r) {
return await this.makeCallPromise(A, async () => await this.baseFs.utimesPromise(A, e, r), async (i, { subPath: n }) => await i.utimesPromise(
n, e, r));
}
utimesSync(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.utimesSync(A, e, r), (i, { subPath: n }) => i.utimesSync(n, e, r));
}
async mkdirPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.mkdirPromise(A, e), async (r, { subPath: i }) => await r.mkdirPromise(
i, e));
}
mkdirSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.mkdirSync(A, e), (r, { subPath: i }) => r.mkdirSync(i, e));
}
async rmdirPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.rmdirPromise(A, e), async (r, { subPath: i }) => await r.rmdirPromise(
i, e));
}
rmdirSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.rmdirSync(A, e), (r, { subPath: i }) => r.rmdirSync(i, e));
}
async linkPromise(A, e) {
return await this.makeCallPromise(e, async () => await this.baseFs.linkPromise(A, e), async (r, { subPath: i }) => await r.linkPromise(
A, i));
}
linkSync(A, e) {
return this.makeCallSync(e, () => this.baseFs.linkSync(A, e), (r, { subPath: i }) => r.linkSync(A, i));
}
async symlinkPromise(A, e, r) {
return await this.makeCallPromise(e, async () => await this.baseFs.symlinkPromise(A, e, r), async (i, { subPath: n }) => await i.symlinkPromise(
A, n));
}
symlinkSync(A, e, r) {
return this.makeCallSync(e, () => this.baseFs.symlinkSync(A, e, r), (i, { subPath: n }) => i.symlinkSync(A, n));
}
async readFilePromise(A, e) {
return this.makeCallPromise(A, async () => {
switch (e) {
case "utf8":
return await this.baseFs.readFilePromise(A, e);
default:
return await this.baseFs.readFilePromise(A, e);
}
}, async (r, { subPath: i }) => await r.readFilePromise(i, e));
}
readFileSync(A, e) {
return this.makeCallSync(A, () => {
switch (e) {
case "utf8":
return this.baseFs.readFileSync(A, e);
default:
return this.baseFs.readFileSync(A, e);
}
}, (r, { subPath: i }) => r.readFileSync(i, e));
}
async readdirPromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.readdirPromise(A, e), async (r, { subPath: i }) => await r.readdirPromise(
i, e), {
requireSubpath: !1
});
}
readdirSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.readdirSync(A, e), (r, { subPath: i }) => r.readdirSync(i, e), {
requireSubpath: !1
});
}
async readlinkPromise(A) {
return await this.makeCallPromise(A, async () => await this.baseFs.readlinkPromise(A), async (e, { subPath: r }) => await e.readlinkPromise(
r));
}
readlinkSync(A) {
return this.makeCallSync(A, () => this.baseFs.readlinkSync(A), (e, { subPath: r }) => e.readlinkSync(r));
}
async truncatePromise(A, e) {
return await this.makeCallPromise(A, async () => await this.baseFs.truncatePromise(A, e), async (r, { subPath: i }) => await r.truncatePromise(
i, e));
}
truncateSync(A, e) {
return this.makeCallSync(A, () => this.baseFs.truncateSync(A, e), (r, { subPath: i }) => r.truncateSync(i, e));
}
async ftruncatePromise(A, e) {
if ((A & ne) !== te)
return this.baseFs.ftruncatePromise(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw se.EBADF("ftruncate");
let [i, n] = r;
return i.ftruncatePromise(n, e);
}
ftruncateSync(A, e) {
if ((A & ne) !== te)
return this.baseFs.ftruncateSync(A, e);
let r = this.fdMap.get(A);
if (typeof r > "u")
throw se.EBADF("ftruncateSync");
let [i, n] = r;
return i.ftruncateSync(n, e);
}
watch(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.watch(
A,
// @ts-expect-error
e,
r
), (i, { subPath: n }) => i.watch(
n,
// @ts-expect-error
e,
r
));
}
watchFile(A, e, r) {
return this.makeCallSync(A, () => this.baseFs.watchFile(
A,
// @ts-expect-error
e,
r
), () => (0, tg.watchFile)(this, A, e, r));
}
unwatchFile(A, e) {
return this.makeCallSync(A, () => this.baseFs.unwatchFile(A, e), () => (0, tg.unwatchFile)(this, A, e));
}
async makeCallPromise(A, e, r, { requireSubpath: i = !0 } = {}) {
if (typeof A != "string")
return await e();
let n = this.resolve(A), o = this.findZip(n);
return o ? i && o.subPath === "/" ? await e() : await this.getZipPromise(o.archivePath, async (g) => await r(g, o)) : await e();
}
makeCallSync(A, e, r, { requireSubpath: i = !0 } = {}) {
if (typeof A != "string")
return e();
let n = this.resolve(A), o = this.findZip(n);
return !o || i && o.subPath === "/" ? e() : this.getZipSync(o.archivePath, (g) => r(g, o));
}
findZip(A) {
if (this.filter && !this.filter.test(A))
return null;
let e = "";
for (; ; ) {
let r = A.substring(e.length), i;
if (!this.fileExtensions)
i = (0, jt.getArchivePart)(r, ".zip");
else
for (let n of this.fileExtensions)
if (i = (0, jt.getArchivePart)(r, n), i)
break;
if (!i)
return null;
if (e = this.pathUtils.join(e, i), this.isZip.has(e) === !1) {
if (this.notZip.has(e))
continue;
try {
if (!this.baseFs.lstatSync(e).isFile()) {
this.notZip.add(e);
continue;
}
} catch {
return null;
}
this.isZip.add(e);
}
return {
archivePath: e,
subPath: this.pathUtils.join(wr.PortablePath.root, A.substring(e.length))
};
}
}
limitOpenFiles(A) {
if (this.zipInstances === null)
return;
let e = Date.now(), r = e + this.maxAge, i = A === null ? 0 : this.zipInstances.size - A;
for (let [n, { zipFs: o, expiresAt: g, refCount: C }] of this.zipInstances.entries())
if (!(C !== 0 || o.hasOpenFileHandles())) {
if (e >= g) {
o.saveAndClose(), this.zipInstances.delete(n), i -= 1;
continue;
} else if (A === null || i <= 0) {
r = g;
break;
}
o.saveAndClose(), this.zipInstances.delete(n), i -= 1;
}
this.limitOpenFilesTimeout === null && (A === null && this.zipInstances.size > 0 || A !== null) && (this.limitOpenFilesTimeout = setTimeout(
() => {
this.limitOpenFilesTimeout = null, this.limitOpenFiles(null);
}, r - e).unref());
}
async getZipPromise(A, e) {
let r = /* @__PURE__ */ s(async () => ({
baseFs: this.baseFs,
libzip: this.libzip,
readOnly: this.readOnlyArchives,
stats: await this.baseFs.statPromise(A)
}), "getZipOptions");
if (this.zipInstances) {
let i = this.zipInstances.get(A);
if (!i) {
let n = await r();
i = this.zipInstances.get(A), i || (i = {
zipFs: new eg.ZipFS(A, n),
expiresAt: 0,
refCount: 0
});
}
this.zipInstances.delete(A), this.limitOpenFiles(this.maxOpenFiles - 1), this.zipInstances.set(A, i), i.expiresAt = Date.now() + this.
maxAge, i.refCount += 1;
try {
return await e(i.zipFs);
} finally {
i.refCount -= 1;
}
} else {
let i = new eg.ZipFS(A, await r());
try {
return await e(i);
} finally {
i.saveAndClose();
}
}
}
getZipSync(A, e) {
let r = /* @__PURE__ */ s(() => ({
baseFs: this.baseFs,
libzip: this.libzip,
readOnly: this.readOnlyArchives,
stats: this.baseFs.statSync(A)
}), "getZipOptions");
if (this.zipInstances) {
let i = this.zipInstances.get(A);
return i || (i = {
zipFs: new eg.ZipFS(A, r()),
expiresAt: 0,
refCount: 0
}), this.zipInstances.delete(A), this.limitOpenFiles(this.maxOpenFiles - 1), this.zipInstances.set(A, i), i.expiresAt = Date.now() +
this.maxAge, e(i.zipFs);
} else {
let i = new eg.ZipFS(A, r());
try {
return e(i);
} finally {
i.saveAndClose();
}
}
}
};
jt.ZipOpenFS = Oc;
});
// ../node_modules/@yarnpkg/fslib/lib/NodePathFS.js
var up = m((rg) => {
"use strict";
Object.defineProperty(rg, "__esModule", { value: !0 });
rg.NodePathFS = void 0;
var Ep = require("url"), YL = require("util"), PL = pt(), UL = ee(), Tc = class extends PL.ProxiedFS {
static {
s(this, "NodePathFS");
}
constructor(A) {
super(UL.npath), this.baseFs = A;
}
mapFromBase(A) {
return A;
}
mapToBase(A) {
if (typeof A == "string")
return A;
if (A instanceof Ep.URL)
return (0, Ep.fileURLToPath)(A);
if (Buffer.isBuffer(A)) {
let e = A.toString();
if (Buffer.byteLength(e) !== A.byteLength)
throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: \
https://github.com/yarnpkg/berry/issues/4942");
return e;
}
throw new Error(`Unsupported path type: ${(0, YL.inspect)(A)}`);
}
};
rg.NodePathFS = Tc;
});
// ../node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js
var pp = m((ng) => {
"use strict";
var Bp, Qp, fp, dp;
Object.defineProperty(ng, "__esModule", { value: !0 });
ng.FileHandle = void 0;
var _L = require("readline"), re = Symbol("kBaseFs"), qt = Symbol("kFd"), zt = Symbol("kClosePromise"), ig = Symbol("kCloseResolve"), sg = Symbol(
"kCloseReject"), ui = Symbol("kRefs"), Ge = Symbol("kRef"), Je = Symbol("kUnref"), Hc = class {
static {
s(this, "FileHandle");
}
constructor(A, e) {
this[Bp] = 1, this[Qp] = void 0, this[fp] = void 0, this[dp] = void 0, this[re] = e, this[qt] = A;
}
get fd() {
return this[qt];
}
async appendFile(A, e) {
var r;
try {
this[Ge](this.appendFile);
let i = (r = typeof e == "string" ? e : e?.encoding) !== null && r !== void 0 ? r : void 0;
return await this[re].appendFilePromise(this.fd, A, i ? { encoding: i } : void 0);
} finally {
this[Je]();
}
}
async chown(A, e) {
try {
return this[Ge](this.chown), await this[re].fchownPromise(this.fd, A, e);
} finally {
this[Je]();
}
}
async chmod(A) {
try {
return this[Ge](this.chmod), await this[re].fchmodPromise(this.fd, A);
} finally {
this[Je]();
}
}
createReadStream(A) {
return this[re].createReadStream(null, { ...A, fd: this.fd });
}
createWriteStream(A) {
return this[re].createWriteStream(null, { ...A, fd: this.fd });
}
// FIXME: Missing FakeFS version
datasync() {
throw new Error("Method not implemented.");
}
// FIXME: Missing FakeFS version
sync() {
throw new Error("Method not implemented.");
}
async read(A, e, r, i) {
var n, o, g;
try {
this[Ge](this.read);
let C;
return Buffer.isBuffer(A) ? C = A : (A ?? (A = {}), C = (n = A.buffer) !== null && n !== void 0 ? n : Buffer.alloc(16384), e = A.offset ||
0, r = (o = A.length) !== null && o !== void 0 ? o : C.byteLength, i = (g = A.position) !== null && g !== void 0 ? g : null), e ?? (e =
0), r ?? (r = 0), r === 0 ? {
bytesRead: r,
buffer: C
} : {
bytesRead: await this[re].readPromise(this.fd, C, e, r, i),
buffer: C
};
} finally {
this[Je]();
}
}
async readFile(A) {
var e;
try {
this[Ge](this.readFile);
let r = (e = typeof A == "string" ? A : A?.encoding) !== null && e !== void 0 ? e : void 0;
return await this[re].readFilePromise(this.fd, r);
} finally {
this[Je]();
}
}
readLines(A) {
return (0, _L.createInterface)({
input: this.createReadStream(A),
crlfDelay: 1 / 0
});
}
async stat(A) {
try {
return this[Ge](this.stat), await this[re].fstatPromise(this.fd, A);
} finally {
this[Je]();
}
}
async truncate(A) {
try {
return this[Ge](this.truncate), await this[re].ftruncatePromise(this.fd, A);
} finally {
this[Je]();
}
}
// FIXME: Missing FakeFS version
utimes(A, e) {
throw new Error("Method not implemented.");
}
async writeFile(A, e) {
var r;
try {
this[Ge](this.writeFile);
let i = (r = typeof e == "string" ? e : e?.encoding) !== null && r !== void 0 ? r : void 0;
await this[re].writeFilePromise(this.fd, A, i);
} finally {
this[Je]();
}
}
async write(...A) {
try {
if (this[Ge](this.write), ArrayBuffer.isView(A[0])) {
let [e, r, i, n] = A;
return { bytesWritten: await this[re].writePromise(this.fd, e, r ?? void 0, i ?? void 0, n ?? void 0), buffer: e };
} else {
let [e, r, i] = A;
return { bytesWritten: await this[re].writePromise(this.fd, e, r, i), buffer: e };
}
} finally {
this[Je]();
}
}
// TODO: Use writev from FakeFS when that is implemented
async writev(A, e) {
try {
this[Ge](this.writev);
let r = 0;
if (typeof e < "u")
for (let i of A) {
let n = await this.write(i, void 0, void 0, e);
r += n.bytesWritten, e += n.bytesWritten;
}
else
for (let i of A) {
let n = await this.write(i);
r += n.bytesWritten;
}
return {
buffers: A,
bytesWritten: r
};
} finally {
this[Je]();
}
}
// FIXME: Missing FakeFS version
readv(A, e) {
throw new Error("Method not implemented.");
}
close() {
if (this[qt] === -1)
return Promise.resolve();
if (this[zt])
return this[zt];
if (this[ui]--, this[ui] === 0) {
let A = this[qt];
this[qt] = -1, this[zt] = this[re].closePromise(A).finally(() => {
this[zt] = void 0;
});
} else
this[zt] = new Promise((A, e) => {
this[ig] = A, this[sg] = e;
}).finally(() => {
this[zt] = void 0, this[sg] = void 0, this[ig] = void 0;
});
return this[zt];
}
[(Bp = ui, Qp = zt, fp = ig, dp = sg, Ge)](A) {
if (this[qt] === -1) {
let e = new Error("file closed");
throw e.code = "EBADF", e.syscall = A.name, e;
}
this[ui]++;
}
[Je]() {
if (this[ui]--, this[ui] === 0) {
let A = this[qt];
this[qt] = -1, this[re].closePromise(A).then(this[ig], this[sg]);
}
}
};
ng.FileHandle = Hc;
});
// ../node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js
var Dp = m((Bi) => {
"use strict";
Object.defineProperty(Bi, "__esModule", { value: !0 });
Bi.extendFs = Bi.patchFs = void 0;
var ks = require("util"), GL = up(), wp = pp(), JL = /* @__PURE__ */ new Set([
"accessSync",
"appendFileSync",
"createReadStream",
"createWriteStream",
"chmodSync",
"fchmodSync",
"chownSync",
"fchownSync",
"closeSync",
"copyFileSync",
"linkSync",
"lstatSync",
"fstatSync",
"lutimesSync",
"mkdirSync",
"openSync",
"opendirSync",
"readlinkSync",
"readFileSync",
"readdirSync",
"readlinkSync",
"realpathSync",
"renameSync",
"rmdirSync",
"statSync",
"symlinkSync",
"truncateSync",
"ftruncateSync",
"unlinkSync",
"unwatchFile",
"utimesSync",
"watch",
"watchFile",
"writeFileSync",
"writeSync"
]), mp = /* @__PURE__ */ new Set([
"accessPromise",
"appendFilePromise",
"fchmodPromise",
"chmodPromise",
"fchownPromise",
"chownPromise",
"closePromise",
"copyFilePromise",
"linkPromise",
"fstatPromise",
"lstatPromise",
"lutimesPromise",
"mkdirPromise",
"openPromise",
"opendirPromise",
"readdirPromise",
"realpathPromise",
"readFilePromise",
"readdirPromise",
"readlinkPromise",
"renamePromise",
"rmdirPromise",
"statPromise",
"symlinkPromise",
"truncatePromise",
"ftruncatePromise",
"unlinkPromise",
"utimesPromise",
"writeFilePromise",
"writeSync"
]);
function yp(t, A) {
A = new GL.NodePathFS(A);
let e = /* @__PURE__ */ s((r, i, n) => {
let o = r[i];
r[i] = n, typeof o?.[ks.promisify.custom] < "u" && (n[ks.promisify.custom] = o[ks.promisify.custom]);
}, "setupFn");
{
e(t, "exists", (r, ...i) => {
let o = typeof i[i.length - 1] == "function" ? i.pop() : () => {
};
process.nextTick(() => {
A.existsPromise(r).then((g) => {
o(g);
}, () => {
o(!1);
});
});
}), e(t, "read", (...r) => {
let [i, n, o, g, C, I] = r;
if (r.length <= 3) {
let E = {};
r.length < 3 ? I = r[1] : (E = r[1], I = r[2]), {
buffer: n = Buffer.alloc(16384),
offset: o = 0,
length: g = n.byteLength,
position: C
} = E;
}
if (o == null && (o = 0), g |= 0, g === 0) {
process.nextTick(() => {
I(null, 0, n);
});
return;
}
C == null && (C = -1), process.nextTick(() => {
A.readPromise(i, n, o, g, C).then((E) => {
I(null, E, n);
}, (E) => {
I(E, 0, n);
});
});
});
for (let r of mp) {
let i = r.replace(/Promise$/, "");
if (typeof t[i] > "u")
continue;
let n = A[r];
if (typeof n > "u")
continue;
e(t, i, /* @__PURE__ */ s((...g) => {
let I = typeof g[g.length - 1] == "function" ? g.pop() : () => {
};
process.nextTick(() => {
n.apply(A, g).then((E) => {
I(null, E);
}, (E) => {
I(E);
});
});
}, "wrapper"));
}
t.realpath.native = t.realpath;
}
{
e(t, "existsSync", (r) => {
try {
return A.existsSync(r);
} catch {
return !1;
}
}), e(t, "readSync", (...r) => {
let [i, n, o, g, C] = r;
return r.length <= 3 && ({ offset: o = 0, length: g = n.byteLength, position: C } = r[2] || {}), o == null && (o = 0), g |= 0, g ===
0 ? 0 : (C == null && (C = -1), A.readSync(i, n, o, g, C));
});
for (let r of JL) {
let i = r;
if (typeof t[i] > "u")
continue;
let n = A[r];
typeof n > "u" || e(t, i, n.bind(A));
}
t.realpathSync.native = t.realpathSync;
}
{
let r = process.emitWarning;
process.emitWarning = () => {
};
let i;
try {
i = t.promises;
} finally {
process.emitWarning = r;
}
if (typeof i < "u") {
for (let n of mp) {
let o = n.replace(/Promise$/, "");
if (typeof i[o] > "u")
continue;
let g = A[n];
typeof g > "u" || n !== "open" && e(i, o, (C, ...I) => C instanceof wp.FileHandle ? C[o].apply(C, I) : g.call(A, C, ...I));
}
e(i, "open", async (...n) => {
let o = await A.openPromise(...n);
return new wp.FileHandle(o, A);
});
}
}
t.read[ks.promisify.custom] = async (r, i, ...n) => ({ bytesRead: await A.readPromise(r, i, ...n), buffer: i }), t.write[ks.promisify.custom] =
async (r, i, ...n) => ({ bytesWritten: await A.writePromise(r, i, ...n), buffer: i });
}
s(yp, "patchFs");
Bi.patchFs = yp;
function OL(t, A) {
let e = Object.create(t);
return yp(e, A), e;
}
s(OL, "extendFs");
Bi.extendFs = OL;
});
// ../node_modules/@yarnpkg/fslib/lib/xfs.js
var Fp = m((Wt) => {
"use strict";
Object.defineProperty(Wt, "__esModule", { value: !0 });
Wt.xfs = void 0;
var TL = (Ue(), fe(Pe)), HL = TL.__importDefault(require("os")), jL = Tt(), bs = ee();
function Sp(t) {
let A = Math.ceil(Math.random() * 4294967296).toString(16).padStart(8, "0");
return `${t}${A}`;
}
s(Sp, "getTempName");
var Oe = /* @__PURE__ */ new Set(), jc = null;
function Kp() {
if (jc)
return jc;
let t = bs.npath.toPortablePath(HL.default.tmpdir()), A = Wt.xfs.realpathSync(t);
return process.once("exit", () => {
Wt.xfs.rmtempSync();
}), jc = {
tmpdir: t,
realTmpdir: A
};
}
s(Kp, "initTmpEnv");
Wt.xfs = Object.assign(new jL.NodeFS(), {
detachTemp(t) {
Oe.delete(t);
},
mktempSync(t) {
let { tmpdir: A, realTmpdir: e } = Kp();
for (; ; ) {
let r = Sp("xfs-");
try {
this.mkdirSync(bs.ppath.join(A, r));
} catch (n) {
if (n.code === "EEXIST")
continue;
throw n;
}
let i = bs.ppath.join(e, r);
if (Oe.add(i), typeof t > "u")
return i;
try {
return t(i);
} finally {
if (Oe.has(i)) {
Oe.delete(i);
try {
this.removeSync(i);
} catch {
}
}
}
}
},
async mktempPromise(t) {
let { tmpdir: A, realTmpdir: e } = Kp();
for (; ; ) {
let r = Sp("xfs-");
try {
await this.mkdirPromise(bs.ppath.join(A, r));
} catch (n) {
if (n.code === "EEXIST")
continue;
throw n;
}
let i = bs.ppath.join(e, r);
if (Oe.add(i), typeof t > "u")
return i;
try {
return await t(i);
} finally {
if (Oe.has(i)) {
Oe.delete(i);
try {
await this.removePromise(i);
} catch {
}
}
}
}
},
async rmtempPromise() {
await Promise.all(Array.from(Oe.values()).map(async (t) => {
try {
await Wt.xfs.removePromise(t, { maxRetries: 0 }), Oe.delete(t);
} catch {
}
}));
},
rmtempSync() {
for (let t of Oe)
try {
Wt.xfs.removeSync(t), Oe.delete(t);
} catch {
}
}
});
});
// ../node_modules/@yarnpkg/fslib/lib/index.js
var Rp = m((V) => {
"use strict";
Object.defineProperty(V, "__esModule", { value: !0 });
V.xfs = V.extendFs = V.patchFs = V.ZipOpenFS = V.ZipFS = V.VirtualFS = V.ProxiedFS = V.PosixFS = V.NodeFS = V.NoFS = V.LazyFS = V.JailFS =
V.CwdFS = V.FakeFS = V.AliasFS = V.toFilename = V.ppath = V.npath = V.Filename = V.PortablePath = V.DEFAULT_COMPRESSION_LEVEL = V.normalizeLineEndings =
V.statUtils = V.CustomDir = V.opendir = V.LinkStrategy = V.constants = void 0;
var kp = (Ue(), fe(Pe)), qL = kp.__importStar(Ds());
V.constants = qL;
var zL = kp.__importStar(Lo());
V.statUtils = zL;
var WL = pc();
Object.defineProperty(V, "LinkStrategy", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return WL.LinkStrategy;
}, "get") });
var bp = mc();
Object.defineProperty(V, "opendir", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return bp.opendir;
}, "get") });
Object.defineProperty(V, "CustomDir", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return bp.CustomDir;
}, "get") });
var VL = Ot();
Object.defineProperty(V, "normalizeLineEndings", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return VL.normalizeLineEndings;
}, "get") });
var XL = To();
Object.defineProperty(V, "DEFAULT_COMPRESSION_LEVEL", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return XL.DEFAULT_COMPRESSION_LEVEL;
}, "get") });
var Np = ee();
Object.defineProperty(V, "PortablePath", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Np.PortablePath;
}, "get") });
Object.defineProperty(V, "Filename", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Np.Filename;
}, "get") });
var qc = ee();
Object.defineProperty(V, "npath", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return qc.npath;
}, "get") });
Object.defineProperty(V, "ppath", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return qc.ppath;
}, "get") });
Object.defineProperty(V, "toFilename", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return qc.toFilename;
}, "get") });
var ZL = np();
Object.defineProperty(V, "AliasFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ZL.AliasFS;
}, "get") });
var $L = Ot();
Object.defineProperty(V, "FakeFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return $L.FakeFS;
}, "get") });
var Ax = op();
Object.defineProperty(V, "CwdFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Ax.CwdFS;
}, "get") });
var ex = ap();
Object.defineProperty(V, "JailFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ex.JailFS;
}, "get") });
var tx = Cp();
Object.defineProperty(V, "LazyFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return tx.LazyFS;
}, "get") });
var rx = cp();
Object.defineProperty(V, "NoFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return rx.NoFS;
}, "get") });
var ix = Tt();
Object.defineProperty(V, "NodeFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ix.NodeFS;
}, "get") });
var sx = Ip();
Object.defineProperty(V, "PosixFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return sx.PosixFS;
}, "get") });
var nx = pt();
Object.defineProperty(V, "ProxiedFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return nx.ProxiedFS;
}, "get") });
var ox = hp();
Object.defineProperty(V, "VirtualFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ox.VirtualFS;
}, "get") });
var gx = To();
Object.defineProperty(V, "ZipFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return gx.ZipFS;
}, "get") });
var ax = lp();
Object.defineProperty(V, "ZipOpenFS", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return ax.ZipOpenFS;
}, "get") });
var Mp = Dp();
Object.defineProperty(V, "patchFs", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Mp.patchFs;
}, "get") });
Object.defineProperty(V, "extendFs", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Mp.extendFs;
}, "get") });
var Cx = Fp();
Object.defineProperty(V, "xfs", { enumerable: !0, get: /* @__PURE__ */ s(function() {
return Cx.xfs;
}, "get") });
});
// ../node_modules/@yarnpkg/libzip/node_modules/tslib/tslib.es6.js
var Lp = {};
Yi(Lp, {
__assign: () => Wc,
__asyncDelegator: () => mx,
__asyncGenerator: () => wx,
__asyncValues: () => yx,
__await: () => Ns,
__awaiter: () => ux,
__classPrivateFieldGet: () => Fx,
__classPrivateFieldSet: () => kx,
__createBinding: () => Qx,
__decorate: () => hx,
__exportStar: () => fx,
__extends: () => cx,
__generator: () => Bx,
__importDefault: () => Kx,
__importStar: () => Sx,
__makeTemplateObject: () => Dx,
__metadata: () => Ex,
__param: () => lx,
__read: () => vp,
__rest: () => Ix,
__spread: () => dx,
__spreadArrays: () => px,
__values: () => Vc
});
function cx(t, A) {
zc(t, A);
function e() {
this.constructor = t;
}
s(e, "__"), t.prototype = A === null ? Object.create(A) : (e.prototype = A.prototype, new e());
}
function Ix(t, A) {
var e = {};
for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && A.indexOf(r) < 0 && (e[r] = t[r]);
if (t != null && typeof Object.getOwnPropertySymbols == "function")
for (var i = 0, r = Object.getOwnPropertySymbols(t); i < r.length; i++)
A.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(t, r[i]) && (e[r[i]] = t[r[i]]);
return e;
}
function hx(t, A, e, r) {
var i = arguments.length, n = i < 3 ? A : r === null ? r = Object.getOwnPropertyDescriptor(A, e) : r, o;
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") n = Reflect.decorate(t, A, e, r);
else for (var g = t.length - 1; g >= 0; g--) (o = t[g]) && (n = (i < 3 ? o(n) : i > 3 ? o(A, e, n) : o(A, e)) || n);
return i > 3 && n && Object.defineProperty(A, e, n), n;
}
function lx(t, A) {
return function(e, r) {
A(e, r, t);
};
}
function Ex(t, A) {
if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(t, A);
}
function ux(t, A, e, r) {
function i(n) {
return n instanceof e ? n : new e(function(o) {
o(n);
});
}
return s(i, "adopt"), new (e || (e = Promise))(function(n, o) {
function g(E) {
try {
I(r.next(E));
} catch (Q) {
o(Q);
}
}
s(g, "fulfilled");
function C(E) {
try {
I(r.throw(E));
} catch (Q) {
o(Q);
}
}
s(C, "rejected");
function I(E) {
E.done ? n(E.value) : i(E.value).then(g, C);
}
s(I, "step"), I((r = r.apply(t, A || [])).next());
});
}
function Bx(t, A) {
var e = { label: 0, sent: /* @__PURE__ */ s(function() {
if (n[0] & 1) throw n[1];
return n[1];
}, "sent"), trys: [], ops: [] }, r, i, n, o;
return o = { next: g(0), throw: g(1), return: g(2) }, typeof Symbol == "function" && (o[Symbol.iterator] = function() {
return this;
}), o;
function g(I) {
return function(E) {
return C([I, E]);
};
}
function C(I) {
if (r) throw new TypeError("Generator is already executing.");
for (; e; ) try {
if (r = 1, i && (n = I[0] & 2 ? i.return : I[0] ? i.throw || ((n = i.return) && n.call(i), 0) : i.next) && !(n = n.call(i, I[1])).done)
return n;
switch (i = 0, n && (I = [I[0] & 2, n.value]), I[0]) {
case 0:
case 1:
n = I;
break;
case 4:
return e.label++, { value: I[1], done: !1 };
case 5:
e.label++, i = I[1], I = [0];
continue;
case 7:
I = e.ops.pop(), e.trys.pop();
continue;
default:
if (n = e.trys, !(n = n.length > 0 && n[n.length - 1]) && (I[0] === 6 || I[0] === 2)) {
e = 0;
continue;
}
if (I[0] === 3 && (!n || I[1] > n[0] && I[1] < n[3])) {
e.label = I[1];
break;
}
if (I[0] === 6 && e.label < n[1]) {
e.label = n[1], n = I;
break;
}
if (n && e.label < n[2]) {
e.label = n[2], e.ops.push(I);
break;
}
n[2] && e.ops.pop(), e.trys.pop();
continue;
}
I = A.call(t, e);
} catch (E) {
I = [6, E], i = 0;
} finally {
r = n = 0;
}
if (I[0] & 5) throw I[1];
return { value: I[0] ? I[1] : void 0, done: !0 };
}
}
function Qx(t, A, e, r) {
r === void 0 && (r = e), t[r] = A[e];
}
function fx(t, A) {
for (var e in t) e !== "default" && !A.hasOwnProperty(e) && (A[e] = t[e]);
}
function Vc(t) {
var A = typeof Symbol == "function" && Symbol.iterator, e = A && t[A], r = 0;
if (e) return e.call(t);
if (t && typeof t.length == "number") return {
next: /* @__PURE__ */ s(function() {
return t && r >= t.length && (t = void 0), { value: t && t[r++], done: !t };
}, "next")
};
throw new TypeError(A ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function vp(t, A) {
var e = typeof Symbol == "function" && t[Symbol.iterator];
if (!e) return t;
var r = e.call(t), i, n = [], o;
try {
for (; (A === void 0 || A-- > 0) && !(i = r.next()).done; ) n.push(i.value);
} catch (g) {
o = { error: g };
} finally {
try {
i && !i.done && (e = r.return) && e.call(r);
} finally {
if (o) throw o.error;
}
}
return n;
}
function dx() {
for (var t = [], A = 0; A < arguments.length; A++)
t = t.concat(vp(arguments[A]));
return t;
}
function px() {
for (var t = 0, A = 0, e = arguments.length; A < e; A++) t += arguments[A].length;
for (var r = Array(t), i = 0, A = 0; A < e; A++)
for (var n = arguments[A], o = 0, g = n.length; o < g; o++, i++)
r[i] = n[o];
return r;
}
function Ns(t) {
return this instanceof Ns ? (this.v = t, this) : new Ns(t);
}
function wx(t, A, e) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var r = e.apply(t, A || []), i, n = [];
return i = {}, o("next"), o("throw"), o("return"), i[Symbol.asyncIterator] = function() {
return this;
}, i;
function o(B) {
r[B] && (i[B] = function(p) {
return new Promise(function(w, D) {
n.push([B, p, w, D]) > 1 || g(B, p);
});
});
}
function g(B, p) {
try {
C(r[B](p));
} catch (w) {
Q(n[0][3], w);
}
}
function C(B) {
B.value instanceof Ns ? Promise.resolve(B.value.v).then(I, E) : Q(n[0][2], B);
}
function I(B) {
g("next", B);
}
function E(B) {
g("throw", B);
}
function Q(B, p) {
B(p), n.shift(), n.length && g(n[0][0], n[0][1]);
}
}
function mx(t) {
var A, e;
return A = {}, r("next"), r("throw", function(i) {
throw i;
}), r("return"), A[Symbol.iterator] = function() {
return this;
}, A;
function r(i, n) {
A[i] = t[i] ? function(o) {
return (e = !e) ? { value: Ns(t[i](o)), done: i === "return" } : n ? n(o) : o;
} : n;
}
}
function yx(t) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var A = t[Symbol.asyncIterator], e;
return A ? A.call(t) : (t = typeof Vc == "function" ? Vc(t) : t[Symbol.iterator](), e = {}, r("next"), r("throw"), r("return"), e[Symbol.asyncIterator] =
function() {
return this;
}, e);
function r(n) {
e[n] = t[n] && function(o) {
return new Promise(function(g, C) {
o = t[n](o), i(g, C, o.done, o.value);
});
};
}
function i(n, o, g, C) {
Promise.resolve(C).then(function(I) {
n({ value: I, done: g });
}, o);
}
}
function Dx(t, A) {
return Object.defineProperty ? Object.defineProperty(t, "raw", { value: A }) : t.raw = A, t;
}
function Sx(t) {
if (t && t.__esModule) return t;
var A = {};
if (t != null) for (var e in t) Object.hasOwnProperty.call(t, e) && (A[e] = t[e]);
return A.default = t, A;
}
function Kx(t) {
return t && t.__esModule ? t : { default: t };
}
function Fx(t, A) {
if (!A.has(t))
throw new TypeError("attempted to get private field on non-instance");
return A.get(t);
}
function kx(t, A, e) {
if (!A.has(t))
throw new TypeError("attempted to set private field on non-instance");
return A.set(t, e), e;
}
var zc, Wc, xp = Qe(() => {
zc = /* @__PURE__ */ s(function(t, A) {
return zc = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, r) {
e.__proto__ = r;
} || function(e, r) {
for (var i in r) r.hasOwnProperty(i) && (e[i] = r[i]);
}, zc(t, A);
}, "extendStatics");
s(cx, "__extends");
Wc = /* @__PURE__ */ s(function() {
return Wc = Object.assign || /* @__PURE__ */ s(function(A) {
for (var e, r = 1, i = arguments.length; r < i; r++) {
e = arguments[r];
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (A[n] = e[n]);
}
return A;
}, "__assign"), Wc.apply(this, arguments);
}, "__assign");
s(Ix, "__rest");
s(hx, "__decorate");
s(lx, "__param");
s(Ex, "__metadata");
s(ux, "__awaiter");
s(Bx, "__generator");
s(Qx, "__createBinding");
s(fx, "__exportStar");
s(Vc, "__values");
s(vp, "__read");
s(dx, "__spread");
s(px, "__spreadArrays");
s(Ns, "__await");
s(wx, "__asyncGenerator");
s(mx, "__asyncDelegator");
s(yx, "__asyncValues");
s(Dx, "__makeTemplateObject");
s(Sx, "__importStar");
s(Kx, "__importDefault");
s(Fx, "__classPrivateFieldGet");
s(kx, "__classPrivateFieldSet");
});
// ../node_modules/@yarnpkg/libzip/lib/libzipSync.js
var Pp = m((og, Zc) => {
var Yp = Object.assign({}, require("fs")), Xc = function() {
var t = typeof document < "u" && document.currentScript ? document.currentScript.src : void 0;
return typeof __filename < "u" && (t = t || __filename), function(A) {
A = A || {};
var e = typeof A < "u" ? A : {}, r, i;
e.ready = new Promise(function(a, c) {
r = a, i = c;
});
var n = {}, o;
for (o in e)
e.hasOwnProperty(o) && (n[o] = e[o]);
var g = [], C = "./this.program", I = /* @__PURE__ */ s(function(a, c) {
throw c;
}, "quit_"), E = !1, Q = !0, B = "";
function p(a) {
return e.locateFile ? e.locateFile(a, B) : B + a;
}
s(p, "locateFile");
var w, D, N, k;
Q && (E ? B = require("path").dirname(B) + "/" : B = __dirname + "/", w = /* @__PURE__ */ s(function(c, h) {
var u = dE(c);
return u ? h ? u : u.toString() : (N || (N = Yp), k || (k = require("path")), c = k.normalize(c), N.readFileSync(c, h ? null : "utf8"));
}, "shell_read"), D = /* @__PURE__ */ s(function(c) {
var h = w(c, !0);
return h.buffer || (h = new Uint8Array(h)), ke(h.buffer), h;
}, "readBinary"), process.argv.length > 1 && (C = process.argv[1].replace(/\\/g, "/")), g = process.argv.slice(2), I = /* @__PURE__ */ s(
function(a) {
process.exit(a);
}, "quit_"), e.inspect = function() {
return "[Emscripten Module object]";
});
var _ = e.print || console.log.bind(console), v = e.printErr || console.warn.bind(console);
for (o in n)
n.hasOwnProperty(o) && (e[o] = n[o]);
n = null, e.arguments && (g = e.arguments), e.thisProgram && (C = e.thisProgram), e.quit && (I = e.quit);
var J = 16;
function U(a, c) {
return c || (c = J), Math.ceil(a / c) * c;
}
s(U, "alignMemory");
var $ = 0, q = /* @__PURE__ */ s(function(a) {
$ = a;
}, "setTempRet0"), T;
e.wasmBinary && (T = e.wasmBinary);
var eA = e.noExitRuntime || !0;
typeof WebAssembly != "object" && bA("no native wasm support detected");
function wA(a, c, h) {
switch (c = c || "i8", c.charAt(c.length - 1) === "*" && (c = "i32"), c) {
case "i1":
return JA[a >> 0];
case "i8":
return JA[a >> 0];
case "i16":
return cA[a >> 1];
case "i32":
return M[a >> 2];
case "i64":
return M[a >> 2];
case "float":
return LA[a >> 2];
case "double":
return SA[a >> 3];
default:
bA("invalid type for getValue: " + c);
}
return null;
}
s(wA, "getValue");
var b, EA = !1, uA;
function ke(a, c) {
a || bA("Assertion failed: " + c);
}
s(ke, "assert");
function K(a) {
var c = e["_" + a];
return ke(
c,
"Cannot call unknown function " + a + ", make sure it is exported"
), c;
}
s(K, "getCFunc");
function F(a, c, h, u, f) {
var d = {
string: /* @__PURE__ */ s(function(j) {
var sA = 0;
if (j != null && j !== 0) {
var VA = (j.length << 2) + 1;
sA = wE(VA), or(j, sA, VA);
}
return sA;
}, "string"),
array: /* @__PURE__ */ s(function(j) {
var sA = wE(j.length);
return Ct(j, sA), sA;
}, "array")
};
function y(j) {
return c === "string" ? ae(j) : c === "boolean" ? !!j : j;
}
s(y, "convertReturnValue");
var S = K(a), R = [], O = 0;
if (u)
for (var H = 0; H < u.length; H++) {
var iA = d[h[H]];
iA ? (O === 0 && (O = Nk()), R[H] = iA(u[H])) : R[H] = u[H];
}
var X = S.apply(null, R);
return X = y(X), O !== 0 && Mk(O), X;
}
s(F, "ccall");
function _A(a, c, h, u) {
h = h || [];
var f = h.every(function(y) {
return y === "number";
}), d = c !== "string";
return d && f && !u ? K(a) : function() {
return F(a, c, h, arguments, u);
};
}
s(_A, "cwrap");
var gA = typeof TextDecoder < "u" ? new TextDecoder("utf8") : void 0;
function GA(a, c, h) {
for (var u = c + h, f = c; a[f] && !(f >= u); ) ++f;
if (f - c > 16 && a.subarray && gA)
return gA.decode(a.subarray(c, f));
for (var d = ""; c < f; ) {
var y = a[c++];
if (!(y & 128)) {
d += String.fromCharCode(y);
continue;
}
var S = a[c++] & 63;
if ((y & 224) == 192) {
d += String.fromCharCode((y & 31) << 6 | S);
continue;
}
var R = a[c++] & 63;
if ((y & 240) == 224 ? y = (y & 15) << 12 | S << 6 | R : y = (y & 7) << 18 | S << 12 | R << 6 | a[c++] & 63, y < 65536)
d += String.fromCharCode(y);
else {
var O = y - 65536;
d += String.fromCharCode(55296 | O >> 10, 56320 | O & 1023);
}
}
return d;
}
s(GA, "UTF8ArrayToString");
function ae(a, c) {
return a ? GA(Y, a, c) : "";
}
s(ae, "UTF8ToString");
function vA(a, c, h, u) {
if (!(u > 0)) return 0;
for (var f = h, d = h + u - 1, y = 0; y < a.length; ++y) {
var S = a.charCodeAt(y);
if (S >= 55296 && S <= 57343) {
var R = a.charCodeAt(++y);
S = 65536 + ((S & 1023) << 10) | R & 1023;
}
if (S <= 127) {
if (h >= d) break;
c[h++] = S;
} else if (S <= 2047) {
if (h + 1 >= d) break;
c[h++] = 192 | S >> 6, c[h++] = 128 | S & 63;
} else if (S <= 65535) {
if (h + 2 >= d) break;
c[h++] = 224 | S >> 12, c[h++] = 128 | S >> 6 & 63, c[h++] = 128 | S & 63;
} else {
if (h + 3 >= d) break;
c[h++] = 240 | S >> 18, c[h++] = 128 | S >> 12 & 63, c[h++] = 128 | S >> 6 & 63, c[h++] = 128 | S & 63;
}
}
return c[h] = 0, h - f;
}
s(vA, "stringToUTF8Array");
function or(a, c, h) {
return vA(a, Y, c, h);
}
s(or, "stringToUTF8");
function Mr(a) {
for (var c = 0, h = 0; h < a.length; ++h) {
var u = a.charCodeAt(h);
u >= 55296 && u <= 57343 && (u = 65536 + ((u & 1023) << 10) | a.charCodeAt(++h) & 1023), u <= 127 ? ++c : u <= 2047 ? c += 2 : u <=
65535 ? c += 3 : c += 4;
}
return c;
}
s(Mr, "lengthBytesUTF8");
function Mt(a) {
var c = Mr(a) + 1, h = pE(c);
return h && vA(a, JA, h, c), h;
}
s(Mt, "allocateUTF8");
function Ct(a, c) {
JA.set(a, c);
}
s(Ct, "writeArrayToMemory");
function nA(a, c) {
return a % c > 0 && (a += c - a % c), a;
}
s(nA, "alignUp");
var Rt, JA, Y, cA, L, M, dA, LA, SA;
function Rr(a) {
Rt = a, e.HEAP8 = JA = new Int8Array(a), e.HEAP16 = cA = new Int16Array(a), e.HEAP32 = M = new Int32Array(a), e.HEAPU8 = Y = new Uint8Array(
a), e.HEAPU16 = L = new Uint16Array(a), e.HEAPU32 = dA = new Uint32Array(a), e.HEAPF32 = LA = new Float32Array(a), e.HEAPF64 = SA = new Float64Array(
a);
}
s(Rr, "updateGlobalBufferAndViews");
var Mi = e.INITIAL_MEMORY || 16777216, sa, CE = [], cE = [], IE = [], HF = !1;
function jF() {
if (e.preRun)
for (typeof e.preRun == "function" && (e.preRun = [e.preRun]); e.preRun.length; )
WF(e.preRun.shift());
ga(CE);
}
s(jF, "preRun");
function qF() {
HF = !0, !e.noFSInit && !l.init.initialized && l.init(), vt.init(), ga(cE);
}
s(qF, "initRuntime");
function zF() {
if (e.postRun)
for (typeof e.postRun == "function" && (e.postRun = [e.postRun]); e.postRun.length; )
XF(e.postRun.shift());
ga(IE);
}
s(zF, "postRun");
function WF(a) {
CE.unshift(a);
}
s(WF, "addOnPreRun");
function VF(a) {
cE.unshift(a);
}
s(VF, "addOnInit");
function XF(a) {
IE.unshift(a);
}
s(XF, "addOnPostRun");
var gr = 0, na = null, Ri = null;
function CO(a) {
return a;
}
s(CO, "getUniqueRunDependency");
function hE(a) {
gr++, e.monitorRunDependencies && e.monitorRunDependencies(gr);
}
s(hE, "addRunDependency");
function oa(a) {
if (gr--, e.monitorRunDependencies && e.monitorRunDependencies(gr), gr == 0 && (na !== null && (clearInterval(na), na = null), Ri)) {
var c = Ri;
Ri = null, c();
}
}
s(oa, "removeRunDependency"), e.preloadedImages = {}, e.preloadedAudios = {};
function bA(a) {
e.onAbort && e.onAbort(a), a += "", v(a), EA = !0, uA = 1, a = "abort(" + a + "). Build with -s ASSERTIONS=1 for more info.";
var c = new WebAssembly.RuntimeError(a);
throw i(c), c;
}
s(bA, "abort");
var lE = "data:application/octet-stream;base64,";
function EE(a) {
return a.startsWith(lE);
}
s(EE, "isDataURI");
var vi = "data:application/octet-stream;base64,AGFzbQEAAAABlAInYAF/AX9gA39/fwF/YAF/AGACf38Bf2ACf38AYAV/f39/fwF/YAR/f39/AX9gA39/fwBgBH9\
+f38Bf2AAAX9gBX9/f35/AX5gA39+fwF/YAF/AX5gAn9+AX9gBH9/fn8BfmADf35/AX5gA39/fgF/YAR/f35/AX9gBn9/f39/fwF/YAR/f39/AGADf39+AX5gAn5/AX9gA398fwBgBH9\
/f38BfmADf39/AX5gBn98f39/fwF/YAV/f35/fwF/YAV/fn9/fwF/YAV/f39/fwBgAn9+AGACf38BfmACf3wAYAh/fn5/f39+fwF/YAV/f39+fwBgAABgBX5+f35/AX5gBX9/f39/AX5\
gAnx/AXxgAn9+AX4CeRQBYQFhAAIBYQFiAAABYQFjAAMBYQFkAAYBYQFlAAEBYQFmAAABYQFnAAYBYQFoAAABYQFpAAMBYQFqAAMBYQFrAAMBYQFsAAEBYQFtAAABYQFuAAUBYQFvAAE\
BYQFwAAMBYQFxAAEBYQFyAAABYQFzAAMBYQF0AAADggKAAgcCAgQAAQECAgANBA4EBwICAhwLEw0AFA0dAAAMDAIHHgwQAgIDAwICAQAIAAcIFBUEBgAADAAECAgDAQYAAgIBBgAfFwE\
BAwITAiAPBgIFEQMFAxgBCAIBAAAHBQEYABoSAQIABwQDIREIAyIGAAEBAwMAIwUbASQHAQsVAQMABQMEAA0bFw0BBAALCwMDDAwAAwAHJQMBAAgaAQECBQMBAgMDAAcHBwICAgImEQs\
ICAsECQoJAgAAAAAAAAkFAAUFBQEGAwYGBgUSBgYBARIBAAIJBgABDgABAQ8ACQEEGQkJCQAAAAMECgoBAQIQAAAAAgEDAwAEAQoFAA4ACQAEBQFwAR8fBQcBAYACgIACBgkBfwFB0KD\
BAgsHvgI8AXUCAAF2AIABAXcAkwIBeADjAQF5APEBAXoA0QEBQQDQAQFCAM8BAUMAzgEBRADMAQFFAMsBAUYAyQEBRwCSAgFIAJECAUkAjwIBSgCKAgFLAOkBAUwA4gEBTQDhAQFOADw\
BTwD8AQFQAPkBAVEA+AEBUgDwAQFTAPoBAVQA4AEBVQAVAVYAGAFXAMcBAVgAzQEBWQDfAQFaAN4BAV8A3QEBJADkAQJhYQDcAQJiYQDbAQJjYQDaAQJkYQDZAQJlYQDYAQJmYQDXAQJ\
nYQDqAQJoYQCcAQJpYQDWAQJqYQDVAQJrYQDUAQJsYQAvAm1hABsCbmEAygECb2EASAJwYQEAAnFhAGcCcmEA0wECc2EA6AECdGEA0gECdWEA9wECdmEA9gECd2EA9QECeGEA5wECeWE\
A5gECemEA5QEJQQEAQQELHsgBkAKNAo4CjAKLArcBiQKIAocChgKFAoQCgwKCAoECgAL/Af4B/QH7AVv0AfMB8gHvAe4B7QHsAesBCu+QCYACQAEBfyMAQRBrIgMgADYCDCADIAE2Agg\
gAyACNgIEIAMoAgwEQCADKAIMIAMoAgg2AgAgAygCDCADKAIENgIECwvMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgF\
rIgNB9JsBKAIASQ0BIAAgAWohACADQfibASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RBjJwBakYaIAIgAygCDCIBRgRAQeSbAUHkmwEoAgBBfiAEd3E2AgAMAwsgAiABNgI\
MIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiI\
CKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QZSeAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQeibAUHomwEoAgBBfiACd3E2AgAMAwsgBkEQQRQ\
gBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQeybASAANgIAIAU\
gAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUH8mwEoAgBGBEBB/JsBIAM2AgBB8JsBQfCbASgCACAAaiIANgIAIAMgAEE\
BcjYCBCADQfibASgCAEcNA0HsmwFBADYCAEH4mwFBADYCAA8LIAVB+JsBKAIARgRAQfibASADNgIAQeybAUHsmwEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSA\
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\
BDgwBCyABIAEoAgQtAAAgASgCBC0AAUEIdGo7AQ4LIAEvAQ4hACABQRBqJAAgAAvpAQEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIpAxAhASMAQSBrIgAgAigCHDYCGCAAIAE3AxA\
CQAJAAkAgACgCGC0AAEEBcUUNACAAKQMQIAAoAhgpAxAgACkDEHxWDQAgACgCGCkDCCAAKAIYKQMQIAApAxB8Wg0BCyAAKAIYQQA6AAAgAEEANgIcDAELIAAgACgCGCgCBCAAKAIYKQM\
Qp2o2AgwgACAAKAIMNgIcCyACIAAoAhw2AgwgAigCDARAIAIoAhwiACACKQMQIAApAxB8NwMQCyACKAIMIQAgAkEgaiQAIAALbwEBfyMAQRBrIgIkACACIAA2AgggAiABOwEGIAIgAig\
CCEICEB42AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIvAQY6AAAgAigCACACLwEGQQh2OgABIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE\
2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEAEBQgBEJ/NwMoDAELAkAgBCgCJCgCAEUEQCAEIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCg\
CJCgCBBEOADcDCAwBCyAEIAQoAiQoAgAgBCgCJCgCCCAEKAIgIAQpAxggBCgCFCAEKAIkKAIEEQoANwMICyAEKQMIQgBTBEACQCAEKAIUQQRGDQAgBCgCFEEORg0AAkAgBCgCJCAEQgh\
BBBAgQgBTBEAgBCgCJEEMakEUQQAQFAwBCyAEKAIkQQxqIAQoAgAgBCgCBBAUCwsLIAQgBCkDCDcDKAsgBCkDKCECIARBMGokACACC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQ\
gAiACKAIIQgQQHjYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAigCBDoAACACKAIAIAIoAgRBCHY6AAEgAigCACACKAIEQRB2OgACIAIoAgAgAigCBEEYdjoAAyACQQA2AgwLIAI\
oAgwaIAJBEGokAAsXACAALQAAQSBxRQRAIAEgAiAAEHEaCwtQAQF/IwBBEGsiASQAIAEgADYCDANAIAEoAgwEQCABIAEoAgwoAgA2AgggASgCDCgCDBAVIAEoAgwQFSABIAEoAgg2Agw\
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\
CKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAI\
oAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyA\
CQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgU\
gAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAI\
oAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn8\
3AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILjQUBA38jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMKAIABEAgASg\
CDCgCABAvGiABKAIMKAIAEBsLIAEoAgwoAhwQFSABKAIMKAIgECQgASgCDCgCJBAkIAEoAgwoAlAhAiMAQRBrIgAkACAAIAI2AgwgACgCDARAIAAoAgwoAhAEQCAAQQA2AggDQCAAKAI\
IIAAoAgwoAgBJBEAgACgCDCgCECAAKAIIQQJ0aigCAARAIAAoAgwoAhAgACgCCEECdGooAgAhAyMAQRBrIgIkACACIAM2AgwDQCACKAIMBEAgAiACKAIMKAIYNgIIIAIoAgwQFSACIAI\
oAgg2AgwMAQsLIAJBEGokAAsgACAAKAIIQQFqNgIIDAELCyAAKAIMKAIQEBULIAAoAgwQFQsgAEEQaiQAIAEoAgwoAkAEQCABQgA3AwADQCABKQMAIAEoAgwpAzBUBEAgASgCDCgCQCA\
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\
2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8\
gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAM\
oAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgs\
gAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQE\
LIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0\
LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0\
AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAyg\
CEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyM\
AQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAM\
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\
oAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBAzIAEoAhwiACABKAIEIAAoAsAtajYCwC0LCwsgAUEgaiQAC4YFAQF\
/IwBBIGsiBCQAIAQgADYCHCAEIAE2AhggBCACNgIUIAQgAzYCECAEQQM2AgwCQCAEKAIcKAK8LUEQIAQoAgxrSgRAIAQgBCgCEDYCCCAEKAIcIgAgAC8BuC0gBCgCCEH//wNxIAQoAhw\
oArwtdHI7AbgtIAQoAhwvAbgtQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhwvAbgtQQh2IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAM\
gAEEBajYCFCAAIAJqIAE6AAAgBCgCHCAEKAIIQf//A3FBECAEKAIcKAK8LWt1OwG4LSAEKAIcIgAgACgCvC0gBCgCDEEQa2o2ArwtDAELIAQoAhwiACAALwG4LSAEKAIQQf//A3EgBCg\
CHCgCvC10cjsBuC0gBCgCHCIAIAQoAgwgACgCvC1qNgK8LQsgBCgCHBC9ASAEKAIUQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRB//8\
DcUEIdiEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRBf3NB/wFxIQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAA\
gBCgCFEF/c0H//wNxQQh2IQEgBCgCHCgCCCECIAQoAhwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCHCgCCCAEKAIcKAIUaiAEKAIYIAQoAhQQGRogBCgCHCIAIAQoAhQgACg\
CFGo2AhQgBEEgaiQAC6sBAQF/IwBBEGsiASQAIAEgADYCDCABKAIMKAIIBEAgASgCDCgCCBAbIAEoAgxBADYCCAsCQCABKAIMKAIERQ0AIAEoAgwoAgQoAgBBAXFFDQAgASgCDCgCBCg\
CEEF+Rw0AIAEoAgwoAgQiACAAKAIAQX5xNgIAIAEoAgwoAgQoAgBFBEAgASgCDCgCBBA3IAEoAgxBADYCBAsLIAEoAgxBADoADCABQRBqJAAL8QMBAX8jAEHQAGsiCCQAIAggADYCSCA\
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\
ANgIcIAMgATYCGCADIAI2AhQgAyADKAIcQdwWaiADKAIUQQJ0aigCADYCECADIAMoAhRBAXQ2AgwDQAJAIAMoAgwgAygCHCgC0ChKDQACQCADKAIMIAMoAhwoAtAoTg0AIAMoAhggAyg\
CHCADKAIMQQJ0akHgFmooAgBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEATgRAIAMoAhggAygCHCADKAIMQQJ0akHgFmooAgBBAnRqLwEAIAMoAhggAygCHEH\
cFmogAygCDEECdGooAgBBAnRqLwEARw0BIAMoAhwgAygCDEECdGpB4BZqKAIAIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQELIAMgAygCDEE\
BajYCDAsgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEgNAAJAIAMoAhggAygCEEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEE\
CdGovAQBHDQAgAygCECADKAIcQdgoamotAAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAI\
ANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAI\
oKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAI\
YIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEE\
BajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA\
2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwE\
CazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAI\
sKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdw\
WaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCJCACKAI\
MQQJ0aiACKAIkIAIoAhhBAnRqLwEAIAIoAiQgAigCFEECdGovAQBqOwEAIAIoAgwgAigCLEHYKGpqAn8gAigCGCACKAIsQdgoamotAAAgAigCFCACKAIsQdgoamotAABOBEAgAigCGCA\
CKAIsQdgoamotAAAMAQsgAigCFCACKAIsQdgoamotAAALQQFqOgAAIAIoAiQgAigCFEECdGogAigCDCIAOwECIAIoAiQgAigCGEECdGogADsBAiACIAIoAgwiAEEBajYCDCACKAIsIAA\
2AuAWIAIoAiwgAigCJEEBEHkgAigCLCgC0ChBAk4NAAsgAigCLCgC4BYhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIoIQEjAEFAaiI\
AIAIoAiw2AjwgACABNgI4IAAgACgCOCgCADYCNCAAIAAoAjgoAgQ2AjAgACAAKAI4KAIIKAIANgIsIAAgACgCOCgCCCgCBDYCKCAAIAAoAjgoAggoAgg2AiQgACAAKAI4KAIIKAIQNgI\
gIABBADYCBCAAQQA2AhADQCAAKAIQQQ9MBEAgACgCPEG8FmogACgCEEEBdGpBADsBACAAIAAoAhBBAWo2AhAMAQsLIAAoAjQgACgCPEHcFmogACgCPCgC1ChBAnRqKAIAQQJ0akEAOwE\
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\
BADsBAAwBCyADKAIAKAIUQdAASARAIAMoAgBB0AA2AhQLIAMoAgQgAygCACgCDCADKAIAKAIUQQl0IAMoAgAoAhBBBXRqQeC/AmtqOwEAIAMoAgggAygCACgCCEELdCADKAIAKAIEQQV\
0aiADKAIAKAIAQQF1ajsBAAsgA0EQaiQAC4MDAQF/IwBBIGsiAyQAIAMgADsBGiADIAE2AhQgAyACNgIQIAMgAygCFCADQQhqQcAAQQAQRiIANgIMAkAgAEUEQCADQQA2AhwMAQsgAyg\
CCEEFakH//wNLBEAgAygCEEESQQAQFCADQQA2AhwMAQsgA0EAIAMoAghBBWqtECkiADYCBCAARQRAIAMoAhBBDkEAEBQgA0EANgIcDAELIAMoAgRBARCWASADKAIEIAMoAhQQhwEQISA\
DKAIEIAMoAgwgAygCCBBBAn8jAEEQayIAIAMoAgQ2AgwgACgCDC0AAEEBcUULBEAgAygCEEEUQQAQFCADKAIEEBYgA0EANgIcDAELIAMgAy8BGgJ/IwBBEGsiACADKAIENgIMAn4gACg\
CDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELAn8jAEEQayIAIAMoAgQ2AgwgACgCDCgCBAtBgAYQVTYCACADKAIEEBYgAyADKAIANgIcCyADKAIcIQAgA0EgaiQAIAALtAIBAX8\
jAEEwayIDJAAgAyAANgIoIAMgATcDICADIAI2AhwCQCADKQMgUARAIANBAToALwwBCyADIAMoAigpAxAgAykDIHw3AwgCQCADKQMIIAMpAyBaBEAgAykDCEL/////AFgNAQsgAygCHEE\
OQQAQFCADQQA6AC8MAQsgAyADKAIoKAIAIAMpAwinQQR0EE4iADYCBCAARQRAIAMoAhxBDkEAEBQgA0EAOgAvDAELIAMoAiggAygCBDYCACADIAMoAigpAwg3AxADQCADKQMQIAMpAwh\
aRQRAIAMoAigoAgAgAykDEKdBBHRqELUBIAMgAykDEEIBfDcDEAwBCwsgAygCKCADKQMIIgE3AxAgAygCKCABNwMIIANBAToALwsgAy0AL0EBcSEAIANBMGokACAAC8wBAQF/IwBBIGs\
iAiQAIAIgADcDECACIAE2AgwgAkEwEBgiATYCCAJAIAFFBEAgAigCDEEOQQAQFCACQQA2AhwMAQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADc\
DGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAA\
gAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8\
BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAI\
IEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAM\
oAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCg\
CADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEG\
BsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2Agw\
MAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAU\
vATatECkiADYCJAJAIABFBEAgBSgCKEEOQQAQFCAFQQA6AD8MAQsgBUEANgIgIAVBADYCGANAAn8jAEEQayIAIAUoAiQ2AgwgACgCDC0AAEEBcQsEfyAFKAIkEDBCBFoFQQALQQFxBEA\
gBSAFKAIkEB07ARYgBSAFKAIkEB07ARQgBSAFKAIkIAUvARStEB42AhAgBSgCEEUEQCAFKAIoQRVBABAUIAUoAiQQFiAFKAIYECMgBUEAOgA/DAMLIAUgBS8BFiAFLwEUIAUoAhAgBSg\
CMBBVIgA2AhwgAEUEQCAFKAIoQQ5BABAUIAUoAiQQFiAFKAIYECMgBUEAOgA/DAMLAkAgBSgCGARAIAUoAiAgBSgCHDYCACAFIAUoAhw2AiAMAQsgBSAFKAIcIgA2AiAgBSAANgIYCww\
BCwsgBSgCJBBHQQFxRQRAIAUgBSgCJBAwPgIMIAUgBSgCJCAFKAIMrRAeNgIIAkACQCAFKAIMQQRPDQAgBSgCCEUNACAFKAIIQZEVIAUoAgwQT0UNAQsgBSgCKEEVQQAQFCAFKAIkEBY\
gBSgCGBAjIAVBADoAPwwCCwsgBSgCJBAWAkAgBSgCLARAIAUoAiwgBSgCGDYCAAwBCyAFKAIYECMLIAVBAToAPwsgBS0AP0EBcSEAIAVBQGskACAAC+8CAQF/IwBBIGsiAiQAIAIgADY\
CGCACIAE2AhQCQCACKAIYRQRAIAIgAigCFDYCHAwBCyACIAIoAhg2AggDQCACKAIIKAIABEAgAiACKAIIKAIANgIIDAELCwNAIAIoAhQEQCACIAIoAhQoAgA2AhAgAkEANgIEIAIgAig\
CGDYCDANAAkAgAigCDEUNAAJAIAIoAgwvAQggAigCFC8BCEcNACACKAIMLwEKIAIoAhQvAQpHDQAgAigCDC8BCgRAIAIoAgwoAgwgAigCFCgCDCACKAIMLwEKEE8NAQsgAigCDCIAIAA\
oAgQgAigCFCgCBEGABnFyNgIEIAJBATYCBAwBCyACIAIoAgwoAgA2AgwMAQsLIAIoAhRBADYCAAJAIAIoAgQEQCACKAIUECMMAQsgAigCCCACKAIUIgA2AgAgAiAANgIICyACIAIoAhA\
2AhQMAQsLIAIgAigCGDYCHAsgAigCHCEAIAJBIGokACAAC18BAX8jAEEQayICJAAgAiAANgIIIAIgAToAByACIAIoAghCARAeNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACLQA\
HOgAAIAJBADYCDAsgAigCDBogAkEQaiQAC1QBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIBEB42AgQCQCABKAIERQRAIAFBADoADwwBCyABIAEoAgQtAAA6AA8LIAEtAA8hACABQRB\
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\
AEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAI\
IQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASg\
CDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCg\
CeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiA\
CKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAI\
oAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAI\
oAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo\
2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2Aih\
BACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0\
AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUc\
NABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2Aiw\
gAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCA\
CKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI\
8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgA\
oAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAig\
CHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQs\
gAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAig\
CKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQF\
raiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAI\
oAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEA\
gAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhB\
FDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAig\
CKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAI\
oKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAI\
oKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAI\
oIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjw\
gAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAI\
oAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgR\
LBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAig\
CKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAI\
oKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0\
BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAig\
oAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCA\
BKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCg\
CHCgCRCABKAIIKAIkEQQACyABKAIIKAIcKAJABEAgASgCCCgCKCABKAIIKAIcKAJAIAEoAggoAiQRBAALIAEoAggoAhwoAjgEQCABKAIIKAIoIAEoAggoAhwoAjggASgCCCgCJBEEAAs\
gASgCCCgCKCABKAIIKAIcIAEoAggoAiQRBAAgASgCCEEANgIcIAFBfUEAIAEoAgRB8QBGGzYCDAsgASgCDCEAIAFBEGokACAAC+sXAQJ/IwBB8ABrIgMgADYCbCADIAE2AmggAyACNgJ\
kIANBfzYCXCADIAMoAmgvAQI2AlQgA0EANgJQIANBBzYCTCADQQQ2AkggAygCVEUEQCADQYoBNgJMIANBAzYCSAsgA0EANgJgA0AgAygCYCADKAJkSkUEQCADIAMoAlQ2AlggAyADKAJ\
oIAMoAmBBAWpBAnRqLwECNgJUIAMgAygCUEEBaiIANgJQAkACQCADKAJMIABMDQAgAygCWCADKAJURw0ADAELAkAgAygCUCADKAJISARAA0AgAyADKAJsQfwUaiADKAJYQQJ0ai8BAjY\
CRAJAIAMoAmwoArwtQRAgAygCRGtKBEAgAyADKAJsQfwUaiADKAJYQQJ0ai8BADYCQCADKAJsIgAgAC8BuC0gAygCQEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAM\
oAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAJ\
AQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCREEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsQfwUaiADKAJYQQJ0ai8BACADKAJsKAK8LXRyOwG4LSADKAJ\
sIgAgAygCRCAAKAK8LWo2ArwtCyADIAMoAlBBAWsiADYCUCAADQALDAELAkAgAygCWARAIAMoAlggAygCXEcEQCADIAMoAmxB/BRqIAMoAlhBAnRqLwECNgI8AkAgAygCbCgCvC1BECA\
DKAI8a0oEQCADIAMoAmxB/BRqIAMoAlhBAnRqLwEANgI4IAMoAmwiACAALwG4LSADKAI4Qf//A3EgAygCbCgCvC10cjsBuC0gAygCbC8BuC1B/wFxIQEgAygCbCgCCCECIAMoAmwiBCg\
CFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbC8BuC1BCHYhASADKAJsKAIIIQIgAygCbCIEKAIUIQAgBCAAQQFqNgIUIAAgAmogAToAACADKAJsIAMoAjhB//8DcUEQIAMoAmwoArw\
ta3U7AbgtIAMoAmwiACAAKAK8LSADKAI8QRBrajYCvC0MAQsgAygCbCIAIAAvAbgtIAMoAmxB/BRqIAMoAlhBAnRqLwEAIAMoAmwoArwtdHI7AbgtIAMoAmwiACADKAI8IAAoArwtajY\
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\
gASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQbyABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQF\
rDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSA\
AQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAE\
oAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAE\
EQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAF\
qJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACE\
DIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCA\
EQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiA\
DQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQ\
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\
CLCgChAFBCUYEf0ECBUEEQQAgACgCLCgCiAFBAkgEfyAAKAIsKAKEAUECSAVBAQtBAXEbCyECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAiwoAhw\
oAgxB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCEARAIAAoAiwoAhwoAhRB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQ\
gAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCFEEIdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAAAsgACgCLCgCHCgCLARAIAAoAjgoAjAgACg\
CLCgCCCAAKAIsKAIUEBohASAAKAI4IAE2AjALIAAoAixBADYCICAAKAIsQcUANgIECwsgACgCLCgCBEHFAEYEQCAAKAIsKAIcKAIQBEAgACAAKAIsKAIUNgIgIAAgACgCLCgCHCgCFEH\
//wNxIAAoAiwoAiBrNgIcA0AgACgCLCgCDCAAKAIsKAIUIAAoAhxqSQRAIAAgACgCLCgCDCAAKAIsKAIUazYCGCAAKAIsKAIIIAAoAiwoAhRqIAAoAiwoAhwoAhAgACgCLCgCIGogACg\
CGBAZGiAAKAIsIAAoAiwoAgw2AhQCQCAAKAIsKAIcKAIsRQ0AIAAoAiwoAhQgACgCIE0NACAAKAI4KAIwIAAoAiwoAgggACgCIGogACgCLCgCFCAAKAIgaxAaIQEgACgCOCABNgIwCyA\
AKAIsIgEgACgCGCABKAIgajYCICAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBQUgAEEANgIgIAAgACgCHCAAKAIYazYCHAwCCwALCyAAKAIsKAIIIAAoAiwoAhRqIAA\
oAiwoAhwoAhAgACgCLCgCIGogACgCHBAZGiAAKAIsIgEgACgCHCABKAIUajYCFAJAIAAoAiwoAhwoAixFDQAgACgCLCgCFCAAKAIgTQ0AIAAoAjgoAjAgACgCLCgCCCAAKAIgaiAAKAI\
sKAIUIAAoAiBrEBohASAAKAI4IAE2AjALIAAoAixBADYCIAsgACgCLEHJADYCBAsgACgCLCgCBEHJAEYEQCAAKAIsKAIcKAIcBEAgACAAKAIsKAIUNgIUA0AgACgCLCgCFCAAKAIsKAI\
MRgRAAkAgACgCLCgCHCgCLEUNACAAKAIsKAIUIAAoAhRNDQAgACgCOCgCMCAAKAIsKAIIIAAoAhRqIAAoAiwoAhQgACgCFGsQGiEBIAAoAjggATYCMAsgACgCOBAcIAAoAiwoAhQEQCA\
AKAIsQX82AiggAEEANgI8DAULIABBADYCFAsgACgCLCgCHCgCHCECIAAoAiwiAygCICEBIAMgAUEBajYCICAAIAEgAmotAAA2AhAgACgCECECIAAoAiwoAgghAyAAKAIsIgQoAhQhASA\
EIAFBAWo2AhQgASADaiACOgAAIAAoAhANAAsCQCAAKAIsKAIcKAIsRQ0AIAAoAiwoAhQgACgCFE0NACAAKAI4KAIwIAAoAiwoAgggACgCFGogACgCLCgCFCAAKAIUaxAaIQEgACgCOCA\
BNgIwCyAAKAIsQQA2AiALIAAoAixB2wA2AgQLIAAoAiwoAgRB2wBGBEAgACgCLCgCHCgCJARAIAAgACgCLCgCFDYCDANAIAAoAiwoAhQgACgCLCgCDEYEQAJAIAAoAiwoAhwoAixFDQA\
gACgCLCgCFCAAKAIMTQ0AIAAoAjgoAjAgACgCLCgCCCAAKAIMaiAAKAIsKAIUIAAoAgxrEBohASAAKAI4IAE2AjALIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwFCyA\
AQQA2AgwLIAAoAiwoAhwoAiQhAiAAKAIsIgMoAiAhASADIAFBAWo2AiAgACABIAJqLQAANgIIIAAoAgghAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACA\
AKAIIDQALAkAgACgCLCgCHCgCLEUNACAAKAIsKAIUIAAoAgxNDQAgACgCOCgCMCAAKAIsKAIIIAAoAgxqIAAoAiwoAhQgACgCDGsQGiEBIAAoAjggATYCMAsLIAAoAixB5wA2AgQLIAA\
oAiwoAgRB5wBGBEAgACgCLCgCHCgCLARAIAAoAiwoAgwgACgCLCgCFEECakkEQCAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBAsLIAAoAjgoAjBB/wFxIQIgACgCLCg\
CCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEIdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAAEEAQQBBABAaIQE\
gACgCOCABNgIwCyAAKAIsQfEANgIEIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwCCwsCQAJAIAAoAjgoAgQNACAAKAIsKAJ0DQAgACgCNEUNASAAKAIsKAIEQZoFRg0\
BCyAAAn8gACgCLCgChAFFBEAgACgCLCAAKAI0ELcBDAELAn8gACgCLCgCiAFBAkYEQCAAKAIsIQIgACgCNCEDIwBBIGsiASQAIAEgAjYCGCABIAM2AhQCQANAAkAgASgCGCgCdEUEQCA\
BKAIYEFwgASgCGCgCdEUEQCABKAIURQRAIAFBADYCHAwFCwwCCwsgASgCGEEANgJgIAEgASgCGCICKAI4IAIoAmxqLQAAOgAPIAEoAhgiAigCpC0gAigCoC1BAXRqQQA7AQAgAS0ADyE\
DIAEoAhgiAigCmC0hBCACIAIoAqAtIgJBAWo2AqAtIAIgBGogAzoAACABKAIYIAEtAA9BAnRqIgIgAi8BlAFBAWo7AZQBIAEgASgCGCgCoC0gASgCGCgCnC1BAWtGNgIQIAEoAhgiAiA\
CKAJ0QQFrNgJ0IAEoAhgiAiACKAJsQQFqNgJsIAEoAhAEQCABKAIYAn8gASgCGCgCXEEATgRAIAEoAhgoAjggASgCGCgCXGoMAQtBAAsgASgCGCgCbCABKAIYKAJca0EAECggASgCGCA\
BKAIYKAJsNgJcIAEoAhgoAgAQHCABKAIYKAIAKAIQRQRAIAFBADYCHAwECwsMAQsLIAEoAhhBADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJ\
cagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhg\
CfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgI\
cDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEA\
gASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJ\
sakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQF\
qNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAM\
tAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAM\
tAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAM\
tAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAE\
gASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEE\
BazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwE\
AQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAig\
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\
sKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIIQQh2Qf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAgh\
BEHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEEYdiECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgA\
ADAELIAAoAiwgACgCOCgCMEEQdhBLIAAoAiwgACgCOCgCMEH//wNxEEsLIAAoAjgQHCAAKAIsKAIYQQBKBEAgACgCLEEAIAAoAiwoAhhrNgIYCyAAIAAoAiwoAhRFNgI8CyAAKAI8IQE\
gAEFAayQAIAUgATYCCAwBCyAFKAIMQRBqIQEjAEHgAGsiACQAIAAgATYCWCAAQQI2AlQCQAJAAkAgACgCWBBKDQAgACgCWCgCDEUNACAAKAJYKAIADQEgACgCWCgCBEUNAQsgAEF+NgJ\
cDAELIAAgACgCWCgCHDYCUCAAKAJQKAIEQb/+AEYEQCAAKAJQQcD+ADYCBAsgACAAKAJYKAIMNgJIIAAgACgCWCgCEDYCQCAAIAAoAlgoAgA2AkwgACAAKAJYKAIENgJEIAAgACgCUCg\
CPDYCPCAAIAAoAlAoAkA2AjggACAAKAJENgI0IAAgACgCQDYCMCAAQQA2AhADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkA\
CQAJAAkACQCAAKAJQKAIEQbT+AGsOHwABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fCyAAKAJQKAIMRQRAIAAoAlBBwP4ANgIEDCELA0AgACgCOEEQSQRAIAAoAkRFDSEgACA\
AKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgACgCUCgCDEECcUUNACAAKAI8QZ+WAkcNACAAKAJQKAIoRQRAIAA\
oAlBBDzYCKAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAIAAoAjw6AAwgACAAKAI8QQh2OgANIAAoAlAoAhwgAEEMakECEBohASAAKAJQIAE2AhwgAEEANgI8IABBADYCOCAAKAJQQbX+ADY\
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\
MdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCA\
BKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiw\
gASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAE\
oAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgI\
oIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajY\
CKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASg\
CDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCA\
BKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAI\
tAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgx\
rajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQF\
rIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgA\
AIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkE\
BajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAA\
hAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2Akg\
gAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACA\
CLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCA\
BIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASg\
CDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyABKAJcQYUPNgIYIAEoAlRB0f4ANgIEDAQLDAILIAEoAgxBwABxRQRAIAEgASgCJCABLwE\
SIAEoAixBASABKAIMdEEBa3FqQQJ0aigBADYBEAwBCwsgASgCDEEgcQRAIAEoAlRBv/4ANgIEDAILIAEoAlxB6Q42AhggASgCVEHR/gA2AgQMAQsgASgCUCABKAJMSQR/IAEoAkggASg\
CQEkFQQALQQFxDQELCyABIAEoAihBA3Y2AgggASABKAJQIAEoAghrNgJQIAEgASgCKCABKAIIQQN0azYCKCABIAEoAixBASABKAIodEEBa3E2AiwgASgCXCABKAJQNgIAIAEoAlwgASg\
CSDYCDCABKAJcAn8gASgCUCABKAJMSQRAIAEoAkwgASgCUGtBBWoMAQtBBSABKAJQIAEoAkxraws2AgQgASgCXAJ/IAEoAkggASgCQEkEQCABKAJAIAEoAkhrQYECagwBC0GBAiABKAJ\
IIAEoAkBraws2AhAgASgCVCABKAIsNgI8IAEoAlQgASgCKDYCQCAAIAAoAlgoAgw2AkggACAAKAJYKAIQNgJAIAAgACgCWCgCADYCTCAAIAAoAlgoAgQ2AkQgACAAKAJQKAI8NgI8IAA\
gACgCUCgCQDYCOCAAKAJQKAIEQb/+AEYEQCAAKAJQQX82Asg3CwwNCyAAKAJQQQA2Asg3A0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI\
4TQ0AIAAoAkRFDQ0gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC0AIEUNACAALQAgQfABcQ0AIAAgACg\
BIDYBGANAAkAgACAAKAJQKAJQIAAvARogACgCPEEBIAAtABkgAC0AGGp0QQFrcSAALQAZdmpBAnRqKAEANgEgIAAoAjggAC0AGSAALQAhak8NACAAKAJERQ0OIAAgACgCREEBazYCRCA\
AIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AGXY2AjwgACAAKAI4IAAtABlrNgI4IAAoAlAiASAALQAZIAEoAsg3ajY\
CyDcLIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggACgCUCIBIAAtACEgASgCyDdqNgLINyAAKAJQIAAvASI2AkQgAC0AIEUEQCAAKAJQQc3+ADYCBAwNCyAALQAgQSBxBEA\
gACgCUEF/NgLINyAAKAJQQb/+ADYCBAwNCyAALQAgQcAAcQRAIAAoAlhB6Q42AhggACgCUEHR/gA2AgQMDQsgACgCUCAALQAgQQ9xNgJMIAAoAlBByf4ANgIECyAAKAJQKAJMBEADQCA\
AKAI4IAAoAlAoAkxJBEAgACgCREUNDSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCIBIAEoAkQgACg\
CPEEBIAAoAlAoAkx0QQFrcWo2AkQgACAAKAI8IAAoAlAoAkx2NgI8IAAgACgCOCAAKAJQKAJMazYCOCAAKAJQIgEgACgCUCgCTCABKALIN2o2Asg3CyAAKAJQIAAoAlAoAkQ2Asw3IAA\
oAlBByv4ANgIECwNAAkAgACAAKAJQKAJUIAAoAjxBASAAKAJQKAJcdEEBa3FBAnRqKAEANgEgIAAtACEgACgCOE0NACAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCA\
AIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAALQAgQfABcUUEQCAAIAAoASA2ARgDQAJAIAAgACgCUCgCVCAALwEaIAAoAjxBASAALQAZIAAtABhqdEEBa3EgAC0\
AGXZqQQJ0aigBADYBICAAKAI4IAAtABkgAC0AIWpPDQAgACgCREUNDCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAw\
BCwsgACAAKAI8IAAtABl2NgI8IAAgACgCOCAALQAZazYCOCAAKAJQIgEgAC0AGSABKALIN2o2Asg3CyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAiASAALQAhIAE\
oAsg3ajYCyDcgAC0AIEHAAHEEQCAAKAJYQYUPNgIYIAAoAlBB0f4ANgIEDAsLIAAoAlAgAC8BIjYCSCAAKAJQIAAtACBBD3E2AkwgACgCUEHL/gA2AgQLIAAoAlAoAkwEQANAIAAoAjg\
gACgCUCgCTEkEQCAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIgEgASgCSCAAKAI8QQE\
gACgCUCgCTHRBAWtxajYCSCAAIAAoAjwgACgCUCgCTHY2AjwgACAAKAI4IAAoAlAoAkxrNgI4IAAoAlAiASAAKAJQKAJMIAEoAsg3ajYCyDcLIAAoAlBBzP4ANgIECyAAKAJARQ0HIAA\
gACgCMCAAKAJAazYCLAJAIAAoAlAoAkggACgCLEsEQCAAIAAoAlAoAkggACgCLGs2AiwgACgCLCAAKAJQKAIwSwRAIAAoAlAoAsQ3BEAgACgCWEHdDDYCGCAAKAJQQdH+ADYCBAwMCws\
CQCAAKAIsIAAoAlAoAjRLBEAgACAAKAIsIAAoAlAoAjRrNgIsIAAgACgCUCgCOCAAKAJQKAIsIAAoAixrajYCKAwBCyAAIAAoAlAoAjggACgCUCgCNCAAKAIsa2o2AigLIAAoAiwgACg\
CUCgCREsEQCAAIAAoAlAoAkQ2AiwLDAELIAAgACgCSCAAKAJQKAJIazYCKCAAIAAoAlAoAkQ2AiwLIAAoAiwgACgCQEsEQCAAIAAoAkA2AiwLIAAgACgCQCAAKAIsazYCQCAAKAJQIgE\
gASgCRCAAKAIsazYCRANAIAAgACgCKCIBQQFqNgIoIAEtAAAhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAIsQQFrIgE2AiwgAQ0ACyAAKAJQKAJERQRAIAAoAlBByP4ANgIECww\
ICyAAKAJARQ0GIAAoAlAoAkQhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAJAQQFrNgJAIAAoAlBByP4ANgIEDAcLIAAoAlAoAgwEQANAIAAoAjhBIEkEQCAAKAJERQ0IIAAgACg\
CREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjAgACgCQGs2AjAgACgCWCIBIAAoAjAgASgCFGo2AhQgACgCUCI\
BIAAoAjAgASgCIGo2AiACQCAAKAJQKAIMQQRxRQ0AIAAoAjBFDQACfyAAKAJQKAIUBEAgACgCUCgCHCAAKAJIIAAoAjBrIAAoAjAQGgwBCyAAKAJQKAIcIAAoAkggACgCMGsgACgCMBA\
9CyEBIAAoAlAgATYCHCAAKAJYIAE2AjALIAAgACgCQDYCMAJAIAAoAlAoAgxBBHFFDQACfyAAKAJQKAIUBEAgACgCPAwBCyAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh\
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\
QQzcDaAwOCyAEKAJQKAIQEDIgBCgCUCgCFBAyIAQoAlAQFSAEQgA3A2gMDQsgBCgCUCgCEEIANwM4IAQoAlAoAhBCADcDQCAEQgA3A2gMDAsgBCkDWEL///////////8AVgRAIAQoAlB\
BEkEAEBQgBEJ/NwNoDAwLIAQoAlAoAhAhASAEKAJgIQMgBCkDWCECIwBBQGoiACQAIAAgATYCNCAAIAM2AjAgACACNwMoIAACfiAAKQMoIAAoAjQpAzAgACgCNCkDOH1UBEAgACkDKAw\
BCyAAKAI0KQMwIAAoAjQpAzh9CzcDKAJAIAApAyhQBEAgAEIANwM4DAELIAApAyhC////////////AFYEQCAAQn83AzgMAQsgACAAKAI0KQNANwMYIAAgACgCNCkDOCAAKAI0KAIEIAA\
pAxinQQN0aikDAH03AxAgAEIANwMgA0AgACkDICAAKQMoVARAIAACfiAAKQMoIAApAyB9IAAoAjQoAgAgACkDGKdBBHRqKQMIIAApAxB9VARAIAApAyggACkDIH0MAQsgACgCNCgCACA\
AKQMYp0EEdGopAwggACkDEH0LNwMIIAAoAjAgACkDIKdqIAAoAjQoAgAgACkDGKdBBHRqKAIAIAApAxCnaiAAKQMIpxAZGiAAKQMIIAAoAjQoAgAgACkDGKdBBHRqKQMIIAApAxB9UQR\
AIAAgACkDGEIBfDcDGAsgACAAKQMIIAApAyB8NwMgIABCADcDEAwBCwsgACgCNCIBIAApAyAgASkDOHw3AzggACgCNCAAKQMYNwNAIAAgACkDIDcDOAsgACkDOCECIABBQGskACAEIAI\
3A2gMCwsgBEEAQgBBACAEKAJQEEw2AkwgBCgCTEUEQCAEQn83A2gMCwsgBCgCUCgCEBAyIAQoAlAgBCgCTDYCECAEQgA3A2gMCgsgBCgCUCgCFBAyIAQoAlBBADYCFCAEQgA3A2gMCQs\
gBCAEKAJQKAIQIAQoAmAgBCkDWCAEKAJQEMEBrDcDaAwICyAEIAQoAlAoAhQgBCgCYCAEKQNYIAQoAlAQwQGsNwNoDAcLIAQpA1hCOFQEQCAEKAJQQRJBABAUIARCfzcDaAwHCyAEIAQ\
oAmA2AkggBCgCSBA7IAQoAkggBCgCUCgCDDYCKCAEKAJIIAQoAlAoAhApAzA3AxggBCgCSCAEKAJIKQMYNwMgIAQoAkhBADsBMCAEKAJIQQA7ATIgBCgCSELcATcDACAEQjg3A2gMBgs\
gBCgCUCAEKAJgKAIANgIMIARCADcDaAwFCyAEQX82AkAgBEETNgI8IARBCzYCOCAEQQ02AjQgBEEMNgIwIARBCjYCLCAEQQ82AiggBEEJNgIkIARBETYCICAEQQg2AhwgBEEHNgIYIAR\
BBjYCFCAEQQU2AhAgBEEENgIMIARBAzYCCCAEQQI2AgQgBEEBNgIAIARBACAEEDQ3A2gMBAsgBCgCUCgCECkDOEL///////////8AVgRAIAQoAlBBHkE9EBQgBEJ/NwNoDAQLIAQgBCg\
CUCgCECkDODcDaAwDCyAEKAJQKAIUKQM4Qv///////////wBWBEAgBCgCUEEeQT0QFCAEQn83A2gMAwsgBCAEKAJQKAIUKQM4NwNoDAILIAQpA1hC////////////AFYEQCAEKAJQQRJ\
BABAUIARCfzcDaAwCCyAEKAJQKAIUIQEgBCgCYCEDIAQpA1ghAiAEKAJQIQUjAEHgAGsiACQAIAAgATYCVCAAIAM2AlAgACACNwNIIAAgBTYCRAJAIAApA0ggACgCVCkDOCAAKQNIfEL\
//wN8VgRAIAAoAkRBEkEAEBQgAEJ/NwNYDAELIAAgACgCVCgCBCAAKAJUKQMIp0EDdGopAwA3AyAgACkDICAAKAJUKQM4IAApA0h8VARAIAAgACgCVCkDCCAAKQNIIAApAyAgACgCVCk\
DOH19Qv//A3xCEIh8NwMYIAApAxggACgCVCkDEFYEQCAAIAAoAlQpAxA3AxAgACkDEFAEQCAAQhA3AxALA0AgACkDECAAKQMYVARAIAAgACkDEEIBhjcDEAwBCwsgACgCVCAAKQMQIAA\
oAkQQwgFBAXFFBEAgACgCREEOQQAQFCAAQn83A1gMAwsLA0AgACgCVCkDCCAAKQMYVARAQYCABBAYIQEgACgCVCgCACAAKAJUKQMIp0EEdGogATYCACABBEAgACgCVCgCACAAKAJUKQM\
Ip0EEdGpCgIAENwMIIAAoAlQiASABKQMIQgF8NwMIIAAgACkDIEKAgAR8NwMgIAAoAlQoAgQgACgCVCkDCKdBA3RqIAApAyA3AwAMAgUgACgCREEOQQAQFCAAQn83A1gMBAsACwsLIAA\
gACgCVCkDQDcDMCAAIAAoAlQpAzggACgCVCgCBCAAKQMwp0EDdGopAwB9NwMoIABCADcDOANAIAApAzggACkDSFQEQCAAAn4gACkDSCAAKQM4fSAAKAJUKAIAIAApAzCnQQR0aikDCCA\
AKQMofVQEQCAAKQNIIAApAzh9DAELIAAoAlQoAgAgACkDMKdBBHRqKQMIIAApAyh9CzcDCCAAKAJUKAIAIAApAzCnQQR0aigCACAAKQMop2ogACgCUCAAKQM4p2ogACkDCKcQGRogACk\
DCCAAKAJUKAIAIAApAzCnQQR0aikDCCAAKQMofVEEQCAAIAApAzBCAXw3AzALIAAgACkDCCAAKQM4fDcDOCAAQgA3AygMAQsLIAAoAlQiASAAKQM4IAEpAzh8NwM4IAAoAlQgACkDMDc\
DQCAAKAJUKQM4IAAoAlQpAzBWBEAgACgCVCAAKAJUKQM4NwMwCyAAIAApAzg3A1gLIAApA1ghAiAAQeAAaiQAIAQgAjcDaAwBCyAEKAJQQRxBABAUIARCfzcDaAsgBCkDaCECIARB8AB\
qJAAgAgsHACAAKAIACxgAQaibAUIANwIAQbCbAUEANgIAQaibAQuGAQIEfwF+IwBBEGsiASQAAkAgACkDMFAEQAwBCwNAAkAgACAFQQAgAUEPaiABQQhqEIoBIgRBf0YNACABLQAPQQN\
HDQAgAiABKAIIQYCAgIB/cUGAgICAekZqIQILQX8hAyAEQX9GDQEgAiEDIAVCAXwiBSAAKQMwVA0ACwsgAUEQaiQAIAMLC4GNASMAQYAIC4EMaW5zdWZmaWNpZW50IG1lbW9yeQBuZWV\
kIGRpY3Rpb25hcnkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABaaXAgYXJjaGl2ZSBpbmNvbnNpc3RlbnQASW52YWxpZCBhcmd1bWVudABpbnZhbGlkIGxpdGVyYWwvbGVuZ3R\
ocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdAB\
GaWxlIGFscmVhZHkgZXhpc3RzAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0aHMAJXMlcyVzAGJ1ZmZlciBlcnJvcgB\
ObyBlcnJvcgBzdHJlYW0gZXJyb3IAVGVsbCBlcnJvcgBJbnRlcm5hbCBlcnJvcgBTZWVrIGVycm9yAFdyaXRlIGVycm9yAGZpbGUgZXJyb3IAUmVhZCBlcnJvcgBabGliIGVycm9yAGR\
hdGEgZXJyb3IAQ1JDIGVycm9yAGluY29tcGF0aWJsZSB2ZXJzaW9uAG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCB\
oZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGN\
oAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGl\
kIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmV\
tb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXN\
zZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHB\
vcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHp\
pcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29\
yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcAUEsGBgB\
QSwUGAFBLAwQAUEsBAgAAAAAAAFIFAADZBwAArAgAAJEIAACCBQAApAUAAI0FAADFBQAAbwgAADQHAADpBAAAJAcAAAMHAACvBQAA4QYAAMsIAAA3CAAAQQcAAFoEAAC5BgAAcwUAAEE\
EAABXBwAAWAgAABcIAACnBgAA4ggAAPcIAAD/BwAAywYAAGgFAADBBwAAIABBmBQLEQEAAAABAAAAAQAAAAEAAAABAEG8FAsJAQAAAAEAAAACAEHoFAsBAQBBiBULAQEAQaIVC6REOiY\
7JmUmZiZjJmAmIiDYJcsl2SVCJkAmaiZrJjwmuiXEJZUhPCC2AKcArCWoIZEhkyGSIZAhHyKUIbIlvCUgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADY\
ANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagB\
rAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AAiPHAPwA6QDiAOQA4ADlAOcA6gDrAOgA7wDuAOwAxADFAMkA5gDGAPQA9gDyAPsA+QD/ANYA3ACiAKMApQCnIJI\
B4QDtAPMA+gDxANEAqgC6AL8AECOsAL0AvAChAKsAuwCRJZIlkyUCJSQlYSViJVYlVSVjJVElVyVdJVwlWyUQJRQlNCUsJRwlACU8JV4lXyVaJVQlaSVmJWAlUCVsJWclaCVkJWUlWSV\
YJVIlUyVrJWolGCUMJYglhCWMJZAlgCWxA98AkwPAA6MDwwO1AMQDpgOYA6kDtAMeIsYDtQMpImEisQBlImQiICMhI/cASCKwABkitwAaIn8gsgCgJaAAAAAAAJYwB3csYQ7uulEJmRn\
EbQeP9GpwNaVj6aOVZJ4yiNsOpLjceR7p1eCI2dKXK0y2Cb18sX4HLbjnkR2/kGQQtx3yILBqSHG5895BvoR91Noa6+TdbVG11PTHhdODVphsE8Coa2R6+WL97Mllik9cARTZbAZjYz0\
P+vUNCI3IIG47XhBpTORBYNVycWei0eQDPEfUBEv9hQ3Sa7UKpfqotTVsmLJC1sm720D5vKzjbNgydVzfRc8N1txZPdGrrDDZJjoA3lGAUdfIFmHQv7X0tCEjxLNWmZW6zw+lvbieuAI\
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\
AakFmpfeWXhxPKjl5XZ+Wl+Uj8fJNaxkF9dd+YOdi0Y5f3rbrwgmOUnq16TdoAEbZ0LwhvIjfMeowY1aPItb5YZpqngQHvaa9vwHB2K20bjYVCAlTHXJOmqXOKf+3e4YRD8fhdJIQ2c0\
qrL6oOBkRRoCldiPYxmZ1YHoBEHLPrv7Kc8mbV6TxIu8Ylkf9rTmpRRFezHZN7gbO8Ylj3EQmjWT4Qej5L3lRQZMeNFMmsdrrmta/s/nG6QtFoYwZ8A5ioUxpBzybUb6EJzbblpKZNS4\
u/lAmVLmZnuje/IxdcRI04RZ3qTYuzhGKSasDP+ZFu4OBIOPgkXZbXPYTSelZ/fFVPphsggYh1D5hRMaLzqp+N6nP1n9BOG7DJl18domzxMru1lkd1m/hobEK8xQe5EuoeYETy2nXq3c\
OsrnCoVwBfsY5nKn+gCQVmeU2oDYLjhxRboZmFqc+2nHCLG/eLJTTuUkJBIHwsbjmlaMNSXsbsS4eQ9I+SPtuWS3p2/bDUWeRpsywqR90DM56ZrlhlN4FBvEUBAAAtgcAAHoJAACZBQA\
AWwUAALoFAAAABAAARQUAAM8FAAB6CQBB0dkAC7YQAQIDBAQFBQYGBgYHBwcHCAgICAgICAgJCQkJCQkJCQoKCgoKCgoKCgoKCgoKCgoLCwsLCwsLCwsLCwsLCwsLDAwMDAwMDAwMDAw\
MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4\
ODg4ODg4ODg4ODg4PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PAAAQERISExMUFBQUFRUVFRYWFhYWFhYWFxcXFxc\
XFxcYGBgYGBgYGBgYGBgYGBgYGRkZGRkZGRkZGRkZGRkZGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxscHBwcHBw\
cHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0\
dHR0dHR0dHR0dHR0dHR0dHQABAgMEBQYHCAgJCQoKCwsMDAwMDQ0NDQ4ODg4PDw8PEBAQEBAQEBARERERERERERISEhISEhISExMTExMTExMUFBQUFBQUFBQUFBQUFBQUFRUVFRUVFRU\
VFRUVFRUVFRYWFhYWFhYWFhYWFhYWFhYXFxcXFxcXFxcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRo\
aGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwQMAAAEDUAAAEBAAAeAQAADwAAAJA0AACQNQAAAAAAAB4AAAAPAAAAAAA\
AABA2AAAAAAAAEwAAAAcAAAAAAAAADAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAg\
AogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD\
6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4\
ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQA\
IACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAg\
AdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQA\
zAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJs\
ACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwA\
JAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAk\
AzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwB\
AAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMM\
ACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQA\
FAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAU\
AAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwA\
AAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4\
AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAA\
AACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAA\
EAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAu\
lAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABM\
AFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgA\
TABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAA\
UCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAA\
IiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAn\
YABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFo\
AAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAA\
ACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAA\
IMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAc\
EAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0\
AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwA\
ACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAA\
J7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAh\
gAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOM\
AEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAA\
ACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABI\
HEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAg\
eAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAE\
AAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQA\
ACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAA\
IUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm\
3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8\
AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAA\
QBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwo\
HAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAE\
LAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQs\
AQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaC\
IAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2F\
sIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQ\
ATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZ\
pY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9\
zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25\
uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGF\
kZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJ\
vcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3l\
zdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWF\
ueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF\
0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQB\
ObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWd\
lAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3Jvbmc\
gdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJ\
vdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3d\
uAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyB\
jb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiB\
pbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciB\
pbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQE\
LAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddix\
w90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";
EE(vi) || (vi = p(vi));
function ZF(a) {
try {
if (a == vi && T)
return new Uint8Array(T);
var c = dE(a);
if (c)
return c;
if (D)
return D(a);
throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when\
generating HTML (but not JS)";
} catch (h) {
bA(h);
}
}
s(ZF, "getBinary");
function $F(a, c) {
var h, u, f;
try {
f = ZF(a), u = new WebAssembly.Module(f), h = new WebAssembly.Instance(u, c);
} catch (y) {
var d = y.toString();
throw v("failed to compile wasm module: " + d), (d.includes("imported Memory") || d.includes("memory import")) && v(
"Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GR\
OWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."
), y;
}
return [h, u];
}
s($F, "instantiateSync");
function Ak() {
var a = { a: Kk };
function c(f, d) {
var y = f.exports;
e.asm = y, b = e.asm.u, Rr(b.buffer), sa = e.asm.pa, VF(e.asm.v), oa("wasm-instantiate");
}
if (s(c, "receiveInstance"), hE("wasm-instantiate"), e.instantiateWasm)
try {
var h = e.instantiateWasm(a, c);
return h;
} catch (f) {
return v("Module.instantiateWasm callback failed with error: " + f), !1;
}
var u = $F(vi, a);
return c(u[0]), e.asm;
}
s(Ak, "createWasm");
var xA, ct;
function ga(a) {
for (; a.length > 0; ) {
var c = a.shift();
if (typeof c == "function") {
c(e);
continue;
}
var h = c.func;
typeof h == "number" ? c.arg === void 0 ? sa.get(h)() : sa.get(h)(c.arg) : h(c.arg === void 0 ? null : c.arg);
}
}
s(ga, "callRuntimeCallbacks");
function Zs(a, c) {
var h = new Date(M[a >> 2] * 1e3);
M[c >> 2] = h.getUTCSeconds(), M[c + 4 >> 2] = h.getUTCMinutes(), M[c + 8 >> 2] = h.getUTCHours(), M[c + 12 >> 2] = h.getUTCDate(), M[c +
16 >> 2] = h.getUTCMonth(), M[c + 20 >> 2] = h.getUTCFullYear() - 1900, M[c + 24 >> 2] = h.getUTCDay(), M[c + 36 >> 2] = 0, M[c + 32 >>
2] = 0;
var u = Date.UTC(h.getUTCFullYear(), 0, 1, 0, 0, 0, 0), f = (h.getTime() - u) / (1e3 * 60 * 60 * 24) | 0;
return M[c + 28 >> 2] = f, Zs.GMTString || (Zs.GMTString = Mt("GMT")), M[c + 40 >> 2] = Zs.GMTString, c;
}
s(Zs, "_gmtime_r");
function ek(a, c) {
return Zs(a, c);
}
s(ek, "___gmtime_r");
var oA = {
splitPath: /* @__PURE__ */ s(function(a) {
var c = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
return c.exec(a).slice(1);
}, "splitPath"),
normalizeArray: /* @__PURE__ */ s(function(a, c) {
for (var h = 0, u = a.length - 1; u >= 0; u--) {
var f = a[u];
f === "." ? a.splice(u, 1) : f === ".." ? (a.splice(u, 1), h++) : h && (a.splice(u, 1), h--);
}
if (c)
for (; h; h--)
a.unshift("..");
return a;
}, "normalizeArray"),
normalize: /* @__PURE__ */ s(function(a) {
var c = a.charAt(0) === "/", h = a.substr(-1) === "/";
return a = oA.normalizeArray(
a.split("/").filter(function(u) {
return !!u;
}),
!c
).join("/"), !a && !c && (a = "."), a && h && (a += "/"), (c ? "/" : "") + a;
}, "normalize"),
dirname: /* @__PURE__ */ s(function(a) {
var c = oA.splitPath(a), h = c[0], u = c[1];
return !h && !u ? "." : (u && (u = u.substr(0, u.length - 1)), h + u);
}, "dirname"),
basename: /* @__PURE__ */ s(function(a) {
if (a === "/") return "/";
a = oA.normalize(a), a = a.replace(/\/$/, "");
var c = a.lastIndexOf("/");
return c === -1 ? a : a.substr(c + 1);
}, "basename"),
extname: /* @__PURE__ */ s(function(a) {
return oA.splitPath(a)[3];
}, "extname"),
join: /* @__PURE__ */ s(function() {
var a = Array.prototype.slice.call(arguments, 0);
return oA.normalize(a.join("/"));
}, "join"),
join2: /* @__PURE__ */ s(function(a, c) {
return oA.normalize(a + "/" + c);
}, "join2")
};
function tk() {
if (typeof crypto == "object" && typeof crypto.getRandomValues == "function") {
var a = new Uint8Array(1);
return function() {
return crypto.getRandomValues(a), a[0];
};
} else if (Q)
try {
var c = require("crypto");
return function() {
return c.randomBytes(1)[0];
};
} catch {
}
return function() {
bA("randomDevice");
};
}
s(tk, "getRandomDevice");
var It = {
resolve: /* @__PURE__ */ s(function() {
for (var a = "", c = !1, h = arguments.length - 1; h >= -1 && !c; h--) {
var u = h >= 0 ? arguments[h] : l.cwd();
if (typeof u != "string")
throw new TypeError("Arguments to path.resolve must be strings");
if (!u)
return "";
a = u + "/" + a, c = u.charAt(0) === "/";
}
return a = oA.normalizeArray(
a.split("/").filter(function(f) {
return !!f;
}),
!c
).join("/"), (c ? "/" : "") + a || ".";
}, "resolve"),
relative: /* @__PURE__ */ s(function(a, c) {
a = It.resolve(a).substr(1), c = It.resolve(c).substr(1);
function h(O) {
for (var H = 0; H < O.length && O[H] === ""; H++)
;
for (var iA = O.length - 1; iA >= 0 && O[iA] === ""; iA--)
;
return H > iA ? [] : O.slice(H, iA - H + 1);
}
s(h, "trim");
for (var u = h(a.split("/")), f = h(c.split("/")), d = Math.min(u.length, f.length), y = d, S = 0; S < d; S++)
if (u[S] !== f[S]) {
y = S;
break;
}
for (var R = [], S = y; S < u.length; S++)
R.push("..");
return R = R.concat(f.slice(y)), R.join("/");
}, "relative")
}, vt = {
ttys: [],
init: /* @__PURE__ */ s(function() {
}, "init"),
shutdown: /* @__PURE__ */ s(function() {
}, "shutdown"),
register: /* @__PURE__ */ s(function(a, c) {
vt.ttys[a] = { input: [], output: [], ops: c }, l.registerDevice(a, vt.stream_ops);
}, "register"),
stream_ops: {
open: /* @__PURE__ */ s(function(a) {
var c = vt.ttys[a.node.rdev];
if (!c)
throw new l.ErrnoError(43);
a.tty = c, a.seekable = !1;
}, "open"),
close: /* @__PURE__ */ s(function(a) {
a.tty.ops.flush(a.tty);
}, "close"),
flush: /* @__PURE__ */ s(function(a) {
a.tty.ops.flush(a.tty);
}, "flush"),
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (!a.tty || !a.tty.ops.get_char)
throw new l.ErrnoError(60);
for (var d = 0, y = 0; y < u; y++) {
var S;
try {
S = a.tty.ops.get_char(a.tty);
} catch {
throw new l.ErrnoError(29);
}
if (S === void 0 && d === 0)
throw new l.ErrnoError(6);
if (S == null) break;
d++, c[h + y] = S;
}
return d && (a.node.timestamp = Date.now()), d;
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (!a.tty || !a.tty.ops.put_char)
throw new l.ErrnoError(60);
try {
for (var d = 0; d < u; d++)
a.tty.ops.put_char(a.tty, c[h + d]);
} catch {
throw new l.ErrnoError(29);
}
return u && (a.node.timestamp = Date.now()), d;
}, "write")
},
default_tty_ops: {
get_char: /* @__PURE__ */ s(function(a) {
if (!a.input.length) {
var c = null;
if (Q) {
var h = 256, u = Buffer.alloc ? Buffer.alloc(h) : new Buffer(h), f = 0;
try {
f = N.readSync(
process.stdin.fd,
u,
0,
h,
null
);
} catch (d) {
if (d.toString().includes("EOF")) f = 0;
else throw d;
}
f > 0 ? c = u.slice(0, f).toString("utf-8") : c = null;
} else typeof window < "u" && typeof window.prompt == "function" ? (c = window.prompt("Input: "), c !== null && (c += `
`)) : typeof readline == "function" && (c = readline(), c !== null && (c += `
`));
if (!c)
return null;
a.input = ca(c, !0);
}
return a.input.shift();
}, "get_char"),
put_char: /* @__PURE__ */ s(function(a, c) {
c === null || c === 10 ? (_(GA(a.output, 0)), a.output = []) : c != 0 && a.output.push(c);
}, "put_char"),
flush: /* @__PURE__ */ s(function(a) {
a.output && a.output.length > 0 && (_(GA(a.output, 0)), a.output = []);
}, "flush")
},
default_tty1_ops: {
put_char: /* @__PURE__ */ s(function(a, c) {
c === null || c === 10 ? (v(GA(a.output, 0)), a.output = []) : c != 0 && a.output.push(c);
}, "put_char"),
flush: /* @__PURE__ */ s(function(a) {
a.output && a.output.length > 0 && (v(GA(a.output, 0)), a.output = []);
}, "flush")
}
};
function aa(a) {
for (var c = U(a, 65536), h = pE(c); a < c; ) JA[h + a++] = 0;
return h;
}
s(aa, "mmapAlloc");
var tA = {
ops_table: null,
mount: /* @__PURE__ */ s(function(a) {
return tA.createNode(null, "/", 16895, 0);
}, "mount"),
createNode: /* @__PURE__ */ s(function(a, c, h, u) {
if (l.isBlkdev(h) || l.isFIFO(h))
throw new l.ErrnoError(63);
tA.ops_table || (tA.ops_table = {
dir: {
node: {
getattr: tA.node_ops.getattr,
setattr: tA.node_ops.setattr,
lookup: tA.node_ops.lookup,
mknod: tA.node_ops.mknod,
rename: tA.node_ops.rename,
unlink: tA.node_ops.unlink,
rmdir: tA.node_ops.rmdir,
readdir: tA.node_ops.readdir,
symlink: tA.node_ops.symlink
},
stream: { llseek: tA.stream_ops.llseek }
},
file: {
node: {
getattr: tA.node_ops.getattr,
setattr: tA.node_ops.setattr
},
stream: {
llseek: tA.stream_ops.llseek,
read: tA.stream_ops.read,
write: tA.stream_ops.write,
allocate: tA.stream_ops.allocate,
mmap: tA.stream_ops.mmap,
msync: tA.stream_ops.msync
}
},
link: {
node: {
getattr: tA.node_ops.getattr,
setattr: tA.node_ops.setattr,
readlink: tA.node_ops.readlink
},
stream: {}
},
chrdev: {
node: {
getattr: tA.node_ops.getattr,
setattr: tA.node_ops.setattr
},
stream: l.chrdev_stream_ops
}
});
var f = l.createNode(a, c, h, u);
return l.isDir(f.mode) ? (f.node_ops = tA.ops_table.dir.node, f.stream_ops = tA.ops_table.dir.stream, f.contents = {}) : l.isFile(
f.mode) ? (f.node_ops = tA.ops_table.file.node, f.stream_ops = tA.ops_table.file.stream, f.usedBytes = 0, f.contents = null) : l.isLink(
f.mode) ? (f.node_ops = tA.ops_table.link.node, f.stream_ops = tA.ops_table.link.stream) : l.isChrdev(f.mode) && (f.node_ops = tA.
ops_table.chrdev.node, f.stream_ops = tA.ops_table.chrdev.stream), f.timestamp = Date.now(), a && (a.contents[c] = f, a.timestamp =
f.timestamp), f;
}, "createNode"),
getFileDataAsTypedArray: /* @__PURE__ */ s(function(a) {
return a.contents ? a.contents.subarray ? a.contents.subarray(0, a.usedBytes) : new Uint8Array(a.contents) : new Uint8Array(0);
}, "getFileDataAsTypedArray"),
expandFileStorage: /* @__PURE__ */ s(function(a, c) {
var h = a.contents ? a.contents.length : 0;
if (!(h >= c)) {
var u = 1024 * 1024;
c = Math.max(
c,
h * (h < u ? 2 : 1.125) >>> 0
), h != 0 && (c = Math.max(c, 256));
var f = a.contents;
a.contents = new Uint8Array(c), a.usedBytes > 0 && a.contents.set(f.subarray(0, a.usedBytes), 0);
}
}, "expandFileStorage"),
resizeFileStorage: /* @__PURE__ */ s(function(a, c) {
if (a.usedBytes != c)
if (c == 0)
a.contents = null, a.usedBytes = 0;
else {
var h = a.contents;
a.contents = new Uint8Array(c), h && a.contents.set(
h.subarray(0, Math.min(c, a.usedBytes))
), a.usedBytes = c;
}
}, "resizeFileStorage"),
node_ops: {
getattr: /* @__PURE__ */ s(function(a) {
var c = {};
return c.dev = l.isChrdev(a.mode) ? a.id : 1, c.ino = a.id, c.mode = a.mode, c.nlink = 1, c.uid = 0, c.gid = 0, c.rdev = a.rdev,
l.isDir(a.mode) ? c.size = 4096 : l.isFile(a.mode) ? c.size = a.usedBytes : l.isLink(a.mode) ? c.size = a.link.length : c.size =
0, c.atime = new Date(a.timestamp), c.mtime = new Date(a.timestamp), c.ctime = new Date(a.timestamp), c.blksize = 4096, c.blocks =
Math.ceil(c.size / c.blksize), c;
}, "getattr"),
setattr: /* @__PURE__ */ s(function(a, c) {
c.mode !== void 0 && (a.mode = c.mode), c.timestamp !== void 0 && (a.timestamp = c.timestamp), c.size !== void 0 && tA.resizeFileStorage(
a, c.size);
}, "setattr"),
lookup: /* @__PURE__ */ s(function(a, c) {
throw l.genericErrors[44];
}, "lookup"),
mknod: /* @__PURE__ */ s(function(a, c, h, u) {
return tA.createNode(a, c, h, u);
}, "mknod"),
rename: /* @__PURE__ */ s(function(a, c, h) {
if (l.isDir(a.mode)) {
var u;
try {
u = l.lookupNode(c, h);
} catch {
}
if (u)
for (var f in u.contents)
throw new l.ErrnoError(55);
}
delete a.parent.contents[a.name], a.parent.timestamp = Date.now(), a.name = h, c.contents[h] = a, c.timestamp = a.parent.timestamp,
a.parent = c;
}, "rename"),
unlink: /* @__PURE__ */ s(function(a, c) {
delete a.contents[c], a.timestamp = Date.now();
}, "unlink"),
rmdir: /* @__PURE__ */ s(function(a, c) {
var h = l.lookupNode(a, c);
for (var u in h.contents)
throw new l.ErrnoError(55);
delete a.contents[c], a.timestamp = Date.now();
}, "rmdir"),
readdir: /* @__PURE__ */ s(function(a) {
var c = [".", ".."];
for (var h in a.contents)
a.contents.hasOwnProperty(h) && c.push(h);
return c;
}, "readdir"),
symlink: /* @__PURE__ */ s(function(a, c, h) {
var u = tA.createNode(a, c, 41471, 0);
return u.link = h, u;
}, "symlink"),
readlink: /* @__PURE__ */ s(function(a) {
if (!l.isLink(a.mode))
throw new l.ErrnoError(28);
return a.link;
}, "readlink")
},
stream_ops: {
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
var d = a.node.contents;
if (f >= a.node.usedBytes) return 0;
var y = Math.min(a.node.usedBytes - f, u);
if (y > 8 && d.subarray)
c.set(d.subarray(f, f + y), h);
else
for (var S = 0; S < y; S++)
c[h + S] = d[f + S];
return y;
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (c.buffer === JA.buffer && (d = !1), !u) return 0;
var y = a.node;
if (y.timestamp = Date.now(), c.subarray && (!y.contents || y.contents.subarray)) {
if (d)
return y.contents = c.subarray(h, h + u), y.usedBytes = u, u;
if (y.usedBytes === 0 && f === 0)
return y.contents = c.slice(h, h + u), y.usedBytes = u, u;
if (f + u <= y.usedBytes)
return y.contents.set(
c.subarray(h, h + u),
f
), u;
}
if (tA.expandFileStorage(y, f + u), y.contents.subarray && c.subarray)
y.contents.set(
c.subarray(h, h + u),
f
);
else
for (var S = 0; S < u; S++)
y.contents[f + S] = c[h + S];
return y.usedBytes = Math.max(y.usedBytes, f + u), u;
}, "write"),
llseek: /* @__PURE__ */ s(function(a, c, h) {
var u = c;
if (h === 1 ? u += a.position : h === 2 && l.isFile(a.node.mode) && (u += a.node.usedBytes), u < 0)
throw new l.ErrnoError(28);
return u;
}, "llseek"),
allocate: /* @__PURE__ */ s(function(a, c, h) {
tA.expandFileStorage(a.node, c + h), a.node.usedBytes = Math.max(
a.node.usedBytes,
c + h
);
}, "allocate"),
mmap: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (c !== 0)
throw new l.ErrnoError(28);
if (!l.isFile(a.node.mode))
throw new l.ErrnoError(43);
var y, S, R = a.node.contents;
if (!(d & 2) && R.buffer === Rt)
S = !1, y = R.byteOffset;
else {
if ((u > 0 || u + h < R.length) && (R.subarray ? R = R.subarray(u, u + h) : R = Array.prototype.slice.call(
R,
u,
u + h
)), S = !0, y = aa(h), !y)
throw new l.ErrnoError(48);
JA.set(R, y);
}
return { ptr: y, allocated: S };
}, "mmap"),
msync: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (!l.isFile(a.node.mode))
throw new l.ErrnoError(43);
if (f & 2)
return 0;
var d = tA.stream_ops.write(
a,
c,
0,
u,
h,
!1
);
return 0;
}, "msync")
}
}, vr = {
EPERM: 63,
ENOENT: 44,
ESRCH: 71,
EINTR: 27,
EIO: 29,
ENXIO: 60,
E2BIG: 1,
ENOEXEC: 45,
EBADF: 8,
ECHILD: 12,
EAGAIN: 6,
EWOULDBLOCK: 6,
ENOMEM: 48,
EACCES: 2,
EFAULT: 21,
ENOTBLK: 105,
EBUSY: 10,
EEXIST: 20,
EXDEV: 75,
ENODEV: 43,
ENOTDIR: 54,
EISDIR: 31,
EINVAL: 28,
ENFILE: 41,
EMFILE: 33,
ENOTTY: 59,
ETXTBSY: 74,
EFBIG: 22,
ENOSPC: 51,
ESPIPE: 70,
EROFS: 69,
EMLINK: 34,
EPIPE: 64,
EDOM: 18,
ERANGE: 68,
ENOMSG: 49,
EIDRM: 24,
ECHRNG: 106,
EL2NSYNC: 156,
EL3HLT: 107,
EL3RST: 108,
ELNRNG: 109,
EUNATCH: 110,
ENOCSI: 111,
EL2HLT: 112,
EDEADLK: 16,
ENOLCK: 46,
EBADE: 113,
EBADR: 114,
EXFULL: 115,
ENOANO: 104,
EBADRQC: 103,
EBADSLT: 102,
EDEADLOCK: 16,
EBFONT: 101,
ENOSTR: 100,
ENODATA: 116,
ETIME: 117,
ENOSR: 118,
ENONET: 119,
ENOPKG: 120,
EREMOTE: 121,
ENOLINK: 47,
EADV: 122,
ESRMNT: 123,
ECOMM: 124,
EPROTO: 65,
EMULTIHOP: 36,
EDOTDOT: 125,
EBADMSG: 9,
ENOTUNIQ: 126,
EBADFD: 127,
EREMCHG: 128,
ELIBACC: 129,
ELIBBAD: 130,
ELIBSCN: 131,
ELIBMAX: 132,
ELIBEXEC: 133,
ENOSYS: 52,
ENOTEMPTY: 55,
ENAMETOOLONG: 37,
ELOOP: 32,
EOPNOTSUPP: 138,
EPFNOSUPPORT: 139,
ECONNRESET: 15,
ENOBUFS: 42,
EAFNOSUPPORT: 5,
EPROTOTYPE: 67,
ENOTSOCK: 57,
ENOPROTOOPT: 50,
ESHUTDOWN: 140,
ECONNREFUSED: 14,
EADDRINUSE: 3,
ECONNABORTED: 13,
ENETUNREACH: 40,
ENETDOWN: 38,
ETIMEDOUT: 73,
EHOSTDOWN: 142,
EHOSTUNREACH: 23,
EINPROGRESS: 26,
EALREADY: 7,
EDESTADDRREQ: 17,
EMSGSIZE: 35,
EPROTONOSUPPORT: 66,
ESOCKTNOSUPPORT: 137,
EADDRNOTAVAIL: 4,
ENETRESET: 39,
EISCONN: 30,
ENOTCONN: 53,
ETOOMANYREFS: 141,
EUSERS: 136,
EDQUOT: 19,
ESTALE: 72,
ENOTSUP: 138,
ENOMEDIUM: 148,
EILSEQ: 25,
EOVERFLOW: 61,
ECANCELED: 11,
ENOTRECOVERABLE: 56,
EOWNERDEAD: 62,
ESTRPIPE: 135
}, Z = {
isWindows: !1,
staticInit: /* @__PURE__ */ s(function() {
Z.isWindows = !!process.platform.match(/^win/);
var a = { fs: rA.constants };
a.fs && (a = a.fs), Z.flagsForNodeMap = {
1024: a.O_APPEND,
64: a.O_CREAT,
128: a.O_EXCL,
256: a.O_NOCTTY,
0: a.O_RDONLY,
2: a.O_RDWR,
4096: a.O_SYNC,
512: a.O_TRUNC,
1: a.O_WRONLY
};
}, "staticInit"),
bufferFrom: /* @__PURE__ */ s(function(a) {
return Buffer.alloc ? Buffer.from(a) : new Buffer(a);
}, "bufferFrom"),
convertNodeCode: /* @__PURE__ */ s(function(a) {
var c = a.code;
return vr[c];
}, "convertNodeCode"),
mount: /* @__PURE__ */ s(function(a) {
return Z.createNode(null, "/", Z.getMode(a.opts.root), 0);
}, "mount"),
createNode: /* @__PURE__ */ s(function(a, c, h, u) {
if (!l.isDir(h) && !l.isFile(h) && !l.isLink(h))
throw new l.ErrnoError(28);
var f = l.createNode(a, c, h);
return f.node_ops = Z.node_ops, f.stream_ops = Z.stream_ops, f;
}, "createNode"),
getMode: /* @__PURE__ */ s(function(a) {
var c;
try {
c = rA.lstatSync(a), Z.isWindows && (c.mode = c.mode | (c.mode & 292) >> 2);
} catch (h) {
throw h.code ? new l.ErrnoError(Z.convertNodeCode(h)) : h;
}
return c.mode;
}, "getMode"),
realPath: /* @__PURE__ */ s(function(a) {
for (var c = []; a.parent !== a; )
c.push(a.name), a = a.parent;
return c.push(a.mount.opts.root), c.reverse(), oA.join.apply(null, c);
}, "realPath"),
flagsForNode: /* @__PURE__ */ s(function(a) {
a &= -2097153, a &= -2049, a &= -32769, a &= -524289;
var c = 0;
for (var h in Z.flagsForNodeMap)
a & h && (c |= Z.flagsForNodeMap[h], a ^= h);
if (a)
throw new l.ErrnoError(28);
return c;
}, "flagsForNode"),
node_ops: {
getattr: /* @__PURE__ */ s(function(a) {
var c = Z.realPath(a), h;
try {
h = rA.lstatSync(c);
} catch (u) {
throw u.code ? new l.ErrnoError(Z.convertNodeCode(u)) : u;
}
return Z.isWindows && !h.blksize && (h.blksize = 4096), Z.isWindows && !h.blocks && (h.blocks = (h.size + h.blksize - 1) / h.blksize |
0), {
dev: h.dev,
ino: h.ino,
mode: h.mode,
nlink: h.nlink,
uid: h.uid,
gid: h.gid,
rdev: h.rdev,
size: h.size,
atime: h.atime,
mtime: h.mtime,
ctime: h.ctime,
blksize: h.blksize,
blocks: h.blocks
};
}, "getattr"),
setattr: /* @__PURE__ */ s(function(a, c) {
var h = Z.realPath(a);
try {
if (c.mode !== void 0 && (rA.chmodSync(h, c.mode), a.mode = c.mode), c.timestamp !== void 0) {
var u = new Date(c.timestamp);
rA.utimesSync(h, u, u);
}
c.size !== void 0 && rA.truncateSync(h, c.size);
} catch (f) {
throw f.code ? new l.ErrnoError(Z.convertNodeCode(f)) : f;
}
}, "setattr"),
lookup: /* @__PURE__ */ s(function(a, c) {
var h = oA.join2(Z.realPath(a), c), u = Z.getMode(h);
return Z.createNode(a, c, u);
}, "lookup"),
mknod: /* @__PURE__ */ s(function(a, c, h, u) {
var f = Z.createNode(a, c, h, u), d = Z.realPath(f);
try {
l.isDir(f.mode) ? rA.mkdirSync(d, f.mode) : rA.writeFileSync(d, "", { mode: f.mode });
} catch (y) {
throw y.code ? new l.ErrnoError(Z.convertNodeCode(y)) : y;
}
return f;
}, "mknod"),
rename: /* @__PURE__ */ s(function(a, c, h) {
var u = Z.realPath(a), f = oA.join2(Z.realPath(c), h);
try {
rA.renameSync(u, f);
} catch (d) {
throw d.code ? new l.ErrnoError(Z.convertNodeCode(d)) : d;
}
a.name = h;
}, "rename"),
unlink: /* @__PURE__ */ s(function(a, c) {
var h = oA.join2(Z.realPath(a), c);
try {
rA.unlinkSync(h);
} catch (u) {
throw u.code ? new l.ErrnoError(Z.convertNodeCode(u)) : u;
}
}, "unlink"),
rmdir: /* @__PURE__ */ s(function(a, c) {
var h = oA.join2(Z.realPath(a), c);
try {
rA.rmdirSync(h);
} catch (u) {
throw u.code ? new l.ErrnoError(Z.convertNodeCode(u)) : u;
}
}, "rmdir"),
readdir: /* @__PURE__ */ s(function(a) {
var c = Z.realPath(a);
try {
return rA.readdirSync(c);
} catch (h) {
throw h.code ? new l.ErrnoError(Z.convertNodeCode(h)) : h;
}
}, "readdir"),
symlink: /* @__PURE__ */ s(function(a, c, h) {
var u = oA.join2(Z.realPath(a), c);
try {
rA.symlinkSync(h, u);
} catch (f) {
throw f.code ? new l.ErrnoError(Z.convertNodeCode(f)) : f;
}
}, "symlink"),
readlink: /* @__PURE__ */ s(function(a) {
var c = Z.realPath(a);
try {
return c = rA.readlinkSync(c), c = QE.relative(
QE.resolve(a.mount.opts.root),
c
), c;
} catch (h) {
throw h.code ? new l.ErrnoError(Z.convertNodeCode(h)) : h;
}
}, "readlink")
},
stream_ops: {
open: /* @__PURE__ */ s(function(a) {
var c = Z.realPath(a.node);
try {
l.isFile(a.node.mode) && (a.nfd = rA.openSync(c, Z.flagsForNode(a.flags)));
} catch (h) {
throw h.code ? new l.ErrnoError(Z.convertNodeCode(h)) : h;
}
}, "open"),
close: /* @__PURE__ */ s(function(a) {
try {
l.isFile(a.node.mode) && a.nfd && rA.closeSync(a.nfd);
} catch (c) {
throw c.code ? new l.ErrnoError(Z.convertNodeCode(c)) : c;
}
}, "close"),
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (u === 0) return 0;
try {
return rA.readSync(
a.nfd,
Z.bufferFrom(c.buffer),
h,
u,
f
);
} catch (d) {
throw new l.ErrnoError(Z.convertNodeCode(d));
}
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f) {
try {
return rA.writeSync(
a.nfd,
Z.bufferFrom(c.buffer),
h,
u,
f
);
} catch (d) {
throw new l.ErrnoError(Z.convertNodeCode(d));
}
}, "write"),
llseek: /* @__PURE__ */ s(function(a, c, h) {
var u = c;
if (h === 1)
u += a.position;
else if (h === 2 && l.isFile(a.node.mode))
try {
var f = rA.fstatSync(a.nfd);
u += f.size;
} catch (d) {
throw new l.ErrnoError(Z.convertNodeCode(d));
}
if (u < 0)
throw new l.ErrnoError(28);
return u;
}, "llseek"),
mmap: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (c !== 0)
throw new l.ErrnoError(28);
if (!l.isFile(a.node.mode))
throw new l.ErrnoError(43);
var y = aa(h);
return Z.stream_ops.read(a, JA, y, h, u), { ptr: y, allocated: !0 };
}, "mmap"),
msync: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (!l.isFile(a.node.mode))
throw new l.ErrnoError(43);
if (f & 2)
return 0;
var d = Z.stream_ops.write(
a,
c,
0,
u,
h,
!1
);
return 0;
}, "msync")
}
}, uE = {
lookupPath: /* @__PURE__ */ s(function(a) {
return { path: a, node: { mode: Z.getMode(a) } };
}, "lookupPath"),
createStandardStreams: /* @__PURE__ */ s(function() {
l.streams[0] = {
fd: 0,
nfd: 0,
position: 0,
path: "",
flags: 0,
tty: !0,
seekable: !1
};
for (var a = 1; a < 3; a++)
l.streams[a] = {
fd: a,
nfd: a,
position: 0,
path: "",
flags: 577,
tty: !0,
seekable: !1
};
}, "createStandardStreams"),
cwd: /* @__PURE__ */ s(function() {
return process.cwd();
}, "cwd"),
chdir: /* @__PURE__ */ s(function() {
process.chdir.apply(void 0, arguments);
}, "chdir"),
mknod: /* @__PURE__ */ s(function(a, c) {
l.isDir(a) ? rA.mkdirSync(a, c) : rA.writeFileSync(a, "", { mode: c });
}, "mknod"),
mkdir: /* @__PURE__ */ s(function() {
rA.mkdirSync.apply(void 0, arguments);
}, "mkdir"),
symlink: /* @__PURE__ */ s(function() {
rA.symlinkSync.apply(void 0, arguments);
}, "symlink"),
rename: /* @__PURE__ */ s(function() {
rA.renameSync.apply(void 0, arguments);
}, "rename"),
rmdir: /* @__PURE__ */ s(function() {
rA.rmdirSync.apply(void 0, arguments);
}, "rmdir"),
readdir: /* @__PURE__ */ s(function() {
rA.readdirSync.apply(void 0, arguments);
}, "readdir"),
unlink: /* @__PURE__ */ s(function() {
rA.unlinkSync.apply(void 0, arguments);
}, "unlink"),
readlink: /* @__PURE__ */ s(function() {
return rA.readlinkSync.apply(void 0, arguments);
}, "readlink"),
stat: /* @__PURE__ */ s(function() {
return rA.statSync.apply(void 0, arguments);
}, "stat"),
lstat: /* @__PURE__ */ s(function() {
return rA.lstatSync.apply(void 0, arguments);
}, "lstat"),
chmod: /* @__PURE__ */ s(function() {
rA.chmodSync.apply(void 0, arguments);
}, "chmod"),
fchmod: /* @__PURE__ */ s(function() {
rA.fchmodSync.apply(void 0, arguments);
}, "fchmod"),
chown: /* @__PURE__ */ s(function() {
rA.chownSync.apply(void 0, arguments);
}, "chown"),
fchown: /* @__PURE__ */ s(function() {
rA.fchownSync.apply(void 0, arguments);
}, "fchown"),
truncate: /* @__PURE__ */ s(function() {
rA.truncateSync.apply(void 0, arguments);
}, "truncate"),
ftruncate: /* @__PURE__ */ s(function(a, c) {
if (c < 0)
throw new l.ErrnoError(28);
rA.ftruncateSync.apply(void 0, arguments);
}, "ftruncate"),
utime: /* @__PURE__ */ s(function() {
rA.utimesSync.apply(void 0, arguments);
}, "utime"),
open: /* @__PURE__ */ s(function(a, c, h, u) {
typeof c == "string" && (c = Lr.modeStringToFlags(c));
var f = rA.openSync(a, Z.flagsForNode(c), h), d = u ?? l.nextfd(f), y = {
fd: d,
nfd: f,
position: 0,
path: a,
flags: c,
seekable: !0
};
return l.streams[d] = y, y;
}, "open"),
close: /* @__PURE__ */ s(function(a) {
a.stream_ops || rA.closeSync(a.nfd), l.closeStream(a.fd);
}, "close"),
llseek: /* @__PURE__ */ s(function(a, c, h) {
if (a.stream_ops)
return Lr.llseek(a, c, h);
var u = c;
if (h === 1)
u += a.position;
else if (h === 2)
u += rA.fstatSync(a.nfd).size;
else if (h !== 0)
throw new l.ErrnoError(vr.EINVAL);
if (u < 0)
throw new l.ErrnoError(vr.EINVAL);
return a.position = u, u;
}, "llseek"),
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (a.stream_ops)
return Lr.read(a, c, h, u, f);
var d = typeof f < "u";
!d && a.seekable && (f = a.position);
var y = rA.readSync(
a.nfd,
Z.bufferFrom(c.buffer),
h,
u,
f
);
return d || (a.position += y), y;
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (a.stream_ops)
return Lr.write(a, c, h, u, f);
a.flags & 1024 && l.llseek(a, 0, 2);
var d = typeof f < "u";
!d && a.seekable && (f = a.position);
var y = rA.writeSync(
a.nfd,
Z.bufferFrom(c.buffer),
h,
u,
f
);
return d || (a.position += y), y;
}, "write"),
allocate: /* @__PURE__ */ s(function() {
throw new l.ErrnoError(vr.EOPNOTSUPP);
}, "allocate"),
mmap: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (a.stream_ops)
return Lr.mmap(a, c, h, u, f, d);
if (c !== 0)
throw new l.ErrnoError(28);
var y = aa(h);
return l.read(a, JA, y, h, u), { ptr: y, allocated: !0 };
}, "mmap"),
msync: /* @__PURE__ */ s(function(a, c, h, u, f) {
return a.stream_ops ? Lr.msync(a, c, h, u, f) : (f & 2 || l.write(a, c, 0, u, h), 0);
}, "msync"),
munmap: /* @__PURE__ */ s(function() {
return 0;
}, "munmap"),
ioctl: /* @__PURE__ */ s(function() {
throw new l.ErrnoError(vr.ENOTTY);
}, "ioctl")
}, l = {
root: null,
mounts: [],
devices: {},
streams: [],
nextInode: 1,
nameTable: null,
currentPath: "/",
initialized: !1,
ignorePermissions: !0,
trackingDelegate: {},
tracking: { openFlags: { READ: 1, WRITE: 2 } },
ErrnoError: null,
genericErrors: {},
filesystems: null,
syncFSRequests: 0,
lookupPath: /* @__PURE__ */ s(function(a, c) {
if (a = It.resolve(l.cwd(), a), c = c || {}, !a) return { path: "", node: null };
var h = { follow_mount: !0, recurse_count: 0 };
for (var u in h)
c[u] === void 0 && (c[u] = h[u]);
if (c.recurse_count > 8)
throw new l.ErrnoError(32);
for (var f = oA.normalizeArray(
a.split("/").filter(function(X) {
return !!X;
}),
!1
), d = l.root, y = "/", S = 0; S < f.length; S++) {
var R = S === f.length - 1;
if (R && c.parent)
break;
if (d = l.lookupNode(d, f[S]), y = oA.join2(y, f[S]), l.isMountpoint(d) && (!R || R && c.follow_mount) && (d = d.mounted.root), !R ||
c.follow)
for (var O = 0; l.isLink(d.mode); ) {
var H = l.readlink(y);
y = It.resolve(oA.dirname(y), H);
var iA = l.lookupPath(y, {
recurse_count: c.recurse_count
});
if (d = iA.node, O++ > 40)
throw new l.ErrnoError(32);
}
}
return { path: y, node: d };
}, "lookupPath"),
getPath: /* @__PURE__ */ s(function(a) {
for (var c; ; ) {
if (l.isRoot(a)) {
var h = a.mount.mountpoint;
return c ? h[h.length - 1] !== "/" ? h + "/" + c : h + c : h;
}
c = c ? a.name + "/" + c : a.name, a = a.parent;
}
}, "getPath"),
hashName: /* @__PURE__ */ s(function(a, c) {
for (var h = 0, u = 0; u < c.length; u++)
h = (h << 5) - h + c.charCodeAt(u) | 0;
return (a + h >>> 0) % l.nameTable.length;
}, "hashName"),
hashAddNode: /* @__PURE__ */ s(function(a) {
var c = l.hashName(a.parent.id, a.name);
a.name_next = l.nameTable[c], l.nameTable[c] = a;
}, "hashAddNode"),
hashRemoveNode: /* @__PURE__ */ s(function(a) {
var c = l.hashName(a.parent.id, a.name);
if (l.nameTable[c] === a)
l.nameTable[c] = a.name_next;
else
for (var h = l.nameTable[c]; h; ) {
if (h.name_next === a) {
h.name_next = a.name_next;
break;
}
h = h.name_next;
}
}, "hashRemoveNode"),
lookupNode: /* @__PURE__ */ s(function(a, c) {
var h = l.mayLookup(a);
if (h)
throw new l.ErrnoError(h, a);
for (var u = l.hashName(a.id, c), f = l.nameTable[u]; f; f = f.name_next) {
var d = f.name;
if (f.parent.id === a.id && d === c)
return f;
}
return l.lookup(a, c);
}, "lookupNode"),
createNode: /* @__PURE__ */ s(function(a, c, h, u) {
var f = new l.FSNode(a, c, h, u);
return l.hashAddNode(f), f;
}, "createNode"),
destroyNode: /* @__PURE__ */ s(function(a) {
l.hashRemoveNode(a);
}, "destroyNode"),
isRoot: /* @__PURE__ */ s(function(a) {
return a === a.parent;
}, "isRoot"),
isMountpoint: /* @__PURE__ */ s(function(a) {
return !!a.mounted;
}, "isMountpoint"),
isFile: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 32768;
}, "isFile"),
isDir: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 16384;
}, "isDir"),
isLink: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 40960;
}, "isLink"),
isChrdev: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 8192;
}, "isChrdev"),
isBlkdev: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 24576;
}, "isBlkdev"),
isFIFO: /* @__PURE__ */ s(function(a) {
return (a & 61440) === 4096;
}, "isFIFO"),
isSocket: /* @__PURE__ */ s(function(a) {
return (a & 49152) === 49152;
}, "isSocket"),
flagModes: { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 },
modeStringToFlags: /* @__PURE__ */ s(function(a) {
var c = l.flagModes[a];
if (typeof c > "u")
throw new Error("Unknown file open mode: " + a);
return c;
}, "modeStringToFlags"),
flagsToPermissionString: /* @__PURE__ */ s(function(a) {
var c = ["r", "w", "rw"][a & 3];
return a & 512 && (c += "w"), c;
}, "flagsToPermissionString"),
nodePermissions: /* @__PURE__ */ s(function(a, c) {
return l.ignorePermissions ? 0 : c.includes("r") && !(a.mode & 292) || c.includes("w") && !(a.mode & 146) || c.includes("x") && !(a.
mode & 73) ? 2 : 0;
}, "nodePermissions"),
mayLookup: /* @__PURE__ */ s(function(a) {
var c = l.nodePermissions(a, "x");
return c || (a.node_ops.lookup ? 0 : 2);
}, "mayLookup"),
mayCreate: /* @__PURE__ */ s(function(a, c) {
try {
var h = l.lookupNode(a, c);
return 20;
} catch {
}
return l.nodePermissions(a, "wx");
}, "mayCreate"),
mayDelete: /* @__PURE__ */ s(function(a, c, h) {
var u;
try {
u = l.lookupNode(a, c);
} catch (d) {
return d.errno;
}
var f = l.nodePermissions(a, "wx");
if (f)
return f;
if (h) {
if (!l.isDir(u.mode))
return 54;
if (l.isRoot(u) || l.getPath(u) === l.cwd())
return 10;
} else if (l.isDir(u.mode))
return 31;
return 0;
}, "mayDelete"),
mayOpen: /* @__PURE__ */ s(function(a, c) {
return a ? l.isLink(a.mode) ? 32 : l.isDir(a.mode) && (l.flagsToPermissionString(c) !== "r" || c & 512) ? 31 : l.nodePermissions(a,
l.flagsToPermissionString(c)) : 44;
}, "mayOpen"),
MAX_OPEN_FDS: 4096,
nextfd: /* @__PURE__ */ s(function(a, c) {
a = a || 0, c = c || l.MAX_OPEN_FDS;
for (var h = a; h <= c; h++)
if (!l.streams[h])
return h;
throw new l.ErrnoError(33);
}, "nextfd"),
getStream: /* @__PURE__ */ s(function(a) {
return l.streams[a];
}, "getStream"),
createStream: /* @__PURE__ */ s(function(a, c, h) {
l.FSStream || (l.FSStream = function() {
}, l.FSStream.prototype = {
object: {
get: /* @__PURE__ */ s(function() {
return this.node;
}, "get"),
set: /* @__PURE__ */ s(function(y) {
this.node = y;
}, "set")
},
isRead: {
get: /* @__PURE__ */ s(function() {
return (this.flags & 2097155) !== 1;
}, "get")
},
isWrite: {
get: /* @__PURE__ */ s(function() {
return (this.flags & 2097155) !== 0;
}, "get")
},
isAppend: {
get: /* @__PURE__ */ s(function() {
return this.flags & 1024;
}, "get")
}
});
var u = new l.FSStream();
for (var f in a)
u[f] = a[f];
a = u;
var d = l.nextfd(c, h);
return a.fd = d, l.streams[d] = a, a;
}, "createStream"),
closeStream: /* @__PURE__ */ s(function(a) {
l.streams[a] = null;
}, "closeStream"),
chrdev_stream_ops: {
open: /* @__PURE__ */ s(function(a) {
var c = l.getDevice(a.node.rdev);
a.stream_ops = c.stream_ops, a.stream_ops.open && a.stream_ops.open(a);
}, "open"),
llseek: /* @__PURE__ */ s(function() {
throw new l.ErrnoError(70);
}, "llseek")
},
major: /* @__PURE__ */ s(function(a) {
return a >> 8;
}, "major"),
minor: /* @__PURE__ */ s(function(a) {
return a & 255;
}, "minor"),
makedev: /* @__PURE__ */ s(function(a, c) {
return a << 8 | c;
}, "makedev"),
registerDevice: /* @__PURE__ */ s(function(a, c) {
l.devices[a] = { stream_ops: c };
}, "registerDevice"),
getDevice: /* @__PURE__ */ s(function(a) {
return l.devices[a];
}, "getDevice"),
getMounts: /* @__PURE__ */ s(function(a) {
for (var c = [], h = [a]; h.length; ) {
var u = h.pop();
c.push(u), h.push.apply(h, u.mounts);
}
return c;
}, "getMounts"),
syncfs: /* @__PURE__ */ s(function(a, c) {
typeof a == "function" && (c = a, a = !1), l.syncFSRequests++, l.syncFSRequests > 1 && v(
"warning: " + l.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"
);
var h = l.getMounts(l.root.mount), u = 0;
function f(y) {
return l.syncFSRequests--, c(y);
}
s(f, "doCallback");
function d(y) {
if (y)
return d.errored ? void 0 : (d.errored = !0, f(y));
++u >= h.length && f(null);
}
s(d, "done"), h.forEach(function(y) {
if (!y.type.syncfs)
return d(null);
y.type.syncfs(y, a, d);
});
}, "syncfs"),
mount: /* @__PURE__ */ s(function(a, c, h) {
var u = h === "/", f = !h, d;
if (u && l.root)
throw new l.ErrnoError(10);
if (!u && !f) {
var y = l.lookupPath(h, { follow_mount: !1 });
if (h = y.path, d = y.node, l.isMountpoint(d))
throw new l.ErrnoError(10);
if (!l.isDir(d.mode))
throw new l.ErrnoError(54);
}
var S = {
type: a,
opts: c,
mountpoint: h,
mounts: []
}, R = a.mount(S);
return R.mount = S, S.root = R, u ? l.root = R : d && (d.mounted = S, d.mount && d.mount.mounts.push(S)), R;
}, "mount"),
unmount: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { follow_mount: !1 });
if (!l.isMountpoint(c.node))
throw new l.ErrnoError(28);
var h = c.node, u = h.mounted, f = l.getMounts(u);
Object.keys(l.nameTable).forEach(function(y) {
for (var S = l.nameTable[y]; S; ) {
var R = S.name_next;
f.includes(S.mount) && l.destroyNode(S), S = R;
}
}), h.mounted = null;
var d = h.mount.mounts.indexOf(u);
h.mount.mounts.splice(d, 1);
}, "unmount"),
lookup: /* @__PURE__ */ s(function(a, c) {
return a.node_ops.lookup(a, c);
}, "lookup"),
mknod: /* @__PURE__ */ s(function(a, c, h) {
var u = l.lookupPath(a, { parent: !0 }), f = u.node, d = oA.basename(a);
if (!d || d === "." || d === "..")
throw new l.ErrnoError(28);
var y = l.mayCreate(f, d);
if (y)
throw new l.ErrnoError(y);
if (!f.node_ops.mknod)
throw new l.ErrnoError(63);
return f.node_ops.mknod(f, d, c, h);
}, "mknod"),
create: /* @__PURE__ */ s(function(a, c) {
return c = c !== void 0 ? c : 438, c &= 4095, c |= 32768, l.mknod(a, c, 0);
}, "create"),
mkdir: /* @__PURE__ */ s(function(a, c) {
return c = c !== void 0 ? c : 511, c &= 1023, c |= 16384, l.mknod(a, c, 0);
}, "mkdir"),
mkdirTree: /* @__PURE__ */ s(function(a, c) {
for (var h = a.split("/"), u = "", f = 0; f < h.length; ++f)
if (h[f]) {
u += "/" + h[f];
try {
l.mkdir(u, c);
} catch (d) {
if (d.errno != 20) throw d;
}
}
}, "mkdirTree"),
mkdev: /* @__PURE__ */ s(function(a, c, h) {
return typeof h > "u" && (h = c, c = 438), c |= 8192, l.mknod(a, c, h);
}, "mkdev"),
symlink: /* @__PURE__ */ s(function(a, c) {
if (!It.resolve(a))
throw new l.ErrnoError(44);
var h = l.lookupPath(c, { parent: !0 }), u = h.node;
if (!u)
throw new l.ErrnoError(44);
var f = oA.basename(c), d = l.mayCreate(u, f);
if (d)
throw new l.ErrnoError(d);
if (!u.node_ops.symlink)
throw new l.ErrnoError(63);
return u.node_ops.symlink(u, f, a);
}, "symlink"),
rename: /* @__PURE__ */ s(function(a, c) {
var h = oA.dirname(a), u = oA.dirname(c), f = oA.basename(a), d = oA.basename(c), y, S, R;
if (y = l.lookupPath(a, { parent: !0 }), S = y.node, y = l.lookupPath(c, { parent: !0 }), R = y.node, !S || !R) throw new l.ErrnoError(
44);
if (S.mount !== R.mount)
throw new l.ErrnoError(75);
var O = l.lookupNode(S, f), H = It.relative(a, u);
if (H.charAt(0) !== ".")
throw new l.ErrnoError(28);
if (H = It.relative(c, h), H.charAt(0) !== ".")
throw new l.ErrnoError(55);
var iA;
try {
iA = l.lookupNode(R, d);
} catch {
}
if (O !== iA) {
var X = l.isDir(O.mode), j = l.mayDelete(S, f, X);
if (j)
throw new l.ErrnoError(j);
if (j = iA ? l.mayDelete(R, d, X) : l.mayCreate(R, d), j)
throw new l.ErrnoError(j);
if (!S.node_ops.rename)
throw new l.ErrnoError(63);
if (l.isMountpoint(O) || iA && l.isMountpoint(iA))
throw new l.ErrnoError(10);
if (R !== S && (j = l.nodePermissions(S, "w"), j))
throw new l.ErrnoError(j);
try {
l.trackingDelegate.willMovePath && l.trackingDelegate.willMovePath(a, c);
} catch (sA) {
v(
"FS.trackingDelegate['willMovePath']('" + a + "', '" + c + "') threw an exception: " + sA.message
);
}
l.hashRemoveNode(O);
try {
S.node_ops.rename(O, R, d);
} catch (sA) {
throw sA;
} finally {
l.hashAddNode(O);
}
try {
l.trackingDelegate.onMovePath && l.trackingDelegate.onMovePath(a, c);
} catch (sA) {
v(
"FS.trackingDelegate['onMovePath']('" + a + "', '" + c + "') threw an exception: " + sA.message
);
}
}
}, "rename"),
rmdir: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { parent: !0 }), h = c.node, u = oA.basename(a), f = l.lookupNode(h, u), d = l.mayDelete(h, u, !0);
if (d)
throw new l.ErrnoError(d);
if (!h.node_ops.rmdir)
throw new l.ErrnoError(63);
if (l.isMountpoint(f))
throw new l.ErrnoError(10);
try {
l.trackingDelegate.willDeletePath && l.trackingDelegate.willDeletePath(a);
} catch (y) {
v(
"FS.trackingDelegate['willDeletePath']('" + a + "') threw an exception: " + y.message
);
}
h.node_ops.rmdir(h, u), l.destroyNode(f);
try {
l.trackingDelegate.onDeletePath && l.trackingDelegate.onDeletePath(a);
} catch (y) {
v(
"FS.trackingDelegate['onDeletePath']('" + a + "') threw an exception: " + y.message
);
}
}, "rmdir"),
readdir: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { follow: !0 }), h = c.node;
if (!h.node_ops.readdir)
throw new l.ErrnoError(54);
return h.node_ops.readdir(h);
}, "readdir"),
unlink: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { parent: !0 }), h = c.node, u = oA.basename(a), f = l.lookupNode(h, u), d = l.mayDelete(h, u, !1);
if (d)
throw new l.ErrnoError(d);
if (!h.node_ops.unlink)
throw new l.ErrnoError(63);
if (l.isMountpoint(f))
throw new l.ErrnoError(10);
try {
l.trackingDelegate.willDeletePath && l.trackingDelegate.willDeletePath(a);
} catch (y) {
v(
"FS.trackingDelegate['willDeletePath']('" + a + "') threw an exception: " + y.message
);
}
h.node_ops.unlink(h, u), l.destroyNode(f);
try {
l.trackingDelegate.onDeletePath && l.trackingDelegate.onDeletePath(a);
} catch (y) {
v(
"FS.trackingDelegate['onDeletePath']('" + a + "') threw an exception: " + y.message
);
}
}, "unlink"),
readlink: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a), h = c.node;
if (!h)
throw new l.ErrnoError(44);
if (!h.node_ops.readlink)
throw new l.ErrnoError(28);
return It.resolve(
l.getPath(h.parent),
h.node_ops.readlink(h)
);
}, "readlink"),
stat: /* @__PURE__ */ s(function(a, c) {
var h = l.lookupPath(a, { follow: !c }), u = h.node;
if (!u)
throw new l.ErrnoError(44);
if (!u.node_ops.getattr)
throw new l.ErrnoError(63);
return u.node_ops.getattr(u);
}, "stat"),
lstat: /* @__PURE__ */ s(function(a) {
return l.stat(a, !0);
}, "lstat"),
chmod: /* @__PURE__ */ s(function(a, c, h) {
var u;
if (typeof a == "string") {
var f = l.lookupPath(a, { follow: !h });
u = f.node;
} else
u = a;
if (!u.node_ops.setattr)
throw new l.ErrnoError(63);
u.node_ops.setattr(u, {
mode: c & 4095 | u.mode & -4096,
timestamp: Date.now()
});
}, "chmod"),
lchmod: /* @__PURE__ */ s(function(a, c) {
l.chmod(a, c, !0);
}, "lchmod"),
fchmod: /* @__PURE__ */ s(function(a, c) {
var h = l.getStream(a);
if (!h)
throw new l.ErrnoError(8);
l.chmod(h.node, c);
}, "fchmod"),
chown: /* @__PURE__ */ s(function(a, c, h, u) {
var f;
if (typeof a == "string") {
var d = l.lookupPath(a, { follow: !u });
f = d.node;
} else
f = a;
if (!f.node_ops.setattr)
throw new l.ErrnoError(63);
f.node_ops.setattr(f, { timestamp: Date.now() });
}, "chown"),
lchown: /* @__PURE__ */ s(function(a, c, h) {
l.chown(a, c, h, !0);
}, "lchown"),
fchown: /* @__PURE__ */ s(function(a, c, h) {
var u = l.getStream(a);
if (!u)
throw new l.ErrnoError(8);
l.chown(u.node, c, h);
}, "fchown"),
truncate: /* @__PURE__ */ s(function(a, c) {
if (c < 0)
throw new l.ErrnoError(28);
var h;
if (typeof a == "string") {
var u = l.lookupPath(a, { follow: !0 });
h = u.node;
} else
h = a;
if (!h.node_ops.setattr)
throw new l.ErrnoError(63);
if (l.isDir(h.mode))
throw new l.ErrnoError(31);
if (!l.isFile(h.mode))
throw new l.ErrnoError(28);
var f = l.nodePermissions(h, "w");
if (f)
throw new l.ErrnoError(f);
h.node_ops.setattr(h, { size: c, timestamp: Date.now() });
}, "truncate"),
ftruncate: /* @__PURE__ */ s(function(a, c) {
var h = l.getStream(a);
if (!h)
throw new l.ErrnoError(8);
if ((h.flags & 2097155) === 0)
throw new l.ErrnoError(28);
l.truncate(h.node, c);
}, "ftruncate"),
utime: /* @__PURE__ */ s(function(a, c, h) {
var u = l.lookupPath(a, { follow: !0 }), f = u.node;
f.node_ops.setattr(f, { timestamp: Math.max(c, h) });
}, "utime"),
open: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (a === "")
throw new l.ErrnoError(44);
c = typeof c == "string" ? l.modeStringToFlags(c) : c, h = typeof h > "u" ? 438 : h, c & 64 ? h = h & 4095 | 32768 : h = 0;
var d;
if (typeof a == "object")
d = a;
else {
a = oA.normalize(a);
try {
var y = l.lookupPath(a, { follow: !(c & 131072) });
d = y.node;
} catch {
}
}
var S = !1;
if (c & 64)
if (d) {
if (c & 128)
throw new l.ErrnoError(20);
} else
d = l.mknod(a, h, 0), S = !0;
if (!d)
throw new l.ErrnoError(44);
if (l.isChrdev(d.mode) && (c &= -513), c & 65536 && !l.isDir(d.mode))
throw new l.ErrnoError(54);
if (!S) {
var R = l.mayOpen(d, c);
if (R)
throw new l.ErrnoError(R);
}
c & 512 && l.truncate(d, 0), c &= -131713;
var O = l.createStream(
{
node: d,
path: l.getPath(d),
flags: c,
seekable: !0,
position: 0,
stream_ops: d.stream_ops,
ungotten: [],
error: !1
},
u,
f
);
O.stream_ops.open && O.stream_ops.open(O), e.logReadFiles && !(c & 1) && (l.readFiles || (l.readFiles = {}), a in l.readFiles || (l.
readFiles[a] = 1, v("FS.trackingDelegate error on read file: " + a)));
try {
if (l.trackingDelegate.onOpenFile) {
var H = 0;
(c & 2097155) !== 1 && (H |= l.tracking.openFlags.READ), (c & 2097155) !== 0 && (H |= l.tracking.openFlags.WRITE), l.trackingDelegate.
onOpenFile(a, H);
}
} catch (iA) {
v(
"FS.trackingDelegate['onOpenFile']('" + a + "', flags) threw an exception: " + iA.message
);
}
return O;
}, "open"),
close: /* @__PURE__ */ s(function(a) {
if (l.isClosed(a))
throw new l.ErrnoError(8);
a.getdents && (a.getdents = null);
try {
a.stream_ops.close && a.stream_ops.close(a);
} catch (c) {
throw c;
} finally {
l.closeStream(a.fd);
}
a.fd = null;
}, "close"),
isClosed: /* @__PURE__ */ s(function(a) {
return a.fd === null;
}, "isClosed"),
llseek: /* @__PURE__ */ s(function(a, c, h) {
if (l.isClosed(a))
throw new l.ErrnoError(8);
if (!a.seekable || !a.stream_ops.llseek)
throw new l.ErrnoError(70);
if (h != 0 && h != 1 && h != 2)
throw new l.ErrnoError(28);
return a.position = a.stream_ops.llseek(a, c, h), a.ungotten = [], a.position;
}, "llseek"),
read: /* @__PURE__ */ s(function(a, c, h, u, f) {
if (u < 0 || f < 0)
throw new l.ErrnoError(28);
if (l.isClosed(a))
throw new l.ErrnoError(8);
if ((a.flags & 2097155) === 1)
throw new l.ErrnoError(8);
if (l.isDir(a.node.mode))
throw new l.ErrnoError(31);
if (!a.stream_ops.read)
throw new l.ErrnoError(28);
var d = typeof f < "u";
if (!d)
f = a.position;
else if (!a.seekable)
throw new l.ErrnoError(70);
var y = a.stream_ops.read(
a,
c,
h,
u,
f
);
return d || (a.position += y), y;
}, "read"),
write: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if (u < 0 || f < 0)
throw new l.ErrnoError(28);
if (l.isClosed(a))
throw new l.ErrnoError(8);
if ((a.flags & 2097155) === 0)
throw new l.ErrnoError(8);
if (l.isDir(a.node.mode))
throw new l.ErrnoError(31);
if (!a.stream_ops.write)
throw new l.ErrnoError(28);
a.seekable && a.flags & 1024 && l.llseek(a, 0, 2);
var y = typeof f < "u";
if (!y)
f = a.position;
else if (!a.seekable)
throw new l.ErrnoError(70);
var S = a.stream_ops.write(
a,
c,
h,
u,
f,
d
);
y || (a.position += S);
try {
a.path && l.trackingDelegate.onWriteToFile && l.trackingDelegate.onWriteToFile(a.path);
} catch (R) {
v(
"FS.trackingDelegate['onWriteToFile']('" + a.path + "') threw an exception: " + R.message
);
}
return S;
}, "write"),
allocate: /* @__PURE__ */ s(function(a, c, h) {
if (l.isClosed(a))
throw new l.ErrnoError(8);
if (c < 0 || h <= 0)
throw new l.ErrnoError(28);
if ((a.flags & 2097155) === 0)
throw new l.ErrnoError(8);
if (!l.isFile(a.node.mode) && !l.isDir(a.node.mode))
throw new l.ErrnoError(43);
if (!a.stream_ops.allocate)
throw new l.ErrnoError(138);
a.stream_ops.allocate(a, c, h);
}, "allocate"),
mmap: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
if ((f & 2) !== 0 && (d & 2) === 0 && (a.flags & 2097155) !== 2)
throw new l.ErrnoError(2);
if ((a.flags & 2097155) === 1)
throw new l.ErrnoError(2);
if (!a.stream_ops.mmap)
throw new l.ErrnoError(43);
return a.stream_ops.mmap(
a,
c,
h,
u,
f,
d
);
}, "mmap"),
msync: /* @__PURE__ */ s(function(a, c, h, u, f) {
return !a || !a.stream_ops.msync ? 0 : a.stream_ops.msync(
a,
c,
h,
u,
f
);
}, "msync"),
munmap: /* @__PURE__ */ s(function(a) {
return 0;
}, "munmap"),
ioctl: /* @__PURE__ */ s(function(a, c, h) {
if (!a.stream_ops.ioctl)
throw new l.ErrnoError(59);
return a.stream_ops.ioctl(a, c, h);
}, "ioctl"),
readFile: /* @__PURE__ */ s(function(a, c) {
if (c = c || {}, c.flags = c.flags || 0, c.encoding = c.encoding || "binary", c.encoding !== "utf8" && c.encoding !== "binary")
throw new Error('Invalid encoding type "' + c.encoding + '"');
var h, u = l.open(a, c.flags), f = l.stat(a), d = f.size, y = new Uint8Array(d);
return l.read(u, y, 0, d, 0), c.encoding === "utf8" ? h = GA(y, 0) : c.encoding === "binary" && (h = y), l.close(u), h;
}, "readFile"),
writeFile: /* @__PURE__ */ s(function(a, c, h) {
h = h || {}, h.flags = h.flags || 577;
var u = l.open(a, h.flags, h.mode);
if (typeof c == "string") {
var f = new Uint8Array(Mr(c) + 1), d = vA(c, f, 0, f.length);
l.write(u, f, 0, d, void 0, h.canOwn);
} else if (ArrayBuffer.isView(c))
l.write(u, c, 0, c.byteLength, void 0, h.canOwn);
else
throw new Error("Unsupported data type");
l.close(u);
}, "writeFile"),
cwd: /* @__PURE__ */ s(function() {
return l.currentPath;
}, "cwd"),
chdir: /* @__PURE__ */ s(function(a) {
var c = l.lookupPath(a, { follow: !0 });
if (c.node === null)
throw new l.ErrnoError(44);
if (!l.isDir(c.node.mode))
throw new l.ErrnoError(54);
var h = l.nodePermissions(c.node, "x");
if (h)
throw new l.ErrnoError(h);
l.currentPath = c.path;
}, "chdir"),
createDefaultDirectories: /* @__PURE__ */ s(function() {
l.mkdir("/tmp"), l.mkdir("/home"), l.mkdir("/home/web_user");
}, "createDefaultDirectories"),
createDefaultDevices: /* @__PURE__ */ s(function() {
l.mkdir("/dev"), l.registerDevice(l.makedev(1, 3), {
read: /* @__PURE__ */ s(function() {
return 0;
}, "read"),
write: /* @__PURE__ */ s(function(c, h, u, f, d) {
return f;
}, "write")
}), l.mkdev("/dev/null", l.makedev(1, 3)), vt.register(l.makedev(5, 0), vt.default_tty_ops), vt.register(l.makedev(6, 0), vt.default_tty1_ops),
l.mkdev("/dev/tty", l.makedev(5, 0)), l.mkdev("/dev/tty1", l.makedev(6, 0));
var a = tk();
l.createDevice("/dev", "random", a), l.createDevice("/dev", "urandom", a), l.mkdir("/dev/shm"), l.mkdir("/dev/shm/tmp");
}, "createDefaultDevices"),
createSpecialDirectories: /* @__PURE__ */ s(function() {
l.mkdir("/proc");
var a = l.mkdir("/proc/self");
l.mkdir("/proc/self/fd"), l.mount(
{
mount: /* @__PURE__ */ s(function() {
var c = l.createNode(a, "fd", 16895, 73);
return c.node_ops = {
lookup: /* @__PURE__ */ s(function(h, u) {
var f = +u, d = l.getStream(f);
if (!d) throw new l.ErrnoError(8);
var y = {
parent: null,
mount: { mountpoint: "fake" },
node_ops: {
readlink: /* @__PURE__ */ s(function() {
return d.path;
}, "readlink")
}
};
return y.parent = y, y;
}, "lookup")
}, c;
}, "mount")
},
{},
"/proc/self/fd"
);
}, "createSpecialDirectories"),
createStandardStreams: /* @__PURE__ */ s(function() {
e.stdin ? l.createDevice("/dev", "stdin", e.stdin) : l.symlink("/dev/tty", "/dev/stdin"), e.stdout ? l.createDevice("/dev", "stdou\
t", null, e.stdout) : l.symlink("/dev/tty", "/dev/stdout"), e.stderr ? l.createDevice("/dev", "stderr", null, e.stderr) : l.symlink("/dev/tt\
y1", "/dev/stderr");
var a = l.open("/dev/stdin", 0), c = l.open("/dev/stdout", 1), h = l.open("/dev/stderr", 1);
}, "createStandardStreams"),
ensureErrnoError: /* @__PURE__ */ s(function() {
l.ErrnoError || (l.ErrnoError = /* @__PURE__ */ s(function(c, h) {
this.node = h, this.setErrno = function(u) {
this.errno = u;
}, this.setErrno(c), this.message = "FS error";
}, "ErrnoError"), l.ErrnoError.prototype = new Error(), l.ErrnoError.prototype.constructor = l.ErrnoError, [44].forEach(function(a) {
l.genericErrors[a] = new l.ErrnoError(a), l.genericErrors[a].stack = "<generic error, no stack>";
}));
}, "ensureErrnoError"),
staticInit: /* @__PURE__ */ s(function() {
l.ensureErrnoError(), l.nameTable = new Array(4096), l.mount(tA, {}, "/"), l.createDefaultDirectories(), l.createDefaultDevices(),
l.createSpecialDirectories(), l.filesystems = { MEMFS: tA, NODEFS: Z };
}, "staticInit"),
init: /* @__PURE__ */ s(function(a, c, h) {
l.init.initialized = !0, l.ensureErrnoError(), e.stdin = a || e.stdin, e.stdout = c || e.stdout, e.stderr = h || e.stderr, l.createStandardStreams();
}, "init"),
quit: /* @__PURE__ */ s(function() {
l.init.initialized = !1;
var a = e._fflush;
a && a(0);
for (var c = 0; c < l.streams.length; c++) {
var h = l.streams[c];
h && l.close(h);
}
}, "quit"),
getMode: /* @__PURE__ */ s(function(a, c) {
var h = 0;
return a && (h |= 365), c && (h |= 146), h;
}, "getMode"),
findObject: /* @__PURE__ */ s(function(a, c) {
var h = l.analyzePath(a, c);
return h.exists ? h.object : null;
}, "findObject"),
analyzePath: /* @__PURE__ */ s(function(a, c) {
try {
var h = l.lookupPath(a, { follow: !c });
a = h.path;
} catch {
}
var u = {
isRoot: !1,
exists: !1,
error: 0,
name: null,
path: null,
object: null,
parentExists: !1,
parentPath: null,
parentObject: null
};
try {
var h = l.lookupPath(a, { parent: !0 });
u.parentExists = !0, u.parentPath = h.path, u.parentObject = h.node, u.name = oA.basename(a), h = l.lookupPath(a, { follow: !c }),
u.exists = !0, u.path = h.path, u.object = h.node, u.name = h.node.name, u.isRoot = h.path === "/";
} catch (f) {
u.error = f.errno;
}
return u;
}, "analyzePath"),
createPath: /* @__PURE__ */ s(function(a, c, h, u) {
a = typeof a == "string" ? a : l.getPath(a);
for (var f = c.split("/").reverse(); f.length; ) {
var d = f.pop();
if (d) {
var y = oA.join2(a, d);
try {
l.mkdir(y);
} catch {
}
a = y;
}
}
return y;
}, "createPath"),
createFile: /* @__PURE__ */ s(function(a, c, h, u, f) {
var d = oA.join2(
typeof a == "string" ? a : l.getPath(a),
c
), y = l.getMode(u, f);
return l.create(d, y);
}, "createFile"),
createDataFile: /* @__PURE__ */ s(function(a, c, h, u, f, d) {
var y = c ? oA.join2(
typeof a == "string" ? a : l.getPath(a),
c
) : a, S = l.getMode(u, f), R = l.create(y, S);
if (h) {
if (typeof h == "string") {
for (var O = new Array(h.length), H = 0, iA = h.length; H < iA; ++H)
O[H] = h.charCodeAt(H);
h = O;
}
l.chmod(R, S | 146);
var X = l.open(R, 577);
l.write(X, h, 0, h.length, 0, d), l.close(X), l.chmod(R, S);
}
return R;
}, "createDataFile"),
createDevice: /* @__PURE__ */ s(function(a, c, h, u) {
var f = oA.join2(
typeof a == "string" ? a : l.getPath(a),
c
), d = l.getMode(!!h, !!u);
l.createDevice.major || (l.createDevice.major = 64);
var y = l.makedev(l.createDevice.major++, 0);
return l.registerDevice(y, {
open: /* @__PURE__ */ s(function(S) {
S.seekable = !1;
}, "open"),
close: /* @__PURE__ */ s(function(S) {
u && u.buffer && u.buffer.length && u(10);
}, "close"),
read: /* @__PURE__ */ s(function(S, R, O, H, iA) {
for (var X = 0, j = 0; j < H; j++) {
var sA;
try {
sA = h();
} catch {
throw new l.ErrnoError(29);
}
if (sA === void 0 && X === 0)
throw new l.ErrnoError(6);
if (sA == null) break;
X++, R[O + j] = sA;
}
return X && (S.node.timestamp = Date.now()), X;
}, "read"),
write: /* @__PURE__ */ s(function(S, R, O, H, iA) {
for (var X = 0; X < H; X++)
try {
u(R[O + X]);
} catch {
throw new l.ErrnoError(29);
}
return H && (S.node.timestamp = Date.now()), X;
}, "write")
}), l.mkdev(f, d, y);
}, "createDevice"),
forceLoadFile: /* @__PURE__ */ s(function(a) {
if (a.isDevice || a.isFolder || a.link || a.contents)
return !0;
if (typeof XMLHttpRequest < "u")
throw new Error(
"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web work\
ers. Use --embed-file or --preload-file in emcc on the main thread."
);
if (w)
try {
a.contents = ca(w(a.url), !0), a.usedBytes = a.contents.length;
} catch {
throw new l.ErrnoError(29);
}
else
throw new Error("Cannot load without read() or XMLHttpRequest.");
}, "forceLoadFile"),
createLazyFile: /* @__PURE__ */ s(function(a, c, h, u, f) {
function d() {
this.lengthKnown = !1, this.chunks = [];
}
if (s(d, "LazyUint8Array"), d.prototype.get = /* @__PURE__ */ s(function(X) {
if (!(X > this.length - 1 || X < 0)) {
var j = X % this.chunkSize, sA = X / this.chunkSize | 0;
return this.getter(sA)[j];
}
}, "LazyUint8Array_get"), d.prototype.setDataGetter = /* @__PURE__ */ s(function(X) {
this.getter = X;
}, "LazyUint8Array_setDataGetter"), d.prototype.cacheLength = /* @__PURE__ */ s(function() {
var X = new XMLHttpRequest();
if (X.open("HEAD", h, !1), X.send(null), !(X.status >= 200 && X.status < 300 || X.status === 304))
throw new Error("Couldn't load " + h + ". Status: " + X.status);
var j = Number(X.getResponseHeader("Content-length")), sA, VA = (sA = X.getResponseHeader("Accept-Ranges")) && sA === "bytes", be = (sA =
X.getResponseHeader("Content-Encoding")) && sA === "gzip", Ce = 1024 * 1024;
VA || (Ce = j);
var Li = /* @__PURE__ */ s(function(ze, xr) {
if (ze > xr)
throw new Error(
"invalid range (" + ze + ", " + xr + ") or no bytes requested!"
);
if (xr > j - 1)
throw new Error(
"only " + j + " bytes available! programmer error!"
);
var OA = new XMLHttpRequest();
if (OA.open("GET", h, !1), j !== Ce && OA.setRequestHeader("Range", "bytes=" + ze + "-" + xr), typeof Uint8Array < "u" && (OA.
responseType = "arraybuffer"), OA.overrideMimeType && OA.overrideMimeType("text/plain; charset=x-user-defined"), OA.send(null),
!(OA.status >= 200 && OA.status < 300 || OA.status === 304))
throw new Error(
"Couldn't load " + h + ". Status: " + OA.status
);
return OA.response !== void 0 ? new Uint8Array(OA.response || []) : ca(OA.responseText || "", !0);
}, "doXHR"), XA = this;
XA.setDataGetter(function(ze) {
var xr = ze * Ce, OA = (ze + 1) * Ce - 1;
if (OA = Math.min(OA, j - 1), typeof XA.chunks[ze] > "u" && (XA.chunks[ze] = Li(xr, OA)), typeof XA.chunks[ze] > "u")
throw new Error("doXHR failed!");
return XA.chunks[ze];
}), (be || !j) && (Ce = j = 1, j = this.getter(0).length, Ce = j, _(
"LazyFiles on gzip forces download of the whole file when length is accessed"
)), this._length = j, this._chunkSize = Ce, this.lengthKnown = !0;
}, "LazyUint8Array_cacheLength"), typeof XMLHttpRequest < "u") {
if (!E)
throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
var y = new d();
Object.defineProperties(y, {
length: {
get: /* @__PURE__ */ s(function() {
return this.lengthKnown || this.cacheLength(), this._length;
}, "get")
},
chunkSize: {
get: /* @__PURE__ */ s(function() {
return this.lengthKnown || this.cacheLength(), this._chunkSize;
}, "get")
}
});
var S = { isDevice: !1, contents: y };
} else
var S = { isDevice: !1, url: h };
var R = l.createFile(a, c, S, u, f);
S.contents ? R.contents = S.contents : S.url && (R.contents = null, R.url = S.url), Object.defineProperties(R, {
usedBytes: {
get: /* @__PURE__ */ s(function() {
return this.contents.length;
}, "get")
}
});
var O = {}, H = Object.keys(R.stream_ops);
return H.forEach(function(iA) {
var X = R.stream_ops[iA];
O[iA] = /* @__PURE__ */ s(function() {
return l.forceLoadFile(R), X.apply(null, arguments);
}, "forceLoadLazyFile");
}), O.read = /* @__PURE__ */ s(function(X, j, sA, VA, be) {
l.forceLoadFile(R);
var Ce = X.node.contents;
if (be >= Ce.length) return 0;
var Li = Math.min(Ce.length - be, VA);
if (Ce.slice)
for (var XA = 0; XA < Li; XA++)
j[sA + XA] = Ce[be + XA];
else
for (var XA = 0; XA < Li; XA++)
j[sA + XA] = Ce.get(be + XA);
return Li;
}, "stream_ops_read"), R.stream_ops = O, R;
}, "createLazyFile"),
createPreloadedFile: /* @__PURE__ */ s(function(a, c, h, u, f, d, y, S, R, O) {
Browser.init();
var H = c ? It.resolve(oA.join2(a, c)) : a, iA = "cp " + H;
function X(j) {
function sA(be) {
O && O(), S || l.createDataFile(
a,
c,
be,
u,
f,
R
), d && d(), oa(iA);
}
s(sA, "finish");
var VA = !1;
e.preloadPlugins.forEach(function(be) {
VA || be.canHandle(H) && (be.handle(j, H, sA, function() {
y && y(), oa(iA);
}), VA = !0);
}), VA || sA(j);
}
s(X, "processData"), hE(iA), typeof h == "string" ? Browser.asyncLoad(
h,
function(j) {
X(j);
},
y
) : X(h);
}, "createPreloadedFile"),
indexedDB: /* @__PURE__ */ s(function() {
return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
}, "indexedDB"),
DB_NAME: /* @__PURE__ */ s(function() {
return "EM_FS_" + window.location.pathname;
}, "DB_NAME"),
DB_VERSION: 20,
DB_STORE_NAME: "FILE_DATA",
saveFilesToDB: /* @__PURE__ */ s(function(a, c, h) {
c = c || function() {
}, h = h || function() {
};
var u = l.indexedDB();
try {
var f = u.open(l.DB_NAME(), l.DB_VERSION);
} catch (d) {
return h(d);
}
f.onupgradeneeded = /* @__PURE__ */ s(function() {
_("creating db");
var y = f.result;
y.createObjectStore(l.DB_STORE_NAME);
}, "openRequest_onupgradeneeded"), f.onsuccess = /* @__PURE__ */ s(function() {
var y = f.result, S = y.transaction([l.DB_STORE_NAME], "readwrite"), R = S.objectStore(l.DB_STORE_NAME), O = 0, H = 0, iA = a.length;
function X() {
H == 0 ? c() : h();
}
s(X, "finish"), a.forEach(function(j) {
var sA = R.put(
l.analyzePath(j).object.contents,
j
);
sA.onsuccess = /* @__PURE__ */ s(function() {
O++, O + H == iA && X();
}, "putRequest_onsuccess"), sA.onerror = /* @__PURE__ */ s(function() {
H++, O + H == iA && X();
}, "putRequest_onerror");
}), S.onerror = h;
}, "openRequest_onsuccess"), f.onerror = h;
}, "saveFilesToDB"),
loadFilesFromDB: /* @__PURE__ */ s(function(a, c, h) {
c = c || function() {
}, h = h || function() {
};
var u = l.indexedDB();
try {
var f = u.open(l.DB_NAME(), l.DB_VERSION);
} catch (d) {
return h(d);
}
f.onupgradeneeded = h, f.onsuccess = /* @__PURE__ */ s(function() {
var y = f.result;
try {
var S = y.transaction([l.DB_STORE_NAME], "readonly");
} catch (j) {
h(j);
return;
}
var R = S.objectStore(l.DB_STORE_NAME), O = 0, H = 0, iA = a.length;
function X() {
H == 0 ? c() : h();
}
s(X, "finish"), a.forEach(function(j) {
var sA = R.get(j);
sA.onsuccess = /* @__PURE__ */ s(function() {
l.analyzePath(j).exists && l.unlink(j), l.createDataFile(
oA.dirname(j),
oA.basename(j),
sA.result,
!0,
!0,
!0
), O++, O + H == iA && X();
}, "getRequest_onsuccess"), sA.onerror = /* @__PURE__ */ s(function() {
H++, O + H == iA && X();
}, "getRequest_onerror");
}), S.onerror = h;
}, "openRequest_onsuccess"), f.onerror = h;
}, "loadFilesFromDB")
}, CA = {
mappings: {},
DEFAULT_POLLMASK: 5,
umask: 511,
calculateAt: /* @__PURE__ */ s(function(a, c, h) {
if (c[0] === "/")
return c;
var u;
if (a === -100)
u = l.cwd();
else {
var f = l.getStream(a);
if (!f) throw new l.ErrnoError(8);
u = f.path;
}
if (c.length == 0) {
if (!h)
throw new l.ErrnoError(44);
return u;
}
return oA.join2(u, c);
}, "calculateAt"),
doStat: /* @__PURE__ */ s(function(a, c, h) {
try {
var u = a(c);
} catch (f) {
if (f && f.node && oA.normalize(c) !== oA.normalize(l.getPath(f.node)))
return -54;
throw f;
}
return M[h >> 2] = u.dev, M[h + 4 >> 2] = 0, M[h + 8 >> 2] = u.ino, M[h + 12 >> 2] = u.mode, M[h + 16 >> 2] = u.nlink, M[h + 20 >>
2] = u.uid, M[h + 24 >> 2] = u.gid, M[h + 28 >> 2] = u.rdev, M[h + 32 >> 2] = 0, ct = [
u.size >>> 0,
(xA = u.size, +Math.abs(xA) >= 1 ? xA > 0 ? (Math.min(+Math.floor(xA / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
(xA - +(~~xA >>> 0)) / 4294967296
) >>> 0 : 0)
], M[h + 40 >> 2] = ct[0], M[h + 44 >> 2] = ct[1], M[h + 48 >> 2] = 4096, M[h + 52 >> 2] = u.blocks, M[h + 56 >> 2] = u.atime.getTime() /
1e3 | 0, M[h + 60 >> 2] = 0, M[h + 64 >> 2] = u.mtime.getTime() / 1e3 | 0, M[h + 68 >> 2] = 0, M[h + 72 >> 2] = u.ctime.getTime() /
1e3 | 0, M[h + 76 >> 2] = 0, ct = [
u.ino >>> 0,
(xA = u.ino, +Math.abs(xA) >= 1 ? xA > 0 ? (Math.min(+Math.floor(xA / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
(xA - +(~~xA >>> 0)) / 4294967296
) >>> 0 : 0)
], M[h + 80 >> 2] = ct[0], M[h + 84 >> 2] = ct[1], 0;
}, "doStat"),
doMsync: /* @__PURE__ */ s(function(a, c, h, u, f) {
var d = Y.slice(a, a + h);
l.msync(c, d, f, h, u);
}, "doMsync"),
doMkdir: /* @__PURE__ */ s(function(a, c) {
return a = oA.normalize(a), a[a.length - 1] === "/" && (a = a.substr(0, a.length - 1)), l.mkdir(a, c, 0), 0;
}, "doMkdir"),
doMknod: /* @__PURE__ */ s(function(a, c, h) {
switch (c & 61440) {
case 32768:
case 8192:
case 24576:
case 4096:
case 49152:
break;
default:
return -28;
}
return l.mknod(a, c, h), 0;
}, "doMknod"),
doReadlink: /* @__PURE__ */ s(function(a, c, h) {
if (h <= 0) return -28;
var u = l.readlink(a), f = Math.min(h, Mr(u)), d = JA[c + f];
return or(u, c, h + 1), JA[c + f] = d, f;
}, "doReadlink"),
doAccess: /* @__PURE__ */ s(function(a, c) {
if (c & -8)
return -28;
var h, u = l.lookupPath(a, { follow: !0 });
if (h = u.node, !h)
return -44;
var f = "";
return c & 4 && (f += "r"), c & 2 && (f += "w"), c & 1 && (f += "x"), f && l.nodePermissions(h, f) ? -2 : 0;
}, "doAccess"),
doDup: /* @__PURE__ */ s(function(a, c, h) {
var u = l.getStream(h);
return u && l.close(u), l.open(a, c, 0, h, h).fd;
}, "doDup"),
doReadv: /* @__PURE__ */ s(function(a, c, h, u) {
for (var f = 0, d = 0; d < h; d++) {
var y = M[c + d * 8 >> 2], S = M[c + (d * 8 + 4) >> 2], R = l.read(a, JA, y, S, u);
if (R < 0) return -1;
if (f += R, R < S) break;
}
return f;
}, "doReadv"),
doWritev: /* @__PURE__ */ s(function(a, c, h, u) {
for (var f = 0, d = 0; d < h; d++) {
var y = M[c + d * 8 >> 2], S = M[c + (d * 8 + 4) >> 2], R = l.write(a, JA, y, S, u);
if (R < 0) return -1;
f += R;
}
return f;
}, "doWritev"),
varargs: void 0,
get: /* @__PURE__ */ s(function() {
CA.varargs += 4;
var a = M[CA.varargs - 4 >> 2];
return a;
}, "get"),
getStr: /* @__PURE__ */ s(function(a) {
var c = ae(a);
return c;
}, "getStr"),
getStreamFromFD: /* @__PURE__ */ s(function(a) {
var c = l.getStream(a);
if (!c) throw new l.ErrnoError(8);
return c;
}, "getStreamFromFD"),
get64: /* @__PURE__ */ s(function(a, c) {
return a;
}, "get64")
};
function rk(a, c) {
try {
return a = CA.getStr(a), l.chmod(a, c), 0;
} catch (h) {
return (typeof l > "u" || !(h instanceof l.ErrnoError)) && bA(h), -h.errno;
}
}
s(rk, "___sys_chmod");
function ik(a) {
return M[Fk() >> 2] = a, a;
}
s(ik, "setErrNo");
function sk(a, c, h) {
CA.varargs = h;
try {
var u = CA.getStreamFromFD(a);
switch (c) {
case 0: {
var f = CA.get();
if (f < 0)
return -28;
var d;
return d = l.open(u.path, u.flags, 0, f), d.fd;
}
case 1:
case 2:
return 0;
case 3:
return u.flags;
case 4: {
var f = CA.get();
return u.flags |= f, 0;
}
case 12: {
var f = CA.get(), y = 0;
return cA[f + y >> 1] = 2, 0;
}
case 13:
case 14:
return 0;
case 16:
case 8:
return -28;
case 9:
return ik(28), -1;
default:
return -28;
}
} catch (S) {
return (typeof l > "u" || !(S instanceof l.ErrnoError)) && bA(S), -S.errno;
}
}
s(sk, "___sys_fcntl64");
function nk(a, c) {
try {
var h = CA.getStreamFromFD(a);
return CA.doStat(l.stat, h.path, c);
} catch (u) {
return (typeof l > "u" || !(u instanceof l.ErrnoError)) && bA(u), -u.errno;
}
}
s(nk, "___sys_fstat64");
function ok(a, c, h) {
CA.varargs = h;
try {
var u = CA.getStreamFromFD(a);
switch (c) {
case 21509:
case 21505:
return u.tty ? 0 : -59;
case 21510:
case 21511:
case 21512:
case 21506:
case 21507:
case 21508:
return u.tty ? 0 : -59;
case 21519: {
if (!u.tty) return -59;
var f = CA.get();
return M[f >> 2] = 0, 0;
}
case 21520:
return u.tty ? -28 : -59;
case 21531: {
var f = CA.get();
return l.ioctl(u, c, f);
}
case 21523:
return u.tty ? 0 : -59;
case 21524:
return u.tty ? 0 : -59;
default:
bA("bad ioctl syscall " + c);
}
} catch (d) {
return (typeof l > "u" || !(d instanceof l.ErrnoError)) && bA(d), -d.errno;
}
}
s(ok, "___sys_ioctl");
function gk(a, c, h) {
CA.varargs = h;
try {
var u = CA.getStr(a), f = h ? CA.get() : 0, d = l.open(u, c, f);
return d.fd;
} catch (y) {
return (typeof l > "u" || !(y instanceof l.ErrnoError)) && bA(y), -y.errno;
}
}
s(gk, "___sys_open");
function ak(a, c) {
try {
return a = CA.getStr(a), c = CA.getStr(c), l.rename(a, c), 0;
} catch (h) {
return (typeof l > "u" || !(h instanceof l.ErrnoError)) && bA(h), -h.errno;
}
}
s(ak, "___sys_rename");
function Ck(a) {
try {
return a = CA.getStr(a), l.rmdir(a), 0;
} catch (c) {
return (typeof l > "u" || !(c instanceof l.ErrnoError)) && bA(c), -c.errno;
}
}
s(Ck, "___sys_rmdir");
function ck(a, c) {
try {
return a = CA.getStr(a), CA.doStat(l.stat, a, c);
} catch (h) {
return (typeof l > "u" || !(h instanceof l.ErrnoError)) && bA(h), -h.errno;
}
}
s(ck, "___sys_stat64");
function Ik(a) {
try {
return a = CA.getStr(a), l.unlink(a), 0;
} catch (c) {
return (typeof l > "u" || !(c instanceof l.ErrnoError)) && bA(c), -c.errno;
}
}
s(Ik, "___sys_unlink");
function hk(a, c, h) {
Y.copyWithin(a, c, c + h);
}
s(hk, "_emscripten_memcpy_big");
function lk(a) {
try {
return b.grow(a - Rt.byteLength + 65535 >>> 16), Rr(b.buffer), 1;
} catch {
}
}
s(lk, "emscripten_realloc_buffer");
function Ek(a) {
var c = Y.length;
a = a >>> 0;
var h = 2147483648;
if (a > h)
return !1;
for (var u = 1; u <= 4; u *= 2) {
var f = c * (1 + 0.2 / u);
f = Math.min(
f,
a + 100663296
);
var d = Math.min(
h,
nA(Math.max(a, f), 65536)
), y = lk(d);
if (y)
return !0;
}
return !1;
}
s(Ek, "_emscripten_resize_heap");
function uk(a) {
try {
var c = CA.getStreamFromFD(a);
return l.close(c), 0;
} catch (h) {
return (typeof l > "u" || !(h instanceof l.ErrnoError)) && bA(h), h.errno;
}
}
s(uk, "_fd_close");
function Bk(a, c) {
try {
var h = CA.getStreamFromFD(a), u = h.tty ? 2 : l.isDir(h.mode) ? 3 : l.isLink(h.mode) ? 7 : 4;
return JA[c >> 0] = u, 0;
} catch (f) {
return (typeof l > "u" || !(f instanceof l.ErrnoError)) && bA(f), f.errno;
}
}
s(Bk, "_fd_fdstat_get");
function Qk(a, c, h, u) {
try {
var f = CA.getStreamFromFD(a), d = CA.doReadv(f, c, h);
return M[u >> 2] = d, 0;
} catch (y) {
return (typeof l > "u" || !(y instanceof l.ErrnoError)) && bA(y), y.errno;
}
}
s(Qk, "_fd_read");
function fk(a, c, h, u, f) {
try {
var d = CA.getStreamFromFD(a), y = 4294967296, S = h * y + (c >>> 0), R = 9007199254740992;
return S <= -R || S >= R ? -61 : (l.llseek(d, S, u), ct = [
d.position >>> 0,
(xA = d.position, +Math.abs(xA) >= 1 ? xA > 0 ? (Math.min(+Math.floor(xA / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
(xA - +(~~xA >>> 0)) / 4294967296
) >>> 0 : 0)
], M[f >> 2] = ct[0], M[f + 4 >> 2] = ct[1], d.getdents && S === 0 && u === 0 && (d.getdents = null), 0);
} catch (O) {
return (typeof l > "u" || !(O instanceof l.ErrnoError)) && bA(O), O.errno;
}
}
s(fk, "_fd_seek");
function dk(a, c, h, u) {
try {
var f = CA.getStreamFromFD(a), d = CA.doWritev(f, c, h);
return M[u >> 2] = d, 0;
} catch (y) {
return (typeof l > "u" || !(y instanceof l.ErrnoError)) && bA(y), y.errno;
}
}
s(dk, "_fd_write");
function pk(a) {
q(a);
}
s(pk, "_setTempRet0");
function wk(a) {
var c = Date.now() / 1e3 | 0;
return a && (M[a >> 2] = c), c;
}
s(wk, "_time");
function Ca() {
if (Ca.called) return;
Ca.called = !0;
var a = (/* @__PURE__ */ new Date()).getFullYear(), c = new Date(a, 0, 1), h = new Date(a, 6, 1), u = c.getTimezoneOffset(), f = h.getTimezoneOffset(),
d = Math.max(u, f);
M[bk() >> 2] = d * 60, M[kk() >> 2] = +(u != f);
function y(iA) {
var X = iA.toTimeString().match(/\(([A-Za-z ]+)\)$/);
return X ? X[1] : "GMT";
}
s(y, "extractZone");
var S = y(c), R = y(h), O = Mt(S), H = Mt(R);
f < u ? (M[en() >> 2] = O, M[en() + 4 >> 2] = H) : (M[en() >> 2] = H, M[en() + 4 >> 2] = O);
}
s(Ca, "_tzset");
function mk(a) {
Ca();
var c = Date.UTC(
M[a + 20 >> 2] + 1900,
M[a + 16 >> 2],
M[a + 12 >> 2],
M[a + 8 >> 2],
M[a + 4 >> 2],
M[a >> 2],
0
), h = new Date(c);
M[a + 24 >> 2] = h.getUTCDay();
var u = Date.UTC(h.getUTCFullYear(), 0, 1, 0, 0, 0, 0), f = (h.getTime() - u) / (1e3 * 60 * 60 * 24) | 0;
return M[a + 28 >> 2] = f, h.getTime() / 1e3 | 0;
}
s(mk, "_timegm");
var BE = /* @__PURE__ */ s(function(a, c, h, u) {
a || (a = this), this.parent = a, this.mount = a.mount, this.mounted = null, this.id = l.nextInode++, this.name = c, this.mode = h, this.
node_ops = {}, this.stream_ops = {}, this.rdev = u;
}, "FSNode"), $s = 365, An = 146;
if (Object.defineProperties(BE.prototype, {
read: {
get: /* @__PURE__ */ s(function() {
return (this.mode & $s) === $s;
}, "get"),
set: /* @__PURE__ */ s(function(a) {
a ? this.mode |= $s : this.mode &= ~$s;
}, "set")
},
write: {
get: /* @__PURE__ */ s(function() {
return (this.mode & An) === An;
}, "get"),
set: /* @__PURE__ */ s(function(a) {
a ? this.mode |= An : this.mode &= ~An;
}, "set")
},
isFolder: {
get: /* @__PURE__ */ s(function() {
return l.isDir(this.mode);
}, "get")
},
isDevice: {
get: /* @__PURE__ */ s(function() {
return l.isChrdev(this.mode);
}, "get")
}
}), l.FSNode = BE, l.staticInit(), Q) {
var rA = Yp, QE = require("path");
Z.staticInit();
}
if (Q) {
var yk = /* @__PURE__ */ s(function(a) {
return function() {
try {
return a.apply(this, arguments);
} catch (c) {
throw c.code ? new l.ErrnoError(vr[c.code]) : c;
}
};
}, "_wrapNodeError"), Lr = Object.assign({}, l);
for (var fE in uE) l[fE] = yk(uE[fE]);
} else
throw new Error(
"NODERAWFS is currently only supported on Node.js environment."
);
function ca(a, c, h) {
var u = h > 0 ? h : Mr(a) + 1, f = new Array(u), d = vA(
a,
f,
0,
f.length
);
return c && (f.length = d), f;
}
s(ca, "intArrayFromString");
var Dk = typeof atob == "function" ? atob : function(a) {
var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", h = "", u, f, d, y, S, R, O, H = 0;
a = a.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do
y = c.indexOf(a.charAt(H++)), S = c.indexOf(a.charAt(H++)), R = c.indexOf(a.charAt(H++)), O = c.indexOf(a.charAt(H++)), u = y << 2 |
S >> 4, f = (S & 15) << 4 | R >> 2, d = (R & 3) << 6 | O, h = h + String.fromCharCode(u), R !== 64 && (h = h + String.fromCharCode(
f)), O !== 64 && (h = h + String.fromCharCode(d));
while (H < a.length);
return h;
};
function Sk(a) {
if (typeof Q == "boolean" && Q) {
var c;
try {
c = Buffer.from(a, "base64");
} catch {
c = new Buffer(a, "base64");
}
return new Uint8Array(
c.buffer,
c.byteOffset,
c.byteLength
);
}
try {
for (var h = Dk(a), u = new Uint8Array(h.length), f = 0; f < h.length; ++f)
u[f] = h.charCodeAt(f);
return u;
} catch {
throw new Error("Converting base64 string to bytes failed.");
}
}
s(Sk, "intArrayFromBase64");
function dE(a) {
if (EE(a))
return Sk(a.slice(lE.length));
}
s(dE, "tryParseAsDataURI");
var Kk = {
s: ek,
p: rk,
e: sk,
k: nk,
o: ok,
q: gk,
i: ak,
r: Ck,
c: ck,
h: Ik,
l: hk,
m: Ek,
f: uk,
j: Bk,
g: Qk,
n: fk,
d: dk,
a: pk,
b: wk,
t: mk
}, z = Ak(), cO = e.___wasm_call_ctors = z.v, IO = e._zip_ext_count_symlinks = z.w, hO = e._zip_file_get_external_attributes = z.x, lO = e.
_zipstruct_stat = z.y, EO = e._zipstruct_statS = z.z, uO = e._zipstruct_stat_name = z.A, BO = e._zipstruct_stat_index = z.B, QO = e._zipstruct_stat_size =
z.C, fO = e._zipstruct_stat_mtime = z.D, dO = e._zipstruct_stat_crc = z.E, pO = e._zipstruct_error = z.F, wO = e._zipstruct_errorS = z.
G, mO = e._zipstruct_error_code_zip = z.H, yO = e._zipstruct_stat_comp_size = z.I, DO = e._zipstruct_stat_comp_method = z.J, SO = e._zip_close =
z.K, KO = e._zip_delete = z.L, FO = e._zip_dir_add = z.M, kO = e._zip_discard = z.N, bO = e._zip_error_init_with_code = z.O, NO = e._zip_get_error =
z.P, MO = e._zip_file_get_error = z.Q, RO = e._zip_error_strerror = z.R, vO = e._zip_fclose = z.S, LO = e._zip_file_add = z.T, xO = e.
_free = z.U, pE = e._malloc = z.V, Fk = e.___errno_location = z.W, YO = e._zip_source_error = z.X, PO = e._zip_source_seek = z.Y, UO = e.
_zip_file_set_external_attributes = z.Z, _O = e._zip_file_set_mtime = z._, GO = e._zip_fopen = z.$, JO = e._zip_fopen_index = z.aa, OO = e.
_zip_fread = z.ba, TO = e._zip_get_name = z.ca, HO = e._zip_get_num_entries = z.da, jO = e._zip_source_read = z.ea, qO = e._zip_name_locate =
z.fa, zO = e._zip_open = z.ga, WO = e._zip_open_from_source = z.ha, VO = e._zip_set_file_compression = z.ia, XO = e._zip_source_buffer =
z.ja, ZO = e._zip_source_buffer_create = z.ka, $O = e._zip_source_close = z.la, AT = e._zip_source_free = z.ma, eT = e._zip_source_keep =
z.na, tT = e._zip_source_open = z.oa, rT = e._zip_source_set_mtime = z.qa, iT = e._zip_source_tell = z.ra, sT = e._zip_stat = z.sa, nT = e.
_zip_stat_index = z.ta, en = e.__get_tzname = z.ua, kk = e.__get_daylight = z.va, bk = e.__get_timezone = z.wa, Nk = e.stackSave = z.xa,
Mk = e.stackRestore = z.ya, wE = e.stackAlloc = z.za;
e.cwrap = _A, e.getValue = wA;
var tn;
Ri = /* @__PURE__ */ s(function a() {
tn || Ia(), tn || (Ri = a);
}, "runCaller");
function Ia(a) {
if (a = a || g, gr > 0 || (jF(), gr > 0))
return;
function c() {
tn || (tn = !0, e.calledRun = !0, !EA && (qF(), r(e), e.onRuntimeInitialized && e.onRuntimeInitialized(), zF()));
}
s(c, "doRun"), e.setStatus ? (e.setStatus("Running..."), setTimeout(function() {
setTimeout(function() {
e.setStatus("");
}, 1), c();
}, 1)) : c();
}
if (s(Ia, "run"), e.run = Ia, e.preInit)
for (typeof e.preInit == "function" && (e.preInit = [e.preInit]); e.preInit.length > 0; )
e.preInit.pop()();
return Ia(), A;
};
}();
typeof og == "object" && typeof Zc == "object" ? Zc.exports = Xc : typeof define == "function" && define.amd ? define([], function() {
return Xc;
}) : typeof og == "object" && (og.createModule = Xc);
});
// ../node_modules/@yarnpkg/libzip/lib/makeInterface.js
var _p = m((mr) => {
"use strict";
Object.defineProperty(mr, "__esModule", { value: !0 });
mr.makeInterface = mr.Errors = void 0;
var wt = [
"number",
"number"
// high
], Up;
(function(t) {
t[t.ZIP_ER_OK = 0] = "ZIP_ER_OK", t[t.ZIP_ER_MULTIDISK = 1] = "ZIP_ER_MULTIDISK", t[t.ZIP_ER_RENAME = 2] = "ZIP_ER_RENAME", t[t.ZIP_ER_CLOSE =
3] = "ZIP_ER_CLOSE", t[t.ZIP_ER_SEEK = 4] = "ZIP_ER_SEEK", t[t.ZIP_ER_READ = 5] = "ZIP_ER_READ", t[t.ZIP_ER_WRITE = 6] = "ZIP_ER_WRITE",
t[t.ZIP_ER_CRC = 7] = "ZIP_ER_CRC", t[t.ZIP_ER_ZIPCLOSED = 8] = "ZIP_ER_ZIPCLOSED", t[t.ZIP_ER_NOENT = 9] = "ZIP_ER_NOENT", t[t.ZIP_ER_EXISTS =
10] = "ZIP_ER_EXISTS", t[t.ZIP_ER_OPEN = 11] = "ZIP_ER_OPEN", t[t.ZIP_ER_TMPOPEN = 12] = "ZIP_ER_TMPOPEN", t[t.ZIP_ER_ZLIB = 13] = "ZIP_\
ER_ZLIB", t[t.ZIP_ER_MEMORY = 14] = "ZIP_ER_MEMORY", t[t.ZIP_ER_CHANGED = 15] = "ZIP_ER_CHANGED", t[t.ZIP_ER_COMPNOTSUPP = 16] = "ZIP_ER_COM\
PNOTSUPP", t[t.ZIP_ER_EOF = 17] = "ZIP_ER_EOF", t[t.ZIP_ER_INVAL = 18] = "ZIP_ER_INVAL", t[t.ZIP_ER_NOZIP = 19] = "ZIP_ER_NOZIP", t[t.ZIP_ER_INTERNAL =
20] = "ZIP_ER_INTERNAL", t[t.ZIP_ER_INCONS = 21] = "ZIP_ER_INCONS", t[t.ZIP_ER_REMOVE = 22] = "ZIP_ER_REMOVE", t[t.ZIP_ER_DELETED = 23] =
"ZIP_ER_DELETED", t[t.ZIP_ER_ENCRNOTSUPP = 24] = "ZIP_ER_ENCRNOTSUPP", t[t.ZIP_ER_RDONLY = 25] = "ZIP_ER_RDONLY", t[t.ZIP_ER_NOPASSWD = 26] =
"ZIP_ER_NOPASSWD", t[t.ZIP_ER_WRONGPASSWD = 27] = "ZIP_ER_WRONGPASSWD", t[t.ZIP_ER_OPNOTSUPP = 28] = "ZIP_ER_OPNOTSUPP", t[t.ZIP_ER_INUSE =
29] = "ZIP_ER_INUSE", t[t.ZIP_ER_TELL = 30] = "ZIP_ER_TELL", t[t.ZIP_ER_COMPRESSED_DATA = 31] = "ZIP_ER_COMPRESSED_DATA";
})(Up = mr.Errors || (mr.Errors = {}));
var bx = /* @__PURE__ */ s((t) => ({
// Those are getters because they can change after memory growth
get HEAP8() {
return t.HEAP8;
},
get HEAPU8() {
return t.HEAPU8;
},
errors: Up,
SEEK_SET: 0,
SEEK_CUR: 1,
SEEK_END: 2,
ZIP_CHECKCONS: 4,
ZIP_CREATE: 1,
ZIP_EXCL: 2,
ZIP_TRUNCATE: 8,
ZIP_RDONLY: 16,
ZIP_FL_OVERWRITE: 8192,
ZIP_FL_COMPRESSED: 4,
ZIP_OPSYS_DOS: 0,
ZIP_OPSYS_AMIGA: 1,
ZIP_OPSYS_OPENVMS: 2,
ZIP_OPSYS_UNIX: 3,
ZIP_OPSYS_VM_CMS: 4,
ZIP_OPSYS_ATARI_ST: 5,
ZIP_OPSYS_OS_2: 6,
ZIP_OPSYS_MACINTOSH: 7,
ZIP_OPSYS_Z_SYSTEM: 8,
ZIP_OPSYS_CPM: 9,
ZIP_OPSYS_WINDOWS_NTFS: 10,
ZIP_OPSYS_MVS: 11,
ZIP_OPSYS_VSE: 12,
ZIP_OPSYS_ACORN_RISC: 13,
ZIP_OPSYS_VFAT: 14,
ZIP_OPSYS_ALTERNATE_MVS: 15,
ZIP_OPSYS_BEOS: 16,
ZIP_OPSYS_TANDEM: 17,
ZIP_OPSYS_OS_400: 18,
ZIP_OPSYS_OS_X: 19,
ZIP_CM_DEFAULT: -1,
ZIP_CM_STORE: 0,
ZIP_CM_DEFLATE: 8,
uint08S: t._malloc(1),
uint16S: t._malloc(2),
uint32S: t._malloc(4),
uint64S: t._malloc(8),
malloc: t._malloc,
free: t._free,
getValue: t.getValue,
open: t.cwrap("zip_open", "number", ["string", "number", "number"]),
openFromSource: t.cwrap("zip_open_from_source", "number", ["number", "number", "number"]),
close: t.cwrap("zip_close", "number", ["number"]),
discard: t.cwrap("zip_discard", null, ["number"]),
getError: t.cwrap("zip_get_error", "number", ["number"]),
getName: t.cwrap("zip_get_name", "string", ["number", "number", "number"]),
getNumEntries: t.cwrap("zip_get_num_entries", "number", ["number", "number"]),
delete: t.cwrap("zip_delete", "number", ["number", "number"]),
stat: t.cwrap("zip_stat", "number", ["number", "string", "number", "number"]),
statIndex: t.cwrap("zip_stat_index", "number", ["number", ...wt, "number", "number"]),
fopen: t.cwrap("zip_fopen", "number", ["number", "string", "number"]),
fopenIndex: t.cwrap("zip_fopen_index", "number", ["number", ...wt, "number"]),
fread: t.cwrap("zip_fread", "number", ["number", "number", "number", "number"]),
fclose: t.cwrap("zip_fclose", "number", ["number"]),
dir: {
add: t.cwrap("zip_dir_add", "number", ["number", "string"])
},
file: {
add: t.cwrap("zip_file_add", "number", ["number", "string", "number", "number"]),
getError: t.cwrap("zip_file_get_error", "number", ["number"]),
getExternalAttributes: t.cwrap("zip_file_get_external_attributes", "number", ["number", ...wt, "number", "number", "number"]),
setExternalAttributes: t.cwrap("zip_file_set_external_attributes", "number", ["number", ...wt, "number", "number", "number"]),
setMtime: t.cwrap("zip_file_set_mtime", "number", ["number", ...wt, "number", "number"]),
setCompression: t.cwrap("zip_set_file_compression", "number", ["number", ...wt, "number", "number"])
},
ext: {
countSymlinks: t.cwrap("zip_ext_count_symlinks", "number", ["number"])
},
error: {
initWithCode: t.cwrap("zip_error_init_with_code", null, ["number", "number"]),
strerror: t.cwrap("zip_error_strerror", "string", ["number"])
},
name: {
locate: t.cwrap("zip_name_locate", "number", ["number", "string", "number"])
},
source: {
fromUnattachedBuffer: t.cwrap("zip_source_buffer_create", "number", ["number", ...wt, "number", "number"]),
fromBuffer: t.cwrap("zip_source_buffer", "number", ["number", "number", ...wt, "number"]),
free: t.cwrap("zip_source_free", null, ["number"]),
keep: t.cwrap("zip_source_keep", null, ["number"]),
open: t.cwrap("zip_source_open", "number", ["number"]),
close: t.cwrap("zip_source_close", "number", ["number"]),
seek: t.cwrap("zip_source_seek", "number", ["number", ...wt, "number"]),
tell: t.cwrap("zip_source_tell", "number", ["number"]),
read: t.cwrap("zip_source_read", "number", ["number", "number", "number"]),
error: t.cwrap("zip_source_error", "number", ["number"]),
setMtime: t.cwrap("zip_source_set_mtime", "number", ["number", "number"])
},
struct: {
stat: t.cwrap("zipstruct_stat", "number", []),
statS: t.cwrap("zipstruct_statS", "number", []),
statName: t.cwrap("zipstruct_stat_name", "string", ["number"]),
statIndex: t.cwrap("zipstruct_stat_index", "number", ["number"]),
statSize: t.cwrap("zipstruct_stat_size", "number", ["number"]),
statCompSize: t.cwrap("zipstruct_stat_comp_size", "number", ["number"]),
statCompMethod: t.cwrap("zipstruct_stat_comp_method", "number", ["number"]),
statMtime: t.cwrap("zipstruct_stat_mtime", "number", ["number"]),
statCrc: t.cwrap("zipstruct_stat_crc", "number", ["number"]),
error: t.cwrap("zipstruct_error", "number", []),
errorS: t.cwrap("zipstruct_errorS", "number", []),
errorCodeZip: t.cwrap("zipstruct_error_code_zip", "number", ["number"])
}
}), "makeInterface");
mr.makeInterface = bx;
});
// ../node_modules/@yarnpkg/libzip/lib/sync.js
var Jp = m((Qi) => {
"use strict";
Object.defineProperty(Qi, "__esModule", { value: !0 });
Qi.getLibzipPromise = Qi.getLibzipSync = void 0;
var Nx = (xp(), fe(Lp)), Mx = Nx.__importDefault(Pp()), Rx = _p(), $c = null;
function Gp() {
return $c === null && ($c = (0, Rx.makeInterface)((0, Mx.default)())), $c;
}
s(Gp, "getLibzipSync");
Qi.getLibzipSync = Gp;
async function vx() {
return Gp();
}
s(vx, "getLibzipPromise");
Qi.getLibzipPromise = vx;
});
// ../node_modules/kleur/index.js
var mA = m((k3, zp) => {
"use strict";
var { FORCE_COLOR: Ux, NODE_DISABLE_COLORS: _x, TERM: Gx } = process.env, IA = {
enabled: !_x && Gx !== "dumb" && Ux !== "0",
// modifiers
reset: fA(0, 0),
bold: fA(1, 22),
dim: fA(2, 22),
italic: fA(3, 23),
underline: fA(4, 24),
inverse: fA(7, 27),
hidden: fA(8, 28),
strikethrough: fA(9, 29),
// colors
black: fA(30, 39),
red: fA(31, 39),
green: fA(32, 39),
yellow: fA(33, 39),
blue: fA(34, 39),
magenta: fA(35, 39),
cyan: fA(36, 39),
white: fA(37, 39),
gray: fA(90, 39),
grey: fA(90, 39),
// background colors
bgBlack: fA(40, 49),
bgRed: fA(41, 49),
bgGreen: fA(42, 49),
bgYellow: fA(43, 49),
bgBlue: fA(44, 49),
bgMagenta: fA(45, 49),
bgCyan: fA(46, 49),
bgWhite: fA(47, 49)
};
function qp(t, A) {
let e = 0, r, i = "", n = "";
for (; e < t.length; e++)
r = t[e], i += r.open, n += r.close, A.includes(r.close) && (A = A.replace(r.rgx, r.close + r.open));
return i + A + n;
}
s(qp, "run");
function Jx(t, A) {
let e = { has: t, keys: A };
return e.reset = IA.reset.bind(e), e.bold = IA.bold.bind(e), e.dim = IA.dim.bind(e), e.italic = IA.italic.bind(e), e.underline = IA.underline.
bind(e), e.inverse = IA.inverse.bind(e), e.hidden = IA.hidden.bind(e), e.strikethrough = IA.strikethrough.bind(e), e.black = IA.black.bind(
e), e.red = IA.red.bind(e), e.green = IA.green.bind(e), e.yellow = IA.yellow.bind(e), e.blue = IA.blue.bind(e), e.magenta = IA.magenta.bind(
e), e.cyan = IA.cyan.bind(e), e.white = IA.white.bind(e), e.gray = IA.gray.bind(e), e.grey = IA.grey.bind(e), e.bgBlack = IA.bgBlack.bind(
e), e.bgRed = IA.bgRed.bind(e), e.bgGreen = IA.bgGreen.bind(e), e.bgYellow = IA.bgYellow.bind(e), e.bgBlue = IA.bgBlue.bind(e), e.bgMagenta =
IA.bgMagenta.bind(e), e.bgCyan = IA.bgCyan.bind(e), e.bgWhite = IA.bgWhite.bind(e), e;
}
s(Jx, "chain");
function fA(t, A) {
let e = {
open: `\x1B[${t}m`,
close: `\x1B[${A}m`,
rgx: new RegExp(`\\x1b\\[${A}m`, "g")
};
return function(r) {
return this !== void 0 && this.has !== void 0 ? (this.has.includes(t) || (this.has.push(t), this.keys.push(e)), r === void 0 ? this : IA.
enabled ? qp(this.keys, r + "") : r + "") : r === void 0 ? Jx([t], [e]) : IA.enabled ? qp([e], r + "") : r + "";
};
}
s(fA, "init");
zp.exports = IA;
});
// ../node_modules/prompts/dist/util/action.js
var Vp = m((N3, Wp) => {
"use strict";
Wp.exports = (t, A) => {
if (!(t.meta && t.name !== "escape")) {
if (t.ctrl) {
if (t.name === "a") return "first";
if (t.name === "c" || t.name === "d") return "abort";
if (t.name === "e") return "last";
if (t.name === "g") return "reset";
}
if (A) {
if (t.name === "j") return "down";
if (t.name === "k") return "up";
}
return t.name === "return" || t.name === "enter" ? "submit" : t.name === "backspace" ? "delete" : t.name === "delete" ? "deleteForward" :
t.name === "abort" ? "abort" : t.name === "escape" ? "exit" : t.name === "tab" ? "next" : t.name === "pagedown" ? "nextPage" : t.name ===
"pageup" ? "prevPage" : t.name === "home" ? "home" : t.name === "end" ? "end" : t.name === "up" ? "up" : t.name === "down" ? "down" : t.
name === "right" ? "right" : t.name === "left" ? "left" : !1;
}
};
});
// ../node_modules/prompts/dist/util/strip.js
var Cg = m((M3, Xp) => {
"use strict";
Xp.exports = (t) => {
let A = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"), e = new RegExp(A, "g");
return typeof t == "string" ? t.replace(e, "") : t;
};
});
// ../node_modules/sisteransi/src/index.js
var DA = m((R3, Zp) => {
"use strict";
var tI = "\x1B", yA = `${tI}[`, Ox = "\x07", rI = {
to(t, A) {
return A ? `${yA}${A + 1};${t + 1}H` : `${yA}${t + 1}G`;
},
move(t, A) {
let e = "";
return t < 0 ? e += `${yA}${-t}D` : t > 0 && (e += `${yA}${t}C`), A < 0 ? e += `${yA}${-A}A` : A > 0 && (e += `${yA}${A}B`), e;
},
up: /* @__PURE__ */ s((t = 1) => `${yA}${t}A`, "up"),
down: /* @__PURE__ */ s((t = 1) => `${yA}${t}B`, "down"),
forward: /* @__PURE__ */ s((t = 1) => `${yA}${t}C`, "forward"),
backward: /* @__PURE__ */ s((t = 1) => `${yA}${t}D`, "backward"),
nextLine: /* @__PURE__ */ s((t = 1) => `${yA}E`.repeat(t), "nextLine"),
prevLine: /* @__PURE__ */ s((t = 1) => `${yA}F`.repeat(t), "prevLine"),
left: `${yA}G`,
hide: `${yA}?25l`,
show: `${yA}?25h`,
save: `${tI}7`,
restore: `${tI}8`
}, Tx = {
up: /* @__PURE__ */ s((t = 1) => `${yA}S`.repeat(t), "up"),
down: /* @__PURE__ */ s((t = 1) => `${yA}T`.repeat(t), "down")
}, Hx = {
screen: `${yA}2J`,
up: /* @__PURE__ */ s((t = 1) => `${yA}1J`.repeat(t), "up"),
down: /* @__PURE__ */ s((t = 1) => `${yA}J`.repeat(t), "down"),
line: `${yA}2K`,
lineEnd: `${yA}K`,
lineStart: `${yA}1K`,
lines(t) {
let A = "";
for (let e = 0; e < t; e++)
A += this.line + (e < t - 1 ? rI.up() : "");
return t && (A += rI.left), A;
}
};
Zp.exports = { cursor: rI, scroll: Tx, erase: Hx, beep: Ox };
});
// ../node_modules/prompts/dist/util/clear.js
var rw = m((L3, tw) => {
"use strict";
function jx(t, A) {
var e = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
if (!e) {
if (Array.isArray(t) || (e = qx(t)) || A && t && typeof t.length == "number") {
e && (t = e);
var r = 0, i = /* @__PURE__ */ s(function() {
}, "F");
return { s: i, n: /* @__PURE__ */ s(function() {
return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
}, "n"), e: /* @__PURE__ */ s(function(I) {
throw I;
}, "e"), f: i };
}
throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
var n = !0, o = !1, g;
return { s: /* @__PURE__ */ s(function() {
e = e.call(t);
}, "s"), n: /* @__PURE__ */ s(function() {
var I = e.next();
return n = I.done, I;
}, "n"), e: /* @__PURE__ */ s(function(I) {
o = !0, g = I;
}, "e"), f: /* @__PURE__ */ s(function() {
try {
!n && e.return != null && e.return();
} finally {
if (o) throw g;
}
}, "f") };
}
s(jx, "_createForOfIteratorHelper");
function qx(t, A) {
if (t) {
if (typeof t == "string") return $p(t, A);
var e = Object.prototype.toString.call(t).slice(8, -1);
if (e === "Object" && t.constructor && (e = t.constructor.name), e === "Map" || e === "Set") return Array.from(t);
if (e === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)) return $p(t, A);
}
}
s(qx, "_unsupportedIterableToArray");
function $p(t, A) {
(A == null || A > t.length) && (A = t.length);
for (var e = 0, r = new Array(A); e < A; e++) r[e] = t[e];
return r;
}
s($p, "_arrayLikeToArray");
var zx = Cg(), ew = DA(), Aw = ew.erase, Wx = ew.cursor, Vx = /* @__PURE__ */ s((t) => [...zx(t)].length, "width");
tw.exports = function(t, A) {
if (!A) return Aw.line + Wx.to(0);
let e = 0, r = t.split(/\r?\n/);
var i = jx(r), n;
try {
for (i.s(); !(n = i.n()).done; ) {
let o = n.value;
e += 1 + Math.floor(Math.max(Vx(o) - 1, 0) / A);
}
} catch (o) {
i.e(o);
} finally {
i.f();
}
return Aw.lines(e);
};
});
// ../node_modules/prompts/dist/util/figures.js
var iI = m((Y3, iw) => {
"use strict";
var Rs = {
arrowUp: "\u2191",
arrowDown: "\u2193",
arrowLeft: "\u2190",
arrowRight: "\u2192",
radioOn: "\u25C9",
radioOff: "\u25EF",
tick: "\u2714",
cross: "\u2716",
ellipsis: "\u2026",
pointerSmall: "\u203A",
line: "\u2500",
pointer: "\u276F"
}, Xx = {
arrowUp: Rs.arrowUp,
arrowDown: Rs.arrowDown,
arrowLeft: Rs.arrowLeft,
arrowRight: Rs.arrowRight,
radioOn: "(*)",
radioOff: "( )",
tick: "\u221A",
cross: "\xD7",
ellipsis: "...",
pointerSmall: "\xBB",
line: "\u2500",
pointer: ">"
}, Zx = process.platform === "win32" ? Xx : Rs;
iw.exports = Zx;
});
// ../node_modules/prompts/dist/util/style.js
var nw = m((P3, sw) => {
"use strict";
var di = mA(), Dr = iI(), sI = Object.freeze({
password: {
scale: 1,
render: /* @__PURE__ */ s((t) => "*".repeat(t.length), "render")
},
emoji: {
scale: 2,
render: /* @__PURE__ */ s((t) => "\u{1F603}".repeat(t.length), "render")
},
invisible: {
scale: 0,
render: /* @__PURE__ */ s((t) => "", "render")
},
default: {
scale: 1,
render: /* @__PURE__ */ s((t) => `${t}`, "render")
}
}), $x = /* @__PURE__ */ s((t) => sI[t] || sI.default, "render"), vs = Object.freeze({
aborted: di.red(Dr.cross),
done: di.green(Dr.tick),
exited: di.yellow(Dr.cross),
default: di.cyan("?")
}), AY = /* @__PURE__ */ s((t, A, e) => A ? vs.aborted : e ? vs.exited : t ? vs.done : vs.default, "symbol"), eY = /* @__PURE__ */ s((t) => di.
gray(t ? Dr.ellipsis : Dr.pointerSmall), "delimiter"), tY = /* @__PURE__ */ s((t, A) => di.gray(t ? A ? Dr.pointerSmall : "+" : Dr.line), "\
item");
sw.exports = {
styles: sI,
render: $x,
symbols: vs,
symbol: AY,
delimiter: eY,
item: tY
};
});
// ../node_modules/prompts/dist/util/lines.js
var gw = m((_3, ow) => {
"use strict";
var rY = Cg();
ow.exports = function(t, A) {
let e = String(rY(t) || "").split(/\r?\n/);
return A ? e.map((r) => Math.ceil(r.length / A)).reduce((r, i) => r + i) : e.length;
};
});
// ../node_modules/prompts/dist/util/wrap.js
var Cw = m((G3, aw) => {
"use strict";
aw.exports = (t, A = {}) => {
let e = Number.isSafeInteger(parseInt(A.margin)) ? new Array(parseInt(A.margin)).fill(" ").join("") : A.margin || "", r = A.width;
return (t || "").split(/\r?\n/g).map((i) => i.split(/\s+/g).reduce((n, o) => (o.length + e.length >= r || n[n.length - 1].length + o.length +
1 < r ? n[n.length - 1] += ` ${o}` : n.push(`${e}${o}`), n), [e]).join(`
`)).join(`
`);
};
});
// ../node_modules/prompts/dist/util/entriesToDisplay.js
var Iw = m((J3, cw) => {
"use strict";
cw.exports = (t, A, e) => {
e = e || A;
let r = Math.min(A - e, t - Math.floor(e / 2));
r < 0 && (r = 0);
let i = Math.min(r + e, A);
return {
startIndex: r,
endIndex: i
};
};
});
// ../node_modules/prompts/dist/util/index.js
var Te = m((O3, hw) => {
"use strict";
hw.exports = {
action: Vp(),
clear: rw(),
style: nw(),
strip: Cg(),
figures: iI(),
lines: gw(),
wrap: Cw(),
entriesToDisplay: Iw()
};
});
// ../node_modules/prompts/dist/elements/prompt.js
var mt = m((T3, uw) => {
"use strict";
var lw = require("readline"), iY = Te(), sY = iY.action, nY = require("events"), Ew = DA(), oY = Ew.beep, gY = Ew.cursor, aY = mA(), nI = class extends nY {
static {
s(this, "Prompt");
}
constructor(A = {}) {
super(), this.firstRender = !0, this.in = A.stdin || process.stdin, this.out = A.stdout || process.stdout, this.onRender = (A.onRender ||
(() => {
})).bind(this);
let e = lw.createInterface({
input: this.in,
escapeCodeTimeout: 50
});
lw.emitKeypressEvents(this.in, e), this.in.isTTY && this.in.setRawMode(!0);
let r = ["SelectPrompt", "MultiselectPrompt"].indexOf(this.constructor.name) > -1, i = /* @__PURE__ */ s((n, o) => {
let g = sY(o, r);
g === !1 ? this._ && this._(n, o) : typeof this[g] == "function" ? this[g](o) : this.bell();
}, "keypress");
this.close = () => {
this.out.write(gY.show), this.in.removeListener("keypress", i), this.in.isTTY && this.in.setRawMode(!1), e.close(), this.emit(this.aborted ?
"abort" : this.exited ? "exit" : "submit", this.value), this.closed = !0;
}, this.in.on("keypress", i);
}
fire() {
this.emit("state", {
value: this.value,
aborted: !!this.aborted,
exited: !!this.exited
});
}
bell() {
this.out.write(oY);
}
render() {
this.onRender(aY), this.firstRender && (this.firstRender = !1);
}
};
uw.exports = nI;
});
// ../node_modules/prompts/dist/elements/text.js
var pw = m((j3, dw) => {
"use strict";
function Bw(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(Bw, "asyncGeneratorStep");
function Qw(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
Bw(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
Bw(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(Qw, "_asyncToGenerator");
var cg = mA(), CY = mt(), fw = DA(), cY = fw.erase, Ls = fw.cursor, Ig = Te(), oI = Ig.style, gI = Ig.clear, IY = Ig.lines, hY = Ig.figures,
aI = class extends CY {
static {
s(this, "TextPrompt");
}
constructor(A = {}) {
super(A), this.transform = oI.render(A.style), this.scale = this.transform.scale, this.msg = A.message, this.initial = A.initial || "",
this.validator = A.validate || (() => !0), this.value = "", this.errorMsg = A.error || "Please Enter A Valid Value", this.cursor = +!!this.
initial, this.cursorOffset = 0, this.clear = gI("", this.out.columns), this.render();
}
set value(A) {
!A && this.initial ? (this.placeholder = !0, this.rendered = cg.gray(this.transform.render(this.initial))) : (this.placeholder = !1, this.
rendered = this.transform.render(A)), this._value = A, this.fire();
}
get value() {
return this._value;
}
reset() {
this.value = "", this.cursor = +!!this.initial, this.cursorOffset = 0, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.value = this.value || this.initial, this.done = this.aborted = !0, this.error = !1, this.red = !1, this.fire(), this.render(), this.
out.write(`
`), this.close();
}
validate() {
var A = this;
return Qw(function* () {
let e = yield A.validator(A.value);
typeof e == "string" && (A.errorMsg = e, e = !1), A.error = !e;
})();
}
submit() {
var A = this;
return Qw(function* () {
if (A.value = A.value || A.initial, A.cursorOffset = 0, A.cursor = A.rendered.length, yield A.validate(), A.error) {
A.red = !0, A.fire(), A.render();
return;
}
A.done = !0, A.aborted = !1, A.fire(), A.render(), A.out.write(`
`), A.close();
})();
}
next() {
if (!this.placeholder) return this.bell();
this.value = this.initial, this.cursor = this.rendered.length, this.fire(), this.render();
}
moveCursor(A) {
this.placeholder || (this.cursor = this.cursor + A, this.cursorOffset += A);
}
_(A, e) {
let r = this.value.slice(0, this.cursor), i = this.value.slice(this.cursor);
this.value = `${r}${A}${i}`, this.red = !1, this.cursor = this.placeholder ? 0 : r.length + 1, this.render();
}
delete() {
if (this.isCursorAtStart()) return this.bell();
let A = this.value.slice(0, this.cursor - 1), e = this.value.slice(this.cursor);
this.value = `${A}${e}`, this.red = !1, this.isCursorAtStart() ? this.cursorOffset = 0 : (this.cursorOffset++, this.moveCursor(-1)), this.
render();
}
deleteForward() {
if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
let A = this.value.slice(0, this.cursor), e = this.value.slice(this.cursor + 1);
this.value = `${A}${e}`, this.red = !1, this.isCursorAtEnd() ? this.cursorOffset = 0 : this.cursorOffset++, this.render();
}
first() {
this.cursor = 0, this.render();
}
last() {
this.cursor = this.value.length, this.render();
}
left() {
if (this.cursor <= 0 || this.placeholder) return this.bell();
this.moveCursor(-1), this.render();
}
right() {
if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
this.moveCursor(1), this.render();
}
isCursorAtStart() {
return this.cursor === 0 || this.placeholder && this.cursor === 1;
}
isCursorAtEnd() {
return this.cursor === this.rendered.length || this.placeholder && this.cursor === this.rendered.length + 1;
}
render() {
this.closed || (this.firstRender || (this.outputError && this.out.write(Ls.down(IY(this.outputError, this.out.columns) - 1) + gI(this.
outputError, this.out.columns)), this.out.write(gI(this.outputText, this.out.columns))), super.render(), this.outputError = "", this.outputText =
[oI.symbol(this.done, this.aborted), cg.bold(this.msg), oI.delimiter(this.done), this.red ? cg.red(this.rendered) : this.rendered].join(
" "), this.error && (this.outputError += this.errorMsg.split(`
`).reduce((A, e, r) => A + `
${r ? " " : hY.pointerSmall} ${cg.red().italic(e)}`, "")), this.out.write(cY.line + Ls.to(0) + this.outputText + Ls.save + this.outputError +
Ls.restore + Ls.move(this.cursorOffset, 0)));
}
};
dw.exports = aI;
});
// ../node_modules/prompts/dist/elements/select.js
var Dw = m((z3, yw) => {
"use strict";
var yt = mA(), lY = mt(), xs = Te(), ww = xs.style, mw = xs.clear, hg = xs.figures, EY = xs.wrap, uY = xs.entriesToDisplay, BY = DA(), QY = BY.
cursor, CI = class extends lY {
static {
s(this, "SelectPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.hint = A.hint || "- Use arrow-keys. Return to submit.", this.warn = A.warn || "- This option is d\
isabled", this.cursor = A.initial || 0, this.choices = A.choices.map((e, r) => (typeof e == "string" && (e = {
title: e,
value: r
}), {
title: e && (e.title || e.value || e),
value: e && (e.value === void 0 ? r : e.value),
description: e && e.description,
selected: e && e.selected,
disabled: e && e.disabled
})), this.optionsPerPage = A.optionsPerPage || 10, this.value = (this.choices[this.cursor] || {}).value, this.clear = mw("", this.out.
columns), this.render();
}
moveCursor(A) {
this.cursor = A, this.value = this.choices[A].value, this.fire();
}
reset() {
this.moveCursor(0), this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.selection.disabled ? this.bell() : (this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close());
}
first() {
this.moveCursor(0), this.render();
}
last() {
this.moveCursor(this.choices.length - 1), this.render();
}
up() {
this.cursor === 0 ? this.moveCursor(this.choices.length - 1) : this.moveCursor(this.cursor - 1), this.render();
}
down() {
this.cursor === this.choices.length - 1 ? this.moveCursor(0) : this.moveCursor(this.cursor + 1), this.render();
}
next() {
this.moveCursor((this.cursor + 1) % this.choices.length), this.render();
}
_(A, e) {
if (A === " ") return this.submit();
}
get selection() {
return this.choices[this.cursor];
}
render() {
if (this.closed) return;
this.firstRender ? this.out.write(QY.hide) : this.out.write(mw(this.outputText, this.out.columns)), super.render();
let A = uY(this.cursor, this.choices.length, this.optionsPerPage), e = A.startIndex, r = A.endIndex;
if (this.outputText = [ww.symbol(this.done, this.aborted), yt.bold(this.msg), ww.delimiter(!1), this.done ? this.selection.title : this.
selection.disabled ? yt.yellow(this.warn) : yt.gray(this.hint)].join(" "), !this.done) {
this.outputText += `
`;
for (let i = e; i < r; i++) {
let n, o, g = "", C = this.choices[i];
i === e && e > 0 ? o = hg.arrowUp : i === r - 1 && r < this.choices.length ? o = hg.arrowDown : o = " ", C.disabled ? (n = this.cursor ===
i ? yt.gray().underline(C.title) : yt.strikethrough().gray(C.title), o = (this.cursor === i ? yt.bold().gray(hg.pointer) + " " : "\
") + o) : (n = this.cursor === i ? yt.cyan().underline(C.title) : C.title, o = (this.cursor === i ? yt.cyan(hg.pointer) + " " : " ") + o,
C.description && this.cursor === i && (g = ` - ${C.description}`, (o.length + n.length + g.length >= this.out.columns || C.description.
split(/\r?\n/).length > 1) && (g = `
` + EY(C.description, {
margin: 3,
width: this.out.columns
})))), this.outputText += `${o} ${n}${yt.gray(g)}
`;
}
}
this.out.write(this.outputText);
}
};
yw.exports = CI;
});
// ../node_modules/prompts/dist/elements/toggle.js
var Nw = m((V3, bw) => {
"use strict";
var lg = mA(), fY = mt(), Fw = Te(), Sw = Fw.style, dY = Fw.clear, kw = DA(), Kw = kw.cursor, pY = kw.erase, cI = class extends fY {
static {
s(this, "TogglePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.value = !!A.initial, this.active = A.active || "on", this.inactive = A.inactive || "off", this.initialValue =
this.value, this.render();
}
reset() {
this.value = this.initialValue, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
deactivate() {
if (this.value === !1) return this.bell();
this.value = !1, this.render();
}
activate() {
if (this.value === !0) return this.bell();
this.value = !0, this.render();
}
delete() {
this.deactivate();
}
left() {
this.deactivate();
}
right() {
this.activate();
}
down() {
this.deactivate();
}
up() {
this.activate();
}
next() {
this.value = !this.value, this.fire(), this.render();
}
_(A, e) {
if (A === " ")
this.value = !this.value;
else if (A === "1")
this.value = !0;
else if (A === "0")
this.value = !1;
else return this.bell();
this.render();
}
render() {
this.closed || (this.firstRender ? this.out.write(Kw.hide) : this.out.write(dY(this.outputText, this.out.columns)), super.render(), this.
outputText = [Sw.symbol(this.done, this.aborted), lg.bold(this.msg), Sw.delimiter(this.done), this.value ? this.inactive : lg.cyan().underline(
this.inactive), lg.gray("/"), this.value ? lg.cyan().underline(this.active) : this.active].join(" "), this.out.write(pY.line + Kw.to(0) +
this.outputText));
}
};
bw.exports = cI;
});
// ../node_modules/prompts/dist/dateparts/datepart.js
var et = m((Z3, Mw) => {
"use strict";
var II = class t {
static {
s(this, "DatePart");
}
constructor({
token: A,
date: e,
parts: r,
locales: i
}) {
this.token = A, this.date = e || /* @__PURE__ */ new Date(), this.parts = r || [this], this.locales = i || {};
}
up() {
}
down() {
}
next() {
let A = this.parts.indexOf(this);
return this.parts.find((e, r) => r > A && e instanceof t);
}
setTo(A) {
}
prev() {
let A = [].concat(this.parts).reverse(), e = A.indexOf(this);
return A.find((r, i) => i > e && r instanceof t);
}
toString() {
return String(this.date);
}
};
Mw.exports = II;
});
// ../node_modules/prompts/dist/dateparts/meridiem.js
var vw = m((AV, Rw) => {
"use strict";
var wY = et(), hI = class extends wY {
static {
s(this, "Meridiem");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setHours((this.date.getHours() + 12) % 24);
}
down() {
this.up();
}
toString() {
let A = this.date.getHours() > 12 ? "pm" : "am";
return /\A/.test(this.token) ? A.toUpperCase() : A;
}
};
Rw.exports = hI;
});
// ../node_modules/prompts/dist/dateparts/day.js
var xw = m((tV, Lw) => {
"use strict";
var mY = et(), yY = /* @__PURE__ */ s((t) => (t = t % 10, t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th"), "pos"), lI = class extends mY {
static {
s(this, "Day");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setDate(this.date.getDate() + 1);
}
down() {
this.date.setDate(this.date.getDate() - 1);
}
setTo(A) {
this.date.setDate(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getDate(), e = this.date.getDay();
return this.token === "DD" ? String(A).padStart(2, "0") : this.token === "Do" ? A + yY(A) : this.token === "d" ? e + 1 : this.token ===
"ddd" ? this.locales.weekdaysShort[e] : this.token === "dddd" ? this.locales.weekdays[e] : A;
}
};
Lw.exports = lI;
});
// ../node_modules/prompts/dist/dateparts/hours.js
var Pw = m((iV, Yw) => {
"use strict";
var DY = et(), EI = class extends DY {
static {
s(this, "Hours");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setHours(this.date.getHours() + 1);
}
down() {
this.date.setHours(this.date.getHours() - 1);
}
setTo(A) {
this.date.setHours(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getHours();
return /h/.test(this.token) && (A = A % 12 || 12), this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
Yw.exports = EI;
});
// ../node_modules/prompts/dist/dateparts/milliseconds.js
var _w = m((nV, Uw) => {
"use strict";
var SY = et(), uI = class extends SY {
static {
s(this, "Milliseconds");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMilliseconds(this.date.getMilliseconds() + 1);
}
down() {
this.date.setMilliseconds(this.date.getMilliseconds() - 1);
}
setTo(A) {
this.date.setMilliseconds(parseInt(A.substr(-this.token.length)));
}
toString() {
return String(this.date.getMilliseconds()).padStart(4, "0").substr(0, this.token.length);
}
};
Uw.exports = uI;
});
// ../node_modules/prompts/dist/dateparts/minutes.js
var Jw = m((gV, Gw) => {
"use strict";
var KY = et(), BI = class extends KY {
static {
s(this, "Minutes");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMinutes(this.date.getMinutes() + 1);
}
down() {
this.date.setMinutes(this.date.getMinutes() - 1);
}
setTo(A) {
this.date.setMinutes(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getMinutes();
return this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
Gw.exports = BI;
});
// ../node_modules/prompts/dist/dateparts/month.js
var Tw = m((CV, Ow) => {
"use strict";
var FY = et(), QI = class extends FY {
static {
s(this, "Month");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMonth(this.date.getMonth() + 1);
}
down() {
this.date.setMonth(this.date.getMonth() - 1);
}
setTo(A) {
A = parseInt(A.substr(-2)) - 1, this.date.setMonth(A < 0 ? 0 : A);
}
toString() {
let A = this.date.getMonth(), e = this.token.length;
return e === 2 ? String(A + 1).padStart(2, "0") : e === 3 ? this.locales.monthsShort[A] : e === 4 ? this.locales.months[A] : String(A +
1);
}
};
Ow.exports = QI;
});
// ../node_modules/prompts/dist/dateparts/seconds.js
var jw = m((IV, Hw) => {
"use strict";
var kY = et(), fI = class extends kY {
static {
s(this, "Seconds");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setSeconds(this.date.getSeconds() + 1);
}
down() {
this.date.setSeconds(this.date.getSeconds() - 1);
}
setTo(A) {
this.date.setSeconds(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getSeconds();
return this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
Hw.exports = fI;
});
// ../node_modules/prompts/dist/dateparts/year.js
var zw = m((lV, qw) => {
"use strict";
var bY = et(), dI = class extends bY {
static {
s(this, "Year");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setFullYear(this.date.getFullYear() + 1);
}
down() {
this.date.setFullYear(this.date.getFullYear() - 1);
}
setTo(A) {
this.date.setFullYear(A.substr(-4));
}
toString() {
let A = String(this.date.getFullYear()).padStart(4, "0");
return this.token.length === 2 ? A.substr(-2) : A;
}
};
qw.exports = dI;
});
// ../node_modules/prompts/dist/dateparts/index.js
var Vw = m((uV, Ww) => {
"use strict";
Ww.exports = {
DatePart: et(),
Meridiem: vw(),
Day: xw(),
Hours: Pw(),
Milliseconds: _w(),
Minutes: Jw(),
Month: Tw(),
Seconds: jw(),
Year: zw()
};
});
// ../node_modules/prompts/dist/elements/date.js
var nm = m((BV, sm) => {
"use strict";
function Xw(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(Xw, "asyncGeneratorStep");
function Zw(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
Xw(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
Xw(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(Zw, "_asyncToGenerator");
var pI = mA(), NY = mt(), mI = Te(), $w = mI.style, Am = mI.clear, MY = mI.figures, im = DA(), RY = im.erase, em = im.cursor, Dt = Vw(), tm = Dt.
DatePart, vY = Dt.Meridiem, LY = Dt.Day, xY = Dt.Hours, YY = Dt.Milliseconds, PY = Dt.Minutes, UY = Dt.Month, _Y = Dt.Seconds, GY = Dt.Year,
JY = /\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g, rm = {
1: ({
token: t
}) => t.replace(/\\(.)/g, "$1"),
2: (t) => new LY(t),
// Day // TODO
3: (t) => new UY(t),
// Month
4: (t) => new GY(t),
// Year
5: (t) => new vY(t),
// AM/PM // TODO (special)
6: (t) => new xY(t),
// Hours
7: (t) => new PY(t),
// Minutes
8: (t) => new _Y(t),
// Seconds
9: (t) => new YY(t)
// Fractional seconds
}, OY = {
months: "January,February,March,April,May,June,July,August,September,October,November,December".split(","),
monthsShort: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),
weekdays: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
weekdaysShort: "Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")
}, wI = class extends NY {
static {
s(this, "DatePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.cursor = 0, this.typed = "", this.locales = Object.assign(OY, A.locales), this._date = A.initial ||
/* @__PURE__ */ new Date(), this.errorMsg = A.error || "Please Enter A Valid Value", this.validator = A.validate || (() => !0), this.mask =
A.mask || "YYYY-MM-DD HH:mm:ss", this.clear = Am("", this.out.columns), this.render();
}
get value() {
return this.date;
}
get date() {
return this._date;
}
set date(A) {
A && this._date.setTime(A.getTime());
}
set mask(A) {
let e;
for (this.parts = []; e = JY.exec(A); ) {
let i = e.shift(), n = e.findIndex((o) => o != null);
this.parts.push(n in rm ? rm[n]({
token: e[n] || i,
date: this.date,
parts: this.parts,
locales: this.locales
}) : e[n] || i);
}
let r = this.parts.reduce((i, n) => (typeof n == "string" && typeof i[i.length - 1] == "string" ? i[i.length - 1] += n : i.push(n), i),
[]);
this.parts.splice(0), this.parts.push(...r), this.reset();
}
moveCursor(A) {
this.typed = "", this.cursor = A, this.fire();
}
reset() {
this.moveCursor(this.parts.findIndex((A) => A instanceof tm)), this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.error = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
validate() {
var A = this;
return Zw(function* () {
let e = yield A.validator(A.value);
typeof e == "string" && (A.errorMsg = e, e = !1), A.error = !e;
})();
}
submit() {
var A = this;
return Zw(function* () {
if (yield A.validate(), A.error) {
A.color = "red", A.fire(), A.render();
return;
}
A.done = !0, A.aborted = !1, A.fire(), A.render(), A.out.write(`
`), A.close();
})();
}
up() {
this.typed = "", this.parts[this.cursor].up(), this.render();
}
down() {
this.typed = "", this.parts[this.cursor].down(), this.render();
}
left() {
let A = this.parts[this.cursor].prev();
if (A == null) return this.bell();
this.moveCursor(this.parts.indexOf(A)), this.render();
}
right() {
let A = this.parts[this.cursor].next();
if (A == null) return this.bell();
this.moveCursor(this.parts.indexOf(A)), this.render();
}
next() {
let A = this.parts[this.cursor].next();
this.moveCursor(A ? this.parts.indexOf(A) : this.parts.findIndex((e) => e instanceof tm)), this.render();
}
_(A) {
/\d/.test(A) && (this.typed += A, this.parts[this.cursor].setTo(this.typed), this.render());
}
render() {
this.closed || (this.firstRender ? this.out.write(em.hide) : this.out.write(Am(this.outputText, this.out.columns)), super.render(), this.
outputText = [$w.symbol(this.done, this.aborted), pI.bold(this.msg), $w.delimiter(!1), this.parts.reduce((A, e, r) => A.concat(r === this.
cursor && !this.done ? pI.cyan().underline(e.toString()) : e), []).join("")].join(" "), this.error && (this.outputText += this.errorMsg.
split(`
`).reduce((A, e, r) => A + `
${r ? " " : MY.pointerSmall} ${pI.red().italic(e)}`, "")), this.out.write(RY.line + em.to(0) + this.outputText));
}
};
sm.exports = wI;
});
// ../node_modules/prompts/dist/elements/number.js
var hm = m((fV, Im) => {
"use strict";
function om(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(om, "asyncGeneratorStep");
function gm(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
om(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
om(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(gm, "_asyncToGenerator");
var Eg = mA(), TY = mt(), cm = DA(), ug = cm.cursor, HY = cm.erase, Bg = Te(), yI = Bg.style, jY = Bg.figures, am = Bg.clear, qY = Bg.lines,
zY = /[0-9]/, DI = /* @__PURE__ */ s((t) => t !== void 0, "isDef"), Cm = /* @__PURE__ */ s((t, A) => {
let e = Math.pow(10, A);
return Math.round(t * e) / e;
}, "round"), SI = class extends TY {
static {
s(this, "NumberPrompt");
}
constructor(A = {}) {
super(A), this.transform = yI.render(A.style), this.msg = A.message, this.initial = DI(A.initial) ? A.initial : "", this.float = !!A.float,
this.round = A.round || 2, this.inc = A.increment || 1, this.min = DI(A.min) ? A.min : -1 / 0, this.max = DI(A.max) ? A.max : 1 / 0, this.
errorMsg = A.error || "Please Enter A Valid Value", this.validator = A.validate || (() => !0), this.color = "cyan", this.value = "", this.
typed = "", this.lastHit = 0, this.render();
}
set value(A) {
!A && A !== 0 ? (this.placeholder = !0, this.rendered = Eg.gray(this.transform.render(`${this.initial}`)), this._value = "") : (this.placeholder =
!1, this.rendered = this.transform.render(`${Cm(A, this.round)}`), this._value = Cm(A, this.round)), this.fire();
}
get value() {
return this._value;
}
parse(A) {
return this.float ? parseFloat(A) : parseInt(A);
}
valid(A) {
return A === "-" || A === "." && this.float || zY.test(A);
}
reset() {
this.typed = "", this.value = "", this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
let A = this.value;
this.value = A !== "" ? A : this.initial, this.done = this.aborted = !0, this.error = !1, this.fire(), this.render(), this.out.write(`\
`), this.close();
}
validate() {
var A = this;
return gm(function* () {
let e = yield A.validator(A.value);
typeof e == "string" && (A.errorMsg = e, e = !1), A.error = !e;
})();
}
submit() {
var A = this;
return gm(function* () {
if (yield A.validate(), A.error) {
A.color = "red", A.fire(), A.render();
return;
}
let e = A.value;
A.value = e !== "" ? e : A.initial, A.done = !0, A.aborted = !1, A.error = !1, A.fire(), A.render(), A.out.write(`
`), A.close();
})();
}
up() {
if (this.typed = "", this.value === "" && (this.value = this.min - this.inc), this.value >= this.max) return this.bell();
this.value += this.inc, this.color = "cyan", this.fire(), this.render();
}
down() {
if (this.typed = "", this.value === "" && (this.value = this.min + this.inc), this.value <= this.min) return this.bell();
this.value -= this.inc, this.color = "cyan", this.fire(), this.render();
}
delete() {
let A = this.value.toString();
if (A.length === 0) return this.bell();
this.value = this.parse(A = A.slice(0, -1)) || "", this.value !== "" && this.value < this.min && (this.value = this.min), this.color =
"cyan", this.fire(), this.render();
}
next() {
this.value = this.initial, this.fire(), this.render();
}
_(A, e) {
if (!this.valid(A)) return this.bell();
let r = Date.now();
if (r - this.lastHit > 1e3 && (this.typed = ""), this.typed += A, this.lastHit = r, this.color = "cyan", A === ".") return this.fire();
this.value = Math.min(this.parse(this.typed), this.max), this.value > this.max && (this.value = this.max), this.value < this.min && (this.
value = this.min), this.fire(), this.render();
}
render() {
this.closed || (this.firstRender || (this.outputError && this.out.write(ug.down(qY(this.outputError, this.out.columns) - 1) + am(this.
outputError, this.out.columns)), this.out.write(am(this.outputText, this.out.columns))), super.render(), this.outputError = "", this.outputText =
[yI.symbol(this.done, this.aborted), Eg.bold(this.msg), yI.delimiter(this.done), !this.done || !this.done && !this.placeholder ? Eg[this.
color]().underline(this.rendered) : this.rendered].join(" "), this.error && (this.outputError += this.errorMsg.split(`
`).reduce((A, e, r) => A + `
${r ? " " : jY.pointerSmall} ${Eg.red().italic(e)}`, "")), this.out.write(HY.line + ug.to(0) + this.outputText + ug.save + this.outputError +
ug.restore));
}
};
Im.exports = SI;
});
// ../node_modules/prompts/dist/elements/multiselect.js
var FI = m((pV, um) => {
"use strict";
var tt = mA(), WY = DA(), VY = WY.cursor, XY = mt(), Ys = Te(), lm = Ys.clear, Vt = Ys.figures, Em = Ys.style, ZY = Ys.wrap, $Y = Ys.entriesToDisplay,
KI = class extends XY {
static {
s(this, "MultiselectPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.cursor = A.cursor || 0, this.scrollIndex = A.cursor || 0, this.hint = A.hint || "", this.warn = A.
warn || "- This option is disabled -", this.minSelected = A.min, this.showMinError = !1, this.maxChoices = A.max, this.instructions = A.
instructions, this.optionsPerPage = A.optionsPerPage || 10, this.value = A.choices.map((e, r) => (typeof e == "string" && (e = {
title: e,
value: r
}), {
title: e && (e.title || e.value || e),
description: e && e.description,
value: e && (e.value === void 0 ? r : e.value),
selected: e && e.selected,
disabled: e && e.disabled
})), this.clear = lm("", this.out.columns), A.overrideRender || this.render();
}
reset() {
this.value.map((A) => !A.selected), this.cursor = 0, this.fire(), this.render();
}
selected() {
return this.value.filter((A) => A.selected);
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
let A = this.value.filter((e) => e.selected);
this.minSelected && A.length < this.minSelected ? (this.showMinError = !0, this.render()) : (this.done = !0, this.aborted = !1, this.fire(),
this.render(), this.out.write(`
`), this.close());
}
first() {
this.cursor = 0, this.render();
}
last() {
this.cursor = this.value.length - 1, this.render();
}
next() {
this.cursor = (this.cursor + 1) % this.value.length, this.render();
}
up() {
this.cursor === 0 ? this.cursor = this.value.length - 1 : this.cursor--, this.render();
}
down() {
this.cursor === this.value.length - 1 ? this.cursor = 0 : this.cursor++, this.render();
}
left() {
this.value[this.cursor].selected = !1, this.render();
}
right() {
if (this.value.filter((A) => A.selected).length >= this.maxChoices) return this.bell();
this.value[this.cursor].selected = !0, this.render();
}
handleSpaceToggle() {
let A = this.value[this.cursor];
if (A.selected)
A.selected = !1, this.render();
else {
if (A.disabled || this.value.filter((e) => e.selected).length >= this.maxChoices)
return this.bell();
A.selected = !0, this.render();
}
}
toggleAll() {
if (this.maxChoices !== void 0 || this.value[this.cursor].disabled)
return this.bell();
let A = !this.value[this.cursor].selected;
this.value.filter((e) => !e.disabled).forEach((e) => e.selected = A), this.render();
}
_(A, e) {
if (A === " ")
this.handleSpaceToggle();
else if (A === "a")
this.toggleAll();
else
return this.bell();
}
renderInstructions() {
return this.instructions === void 0 || this.instructions ? typeof this.instructions == "string" ? this.instructions : `
Instructions:
${Vt.arrowUp}/${Vt.arrowDown}: Highlight option
${Vt.arrowLeft}/${Vt.arrowRight}/[space]: Toggle selection
` + (this.maxChoices === void 0 ? ` a: Toggle all
` : "") + " enter/return: Complete answer" : "";
}
renderOption(A, e, r, i) {
let n = (e.selected ? tt.green(Vt.radioOn) : Vt.radioOff) + " " + i + " ", o, g;
return e.disabled ? o = A === r ? tt.gray().underline(e.title) : tt.strikethrough().gray(e.title) : (o = A === r ? tt.cyan().underline(
e.title) : e.title, A === r && e.description && (g = ` - ${e.description}`, (n.length + o.length + g.length >= this.out.columns || e.description.
split(/\r?\n/).length > 1) && (g = `
` + ZY(e.description, {
margin: n.length,
width: this.out.columns
})))), n + o + tt.gray(g || "");
}
// shared with autocompleteMultiselect
paginateOptions(A) {
if (A.length === 0)
return tt.red("No matches for this query.");
let e = $Y(this.cursor, A.length, this.optionsPerPage), r = e.startIndex, i = e.endIndex, n, o = [];
for (let g = r; g < i; g++)
g === r && r > 0 ? n = Vt.arrowUp : g === i - 1 && i < A.length ? n = Vt.arrowDown : n = " ", o.push(this.renderOption(this.cursor, A[g],
g, n));
return `
` + o.join(`
`);
}
// shared with autocomleteMultiselect
renderOptions(A) {
return this.done ? "" : this.paginateOptions(A);
}
renderDoneOrInstructions() {
if (this.done)
return this.value.filter((e) => e.selected).map((e) => e.title).join(", ");
let A = [tt.gray(this.hint), this.renderInstructions()];
return this.value[this.cursor].disabled && A.push(tt.yellow(this.warn)), A.join(" ");
}
render() {
if (this.closed) return;
this.firstRender && this.out.write(VY.hide), super.render();
let A = [Em.symbol(this.done, this.aborted), tt.bold(this.msg), Em.delimiter(!1), this.renderDoneOrInstructions()].join(" ");
this.showMinError && (A += tt.red(`You must select a minimum of ${this.minSelected} choices.`), this.showMinError = !1), A += this.renderOptions(
this.value), this.out.write(this.clear + A), this.clear = lm(A, this.out.columns);
}
};
um.exports = KI;
});
// ../node_modules/prompts/dist/elements/autocomplete.js
var mm = m((mV, wm) => {
"use strict";
function Bm(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(Bm, "asyncGeneratorStep");
function AP(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
Bm(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
Bm(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(AP, "_asyncToGenerator");
var Ps = mA(), eP = mt(), pm = DA(), tP = pm.erase, Qm = pm.cursor, Us = Te(), kI = Us.style, fm = Us.clear, bI = Us.figures, rP = Us.wrap,
iP = Us.entriesToDisplay, dm = /* @__PURE__ */ s((t, A) => t[A] && (t[A].value || t[A].title || t[A]), "getVal"), sP = /* @__PURE__ */ s((t, A) => t[A] &&
(t[A].title || t[A].value || t[A]), "getTitle"), nP = /* @__PURE__ */ s((t, A) => {
let e = t.findIndex((r) => r.value === A || r.title === A);
return e > -1 ? e : void 0;
}, "getIndex"), NI = class extends eP {
static {
s(this, "AutocompletePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.suggest = A.suggest, this.choices = A.choices, this.initial = typeof A.initial == "number" ? A.initial :
nP(A.choices, A.initial), this.select = this.initial || A.cursor || 0, this.i18n = {
noMatches: A.noMatches || "no matches found"
}, this.fallback = A.fallback || this.initial, this.clearFirst = A.clearFirst || !1, this.suggestions = [], this.input = "", this.limit =
A.limit || 10, this.cursor = 0, this.transform = kI.render(A.style), this.scale = this.transform.scale, this.render = this.render.bind(
this), this.complete = this.complete.bind(this), this.clear = fm("", this.out.columns), this.complete(this.render), this.render();
}
set fallback(A) {
this._fb = Number.isSafeInteger(parseInt(A)) ? parseInt(A) : A;
}
get fallback() {
let A;
return typeof this._fb == "number" ? A = this.choices[this._fb] : typeof this._fb == "string" && (A = {
title: this._fb
}), A || this._fb || {
title: this.i18n.noMatches
};
}
moveSelect(A) {
this.select = A, this.suggestions.length > 0 ? this.value = dm(this.suggestions, A) : this.value = this.fallback.value, this.fire();
}
complete(A) {
var e = this;
return AP(function* () {
let r = e.completing = e.suggest(e.input, e.choices), i = yield r;
if (e.completing !== r) return;
e.suggestions = i.map((o, g, C) => ({
title: sP(C, g),
value: dm(C, g),
description: o.description
})), e.completing = !1;
let n = Math.max(i.length - 1, 0);
e.moveSelect(Math.min(n, e.select)), A && A();
})();
}
reset() {
this.input = "", this.complete(() => {
this.moveSelect(this.initial !== void 0 ? this.initial : 0), this.render();
}), this.render();
}
exit() {
this.clearFirst && this.input.length > 0 ? this.reset() : (this.done = this.exited = !0, this.aborted = !1, this.fire(), this.render(),
this.out.write(`
`), this.close());
}
abort() {
this.done = this.aborted = !0, this.exited = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.done = !0, this.aborted = this.exited = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
_(A, e) {
let r = this.input.slice(0, this.cursor), i = this.input.slice(this.cursor);
this.input = `${r}${A}${i}`, this.cursor = r.length + 1, this.complete(this.render), this.render();
}
delete() {
if (this.cursor === 0) return this.bell();
let A = this.input.slice(0, this.cursor - 1), e = this.input.slice(this.cursor);
this.input = `${A}${e}`, this.complete(this.render), this.cursor = this.cursor - 1, this.render();
}
deleteForward() {
if (this.cursor * this.scale >= this.rendered.length) return this.bell();
let A = this.input.slice(0, this.cursor), e = this.input.slice(this.cursor + 1);
this.input = `${A}${e}`, this.complete(this.render), this.render();
}
first() {
this.moveSelect(0), this.render();
}
last() {
this.moveSelect(this.suggestions.length - 1), this.render();
}
up() {
this.select === 0 ? this.moveSelect(this.suggestions.length - 1) : this.moveSelect(this.select - 1), this.render();
}
down() {
this.select === this.suggestions.length - 1 ? this.moveSelect(0) : this.moveSelect(this.select + 1), this.render();
}
next() {
this.select === this.suggestions.length - 1 ? this.moveSelect(0) : this.moveSelect(this.select + 1), this.render();
}
nextPage() {
this.moveSelect(Math.min(this.select + this.limit, this.suggestions.length - 1)), this.render();
}
prevPage() {
this.moveSelect(Math.max(this.select - this.limit, 0)), this.render();
}
left() {
if (this.cursor <= 0) return this.bell();
this.cursor = this.cursor - 1, this.render();
}
right() {
if (this.cursor * this.scale >= this.rendered.length) return this.bell();
this.cursor = this.cursor + 1, this.render();
}
renderOption(A, e, r, i) {
let n, o = r ? bI.arrowUp : i ? bI.arrowDown : " ", g = e ? Ps.cyan().underline(A.title) : A.title;
return o = (e ? Ps.cyan(bI.pointer) + " " : " ") + o, A.description && (n = ` - ${A.description}`, (o.length + g.length + n.length >=
this.out.columns || A.description.split(/\r?\n/).length > 1) && (n = `
` + rP(A.description, {
margin: 3,
width: this.out.columns
}))), o + " " + g + Ps.gray(n || "");
}
render() {
if (this.closed) return;
this.firstRender ? this.out.write(Qm.hide) : this.out.write(fm(this.outputText, this.out.columns)), super.render();
let A = iP(this.select, this.choices.length, this.limit), e = A.startIndex, r = A.endIndex;
if (this.outputText = [kI.symbol(this.done, this.aborted, this.exited), Ps.bold(this.msg), kI.delimiter(this.completing), this.done &&
this.suggestions[this.select] ? this.suggestions[this.select].title : this.rendered = this.transform.render(this.input)].join(" "), !this.
done) {
let i = this.suggestions.slice(e, r).map((n, o) => this.renderOption(n, this.select === o + e, o === 0 && e > 0, o + e === r - 1 && r <
this.choices.length)).join(`
`);
this.outputText += `
` + (i || Ps.gray(this.fallback.title));
}
this.out.write(tP.line + Qm.to(0) + this.outputText);
}
};
wm.exports = NI;
});
// ../node_modules/prompts/dist/elements/autocompleteMultiselect.js
var Km = m((DV, Sm) => {
"use strict";
var St = mA(), oP = DA(), gP = oP.cursor, aP = FI(), RI = Te(), ym = RI.clear, Dm = RI.style, pi = RI.figures, MI = class extends aP {
static {
s(this, "AutocompleteMultiselectPrompt");
}
constructor(A = {}) {
A.overrideRender = !0, super(A), this.inputValue = "", this.clear = ym("", this.out.columns), this.filteredOptions = this.value, this.
render();
}
last() {
this.cursor = this.filteredOptions.length - 1, this.render();
}
next() {
this.cursor = (this.cursor + 1) % this.filteredOptions.length, this.render();
}
up() {
this.cursor === 0 ? this.cursor = this.filteredOptions.length - 1 : this.cursor--, this.render();
}
down() {
this.cursor === this.filteredOptions.length - 1 ? this.cursor = 0 : this.cursor++, this.render();
}
left() {
this.filteredOptions[this.cursor].selected = !1, this.render();
}
right() {
if (this.value.filter((A) => A.selected).length >= this.maxChoices) return this.bell();
this.filteredOptions[this.cursor].selected = !0, this.render();
}
delete() {
this.inputValue.length && (this.inputValue = this.inputValue.substr(0, this.inputValue.length - 1), this.updateFilteredOptions());
}
updateFilteredOptions() {
let A = this.filteredOptions[this.cursor];
this.filteredOptions = this.value.filter((r) => this.inputValue ? !!(typeof r.title == "string" && r.title.toLowerCase().includes(this.
inputValue.toLowerCase()) || typeof r.value == "string" && r.value.toLowerCase().includes(this.inputValue.toLowerCase())) : !0);
let e = this.filteredOptions.findIndex((r) => r === A);
this.cursor = e < 0 ? 0 : e, this.render();
}
handleSpaceToggle() {
let A = this.filteredOptions[this.cursor];
if (A.selected)
A.selected = !1, this.render();
else {
if (A.disabled || this.value.filter((e) => e.selected).length >= this.maxChoices)
return this.bell();
A.selected = !0, this.render();
}
}
handleInputChange(A) {
this.inputValue = this.inputValue + A, this.updateFilteredOptions();
}
_(A, e) {
A === " " ? this.handleSpaceToggle() : this.handleInputChange(A);
}
renderInstructions() {
return this.instructions === void 0 || this.instructions ? typeof this.instructions == "string" ? this.instructions : `
Instructions:
${pi.arrowUp}/${pi.arrowDown}: Highlight option
${pi.arrowLeft}/${pi.arrowRight}/[space]: Toggle selection
[a,b,c]/delete: Filter choices
enter/return: Complete answer
` : "";
}
renderCurrentInput() {
return `
Filtered results for: ${this.inputValue ? this.inputValue : St.gray("Enter something to filter")}
`;
}
renderOption(A, e, r) {
let i;
return e.disabled ? i = A === r ? St.gray().underline(e.title) : St.strikethrough().gray(e.title) : i = A === r ? St.cyan().underline(
e.title) : e.title, (e.selected ? St.green(pi.radioOn) : pi.radioOff) + " " + i;
}
renderDoneOrInstructions() {
if (this.done)
return this.value.filter((e) => e.selected).map((e) => e.title).join(", ");
let A = [St.gray(this.hint), this.renderInstructions(), this.renderCurrentInput()];
return this.filteredOptions.length && this.filteredOptions[this.cursor].disabled && A.push(St.yellow(this.warn)), A.join(" ");
}
render() {
if (this.closed) return;
this.firstRender && this.out.write(gP.hide), super.render();
let A = [Dm.symbol(this.done, this.aborted), St.bold(this.msg), Dm.delimiter(!1), this.renderDoneOrInstructions()].join(" ");
this.showMinError && (A += St.red(`You must select a minimum of ${this.minSelected} choices.`), this.showMinError = !1), A += this.renderOptions(
this.filteredOptions), this.out.write(this.clear + A), this.clear = ym(A, this.out.columns);
}
};
Sm.exports = MI;
});
// ../node_modules/prompts/dist/elements/confirm.js
var vm = m((KV, Rm) => {
"use strict";
var Fm = mA(), CP = mt(), Nm = Te(), km = Nm.style, cP = Nm.clear, Mm = DA(), IP = Mm.erase, bm = Mm.cursor, vI = class extends CP {
static {
s(this, "ConfirmPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.value = A.initial, this.initialValue = !!A.initial, this.yesMsg = A.yes || "yes", this.yesOption =
A.yesOption || "(Y/n)", this.noMsg = A.no || "no", this.noOption = A.noOption || "(y/N)", this.render();
}
reset() {
this.value = this.initialValue, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.value = this.value || !1, this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
_(A, e) {
return A.toLowerCase() === "y" ? (this.value = !0, this.submit()) : A.toLowerCase() === "n" ? (this.value = !1, this.submit()) : this.
bell();
}
render() {
this.closed || (this.firstRender ? this.out.write(bm.hide) : this.out.write(cP(this.outputText, this.out.columns)), super.render(), this.
outputText = [km.symbol(this.done, this.aborted), Fm.bold(this.msg), km.delimiter(this.done), this.done ? this.value ? this.yesMsg : this.
noMsg : Fm.gray(this.initialValue ? this.yesOption : this.noOption)].join(" "), this.out.write(IP.line + bm.to(0) + this.outputText));
}
};
Rm.exports = vI;
});
// ../node_modules/prompts/dist/elements/index.js
var xm = m((kV, Lm) => {
"use strict";
Lm.exports = {
TextPrompt: pw(),
SelectPrompt: Dw(),
TogglePrompt: Nw(),
DatePrompt: nm(),
NumberPrompt: hm(),
MultiselectPrompt: FI(),
AutocompletePrompt: mm(),
AutocompleteMultiselectPrompt: Km(),
ConfirmPrompt: vm()
};
});
// ../node_modules/prompts/dist/prompts.js
var Pm = m((Ym) => {
"use strict";
var oe = Ym, hP = xm(), Qg = /* @__PURE__ */ s((t) => t, "noop");
function rt(t, A, e = {}) {
return new Promise((r, i) => {
let n = new hP[t](A), o = e.onAbort || Qg, g = e.onSubmit || Qg, C = e.onExit || Qg;
n.on("state", A.onState || Qg), n.on("submit", (I) => r(g(I))), n.on("exit", (I) => r(C(I))), n.on("abort", (I) => i(o(I)));
});
}
s(rt, "toPrompt");
oe.text = (t) => rt("TextPrompt", t);
oe.password = (t) => (t.style = "password", oe.text(t));
oe.invisible = (t) => (t.style = "invisible", oe.text(t));
oe.number = (t) => rt("NumberPrompt", t);
oe.date = (t) => rt("DatePrompt", t);
oe.confirm = (t) => rt("ConfirmPrompt", t);
oe.list = (t) => {
let A = t.separator || ",";
return rt("TextPrompt", t, {
onSubmit: /* @__PURE__ */ s((e) => e.split(A).map((r) => r.trim()), "onSubmit")
});
};
oe.toggle = (t) => rt("TogglePrompt", t);
oe.select = (t) => rt("SelectPrompt", t);
oe.multiselect = (t) => {
t.choices = [].concat(t.choices || []);
let A = /* @__PURE__ */ s((e) => e.filter((r) => r.selected).map((r) => r.value), "toSelected");
return rt("MultiselectPrompt", t, {
onAbort: A,
onSubmit: A
});
};
oe.autocompleteMultiselect = (t) => {
t.choices = [].concat(t.choices || []);
let A = /* @__PURE__ */ s((e) => e.filter((r) => r.selected).map((r) => r.value), "toSelected");
return rt("AutocompleteMultiselectPrompt", t, {
onAbort: A,
onSubmit: A
});
};
var lP = /* @__PURE__ */ s((t, A) => Promise.resolve(A.filter((e) => e.title.slice(0, t.length).toLowerCase() === t.toLowerCase())), "byTi\
tle");
oe.autocomplete = (t) => (t.suggest = t.suggest || lP, t.choices = [].concat(t.choices || []), rt("AutocompletePrompt", t));
});
// ../node_modules/prompts/dist/index.js
var jm = m((MV, Hm) => {
"use strict";
function Um(t, A) {
var e = Object.keys(t);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(t);
A && (r = r.filter(function(i) {
return Object.getOwnPropertyDescriptor(t, i).enumerable;
})), e.push.apply(e, r);
}
return e;
}
s(Um, "ownKeys");
function _m(t) {
for (var A = 1; A < arguments.length; A++) {
var e = arguments[A] != null ? arguments[A] : {};
A % 2 ? Um(Object(e), !0).forEach(function(r) {
EP(t, r, e[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(e)) : Um(Object(e)).forEach(function(r) {
Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(e, r));
});
}
return t;
}
s(_m, "_objectSpread");
function EP(t, A, e) {
return A in t ? Object.defineProperty(t, A, { value: e, enumerable: !0, configurable: !0, writable: !0 }) : t[A] = e, t;
}
s(EP, "_defineProperty");
function uP(t, A) {
var e = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
if (!e) {
if (Array.isArray(t) || (e = BP(t)) || A && t && typeof t.length == "number") {
e && (t = e);
var r = 0, i = /* @__PURE__ */ s(function() {
}, "F");
return { s: i, n: /* @__PURE__ */ s(function() {
return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
}, "n"), e: /* @__PURE__ */ s(function(I) {
throw I;
}, "e"), f: i };
}
throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
var n = !0, o = !1, g;
return { s: /* @__PURE__ */ s(function() {
e = e.call(t);
}, "s"), n: /* @__PURE__ */ s(function() {
var I = e.next();
return n = I.done, I;
}, "n"), e: /* @__PURE__ */ s(function(I) {
o = !0, g = I;
}, "e"), f: /* @__PURE__ */ s(function() {
try {
!n && e.return != null && e.return();
} finally {
if (o) throw g;
}
}, "f") };
}
s(uP, "_createForOfIteratorHelper");
function BP(t, A) {
if (t) {
if (typeof t == "string") return Gm(t, A);
var e = Object.prototype.toString.call(t).slice(8, -1);
if (e === "Object" && t.constructor && (e = t.constructor.name), e === "Map" || e === "Set") return Array.from(t);
if (e === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)) return Gm(t, A);
}
}
s(BP, "_unsupportedIterableToArray");
function Gm(t, A) {
(A == null || A > t.length) && (A = t.length);
for (var e = 0, r = new Array(A); e < A; e++) r[e] = t[e];
return r;
}
s(Gm, "_arrayLikeToArray");
function Jm(t, A, e, r, i, n, o) {
try {
var g = t[n](o), C = g.value;
} catch (I) {
e(I);
return;
}
g.done ? A(C) : Promise.resolve(C).then(r, i);
}
s(Jm, "asyncGeneratorStep");
function Om(t) {
return function() {
var A = this, e = arguments;
return new Promise(function(r, i) {
var n = t.apply(A, e);
function o(C) {
Jm(n, r, i, o, g, "next", C);
}
s(o, "_next");
function g(C) {
Jm(n, r, i, o, g, "throw", C);
}
s(g, "_throw"), o(void 0);
});
};
}
s(Om, "_asyncToGenerator");
var LI = Pm(), QP = ["suggest", "format", "onState", "validate", "onRender", "type"], Tm = /* @__PURE__ */ s(() => {
}, "noop");
function Xt() {
return xI.apply(this, arguments);
}
s(Xt, "prompt");
function xI() {
return xI = Om(function* (t = [], {
onSubmit: A = Tm,
onCancel: e = Tm
} = {}) {
let r = {}, i = Xt._override || {};
t = [].concat(t);
let n, o, g, C, I, E, Q = /* @__PURE__ */ function() {
var N = Om(function* (k, _, v = !1) {
if (!(!v && k.validate && k.validate(_) !== !0))
return k.format ? yield k.format(_, r) : _;
});
return /* @__PURE__ */ s(function(_, v) {
return N.apply(this, arguments);
}, "getFormattedAnswer");
}();
var B = uP(t), p;
try {
for (B.s(); !(p = B.n()).done; ) {
o = p.value;
var w = o;
if (C = w.name, I = w.type, typeof I == "function" && (I = yield I(n, _m({}, r), o), o.type = I), !!I) {
for (let N in o) {
if (QP.includes(N)) continue;
let k = o[N];
o[N] = typeof k == "function" ? yield k(n, _m({}, r), E) : k;
}
if (E = o, typeof o.message != "string")
throw new Error("prompt message is required");
var D = o;
if (C = D.name, I = D.type, LI[I] === void 0)
throw new Error(`prompt type (${I}) is not defined`);
if (i[o.name] !== void 0 && (n = yield Q(o, i[o.name]), n !== void 0)) {
r[C] = n;
continue;
}
try {
n = Xt._injected ? fP(Xt._injected, o.initial) : yield LI[I](o), r[C] = n = yield Q(o, n, !0), g = yield A(o, n, r);
} catch {
g = !(yield e(o, r));
}
if (g) return r;
}
}
} catch (N) {
B.e(N);
} finally {
B.f();
}
return r;
}), xI.apply(this, arguments);
}
s(xI, "_prompt");
function fP(t, A) {
let e = t.shift();
if (e instanceof Error)
throw e;
return e === void 0 ? A : e;
}
s(fP, "getInjectedAnswer");
function dP(t) {
Xt._injected = (Xt._injected || []).concat(t);
}
s(dP, "inject");
function pP(t) {
Xt._override = Object.assign({}, t);
}
s(pP, "override");
Hm.exports = Object.assign(Xt, {
prompt: Xt,
prompts: LI,
inject: dP,
override: pP
});
});
// ../node_modules/prompts/lib/util/action.js
var zm = m((vV, qm) => {
"use strict";
qm.exports = (t, A) => {
if (!(t.meta && t.name !== "escape")) {
if (t.ctrl) {
if (t.name === "a") return "first";
if (t.name === "c" || t.name === "d") return "abort";
if (t.name === "e") return "last";
if (t.name === "g") return "reset";
}
if (A) {
if (t.name === "j") return "down";
if (t.name === "k") return "up";
}
return t.name === "return" || t.name === "enter" ? "submit" : t.name === "backspace" ? "delete" : t.name === "delete" ? "deleteForward" :
t.name === "abort" ? "abort" : t.name === "escape" ? "exit" : t.name === "tab" ? "next" : t.name === "pagedown" ? "nextPage" : t.name ===
"pageup" ? "prevPage" : t.name === "home" ? "home" : t.name === "end" ? "end" : t.name === "up" ? "up" : t.name === "down" ? "down" : t.
name === "right" ? "right" : t.name === "left" ? "left" : !1;
}
};
});
// ../node_modules/prompts/lib/util/strip.js
var fg = m((LV, Wm) => {
"use strict";
Wm.exports = (t) => {
let A = [
"[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"
].join("|"), e = new RegExp(A, "g");
return typeof t == "string" ? t.replace(e, "") : t;
};
});
// ../node_modules/prompts/lib/util/clear.js
var Zm = m((xV, Xm) => {
"use strict";
var wP = fg(), { erase: Vm, cursor: mP } = DA(), yP = /* @__PURE__ */ s((t) => [...wP(t)].length, "width");
Xm.exports = function(t, A) {
if (!A) return Vm.line + mP.to(0);
let e = 0, r = t.split(/\r?\n/);
for (let i of r)
e += 1 + Math.floor(Math.max(yP(i) - 1, 0) / A);
return Vm.lines(e);
};
});
// ../node_modules/prompts/lib/util/figures.js
var YI = m((PV, $m) => {
"use strict";
var _s = {
arrowUp: "\u2191",
arrowDown: "\u2193",
arrowLeft: "\u2190",
arrowRight: "\u2192",
radioOn: "\u25C9",
radioOff: "\u25EF",
tick: "\u2714",
cross: "\u2716",
ellipsis: "\u2026",
pointerSmall: "\u203A",
line: "\u2500",
pointer: "\u276F"
}, DP = {
arrowUp: _s.arrowUp,
arrowDown: _s.arrowDown,
arrowLeft: _s.arrowLeft,
arrowRight: _s.arrowRight,
radioOn: "(*)",
radioOff: "( )",
tick: "\u221A",
cross: "\xD7",
ellipsis: "...",
pointerSmall: "\xBB",
line: "\u2500",
pointer: ">"
}, SP = process.platform === "win32" ? DP : _s;
$m.exports = SP;
});
// ../node_modules/prompts/lib/util/style.js
var ey = m((UV, Ay) => {
"use strict";
var wi = mA(), Sr = YI(), PI = Object.freeze({
password: { scale: 1, render: /* @__PURE__ */ s((t) => "*".repeat(t.length), "render") },
emoji: { scale: 2, render: /* @__PURE__ */ s((t) => "\u{1F603}".repeat(t.length), "render") },
invisible: { scale: 0, render: /* @__PURE__ */ s((t) => "", "render") },
default: { scale: 1, render: /* @__PURE__ */ s((t) => `${t}`, "render") }
}), KP = /* @__PURE__ */ s((t) => PI[t] || PI.default, "render"), Gs = Object.freeze({
aborted: wi.red(Sr.cross),
done: wi.green(Sr.tick),
exited: wi.yellow(Sr.cross),
default: wi.cyan("?")
}), FP = /* @__PURE__ */ s((t, A, e) => A ? Gs.aborted : e ? Gs.exited : t ? Gs.done : Gs.default, "symbol"), kP = /* @__PURE__ */ s((t) => wi.
gray(t ? Sr.ellipsis : Sr.pointerSmall), "delimiter"), bP = /* @__PURE__ */ s((t, A) => wi.gray(t ? A ? Sr.pointerSmall : "+" : Sr.line), "\
item");
Ay.exports = {
styles: PI,
render: KP,
symbols: Gs,
symbol: FP,
delimiter: kP,
item: bP
};
});
// ../node_modules/prompts/lib/util/lines.js
var ry = m((GV, ty) => {
"use strict";
var NP = fg();
ty.exports = function(t, A) {
let e = String(NP(t) || "").split(/\r?\n/);
return A ? e.map((r) => Math.ceil(r.length / A)).reduce((r, i) => r + i) : e.length;
};
});
// ../node_modules/prompts/lib/util/wrap.js
var sy = m((JV, iy) => {
"use strict";
iy.exports = (t, A = {}) => {
let e = Number.isSafeInteger(parseInt(A.margin)) ? new Array(parseInt(A.margin)).fill(" ").join("") : A.margin || "", r = A.width;
return (t || "").split(/\r?\n/g).map((i) => i.split(/\s+/g).reduce((n, o) => (o.length + e.length >= r || n[n.length - 1].length + o.length +
1 < r ? n[n.length - 1] += ` ${o}` : n.push(`${e}${o}`), n), [e]).join(`
`)).join(`
`);
};
});
// ../node_modules/prompts/lib/util/entriesToDisplay.js
var oy = m((OV, ny) => {
"use strict";
ny.exports = (t, A, e) => {
e = e || A;
let r = Math.min(A - e, t - Math.floor(e / 2));
r < 0 && (r = 0);
let i = Math.min(r + e, A);
return { startIndex: r, endIndex: i };
};
});
// ../node_modules/prompts/lib/util/index.js
var He = m((TV, gy) => {
"use strict";
gy.exports = {
action: zm(),
clear: Zm(),
style: ey(),
strip: fg(),
figures: YI(),
lines: ry(),
wrap: sy(),
entriesToDisplay: oy()
};
});
// ../node_modules/prompts/lib/elements/prompt.js
var Kt = m((HV, Cy) => {
"use strict";
var ay = require("readline"), { action: MP } = He(), RP = require("events"), { beep: vP, cursor: LP } = DA(), xP = mA(), UI = class extends RP {
static {
s(this, "Prompt");
}
constructor(A = {}) {
super(), this.firstRender = !0, this.in = A.stdin || process.stdin, this.out = A.stdout || process.stdout, this.onRender = (A.onRender ||
(() => {
})).bind(this);
let e = ay.createInterface({ input: this.in, escapeCodeTimeout: 50 });
ay.emitKeypressEvents(this.in, e), this.in.isTTY && this.in.setRawMode(!0);
let r = ["SelectPrompt", "MultiselectPrompt"].indexOf(this.constructor.name) > -1, i = /* @__PURE__ */ s((n, o) => {
let g = MP(o, r);
g === !1 ? this._ && this._(n, o) : typeof this[g] == "function" ? this[g](o) : this.bell();
}, "keypress");
this.close = () => {
this.out.write(LP.show), this.in.removeListener("keypress", i), this.in.isTTY && this.in.setRawMode(!1), e.close(), this.emit(this.aborted ?
"abort" : this.exited ? "exit" : "submit", this.value), this.closed = !0;
}, this.in.on("keypress", i);
}
fire() {
this.emit("state", {
value: this.value,
aborted: !!this.aborted,
exited: !!this.exited
});
}
bell() {
this.out.write(vP);
}
render() {
this.onRender(xP), this.firstRender && (this.firstRender = !1);
}
};
Cy.exports = UI;
});
// ../node_modules/prompts/lib/elements/text.js
var Iy = m((qV, cy) => {
var dg = mA(), YP = Kt(), { erase: PP, cursor: Js } = DA(), { style: _I, clear: GI, lines: UP, figures: _P } = He(), JI = class extends YP {
static {
s(this, "TextPrompt");
}
constructor(A = {}) {
super(A), this.transform = _I.render(A.style), this.scale = this.transform.scale, this.msg = A.message, this.initial = A.initial || "",
this.validator = A.validate || (() => !0), this.value = "", this.errorMsg = A.error || "Please Enter A Valid Value", this.cursor = +!!this.
initial, this.cursorOffset = 0, this.clear = GI("", this.out.columns), this.render();
}
set value(A) {
!A && this.initial ? (this.placeholder = !0, this.rendered = dg.gray(this.transform.render(this.initial))) : (this.placeholder = !1, this.
rendered = this.transform.render(A)), this._value = A, this.fire();
}
get value() {
return this._value;
}
reset() {
this.value = "", this.cursor = +!!this.initial, this.cursorOffset = 0, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.value = this.value || this.initial, this.done = this.aborted = !0, this.error = !1, this.red = !1, this.fire(), this.render(), this.
out.write(`
`), this.close();
}
async validate() {
let A = await this.validator(this.value);
typeof A == "string" && (this.errorMsg = A, A = !1), this.error = !A;
}
async submit() {
if (this.value = this.value || this.initial, this.cursorOffset = 0, this.cursor = this.rendered.length, await this.validate(), this.error) {
this.red = !0, this.fire(), this.render();
return;
}
this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
next() {
if (!this.placeholder) return this.bell();
this.value = this.initial, this.cursor = this.rendered.length, this.fire(), this.render();
}
moveCursor(A) {
this.placeholder || (this.cursor = this.cursor + A, this.cursorOffset += A);
}
_(A, e) {
let r = this.value.slice(0, this.cursor), i = this.value.slice(this.cursor);
this.value = `${r}${A}${i}`, this.red = !1, this.cursor = this.placeholder ? 0 : r.length + 1, this.render();
}
delete() {
if (this.isCursorAtStart()) return this.bell();
let A = this.value.slice(0, this.cursor - 1), e = this.value.slice(this.cursor);
this.value = `${A}${e}`, this.red = !1, this.isCursorAtStart() ? this.cursorOffset = 0 : (this.cursorOffset++, this.moveCursor(-1)), this.
render();
}
deleteForward() {
if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
let A = this.value.slice(0, this.cursor), e = this.value.slice(this.cursor + 1);
this.value = `${A}${e}`, this.red = !1, this.isCursorAtEnd() ? this.cursorOffset = 0 : this.cursorOffset++, this.render();
}
first() {
this.cursor = 0, this.render();
}
last() {
this.cursor = this.value.length, this.render();
}
left() {
if (this.cursor <= 0 || this.placeholder) return this.bell();
this.moveCursor(-1), this.render();
}
right() {
if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
this.moveCursor(1), this.render();
}
isCursorAtStart() {
return this.cursor === 0 || this.placeholder && this.cursor === 1;
}
isCursorAtEnd() {
return this.cursor === this.rendered.length || this.placeholder && this.cursor === this.rendered.length + 1;
}
render() {
this.closed || (this.firstRender || (this.outputError && this.out.write(Js.down(UP(this.outputError, this.out.columns) - 1) + GI(this.
outputError, this.out.columns)), this.out.write(GI(this.outputText, this.out.columns))), super.render(), this.outputError = "", this.outputText =
[
_I.symbol(this.done, this.aborted),
dg.bold(this.msg),
_I.delimiter(this.done),
this.red ? dg.red(this.rendered) : this.rendered
].join(" "), this.error && (this.outputError += this.errorMsg.split(`
`).reduce((A, e, r) => A + `
${r ? " " : _P.pointerSmall} ${dg.red().italic(e)}`, "")), this.out.write(PP.line + Js.to(0) + this.outputText + Js.save + this.outputError +
Js.restore + Js.move(this.cursorOffset, 0)));
}
};
cy.exports = JI;
});
// ../node_modules/prompts/lib/elements/select.js
var uy = m((WV, Ey) => {
"use strict";
var Ft = mA(), GP = Kt(), { style: hy, clear: ly, figures: pg, wrap: JP, entriesToDisplay: OP } = He(), { cursor: TP } = DA(), OI = class extends GP {
static {
s(this, "SelectPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.hint = A.hint || "- Use arrow-keys. Return to submit.", this.warn = A.warn || "- This option is d\
isabled", this.cursor = A.initial || 0, this.choices = A.choices.map((e, r) => (typeof e == "string" && (e = { title: e, value: r }), {
title: e && (e.title || e.value || e),
value: e && (e.value === void 0 ? r : e.value),
description: e && e.description,
selected: e && e.selected,
disabled: e && e.disabled
})), this.optionsPerPage = A.optionsPerPage || 10, this.value = (this.choices[this.cursor] || {}).value, this.clear = ly("", this.out.
columns), this.render();
}
moveCursor(A) {
this.cursor = A, this.value = this.choices[A].value, this.fire();
}
reset() {
this.moveCursor(0), this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.selection.disabled ? this.bell() : (this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close());
}
first() {
this.moveCursor(0), this.render();
}
last() {
this.moveCursor(this.choices.length - 1), this.render();
}
up() {
this.cursor === 0 ? this.moveCursor(this.choices.length - 1) : this.moveCursor(this.cursor - 1), this.render();
}
down() {
this.cursor === this.choices.length - 1 ? this.moveCursor(0) : this.moveCursor(this.cursor + 1), this.render();
}
next() {
this.moveCursor((this.cursor + 1) % this.choices.length), this.render();
}
_(A, e) {
if (A === " ") return this.submit();
}
get selection() {
return this.choices[this.cursor];
}
render() {
if (this.closed) return;
this.firstRender ? this.out.write(TP.hide) : this.out.write(ly(this.outputText, this.out.columns)), super.render();
let { startIndex: A, endIndex: e } = OP(this.cursor, this.choices.length, this.optionsPerPage);
if (this.outputText = [
hy.symbol(this.done, this.aborted),
Ft.bold(this.msg),
hy.delimiter(!1),
this.done ? this.selection.title : this.selection.disabled ? Ft.yellow(this.warn) : Ft.gray(this.hint)
].join(" "), !this.done) {
this.outputText += `
`;
for (let r = A; r < e; r++) {
let i, n, o = "", g = this.choices[r];
r === A && A > 0 ? n = pg.arrowUp : r === e - 1 && e < this.choices.length ? n = pg.arrowDown : n = " ", g.disabled ? (i = this.cursor ===
r ? Ft.gray().underline(g.title) : Ft.strikethrough().gray(g.title), n = (this.cursor === r ? Ft.bold().gray(pg.pointer) + " " : "\
") + n) : (i = this.cursor === r ? Ft.cyan().underline(g.title) : g.title, n = (this.cursor === r ? Ft.cyan(pg.pointer) + " " : " ") + n,
g.description && this.cursor === r && (o = ` - ${g.description}`, (n.length + i.length + o.length >= this.out.columns || g.description.
split(/\r?\n/).length > 1) && (o = `
` + JP(g.description, { margin: 3, width: this.out.columns })))), this.outputText += `${n} ${i}${Ft.gray(o)}
`;
}
}
this.out.write(this.outputText);
}
};
Ey.exports = OI;
});
// ../node_modules/prompts/lib/elements/toggle.js
var dy = m((XV, fy) => {
var wg = mA(), HP = Kt(), { style: By, clear: jP } = He(), { cursor: Qy, erase: qP } = DA(), TI = class extends HP {
static {
s(this, "TogglePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.value = !!A.initial, this.active = A.active || "on", this.inactive = A.inactive || "off", this.initialValue =
this.value, this.render();
}
reset() {
this.value = this.initialValue, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
deactivate() {
if (this.value === !1) return this.bell();
this.value = !1, this.render();
}
activate() {
if (this.value === !0) return this.bell();
this.value = !0, this.render();
}
delete() {
this.deactivate();
}
left() {
this.deactivate();
}
right() {
this.activate();
}
down() {
this.deactivate();
}
up() {
this.activate();
}
next() {
this.value = !this.value, this.fire(), this.render();
}
_(A, e) {
if (A === " ")
this.value = !this.value;
else if (A === "1")
this.value = !0;
else if (A === "0")
this.value = !1;
else return this.bell();
this.render();
}
render() {
this.closed || (this.firstRender ? this.out.write(Qy.hide) : this.out.write(jP(this.outputText, this.out.columns)), super.render(), this.
outputText = [
By.symbol(this.done, this.aborted),
wg.bold(this.msg),
By.delimiter(this.done),
this.value ? this.inactive : wg.cyan().underline(this.inactive),
wg.gray("/"),
this.value ? wg.cyan().underline(this.active) : this.active
].join(" "), this.out.write(qP.line + Qy.to(0) + this.outputText));
}
};
fy.exports = TI;
});
// ../node_modules/prompts/lib/dateparts/datepart.js
var it = m(($V, py) => {
"use strict";
var HI = class t {
static {
s(this, "DatePart");
}
constructor({ token: A, date: e, parts: r, locales: i }) {
this.token = A, this.date = e || /* @__PURE__ */ new Date(), this.parts = r || [this], this.locales = i || {};
}
up() {
}
down() {
}
next() {
let A = this.parts.indexOf(this);
return this.parts.find((e, r) => r > A && e instanceof t);
}
setTo(A) {
}
prev() {
let A = [].concat(this.parts).reverse(), e = A.indexOf(this);
return A.find((r, i) => i > e && r instanceof t);
}
toString() {
return String(this.date);
}
};
py.exports = HI;
});
// ../node_modules/prompts/lib/dateparts/meridiem.js
var my = m((eX, wy) => {
"use strict";
var zP = it(), jI = class extends zP {
static {
s(this, "Meridiem");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setHours((this.date.getHours() + 12) % 24);
}
down() {
this.up();
}
toString() {
let A = this.date.getHours() > 12 ? "pm" : "am";
return /\A/.test(this.token) ? A.toUpperCase() : A;
}
};
wy.exports = jI;
});
// ../node_modules/prompts/lib/dateparts/day.js
var Dy = m((rX, yy) => {
"use strict";
var WP = it(), VP = /* @__PURE__ */ s((t) => (t = t % 10, t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th"), "pos"), qI = class extends WP {
static {
s(this, "Day");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setDate(this.date.getDate() + 1);
}
down() {
this.date.setDate(this.date.getDate() - 1);
}
setTo(A) {
this.date.setDate(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getDate(), e = this.date.getDay();
return this.token === "DD" ? String(A).padStart(2, "0") : this.token === "Do" ? A + VP(A) : this.token === "d" ? e + 1 : this.token ===
"ddd" ? this.locales.weekdaysShort[e] : this.token === "dddd" ? this.locales.weekdays[e] : A;
}
};
yy.exports = qI;
});
// ../node_modules/prompts/lib/dateparts/hours.js
var Ky = m((sX, Sy) => {
"use strict";
var XP = it(), zI = class extends XP {
static {
s(this, "Hours");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setHours(this.date.getHours() + 1);
}
down() {
this.date.setHours(this.date.getHours() - 1);
}
setTo(A) {
this.date.setHours(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getHours();
return /h/.test(this.token) && (A = A % 12 || 12), this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
Sy.exports = zI;
});
// ../node_modules/prompts/lib/dateparts/milliseconds.js
var ky = m((oX, Fy) => {
"use strict";
var ZP = it(), WI = class extends ZP {
static {
s(this, "Milliseconds");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMilliseconds(this.date.getMilliseconds() + 1);
}
down() {
this.date.setMilliseconds(this.date.getMilliseconds() - 1);
}
setTo(A) {
this.date.setMilliseconds(parseInt(A.substr(-this.token.length)));
}
toString() {
return String(this.date.getMilliseconds()).padStart(4, "0").substr(0, this.token.length);
}
};
Fy.exports = WI;
});
// ../node_modules/prompts/lib/dateparts/minutes.js
var Ny = m((aX, by) => {
"use strict";
var $P = it(), VI = class extends $P {
static {
s(this, "Minutes");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMinutes(this.date.getMinutes() + 1);
}
down() {
this.date.setMinutes(this.date.getMinutes() - 1);
}
setTo(A) {
this.date.setMinutes(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getMinutes();
return this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
by.exports = VI;
});
// ../node_modules/prompts/lib/dateparts/month.js
var Ry = m((cX, My) => {
"use strict";
var AU = it(), XI = class extends AU {
static {
s(this, "Month");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setMonth(this.date.getMonth() + 1);
}
down() {
this.date.setMonth(this.date.getMonth() - 1);
}
setTo(A) {
A = parseInt(A.substr(-2)) - 1, this.date.setMonth(A < 0 ? 0 : A);
}
toString() {
let A = this.date.getMonth(), e = this.token.length;
return e === 2 ? String(A + 1).padStart(2, "0") : e === 3 ? this.locales.monthsShort[A] : e === 4 ? this.locales.months[A] : String(A +
1);
}
};
My.exports = XI;
});
// ../node_modules/prompts/lib/dateparts/seconds.js
var Ly = m((hX, vy) => {
"use strict";
var eU = it(), ZI = class extends eU {
static {
s(this, "Seconds");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setSeconds(this.date.getSeconds() + 1);
}
down() {
this.date.setSeconds(this.date.getSeconds() - 1);
}
setTo(A) {
this.date.setSeconds(parseInt(A.substr(-2)));
}
toString() {
let A = this.date.getSeconds();
return this.token.length > 1 ? String(A).padStart(2, "0") : A;
}
};
vy.exports = ZI;
});
// ../node_modules/prompts/lib/dateparts/year.js
var Yy = m((EX, xy) => {
"use strict";
var tU = it(), $I = class extends tU {
static {
s(this, "Year");
}
constructor(A = {}) {
super(A);
}
up() {
this.date.setFullYear(this.date.getFullYear() + 1);
}
down() {
this.date.setFullYear(this.date.getFullYear() - 1);
}
setTo(A) {
this.date.setFullYear(A.substr(-4));
}
toString() {
let A = String(this.date.getFullYear()).padStart(4, "0");
return this.token.length === 2 ? A.substr(-2) : A;
}
};
xy.exports = $I;
});
// ../node_modules/prompts/lib/dateparts/index.js
var Uy = m((BX, Py) => {
"use strict";
Py.exports = {
DatePart: it(),
Meridiem: my(),
Day: Dy(),
Hours: Ky(),
Milliseconds: ky(),
Minutes: Ny(),
Month: Ry(),
Seconds: Ly(),
Year: Yy()
};
});
// ../node_modules/prompts/lib/elements/date.js
var jy = m((QX, Hy) => {
"use strict";
var Ah = mA(), rU = Kt(), { style: _y, clear: Gy, figures: iU } = He(), { erase: sU, cursor: Jy } = DA(), { DatePart: Oy, Meridiem: nU, Day: oU,
Hours: gU, Milliseconds: aU, Minutes: CU, Month: cU, Seconds: IU, Year: hU } = Uy(), lU = /\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,
Ty = {
1: ({ token: t }) => t.replace(/\\(.)/g, "$1"),
2: (t) => new oU(t),
// Day // TODO
3: (t) => new cU(t),
// Month
4: (t) => new hU(t),
// Year
5: (t) => new nU(t),
// AM/PM // TODO (special)
6: (t) => new gU(t),
// Hours
7: (t) => new CU(t),
// Minutes
8: (t) => new IU(t),
// Seconds
9: (t) => new aU(t)
// Fractional seconds
}, EU = {
months: "January,February,March,April,May,June,July,August,September,October,November,December".split(","),
monthsShort: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),
weekdays: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
weekdaysShort: "Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")
}, eh = class extends rU {
static {
s(this, "DatePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.cursor = 0, this.typed = "", this.locales = Object.assign(EU, A.locales), this._date = A.initial ||
/* @__PURE__ */ new Date(), this.errorMsg = A.error || "Please Enter A Valid Value", this.validator = A.validate || (() => !0), this.mask =
A.mask || "YYYY-MM-DD HH:mm:ss", this.clear = Gy("", this.out.columns), this.render();
}
get value() {
return this.date;
}
get date() {
return this._date;
}
set date(A) {
A && this._date.setTime(A.getTime());
}
set mask(A) {
let e;
for (this.parts = []; e = lU.exec(A); ) {
let i = e.shift(), n = e.findIndex((o) => o != null);
this.parts.push(n in Ty ? Ty[n]({ token: e[n] || i, date: this.date, parts: this.parts, locales: this.locales }) : e[n] || i);
}
let r = this.parts.reduce((i, n) => (typeof n == "string" && typeof i[i.length - 1] == "string" ? i[i.length - 1] += n : i.push(n), i),
[]);
this.parts.splice(0), this.parts.push(...r), this.reset();
}
moveCursor(A) {
this.typed = "", this.cursor = A, this.fire();
}
reset() {
this.moveCursor(this.parts.findIndex((A) => A instanceof Oy)), this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.error = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
async validate() {
let A = await this.validator(this.value);
typeof A == "string" && (this.errorMsg = A, A = !1), this.error = !A;
}
async submit() {
if (await this.validate(), this.error) {
this.color = "red", this.fire(), this.render();
return;
}
this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
up() {
this.typed = "", this.parts[this.cursor].up(), this.render();
}
down() {
this.typed = "", this.parts[this.cursor].down(), this.render();
}
left() {
let A = this.parts[this.cursor].prev();
if (A == null) return this.bell();
this.moveCursor(this.parts.indexOf(A)), this.render();
}
right() {
let A = this.parts[this.cursor].next();
if (A == null) return this.bell();
this.moveCursor(this.parts.indexOf(A)), this.render();
}
next() {
let A = this.parts[this.cursor].next();
this.moveCursor(A ? this.parts.indexOf(A) : this.parts.findIndex((e) => e instanceof Oy)), this.render();
}
_(A) {
/\d/.test(A) && (this.typed += A, this.parts[this.cursor].setTo(this.typed), this.render());
}
render() {
this.closed || (this.firstRender ? this.out.write(Jy.hide) : this.out.write(Gy(this.outputText, this.out.columns)), super.render(), this.
outputText = [
_y.symbol(this.done, this.aborted),
Ah.bold(this.msg),
_y.delimiter(!1),
this.parts.reduce((A, e, r) => A.concat(r === this.cursor && !this.done ? Ah.cyan().underline(e.toString()) : e), []).join("")
].join(" "), this.error && (this.outputText += this.errorMsg.split(`
`).reduce(
(A, e, r) => A + `
${r ? " " : iU.pointerSmall} ${Ah.red().italic(e)}`,
""
)), this.out.write(sU.line + Jy.to(0) + this.outputText));
}
};
Hy.exports = eh;
});
// ../node_modules/prompts/lib/elements/number.js
var Vy = m((dX, Wy) => {
var mg = mA(), uU = Kt(), { cursor: yg, erase: BU } = DA(), { style: th, figures: QU, clear: qy, lines: fU } = He(), dU = /[0-9]/, rh = /* @__PURE__ */ s(
(t) => t !== void 0, "isDef"), zy = /* @__PURE__ */ s((t, A) => {
let e = Math.pow(10, A);
return Math.round(t * e) / e;
}, "round"), ih = class extends uU {
static {
s(this, "NumberPrompt");
}
constructor(A = {}) {
super(A), this.transform = th.render(A.style), this.msg = A.message, this.initial = rh(A.initial) ? A.initial : "", this.float = !!A.float,
this.round = A.round || 2, this.inc = A.increment || 1, this.min = rh(A.min) ? A.min : -1 / 0, this.max = rh(A.max) ? A.max : 1 / 0, this.
errorMsg = A.error || "Please Enter A Valid Value", this.validator = A.validate || (() => !0), this.color = "cyan", this.value = "", this.
typed = "", this.lastHit = 0, this.render();
}
set value(A) {
!A && A !== 0 ? (this.placeholder = !0, this.rendered = mg.gray(this.transform.render(`${this.initial}`)), this._value = "") : (this.placeholder =
!1, this.rendered = this.transform.render(`${zy(A, this.round)}`), this._value = zy(A, this.round)), this.fire();
}
get value() {
return this._value;
}
parse(A) {
return this.float ? parseFloat(A) : parseInt(A);
}
valid(A) {
return A === "-" || A === "." && this.float || dU.test(A);
}
reset() {
this.typed = "", this.value = "", this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
let A = this.value;
this.value = A !== "" ? A : this.initial, this.done = this.aborted = !0, this.error = !1, this.fire(), this.render(), this.out.write(`\
`), this.close();
}
async validate() {
let A = await this.validator(this.value);
typeof A == "string" && (this.errorMsg = A, A = !1), this.error = !A;
}
async submit() {
if (await this.validate(), this.error) {
this.color = "red", this.fire(), this.render();
return;
}
let A = this.value;
this.value = A !== "" ? A : this.initial, this.done = !0, this.aborted = !1, this.error = !1, this.fire(), this.render(), this.out.write(
`
`), this.close();
}
up() {
if (this.typed = "", this.value === "" && (this.value = this.min - this.inc), this.value >= this.max) return this.bell();
this.value += this.inc, this.color = "cyan", this.fire(), this.render();
}
down() {
if (this.typed = "", this.value === "" && (this.value = this.min + this.inc), this.value <= this.min) return this.bell();
this.value -= this.inc, this.color = "cyan", this.fire(), this.render();
}
delete() {
let A = this.value.toString();
if (A.length === 0) return this.bell();
this.value = this.parse(A = A.slice(0, -1)) || "", this.value !== "" && this.value < this.min && (this.value = this.min), this.color =
"cyan", this.fire(), this.render();
}
next() {
this.value = this.initial, this.fire(), this.render();
}
_(A, e) {
if (!this.valid(A)) return this.bell();
let r = Date.now();
if (r - this.lastHit > 1e3 && (this.typed = ""), this.typed += A, this.lastHit = r, this.color = "cyan", A === ".") return this.fire();
this.value = Math.min(this.parse(this.typed), this.max), this.value > this.max && (this.value = this.max), this.value < this.min && (this.
value = this.min), this.fire(), this.render();
}
render() {
this.closed || (this.firstRender || (this.outputError && this.out.write(yg.down(fU(this.outputError, this.out.columns) - 1) + qy(this.
outputError, this.out.columns)), this.out.write(qy(this.outputText, this.out.columns))), super.render(), this.outputError = "", this.outputText =
[
th.symbol(this.done, this.aborted),
mg.bold(this.msg),
th.delimiter(this.done),
!this.done || !this.done && !this.placeholder ? mg[this.color]().underline(this.rendered) : this.rendered
].join(" "), this.error && (this.outputError += this.errorMsg.split(`
`).reduce((A, e, r) => A + `
${r ? " " : QU.pointerSmall} ${mg.red().italic(e)}`, "")), this.out.write(BU.line + yg.to(0) + this.outputText + yg.save + this.outputError +
yg.restore));
}
};
Wy.exports = ih;
});
// ../node_modules/prompts/lib/elements/multiselect.js
var nh = m((wX, $y) => {
"use strict";
var st = mA(), { cursor: pU } = DA(), wU = Kt(), { clear: Xy, figures: Zt, style: Zy, wrap: mU, entriesToDisplay: yU } = He(), sh = class extends wU {
static {
s(this, "MultiselectPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.cursor = A.cursor || 0, this.scrollIndex = A.cursor || 0, this.hint = A.hint || "", this.warn = A.
warn || "- This option is disabled -", this.minSelected = A.min, this.showMinError = !1, this.maxChoices = A.max, this.instructions = A.
instructions, this.optionsPerPage = A.optionsPerPage || 10, this.value = A.choices.map((e, r) => (typeof e == "string" && (e = { title: e,
value: r }), {
title: e && (e.title || e.value || e),
description: e && e.description,
value: e && (e.value === void 0 ? r : e.value),
selected: e && e.selected,
disabled: e && e.disabled
})), this.clear = Xy("", this.out.columns), A.overrideRender || this.render();
}
reset() {
this.value.map((A) => !A.selected), this.cursor = 0, this.fire(), this.render();
}
selected() {
return this.value.filter((A) => A.selected);
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
let A = this.value.filter((e) => e.selected);
this.minSelected && A.length < this.minSelected ? (this.showMinError = !0, this.render()) : (this.done = !0, this.aborted = !1, this.fire(),
this.render(), this.out.write(`
`), this.close());
}
first() {
this.cursor = 0, this.render();
}
last() {
this.cursor = this.value.length - 1, this.render();
}
next() {
this.cursor = (this.cursor + 1) % this.value.length, this.render();
}
up() {
this.cursor === 0 ? this.cursor = this.value.length - 1 : this.cursor--, this.render();
}
down() {
this.cursor === this.value.length - 1 ? this.cursor = 0 : this.cursor++, this.render();
}
left() {
this.value[this.cursor].selected = !1, this.render();
}
right() {
if (this.value.filter((A) => A.selected).length >= this.maxChoices) return this.bell();
this.value[this.cursor].selected = !0, this.render();
}
handleSpaceToggle() {
let A = this.value[this.cursor];
if (A.selected)
A.selected = !1, this.render();
else {
if (A.disabled || this.value.filter((e) => e.selected).length >= this.maxChoices)
return this.bell();
A.selected = !0, this.render();
}
}
toggleAll() {
if (this.maxChoices !== void 0 || this.value[this.cursor].disabled)
return this.bell();
let A = !this.value[this.cursor].selected;
this.value.filter((e) => !e.disabled).forEach((e) => e.selected = A), this.render();
}
_(A, e) {
if (A === " ")
this.handleSpaceToggle();
else if (A === "a")
this.toggleAll();
else
return this.bell();
}
renderInstructions() {
return this.instructions === void 0 || this.instructions ? typeof this.instructions == "string" ? this.instructions : `
Instructions:
${Zt.arrowUp}/${Zt.arrowDown}: Highlight option
${Zt.arrowLeft}/${Zt.arrowRight}/[space]: Toggle selection
` + (this.maxChoices === void 0 ? ` a: Toggle all
` : "") + " enter/return: Complete answer" : "";
}
renderOption(A, e, r, i) {
let n = (e.selected ? st.green(Zt.radioOn) : Zt.radioOff) + " " + i + " ", o, g;
return e.disabled ? o = A === r ? st.gray().underline(e.title) : st.strikethrough().gray(e.title) : (o = A === r ? st.cyan().underline(
e.title) : e.title, A === r && e.description && (g = ` - ${e.description}`, (n.length + o.length + g.length >= this.out.columns || e.description.
split(/\r?\n/).length > 1) && (g = `
` + mU(e.description, { margin: n.length, width: this.out.columns })))), n + o + st.gray(g || "");
}
// shared with autocompleteMultiselect
paginateOptions(A) {
if (A.length === 0)
return st.red("No matches for this query.");
let { startIndex: e, endIndex: r } = yU(this.cursor, A.length, this.optionsPerPage), i, n = [];
for (let o = e; o < r; o++)
o === e && e > 0 ? i = Zt.arrowUp : o === r - 1 && r < A.length ? i = Zt.arrowDown : i = " ", n.push(this.renderOption(this.cursor, A[o],
o, i));
return `
` + n.join(`
`);
}
// shared with autocomleteMultiselect
renderOptions(A) {
return this.done ? "" : this.paginateOptions(A);
}
renderDoneOrInstructions() {
if (this.done)
return this.value.filter((e) => e.selected).map((e) => e.title).join(", ");
let A = [st.gray(this.hint), this.renderInstructions()];
return this.value[this.cursor].disabled && A.push(st.yellow(this.warn)), A.join(" ");
}
render() {
if (this.closed) return;
this.firstRender && this.out.write(pU.hide), super.render();
let A = [
Zy.symbol(this.done, this.aborted),
st.bold(this.msg),
Zy.delimiter(!1),
this.renderDoneOrInstructions()
].join(" ");
this.showMinError && (A += st.red(`You must select a minimum of ${this.minSelected} choices.`), this.showMinError = !1), A += this.renderOptions(
this.value), this.out.write(this.clear + A), this.clear = Xy(A, this.out.columns);
}
};
$y.exports = sh;
});
// ../node_modules/prompts/lib/elements/autocomplete.js
var iD = m((yX, rD) => {
"use strict";
var Os = mA(), DU = Kt(), { erase: SU, cursor: AD } = DA(), { style: oh, clear: eD, figures: gh, wrap: KU, entriesToDisplay: FU } = He(), tD = /* @__PURE__ */ s(
(t, A) => t[A] && (t[A].value || t[A].title || t[A]), "getVal"), kU = /* @__PURE__ */ s((t, A) => t[A] && (t[A].title || t[A].value || t[A]),
"getTitle"), bU = /* @__PURE__ */ s((t, A) => {
let e = t.findIndex((r) => r.value === A || r.title === A);
return e > -1 ? e : void 0;
}, "getIndex"), ah = class extends DU {
static {
s(this, "AutocompletePrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.suggest = A.suggest, this.choices = A.choices, this.initial = typeof A.initial == "number" ? A.initial :
bU(A.choices, A.initial), this.select = this.initial || A.cursor || 0, this.i18n = { noMatches: A.noMatches || "no matches found" }, this.
fallback = A.fallback || this.initial, this.clearFirst = A.clearFirst || !1, this.suggestions = [], this.input = "", this.limit = A.limit ||
10, this.cursor = 0, this.transform = oh.render(A.style), this.scale = this.transform.scale, this.render = this.render.bind(this), this.
complete = this.complete.bind(this), this.clear = eD("", this.out.columns), this.complete(this.render), this.render();
}
set fallback(A) {
this._fb = Number.isSafeInteger(parseInt(A)) ? parseInt(A) : A;
}
get fallback() {
let A;
return typeof this._fb == "number" ? A = this.choices[this._fb] : typeof this._fb == "string" && (A = { title: this._fb }), A || this.
_fb || { title: this.i18n.noMatches };
}
moveSelect(A) {
this.select = A, this.suggestions.length > 0 ? this.value = tD(this.suggestions, A) : this.value = this.fallback.value, this.fire();
}
async complete(A) {
let e = this.completing = this.suggest(this.input, this.choices), r = await e;
if (this.completing !== e) return;
this.suggestions = r.map((n, o, g) => ({ title: kU(g, o), value: tD(g, o), description: n.description })), this.completing = !1;
let i = Math.max(r.length - 1, 0);
this.moveSelect(Math.min(i, this.select)), A && A();
}
reset() {
this.input = "", this.complete(() => {
this.moveSelect(this.initial !== void 0 ? this.initial : 0), this.render();
}), this.render();
}
exit() {
this.clearFirst && this.input.length > 0 ? this.reset() : (this.done = this.exited = !0, this.aborted = !1, this.fire(), this.render(),
this.out.write(`
`), this.close());
}
abort() {
this.done = this.aborted = !0, this.exited = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.done = !0, this.aborted = this.exited = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
_(A, e) {
let r = this.input.slice(0, this.cursor), i = this.input.slice(this.cursor);
this.input = `${r}${A}${i}`, this.cursor = r.length + 1, this.complete(this.render), this.render();
}
delete() {
if (this.cursor === 0) return this.bell();
let A = this.input.slice(0, this.cursor - 1), e = this.input.slice(this.cursor);
this.input = `${A}${e}`, this.complete(this.render), this.cursor = this.cursor - 1, this.render();
}
deleteForward() {
if (this.cursor * this.scale >= this.rendered.length) return this.bell();
let A = this.input.slice(0, this.cursor), e = this.input.slice(this.cursor + 1);
this.input = `${A}${e}`, this.complete(this.render), this.render();
}
first() {
this.moveSelect(0), this.render();
}
last() {
this.moveSelect(this.suggestions.length - 1), this.render();
}
up() {
this.select === 0 ? this.moveSelect(this.suggestions.length - 1) : this.moveSelect(this.select - 1), this.render();
}
down() {
this.select === this.suggestions.length - 1 ? this.moveSelect(0) : this.moveSelect(this.select + 1), this.render();
}
next() {
this.select === this.suggestions.length - 1 ? this.moveSelect(0) : this.moveSelect(this.select + 1), this.render();
}
nextPage() {
this.moveSelect(Math.min(this.select + this.limit, this.suggestions.length - 1)), this.render();
}
prevPage() {
this.moveSelect(Math.max(this.select - this.limit, 0)), this.render();
}
left() {
if (this.cursor <= 0) return this.bell();
this.cursor = this.cursor - 1, this.render();
}
right() {
if (this.cursor * this.scale >= this.rendered.length) return this.bell();
this.cursor = this.cursor + 1, this.render();
}
renderOption(A, e, r, i) {
let n, o = r ? gh.arrowUp : i ? gh.arrowDown : " ", g = e ? Os.cyan().underline(A.title) : A.title;
return o = (e ? Os.cyan(gh.pointer) + " " : " ") + o, A.description && (n = ` - ${A.description}`, (o.length + g.length + n.length >=
this.out.columns || A.description.split(/\r?\n/).length > 1) && (n = `
` + KU(A.description, { margin: 3, width: this.out.columns }))), o + " " + g + Os.gray(n || "");
}
render() {
if (this.closed) return;
this.firstRender ? this.out.write(AD.hide) : this.out.write(eD(this.outputText, this.out.columns)), super.render();
let { startIndex: A, endIndex: e } = FU(this.select, this.choices.length, this.limit);
if (this.outputText = [
oh.symbol(this.done, this.aborted, this.exited),
Os.bold(this.msg),
oh.delimiter(this.completing),
this.done && this.suggestions[this.select] ? this.suggestions[this.select].title : this.rendered = this.transform.render(this.input)
].join(" "), !this.done) {
let r = this.suggestions.slice(A, e).map((i, n) => this.renderOption(
i,
this.select === n + A,
n === 0 && A > 0,
n + A === e - 1 && e < this.choices.length
)).join(`
`);
this.outputText += `
` + (r || Os.gray(this.fallback.title));
}
this.out.write(SU.line + AD.to(0) + this.outputText);
}
};
rD.exports = ah;
});
// ../node_modules/prompts/lib/elements/autocompleteMultiselect.js
var gD = m((SX, oD) => {
"use strict";
var kt = mA(), { cursor: NU } = DA(), MU = nh(), { clear: sD, style: nD, figures: mi } = He(), Ch = class extends MU {
static {
s(this, "AutocompleteMultiselectPrompt");
}
constructor(A = {}) {
A.overrideRender = !0, super(A), this.inputValue = "", this.clear = sD("", this.out.columns), this.filteredOptions = this.value, this.
render();
}
last() {
this.cursor = this.filteredOptions.length - 1, this.render();
}
next() {
this.cursor = (this.cursor + 1) % this.filteredOptions.length, this.render();
}
up() {
this.cursor === 0 ? this.cursor = this.filteredOptions.length - 1 : this.cursor--, this.render();
}
down() {
this.cursor === this.filteredOptions.length - 1 ? this.cursor = 0 : this.cursor++, this.render();
}
left() {
this.filteredOptions[this.cursor].selected = !1, this.render();
}
right() {
if (this.value.filter((A) => A.selected).length >= this.maxChoices) return this.bell();
this.filteredOptions[this.cursor].selected = !0, this.render();
}
delete() {
this.inputValue.length && (this.inputValue = this.inputValue.substr(0, this.inputValue.length - 1), this.updateFilteredOptions());
}
updateFilteredOptions() {
let A = this.filteredOptions[this.cursor];
this.filteredOptions = this.value.filter((r) => this.inputValue ? !!(typeof r.title == "string" && r.title.toLowerCase().includes(this.
inputValue.toLowerCase()) || typeof r.value == "string" && r.value.toLowerCase().includes(this.inputValue.toLowerCase())) : !0);
let e = this.filteredOptions.findIndex((r) => r === A);
this.cursor = e < 0 ? 0 : e, this.render();
}
handleSpaceToggle() {
let A = this.filteredOptions[this.cursor];
if (A.selected)
A.selected = !1, this.render();
else {
if (A.disabled || this.value.filter((e) => e.selected).length >= this.maxChoices)
return this.bell();
A.selected = !0, this.render();
}
}
handleInputChange(A) {
this.inputValue = this.inputValue + A, this.updateFilteredOptions();
}
_(A, e) {
A === " " ? this.handleSpaceToggle() : this.handleInputChange(A);
}
renderInstructions() {
return this.instructions === void 0 || this.instructions ? typeof this.instructions == "string" ? this.instructions : `
Instructions:
${mi.arrowUp}/${mi.arrowDown}: Highlight option
${mi.arrowLeft}/${mi.arrowRight}/[space]: Toggle selection
[a,b,c]/delete: Filter choices
enter/return: Complete answer
` : "";
}
renderCurrentInput() {
return `
Filtered results for: ${this.inputValue ? this.inputValue : kt.gray("Enter something to filter")}
`;
}
renderOption(A, e, r) {
let i;
return e.disabled ? i = A === r ? kt.gray().underline(e.title) : kt.strikethrough().gray(e.title) : i = A === r ? kt.cyan().underline(
e.title) : e.title, (e.selected ? kt.green(mi.radioOn) : mi.radioOff) + " " + i;
}
renderDoneOrInstructions() {
if (this.done)
return this.value.filter((e) => e.selected).map((e) => e.title).join(", ");
let A = [kt.gray(this.hint), this.renderInstructions(), this.renderCurrentInput()];
return this.filteredOptions.length && this.filteredOptions[this.cursor].disabled && A.push(kt.yellow(this.warn)), A.join(" ");
}
render() {
if (this.closed) return;
this.firstRender && this.out.write(NU.hide), super.render();
let A = [
nD.symbol(this.done, this.aborted),
kt.bold(this.msg),
nD.delimiter(!1),
this.renderDoneOrInstructions()
].join(" ");
this.showMinError && (A += kt.red(`You must select a minimum of ${this.minSelected} choices.`), this.showMinError = !1), A += this.renderOptions(
this.filteredOptions), this.out.write(this.clear + A), this.clear = sD(A, this.out.columns);
}
};
oD.exports = Ch;
});
// ../node_modules/prompts/lib/elements/confirm.js
var hD = m((FX, ID) => {
var aD = mA(), RU = Kt(), { style: CD, clear: vU } = He(), { erase: LU, cursor: cD } = DA(), ch = class extends RU {
static {
s(this, "ConfirmPrompt");
}
constructor(A = {}) {
super(A), this.msg = A.message, this.value = A.initial, this.initialValue = !!A.initial, this.yesMsg = A.yes || "yes", this.yesOption =
A.yesOption || "(Y/n)", this.noMsg = A.no || "no", this.noOption = A.noOption || "(y/N)", this.render();
}
reset() {
this.value = this.initialValue, this.fire(), this.render();
}
exit() {
this.abort();
}
abort() {
this.done = this.aborted = !0, this.fire(), this.render(), this.out.write(`
`), this.close();
}
submit() {
this.value = this.value || !1, this.done = !0, this.aborted = !1, this.fire(), this.render(), this.out.write(`
`), this.close();
}
_(A, e) {
return A.toLowerCase() === "y" ? (this.value = !0, this.submit()) : A.toLowerCase() === "n" ? (this.value = !1, this.submit()) : this.
bell();
}
render() {
this.closed || (this.firstRender ? this.out.write(cD.hide) : this.out.write(vU(this.outputText, this.out.columns)), super.render(), this.
outputText = [
CD.symbol(this.done, this.aborted),
aD.bold(this.msg),
CD.delimiter(this.done),
this.done ? this.value ? this.yesMsg : this.noMsg : aD.gray(this.initialValue ? this.yesOption : this.noOption)
].join(" "), this.out.write(LU.line + cD.to(0) + this.outputText));
}
};
ID.exports = ch;
});
// ../node_modules/prompts/lib/elements/index.js
var ED = m((bX, lD) => {
"use strict";
lD.exports = {
TextPrompt: Iy(),
SelectPrompt: uy(),
TogglePrompt: dy(),
DatePrompt: jy(),
NumberPrompt: Vy(),
MultiselectPrompt: nh(),
AutocompletePrompt: iD(),
AutocompleteMultiselectPrompt: gD(),
ConfirmPrompt: hD()
};
});
// ../node_modules/prompts/lib/prompts.js
var BD = m((uD) => {
"use strict";
var ge = uD, xU = ED(), Dg = /* @__PURE__ */ s((t) => t, "noop");
function nt(t, A, e = {}) {
return new Promise((r, i) => {
let n = new xU[t](A), o = e.onAbort || Dg, g = e.onSubmit || Dg, C = e.onExit || Dg;
n.on("state", A.onState || Dg), n.on("submit", (I) => r(g(I))), n.on("exit", (I) => r(C(I))), n.on("abort", (I) => i(o(I)));
});
}
s(nt, "toPrompt");
ge.text = (t) => nt("TextPrompt", t);
ge.password = (t) => (t.style = "password", ge.text(t));
ge.invisible = (t) => (t.style = "invisible", ge.text(t));
ge.number = (t) => nt("NumberPrompt", t);
ge.date = (t) => nt("DatePrompt", t);
ge.confirm = (t) => nt("ConfirmPrompt", t);
ge.list = (t) => {
let A = t.separator || ",";
return nt("TextPrompt", t, {
onSubmit: /* @__PURE__ */ s((e) => e.split(A).map((r) => r.trim()), "onSubmit")
});
};
ge.toggle = (t) => nt("TogglePrompt", t);
ge.select = (t) => nt("SelectPrompt", t);
ge.multiselect = (t) => {
t.choices = [].concat(t.choices || []);
let A = /* @__PURE__ */ s((e) => e.filter((r) => r.selected).map((r) => r.value), "toSelected");
return nt("MultiselectPrompt", t, {
onAbort: A,
onSubmit: A
});
};
ge.autocompleteMultiselect = (t) => {
t.choices = [].concat(t.choices || []);
let A = /* @__PURE__ */ s((e) => e.filter((r) => r.selected).map((r) => r.value), "toSelected");
return nt("AutocompleteMultiselectPrompt", t, {
onAbort: A,
onSubmit: A
});
};
var YU = /* @__PURE__ */ s((t, A) => Promise.resolve(
A.filter((e) => e.title.slice(0, t.length).toLowerCase() === t.toLowerCase())
), "byTitle");
ge.autocomplete = (t) => (t.suggest = t.suggest || YU, t.choices = [].concat(t.choices || []), nt("AutocompletePrompt", t));
});
// ../node_modules/prompts/lib/index.js
var dD = m((RX, fD) => {
"use strict";
var Ih = BD(), PU = ["suggest", "format", "onState", "validate", "onRender", "type"], QD = /* @__PURE__ */ s(() => {
}, "noop");
async function $t(t = [], { onSubmit: A = QD, onCancel: e = QD } = {}) {
let r = {}, i = $t._override || {};
t = [].concat(t);
let n, o, g, C, I, E, Q = /* @__PURE__ */ s(async (B, p, w = !1) => {
if (!(!w && B.validate && B.validate(p) !== !0))
return B.format ? await B.format(p, r) : p;
}, "getFormattedAnswer");
for (o of t)
if ({ name: C, type: I } = o, typeof I == "function" && (I = await I(n, { ...r }, o), o.type = I), !!I) {
for (let B in o) {
if (PU.includes(B)) continue;
let p = o[B];
o[B] = typeof p == "function" ? await p(n, { ...r }, E) : p;
}
if (E = o, typeof o.message != "string")
throw new Error("prompt message is required");
if ({ name: C, type: I } = o, Ih[I] === void 0)
throw new Error(`prompt type (${I}) is not defined`);
if (i[o.name] !== void 0 && (n = await Q(o, i[o.name]), n !== void 0)) {
r[C] = n;
continue;
}
try {
n = $t._injected ? UU($t._injected, o.initial) : await Ih[I](o), r[C] = n = await Q(o, n, !0), g = await A(o, n, r);
} catch {
g = !await e(o, r);
}
if (g) return r;
}
return r;
}
s($t, "prompt");
function UU(t, A) {
let e = t.shift();
if (e instanceof Error)
throw e;
return e === void 0 ? A : e;
}
s(UU, "getInjectedAnswer");
function _U(t) {
$t._injected = ($t._injected || []).concat(t);
}
s(_U, "inject");
function GU(t) {
$t._override = Object.assign({}, t);
}
s(GU, "override");
fD.exports = Object.assign($t, { prompt: $t, prompts: Ih, inject: _U, override: GU });
});
// ../node_modules/prompts/index.js
var wD = m((LX, pD) => {
function JU(t) {
t = (Array.isArray(t) ? t : t.split(".")).map(Number);
let A = 0, e = process.versions.node.split(".").map(Number);
for (; A < t.length; A++) {
if (e[A] > t[A]) return !1;
if (t[A] > e[A]) return !0;
}
return !1;
}
s(JU, "isNodeLT");
pD.exports = JU("8.6.0") ? jm() : dD();
});
// ../node_modules/globby/node_modules/@sindresorhus/merge-streams/index.js
function Bh(t) {
if (!Array.isArray(t))
throw new TypeError(`Expected an array, got \`${typeof t}\`.`);
for (let i of t)
lh(i);
let A = t.some(({ readableObjectMode: i }) => i), e = OU(t, A), r = new hh({
objectMode: A,
writableHighWaterMark: e,
readableHighWaterMark: e
});
for (let i of t)
r.add(i);
return t.length === 0 && FD(r), r;
}
var Kg, DD, uh, OU, hh, TU, HU, jU, lh, qU, SD, zU, WU, VU, KD, FD, Eh, kD, XU, Sg, mD, yD, bD = Qe(() => {
Kg = require("node:events"), DD = require("node:stream"), uh = require("node:stream/promises");
s(Bh, "mergeStreams");
OU = /* @__PURE__ */ s((t, A) => {
if (t.length === 0)
return 16384;
let e = t.filter(({ readableObjectMode: r }) => r === A).map(({ readableHighWaterMark: r }) => r);
return Math.max(...e);
}, "getHighWaterMark"), hh = class extends DD.PassThrough {
static {
s(this, "MergedStream");
}
#A = /* @__PURE__ */ new Set([]);
#e = /* @__PURE__ */ new Set([]);
#t = /* @__PURE__ */ new Set([]);
#r;
add(A) {
lh(A), !this.#A.has(A) && (this.#A.add(A), this.#r ??= TU(this, this.#A), qU({
passThroughStream: this,
stream: A,
streams: this.#A,
ended: this.#e,
aborted: this.#t,
onFinished: this.#r
}), A.pipe(this, { end: !1 }));
}
remove(A) {
return lh(A), this.#A.has(A) ? (A.unpipe(this), !0) : !1;
}
}, TU = /* @__PURE__ */ s(async (t, A) => {
Sg(t, mD);
let e = new AbortController();
try {
await Promise.race([
HU(t, e),
jU(t, A, e)
]);
} finally {
e.abort(), Sg(t, -mD);
}
}, "onMergedStreamFinished"), HU = /* @__PURE__ */ s(async (t, { signal: A }) => {
await (0, uh.finished)(t, { signal: A, cleanup: !0 });
}, "onMergedStreamEnd"), jU = /* @__PURE__ */ s(async (t, A, { signal: e }) => {
for await (let [r] of (0, Kg.on)(t, "unpipe", { signal: e }))
A.has(r) && r.emit(KD);
}, "onInputStreamsUnpipe"), lh = /* @__PURE__ */ s((t) => {
if (typeof t?.pipe != "function")
throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`);
}, "validateStream"), qU = /* @__PURE__ */ s(async ({ passThroughStream: t, stream: A, streams: e, ended: r, aborted: i, onFinished: n }) => {
Sg(t, yD);
let o = new AbortController();
try {
await Promise.race([
zU(n, A),
WU({ passThroughStream: t, stream: A, streams: e, ended: r, aborted: i, controller: o }),
VU({ stream: A, streams: e, ended: r, aborted: i, controller: o })
]);
} finally {
o.abort(), Sg(t, -yD);
}
e.size === r.size + i.size && (r.size === 0 && i.size > 0 ? Eh(t) : FD(t));
}, "endWhenStreamsDone"), SD = /* @__PURE__ */ s((t) => t?.code === "ERR_STREAM_PREMATURE_CLOSE", "isAbortError"), zU = /* @__PURE__ */ s(
async (t, A) => {
try {
await t, Eh(A);
} catch (e) {
SD(e) ? Eh(A) : kD(A, e);
}
}, "afterMergedStreamFinished"), WU = /* @__PURE__ */ s(async ({ passThroughStream: t, stream: A, streams: e, ended: r, aborted: i, controller: {
signal: n } }) => {
try {
await (0, uh.finished)(A, { signal: n, cleanup: !0, readable: !0, writable: !1 }), e.has(A) && r.add(A);
} catch (o) {
if (n.aborted || !e.has(A))
return;
SD(o) ? i.add(A) : kD(t, o);
}
}, "onInputStreamEnd"), VU = /* @__PURE__ */ s(async ({ stream: t, streams: A, ended: e, aborted: r, controller: { signal: i } }) => {
await (0, Kg.once)(t, KD, { signal: i }), A.delete(t), e.delete(t), r.delete(t);
}, "onInputStreamUnpipe"), KD = Symbol("unpipe"), FD = /* @__PURE__ */ s((t) => {
t.writable && t.end();
}, "endStream"), Eh = /* @__PURE__ */ s((t) => {
(t.readable || t.writable) && t.destroy();
}, "abortStream"), kD = /* @__PURE__ */ s((t, A) => {
t.destroyed || (t.once("error", XU), t.destroy(A));
}, "errorStream"), XU = /* @__PURE__ */ s(() => {
}, "noop"), Sg = /* @__PURE__ */ s((t, A) => {
let e = t.getMaxListeners();
e !== 0 && e !== Number.POSITIVE_INFINITY && t.setMaxListeners(e + A);
}, "updateMaxListeners"), mD = 2, yD = 1;
});
// ../node_modules/fast-glob/out/utils/array.js
var ND = m((yi) => {
"use strict";
Object.defineProperty(yi, "__esModule", { value: !0 });
yi.splitWhen = yi.flatten = void 0;
function ZU(t) {
return t.reduce((A, e) => [].concat(A, e), []);
}
s(ZU, "flatten");
yi.flatten = ZU;
function $U(t, A) {
let e = [[]], r = 0;
for (let i of t)
A(i) ? (r++, e[r] = []) : e[r].push(i);
return e;
}
s($U, "splitWhen");
yi.splitWhen = $U;
});
// ../node_modules/fast-glob/out/utils/errno.js
var MD = m((Fg) => {
"use strict";
Object.defineProperty(Fg, "__esModule", { value: !0 });
Fg.isEnoentCodeError = void 0;
function A_(t) {
return t.code === "ENOENT";
}
s(A_, "isEnoentCodeError");
Fg.isEnoentCodeError = A_;
});
// ../node_modules/fast-glob/out/utils/fs.js
var RD = m((kg) => {
"use strict";
Object.defineProperty(kg, "__esModule", { value: !0 });
kg.createDirentFromStats = void 0;
var Qh = class {
static {
s(this, "DirentFromStats");
}
constructor(A, e) {
this.name = A, this.isBlockDevice = e.isBlockDevice.bind(e), this.isCharacterDevice = e.isCharacterDevice.bind(e), this.isDirectory = e.
isDirectory.bind(e), this.isFIFO = e.isFIFO.bind(e), this.isFile = e.isFile.bind(e), this.isSocket = e.isSocket.bind(e), this.isSymbolicLink =
e.isSymbolicLink.bind(e);
}
};
function e_(t, A) {
return new Qh(t, A);
}
s(e_, "createDirentFromStats");
kg.createDirentFromStats = e_;
});
// ../node_modules/fast-glob/out/utils/path.js
var YD = m((NA) => {
"use strict";
Object.defineProperty(NA, "__esModule", { value: !0 });
NA.convertPosixPathToPattern = NA.convertWindowsPathToPattern = NA.convertPathToPattern = NA.escapePosixPath = NA.escapeWindowsPath = NA.escape =
NA.removeLeadingDotSegment = NA.makeAbsolute = NA.unixify = void 0;
var t_ = require("os"), r_ = require("path"), vD = t_.platform() === "win32", i_ = 2, s_ = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,
n_ = /(\\?)([()[\]{}]|^!|[!+@](?=\())/g, o_ = /^\\\\([.?])/, g_ = /\\(?![!()+@[\]{}])/g;
function a_(t) {
return t.replace(/\\/g, "/");
}
s(a_, "unixify");
NA.unixify = a_;
function C_(t, A) {
return r_.resolve(t, A);
}
s(C_, "makeAbsolute");
NA.makeAbsolute = C_;
function c_(t) {
if (t.charAt(0) === ".") {
let A = t.charAt(1);
if (A === "/" || A === "\\")
return t.slice(i_);
}
return t;
}
s(c_, "removeLeadingDotSegment");
NA.removeLeadingDotSegment = c_;
NA.escape = vD ? fh : dh;
function fh(t) {
return t.replace(n_, "\\$2");
}
s(fh, "escapeWindowsPath");
NA.escapeWindowsPath = fh;
function dh(t) {
return t.replace(s_, "\\$2");
}
s(dh, "escapePosixPath");
NA.escapePosixPath = dh;
NA.convertPathToPattern = vD ? LD : xD;
function LD(t) {
return fh(t).replace(o_, "//$1").replace(g_, "/");
}
s(LD, "convertWindowsPathToPattern");
NA.convertWindowsPathToPattern = LD;
function xD(t) {
return dh(t);
}
s(xD, "convertPosixPathToPattern");
NA.convertPosixPathToPattern = xD;
});
// ../node_modules/is-extglob/index.js
var UD = m((qX, PD) => {
PD.exports = /* @__PURE__ */ s(function(A) {
if (typeof A != "string" || A === "")
return !1;
for (var e; e = /(\\).|([@?!+*]\(.*\))/g.exec(A); ) {
if (e[2]) return !0;
A = A.slice(e.index + e[0].length);
}
return !1;
}, "isExtglob");
});
// ../node_modules/is-glob/index.js
var JD = m((WX, GD) => {
var I_ = UD(), _D = { "{": "}", "(": ")", "[": "]" }, h_ = /* @__PURE__ */ s(function(t) {
if (t[0] === "!")
return !0;
for (var A = 0, e = -2, r = -2, i = -2, n = -2, o = -2; A < t.length; ) {
if (t[A] === "*" || t[A + 1] === "?" && /[\].+)]/.test(t[A]) || r !== -1 && t[A] === "[" && t[A + 1] !== "]" && (r < A && (r = t.indexOf(
"]", A)), r > A && (o === -1 || o > r || (o = t.indexOf("\\", A), o === -1 || o > r))) || i !== -1 && t[A] === "{" && t[A + 1] !== "}" &&
(i = t.indexOf("}", A), i > A && (o = t.indexOf("\\", A), o === -1 || o > i)) || n !== -1 && t[A] === "(" && t[A + 1] === "?" && /[:!=]/.
test(t[A + 2]) && t[A + 3] !== ")" && (n = t.indexOf(")", A), n > A && (o = t.indexOf("\\", A), o === -1 || o > n)) || e !== -1 && t[A] ===
"(" && t[A + 1] !== "|" && (e < A && (e = t.indexOf("|", A)), e !== -1 && t[e + 1] !== ")" && (n = t.indexOf(")", e), n > e && (o = t.
indexOf("\\", e), o === -1 || o > n))))
return !0;
if (t[A] === "\\") {
var g = t[A + 1];
A += 2;
var C = _D[g];
if (C) {
var I = t.indexOf(C, A);
I !== -1 && (A = I + 1);
}
if (t[A] === "!")
return !0;
} else
A++;
}
return !1;
}, "strictCheck"), l_ = /* @__PURE__ */ s(function(t) {
if (t[0] === "!")
return !0;
for (var A = 0; A < t.length; ) {
if (/[*?{}()[\]]/.test(t[A]))
return !0;
if (t[A] === "\\") {
var e = t[A + 1];
A += 2;
var r = _D[e];
if (r) {
var i = t.indexOf(r, A);
i !== -1 && (A = i + 1);
}
if (t[A] === "!")
return !0;
} else
A++;
}
return !1;
}, "relaxedCheck");
GD.exports = /* @__PURE__ */ s(function(A, e) {
if (typeof A != "string" || A === "")
return !1;
if (I_(A))
return !0;
var r = h_;
return e && e.strict === !1 && (r = l_), r(A);
}, "isGlob");
});
// ../node_modules/fast-glob/node_modules/glob-parent/index.js
var TD = m((XX, OD) => {
"use strict";
var E_ = JD(), u_ = require("path").posix.dirname, B_ = require("os").platform() === "win32", ph = "/", Q_ = /\\/g, f_ = /[\{\[].*[\}\]]$/,
d_ = /(^|[^\\])([\{\[]|\([^\)]+$)/, p_ = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
OD.exports = /* @__PURE__ */ s(function(A, e) {
var r = Object.assign({ flipBackslashes: !0 }, e);
r.flipBackslashes && B_ && A.indexOf(ph) < 0 && (A = A.replace(Q_, ph)), f_.test(A) && (A += ph), A += "a";
do
A = u_(A);
while (E_(A) || d_.test(A));
return A.replace(p_, "$1");
}, "globParent");
});
// ../node_modules/braces/lib/utils.js
var bg = m((Se) => {
"use strict";
Se.isInteger = (t) => typeof t == "number" ? Number.isInteger(t) : typeof t == "string" && t.trim() !== "" ? Number.isInteger(Number(t)) :
!1;
Se.find = (t, A) => t.nodes.find((e) => e.type === A);
Se.exceedsLimit = (t, A, e = 1, r) => r === !1 || !Se.isInteger(t) || !Se.isInteger(A) ? !1 : (Number(A) - Number(t)) / Number(e) >= r;
Se.escapeNode = (t, A = 0, e) => {
let r = t.nodes[A];
r && (e && r.type === e || r.type === "open" || r.type === "close") && r.escaped !== !0 && (r.value = "\\" + r.value, r.escaped = !0);
};
Se.encloseBrace = (t) => t.type !== "brace" ? !1 : t.commas >> 0 + t.ranges >> 0 === 0 ? (t.invalid = !0, !0) : !1;
Se.isInvalidBrace = (t) => t.type !== "brace" ? !1 : t.invalid === !0 || t.dollar ? !0 : t.commas >> 0 + t.ranges >> 0 === 0 || t.open !==
!0 || t.close !== !0 ? (t.invalid = !0, !0) : !1;
Se.isOpenOrClose = (t) => t.type === "open" || t.type === "close" ? !0 : t.open === !0 || t.close === !0;
Se.reduce = (t) => t.reduce((A, e) => (e.type === "text" && A.push(e.value), e.type === "range" && (e.type = "text"), A), []);
Se.flatten = (...t) => {
let A = [], e = /* @__PURE__ */ s((r) => {
for (let i = 0; i < r.length; i++) {
let n = r[i];
if (Array.isArray(n)) {
e(n);
continue;
}
n !== void 0 && A.push(n);
}
return A;
}, "flat");
return e(t), A;
};
});
// ../node_modules/braces/lib/stringify.js
var Ng = m((eZ, jD) => {
"use strict";
var HD = bg();
jD.exports = (t, A = {}) => {
let e = /* @__PURE__ */ s((r, i = {}) => {
let n = A.escapeInvalid && HD.isInvalidBrace(i), o = r.invalid === !0 && A.escapeInvalid === !0, g = "";
if (r.value)
return (n || o) && HD.isOpenOrClose(r) ? "\\" + r.value : r.value;
if (r.value)
return r.value;
if (r.nodes)
for (let C of r.nodes)
g += e(C);
return g;
}, "stringify");
return e(t);
};
});
// ../node_modules/is-number/index.js
var zD = m((rZ, qD) => {
"use strict";
qD.exports = function(t) {
return typeof t == "number" ? t - t === 0 : typeof t == "string" && t.trim() !== "" ? Number.isFinite ? Number.isFinite(+t) : isFinite(+t) :
!1;
};
});
// ../node_modules/to-regex-range/index.js
var rS = m((iZ, tS) => {
"use strict";
var WD = zD(), Kr = /* @__PURE__ */ s((t, A, e) => {
if (WD(t) === !1)
throw new TypeError("toRegexRange: expected the first argument to be a number");
if (A === void 0 || t === A)
return String(t);
if (WD(A) === !1)
throw new TypeError("toRegexRange: expected the second argument to be a number.");
let r = { relaxZeros: !0, ...e };
typeof r.strictZeros == "boolean" && (r.relaxZeros = r.strictZeros === !1);
let i = String(r.relaxZeros), n = String(r.shorthand), o = String(r.capture), g = String(r.wrap), C = t + ":" + A + "=" + i + n + o + g;
if (Kr.cache.hasOwnProperty(C))
return Kr.cache[C].result;
let I = Math.min(t, A), E = Math.max(t, A);
if (Math.abs(I - E) === 1) {
let D = t + "|" + A;
return r.capture ? `(${D})` : r.wrap === !1 ? D : `(?:${D})`;
}
let Q = eS(t) || eS(A), B = { min: t, max: A, a: I, b: E }, p = [], w = [];
if (Q && (B.isPadded = Q, B.maxLen = String(B.max).length), I < 0) {
let D = E < 0 ? Math.abs(E) : 1;
w = VD(D, Math.abs(I), B, r), I = B.a = 0;
}
return E >= 0 && (p = VD(I, E, B, r)), B.negatives = w, B.positives = p, B.result = w_(w, p, r), r.capture === !0 ? B.result = `(${B.result}\
)` : r.wrap !== !1 && p.length + w.length > 1 && (B.result = `(?:${B.result})`), Kr.cache[C] = B, B.result;
}, "toRegexRange");
function w_(t, A, e) {
let r = wh(t, A, "-", !1, e) || [], i = wh(A, t, "", !1, e) || [], n = wh(t, A, "-?", !0, e) || [];
return r.concat(n).concat(i).join("|");
}
s(w_, "collatePatterns");
function m_(t, A) {
let e = 1, r = 1, i = ZD(t, e), n = /* @__PURE__ */ new Set([A]);
for (; t <= i && i <= A; )
n.add(i), e += 1, i = ZD(t, e);
for (i = $D(A + 1, r) - 1; t < i && i <= A; )
n.add(i), r += 1, i = $D(A + 1, r) - 1;
return n = [...n], n.sort(S_), n;
}
s(m_, "splitToRanges");
function y_(t, A, e) {
if (t === A)
return { pattern: t, count: [], digits: 0 };
let r = D_(t, A), i = r.length, n = "", o = 0;
for (let g = 0; g < i; g++) {
let [C, I] = r[g];
C === I ? n += C : C !== "0" || I !== "9" ? n += K_(C, I, e) : o++;
}
return o && (n += e.shorthand === !0 ? "\\d" : "[0-9]"), { pattern: n, count: [o], digits: i };
}
s(y_, "rangeToPattern");
function VD(t, A, e, r) {
let i = m_(t, A), n = [], o = t, g;
for (let C = 0; C < i.length; C++) {
let I = i[C], E = y_(String(o), String(I), r), Q = "";
if (!e.isPadded && g && g.pattern === E.pattern) {
g.count.length > 1 && g.count.pop(), g.count.push(E.count[0]), g.string = g.pattern + AS(g.count), o = I + 1;
continue;
}
e.isPadded && (Q = F_(I, e, r)), E.string = Q + E.pattern + AS(E.count), n.push(E), o = I + 1, g = E;
}
return n;
}
s(VD, "splitToPatterns");
function wh(t, A, e, r, i) {
let n = [];
for (let o of t) {
let { string: g } = o;
!r && !XD(A, "string", g) && n.push(e + g), r && XD(A, "string", g) && n.push(e + g);
}
return n;
}
s(wh, "filterPatterns");
function D_(t, A) {
let e = [];
for (let r = 0; r < t.length; r++) e.push([t[r], A[r]]);
return e;
}
s(D_, "zip");
function S_(t, A) {
return t > A ? 1 : A > t ? -1 : 0;
}
s(S_, "compare");
function XD(t, A, e) {
return t.some((r) => r[A] === e);
}
s(XD, "contains");
function ZD(t, A) {
return Number(String(t).slice(0, -A) + "9".repeat(A));
}
s(ZD, "countNines");
function $D(t, A) {
return t - t % Math.pow(10, A);
}
s($D, "countZeros");
function AS(t) {
let [A = 0, e = ""] = t;
return e || A > 1 ? `{${A + (e ? "," + e : "")}}` : "";
}
s(AS, "toQuantifier");
function K_(t, A, e) {
return `[${t}${A - t === 1 ? "" : "-"}${A}]`;
}
s(K_, "toCharacterClass");
function eS(t) {
return /^-?(0+)\d/.test(t);
}
s(eS, "hasPadding");
function F_(t, A, e) {
if (!A.isPadded)
return t;
let r = Math.abs(A.maxLen - String(t).length), i = e.relaxZeros !== !1;
switch (r) {
case 0:
return "";
case 1:
return i ? "0?" : "0";
case 2:
return i ? "0{0,2}" : "00";
default:
return i ? `0{0,${r}}` : `0{${r}}`;
}
}
s(F_, "padZeros");
Kr.cache = {};
Kr.clearCache = () => Kr.cache = {};
tS.exports = Kr;
});
// ../node_modules/fill-range/index.js
var Dh = m((nZ, CS) => {
"use strict";
var k_ = require("util"), sS = rS(), iS = /* @__PURE__ */ s((t) => t !== null && typeof t == "object" && !Array.isArray(t), "isObject"), b_ = /* @__PURE__ */ s(
(t) => (A) => t === !0 ? Number(A) : String(A), "transform"), mh = /* @__PURE__ */ s((t) => typeof t == "number" || typeof t == "string" &&
t !== "", "isValidValue"), Ts = /* @__PURE__ */ s((t) => Number.isInteger(+t), "isNumber"), yh = /* @__PURE__ */ s((t) => {
let A = `${t}`, e = -1;
if (A[0] === "-" && (A = A.slice(1)), A === "0") return !1;
for (; A[++e] === "0"; ) ;
return e > 0;
}, "zeros"), N_ = /* @__PURE__ */ s((t, A, e) => typeof t == "string" || typeof A == "string" ? !0 : e.stringify === !0, "stringify"), M_ = /* @__PURE__ */ s(
(t, A, e) => {
if (A > 0) {
let r = t[0] === "-" ? "-" : "";
r && (t = t.slice(1)), t = r + t.padStart(r ? A - 1 : A, "0");
}
return e === !1 ? String(t) : t;
}, "pad"), Rg = /* @__PURE__ */ s((t, A) => {
let e = t[0] === "-" ? "-" : "";
for (e && (t = t.slice(1), A--); t.length < A; ) t = "0" + t;
return e ? "-" + t : t;
}, "toMaxLen"), R_ = /* @__PURE__ */ s((t, A, e) => {
t.negatives.sort((g, C) => g < C ? -1 : g > C ? 1 : 0), t.positives.sort((g, C) => g < C ? -1 : g > C ? 1 : 0);
let r = A.capture ? "" : "?:", i = "", n = "", o;
return t.positives.length && (i = t.positives.map((g) => Rg(String(g), e)).join("|")), t.negatives.length && (n = `-(${r}${t.negatives.map(
(g) => Rg(String(g), e)).join("|")})`), i && n ? o = `${i}|${n}` : o = i || n, A.wrap ? `(${r}${o})` : o;
}, "toSequence"), nS = /* @__PURE__ */ s((t, A, e, r) => {
if (e)
return sS(t, A, { wrap: !1, ...r });
let i = String.fromCharCode(t);
if (t === A) return i;
let n = String.fromCharCode(A);
return `[${i}-${n}]`;
}, "toRange"), oS = /* @__PURE__ */ s((t, A, e) => {
if (Array.isArray(t)) {
let r = e.wrap === !0, i = e.capture ? "" : "?:";
return r ? `(${i}${t.join("|")})` : t.join("|");
}
return sS(t, A, e);
}, "toRegex"), gS = /* @__PURE__ */ s((...t) => new RangeError("Invalid range arguments: " + k_.inspect(...t)), "rangeError"), aS = /* @__PURE__ */ s(
(t, A, e) => {
if (e.strictRanges === !0) throw gS([t, A]);
return [];
}, "invalidRange"), v_ = /* @__PURE__ */ s((t, A) => {
if (A.strictRanges === !0)
throw new TypeError(`Expected step "${t}" to be a number`);
return [];
}, "invalidStep"), L_ = /* @__PURE__ */ s((t, A, e = 1, r = {}) => {
let i = Number(t), n = Number(A);
if (!Number.isInteger(i) || !Number.isInteger(n)) {
if (r.strictRanges === !0) throw gS([t, A]);
return [];
}
i === 0 && (i = 0), n === 0 && (n = 0);
let o = i > n, g = String(t), C = String(A), I = String(e);
e = Math.max(Math.abs(e), 1);
let E = yh(g) || yh(C) || yh(I), Q = E ? Math.max(g.length, C.length, I.length) : 0, B = E === !1 && N_(t, A, r) === !1, p = r.transform ||
b_(B);
if (r.toRegex && e === 1)
return nS(Rg(t, Q), Rg(A, Q), !0, r);
let w = { negatives: [], positives: [] }, D = /* @__PURE__ */ s((_) => w[_ < 0 ? "negatives" : "positives"].push(Math.abs(_)), "push"), N = [],
k = 0;
for (; o ? i >= n : i <= n; )
r.toRegex === !0 && e > 1 ? D(i) : N.push(M_(p(i, k), Q, B)), i = o ? i - e : i + e, k++;
return r.toRegex === !0 ? e > 1 ? R_(w, r, Q) : oS(N, null, { wrap: !1, ...r }) : N;
}, "fillNumbers"), x_ = /* @__PURE__ */ s((t, A, e = 1, r = {}) => {
if (!Ts(t) && t.length > 1 || !Ts(A) && A.length > 1)
return aS(t, A, r);
let i = r.transform || ((B) => String.fromCharCode(B)), n = `${t}`.charCodeAt(0), o = `${A}`.charCodeAt(0), g = n > o, C = Math.min(n, o),
I = Math.max(n, o);
if (r.toRegex && e === 1)
return nS(C, I, !1, r);
let E = [], Q = 0;
for (; g ? n >= o : n <= o; )
E.push(i(n, Q)), n = g ? n - e : n + e, Q++;
return r.toRegex === !0 ? oS(E, null, { wrap: !1, options: r }) : E;
}, "fillLetters"), Mg = /* @__PURE__ */ s((t, A, e, r = {}) => {
if (A == null && mh(t))
return [t];
if (!mh(t) || !mh(A))
return aS(t, A, r);
if (typeof e == "function")
return Mg(t, A, 1, { transform: e });
if (iS(e))
return Mg(t, A, 0, e);
let i = { ...r };
return i.capture === !0 && (i.wrap = !0), e = e || i.step || 1, Ts(e) ? Ts(t) && Ts(A) ? L_(t, A, e, i) : x_(t, A, Math.max(Math.abs(e),
1), i) : e != null && !iS(e) ? v_(e, i) : Mg(t, A, 1, e);
}, "fill");
CS.exports = Mg;
});
// ../node_modules/braces/lib/compile.js
var hS = m((gZ, IS) => {
"use strict";
var Y_ = Dh(), cS = bg(), P_ = /* @__PURE__ */ s((t, A = {}) => {
let e = /* @__PURE__ */ s((r, i = {}) => {
let n = cS.isInvalidBrace(i), o = r.invalid === !0 && A.escapeInvalid === !0, g = n === !0 || o === !0, C = A.escapeInvalid === !0 ? "\
\\" : "", I = "";
if (r.isOpen === !0)
return C + r.value;
if (r.isClose === !0)
return console.log("node.isClose", C, r.value), C + r.value;
if (r.type === "open")
return g ? C + r.value : "(";
if (r.type === "close")
return g ? C + r.value : ")";
if (r.type === "comma")
return r.prev.type === "comma" ? "" : g ? r.value : "|";
if (r.value)
return r.value;
if (r.nodes && r.ranges > 0) {
let E = cS.reduce(r.nodes), Q = Y_(...E, { ...A, wrap: !1, toRegex: !0, strictZeros: !0 });
if (Q.length !== 0)
return E.length > 1 && Q.length > 1 ? `(${Q})` : Q;
}
if (r.nodes)
for (let E of r.nodes)
I += e(E, r);
return I;
}, "walk");
return e(t);
}, "compile");
IS.exports = P_;
});
// ../node_modules/braces/lib/expand.js
var uS = m((CZ, ES) => {
"use strict";
var U_ = Dh(), lS = Ng(), Di = bg(), Fr = /* @__PURE__ */ s((t = "", A = "", e = !1) => {
let r = [];
if (t = [].concat(t), A = [].concat(A), !A.length) return t;
if (!t.length)
return e ? Di.flatten(A).map((i) => `{${i}}`) : A;
for (let i of t)
if (Array.isArray(i))
for (let n of i)
r.push(Fr(n, A, e));
else
for (let n of A)
e === !0 && typeof n == "string" && (n = `{${n}}`), r.push(Array.isArray(n) ? Fr(i, n, e) : i + n);
return Di.flatten(r);
}, "append"), __ = /* @__PURE__ */ s((t, A = {}) => {
let e = A.rangeLimit === void 0 ? 1e3 : A.rangeLimit, r = /* @__PURE__ */ s((i, n = {}) => {
i.queue = [];
let o = n, g = n.queue;
for (; o.type !== "brace" && o.type !== "root" && o.parent; )
o = o.parent, g = o.queue;
if (i.invalid || i.dollar) {
g.push(Fr(g.pop(), lS(i, A)));
return;
}
if (i.type === "brace" && i.invalid !== !0 && i.nodes.length === 2) {
g.push(Fr(g.pop(), ["{}"]));
return;
}
if (i.nodes && i.ranges > 0) {
let Q = Di.reduce(i.nodes);
if (Di.exceedsLimit(...Q, A.step, e))
throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
let B = U_(...Q, A);
B.length === 0 && (B = lS(i, A)), g.push(Fr(g.pop(), B)), i.nodes = [];
return;
}
let C = Di.encloseBrace(i), I = i.queue, E = i;
for (; E.type !== "brace" && E.type !== "root" && E.parent; )
E = E.parent, I = E.queue;
for (let Q = 0; Q < i.nodes.length; Q++) {
let B = i.nodes[Q];
if (B.type === "comma" && i.type === "brace") {
Q === 1 && I.push(""), I.push("");
continue;
}
if (B.type === "close") {
g.push(Fr(g.pop(), I, C));
continue;
}
if (B.value && B.type !== "open") {
I.push(Fr(I.pop(), B.value));
continue;
}
B.nodes && r(B, i);
}
return I;
}, "walk");
return Di.flatten(r(t));
}, "expand");
ES.exports = __;
});
// ../node_modules/braces/lib/constants.js
var QS = m((IZ, BS) => {
"use strict";
BS.exports = {
MAX_LENGTH: 1e4,
// Digits
CHAR_0: "0",
/* 0 */
CHAR_9: "9",
/* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: "A",
/* A */
CHAR_LOWERCASE_A: "a",
/* a */
CHAR_UPPERCASE_Z: "Z",
/* Z */
CHAR_LOWERCASE_Z: "z",
/* z */
CHAR_LEFT_PARENTHESES: "(",
/* ( */
CHAR_RIGHT_PARENTHESES: ")",
/* ) */
CHAR_ASTERISK: "*",
/* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: "&",
/* & */
CHAR_AT: "@",
/* @ */
CHAR_BACKSLASH: "\\",
/* \ */
CHAR_BACKTICK: "`",
/* ` */
CHAR_CARRIAGE_RETURN: "\r",
/* \r */
CHAR_CIRCUMFLEX_ACCENT: "^",
/* ^ */
CHAR_COLON: ":",
/* : */
CHAR_COMMA: ",",
/* , */
CHAR_DOLLAR: "$",
/* . */
CHAR_DOT: ".",
/* . */
CHAR_DOUBLE_QUOTE: '"',
/* " */
CHAR_EQUAL: "=",
/* = */
CHAR_EXCLAMATION_MARK: "!",
/* ! */
CHAR_FORM_FEED: "\f",
/* \f */
CHAR_FORWARD_SLASH: "/",
/* / */
CHAR_HASH: "#",
/* # */
CHAR_HYPHEN_MINUS: "-",
/* - */
CHAR_LEFT_ANGLE_BRACKET: "<",
/* < */
CHAR_LEFT_CURLY_BRACE: "{",
/* { */
CHAR_LEFT_SQUARE_BRACKET: "[",
/* [ */
CHAR_LINE_FEED: `
`,
/* \n */
CHAR_NO_BREAK_SPACE: "\xA0",
/* \u00A0 */
CHAR_PERCENT: "%",
/* % */
CHAR_PLUS: "+",
/* + */
CHAR_QUESTION_MARK: "?",
/* ? */
CHAR_RIGHT_ANGLE_BRACKET: ">",
/* > */
CHAR_RIGHT_CURLY_BRACE: "}",
/* } */
CHAR_RIGHT_SQUARE_BRACKET: "]",
/* ] */
CHAR_SEMICOLON: ";",
/* ; */
CHAR_SINGLE_QUOTE: "'",
/* ' */
CHAR_SPACE: " ",
/* */
CHAR_TAB: " ",
/* \t */
CHAR_UNDERSCORE: "_",
/* _ */
CHAR_VERTICAL_LINE: "|",
/* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF"
/* \uFEFF */
};
});
// ../node_modules/braces/lib/parse.js
var mS = m((hZ, wS) => {
"use strict";
var G_ = Ng(), {
MAX_LENGTH: fS,
CHAR_BACKSLASH: Sh,
/* \ */
CHAR_BACKTICK: J_,
/* ` */
CHAR_COMMA: O_,
/* , */
CHAR_DOT: T_,
/* . */
CHAR_LEFT_PARENTHESES: H_,
/* ( */
CHAR_RIGHT_PARENTHESES: j_,
/* ) */
CHAR_LEFT_CURLY_BRACE: q_,
/* { */
CHAR_RIGHT_CURLY_BRACE: z_,
/* } */
CHAR_LEFT_SQUARE_BRACKET: dS,
/* [ */
CHAR_RIGHT_SQUARE_BRACKET: pS,
/* ] */
CHAR_DOUBLE_QUOTE: W_,
/* " */
CHAR_SINGLE_QUOTE: V_,
/* ' */
CHAR_NO_BREAK_SPACE: X_,
CHAR_ZERO_WIDTH_NOBREAK_SPACE: Z_
} = QS(), $_ = /* @__PURE__ */ s((t, A = {}) => {
if (typeof t != "string")
throw new TypeError("Expected a string");
let e = A || {}, r = typeof e.maxLength == "number" ? Math.min(fS, e.maxLength) : fS;
if (t.length > r)
throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${r})`);
let i = { type: "root", input: t, nodes: [] }, n = [i], o = i, g = i, C = 0, I = t.length, E = 0, Q = 0, B, p = /* @__PURE__ */ s(() => t[E++],
"advance"), w = /* @__PURE__ */ s((D) => {
if (D.type === "text" && g.type === "dot" && (g.type = "text"), g && g.type === "text" && D.type === "text") {
g.value += D.value;
return;
}
return o.nodes.push(D), D.parent = o, D.prev = g, g = D, D;
}, "push");
for (w({ type: "bos" }); E < I; )
if (o = n[n.length - 1], B = p(), !(B === Z_ || B === X_)) {
if (B === Sh) {
w({ type: "text", value: (A.keepEscaping ? B : "") + p() });
continue;
}
if (B === pS) {
w({ type: "text", value: "\\" + B });
continue;
}
if (B === dS) {
C++;
let D;
for (; E < I && (D = p()); ) {
if (B += D, D === dS) {
C++;
continue;
}
if (D === Sh) {
B += p();
continue;
}
if (D === pS && (C--, C === 0))
break;
}
w({ type: "text", value: B });
continue;
}
if (B === H_) {
o = w({ type: "paren", nodes: [] }), n.push(o), w({ type: "text", value: B });
continue;
}
if (B === j_) {
if (o.type !== "paren") {
w({ type: "text", value: B });
continue;
}
o = n.pop(), w({ type: "text", value: B }), o = n[n.length - 1];
continue;
}
if (B === W_ || B === V_ || B === J_) {
let D = B, N;
for (A.keepQuotes !== !0 && (B = ""); E < I && (N = p()); ) {
if (N === Sh) {
B += N + p();
continue;
}
if (N === D) {
A.keepQuotes === !0 && (B += N);
break;
}
B += N;
}
w({ type: "text", value: B });
continue;
}
if (B === q_) {
Q++;
let N = {
type: "brace",
open: !0,
close: !1,
dollar: g.value && g.value.slice(-1) === "$" || o.dollar === !0,
depth: Q,
commas: 0,
ranges: 0,
nodes: []
};
o = w(N), n.push(o), w({ type: "open", value: B });
continue;
}
if (B === z_) {
if (o.type !== "brace") {
w({ type: "text", value: B });
continue;
}
let D = "close";
o = n.pop(), o.close = !0, w({ type: D, value: B }), Q--, o = n[n.length - 1];
continue;
}
if (B === O_ && Q > 0) {
if (o.ranges > 0) {
o.ranges = 0;
let D = o.nodes.shift();
o.nodes = [D, { type: "text", value: G_(o) }];
}
w({ type: "comma", value: B }), o.commas++;
continue;
}
if (B === T_ && Q > 0 && o.commas === 0) {
let D = o.nodes;
if (Q === 0 || D.length === 0) {
w({ type: "text", value: B });
continue;
}
if (g.type === "dot") {
if (o.range = [], g.value += B, g.type = "range", o.nodes.length !== 3 && o.nodes.length !== 5) {
o.invalid = !0, o.ranges = 0, g.type = "text";
continue;
}
o.ranges++, o.args = [];
continue;
}
if (g.type === "range") {
D.pop();
let N = D[D.length - 1];
N.value += g.value + B, g = N, o.ranges--;
continue;
}
w({ type: "dot", value: B });
continue;
}
w({ type: "text", value: B });
}
do
if (o = n.pop(), o.type !== "root") {
o.nodes.forEach((k) => {
k.nodes || (k.type === "open" && (k.isOpen = !0), k.type === "close" && (k.isClose = !0), k.nodes || (k.type = "text"), k.invalid =
!0);
});
let D = n[n.length - 1], N = D.nodes.indexOf(o);
D.nodes.splice(N, 1, ...o.nodes);
}
while (n.length > 0);
return w({ type: "eos" }), i;
}, "parse");
wS.exports = $_;
});
// ../node_modules/braces/index.js
var SS = m((EZ, DS) => {
"use strict";
var yS = Ng(), AG = hS(), eG = uS(), tG = mS(), Be = /* @__PURE__ */ s((t, A = {}) => {
let e = [];
if (Array.isArray(t))
for (let r of t) {
let i = Be.create(r, A);
Array.isArray(i) ? e.push(...i) : e.push(i);
}
else
e = [].concat(Be.create(t, A));
return A && A.expand === !0 && A.nodupes === !0 && (e = [...new Set(e)]), e;
}, "braces");
Be.parse = (t, A = {}) => tG(t, A);
Be.stringify = (t, A = {}) => yS(typeof t == "string" ? Be.parse(t, A) : t, A);
Be.compile = (t, A = {}) => (typeof t == "string" && (t = Be.parse(t, A)), AG(t, A));
Be.expand = (t, A = {}) => {
typeof t == "string" && (t = Be.parse(t, A));
let e = eG(t, A);
return A.noempty === !0 && (e = e.filter(Boolean)), A.nodupes === !0 && (e = [...new Set(e)]), e;
};
Be.create = (t, A = {}) => t === "" || t.length < 3 ? [t] : A.expand !== !0 ? Be.compile(t, A) : Be.expand(t, A);
DS.exports = Be;
});
// ../node_modules/micromatch/index.js
var MS = m((BZ, NS) => {
"use strict";
var FS = require("util"), kS = SS(), ot = uo(), Kh = Qs(), KS = /* @__PURE__ */ s((t) => t === "" || t === "./", "isEmptyString"), bS = /* @__PURE__ */ s(
(t) => {
let A = t.indexOf("{");
return A > -1 && t.indexOf("}", A) > -1;
}, "hasBraces"), pA = /* @__PURE__ */ s((t, A, e) => {
A = [].concat(A), t = [].concat(t);
let r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), o = 0, g = /* @__PURE__ */ s((E) => {
n.add(E.output), e && e.onResult && e.onResult(E);
}, "onResult");
for (let E = 0; E < A.length; E++) {
let Q = ot(String(A[E]), { ...e, onResult: g }, !0), B = Q.state.negated || Q.state.negatedExtglob;
B && o++;
for (let p of t) {
let w = Q(p, !0);
(B ? !w.isMatch : w.isMatch) && (B ? r.add(w.output) : (r.delete(w.output), i.add(w.output)));
}
}
let I = (o === A.length ? [...n] : [...i]).filter((E) => !r.has(E));
if (e && I.length === 0) {
if (e.failglob === !0)
throw new Error(`No matches found for "${A.join(", ")}"`);
if (e.nonull === !0 || e.nullglob === !0)
return e.unescape ? A.map((E) => E.replace(/\\/g, "")) : A;
}
return I;
}, "micromatch");
pA.match = pA;
pA.matcher = (t, A) => ot(t, A);
pA.isMatch = (t, A, e) => ot(A, e)(t);
pA.any = pA.isMatch;
pA.not = (t, A, e = {}) => {
A = [].concat(A).map(String);
let r = /* @__PURE__ */ new Set(), i = [], n = /* @__PURE__ */ s((g) => {
e.onResult && e.onResult(g), i.push(g.output);
}, "onResult"), o = new Set(pA(t, A, { ...e, onResult: n }));
for (let g of i)
o.has(g) || r.add(g);
return [...r];
};
pA.contains = (t, A, e) => {
if (typeof t != "string")
throw new TypeError(`Expected a string: "${FS.inspect(t)}"`);
if (Array.isArray(A))
return A.some((r) => pA.contains(t, r, e));
if (typeof A == "string") {
if (KS(t) || KS(A))
return !1;
if (t.includes(A) || t.startsWith("./") && t.slice(2).includes(A))
return !0;
}
return pA.isMatch(t, A, { ...e, contains: !0 });
};
pA.matchKeys = (t, A, e) => {
if (!Kh.isObject(t))
throw new TypeError("Expected the first argument to be an object");
let r = pA(Object.keys(t), A, e), i = {};
for (let n of r) i[n] = t[n];
return i;
};
pA.some = (t, A, e) => {
let r = [].concat(t);
for (let i of [].concat(A)) {
let n = ot(String(i), e);
if (r.some((o) => n(o)))
return !0;
}
return !1;
};
pA.every = (t, A, e) => {
let r = [].concat(t);
for (let i of [].concat(A)) {
let n = ot(String(i), e);
if (!r.every((o) => n(o)))
return !1;
}
return !0;
};
pA.all = (t, A, e) => {
if (typeof t != "string")
throw new TypeError(`Expected a string: "${FS.inspect(t)}"`);
return [].concat(A).every((r) => ot(r, e)(t));
};
pA.capture = (t, A, e) => {
let r = Kh.isWindows(e), n = ot.makeRe(String(t), { ...e, capture: !0 }).exec(r ? Kh.toPosixSlashes(A) : A);
if (n)
return n.slice(1).map((o) => o === void 0 ? "" : o);
};
pA.makeRe = (...t) => ot.makeRe(...t);
pA.scan = (...t) => ot.scan(...t);
pA.parse = (t, A) => {
let e = [];
for (let r of [].concat(t || []))
for (let i of kS(String(r), A))
e.push(ot.parse(i, A));
return e;
};
pA.braces = (t, A) => {
if (typeof t != "string") throw new TypeError("Expected a string");
return A && A.nobrace === !0 || !bS(t) ? [t] : kS(t, A);
};
pA.braceExpand = (t, A) => {
if (typeof t != "string") throw new TypeError("Expected a string");
return pA.braces(t, { ...A, expand: !0 });
};
pA.hasBraces = bS;
NS.exports = pA;
});
// ../node_modules/fast-glob/out/utils/pattern.js
var JS = m((AA) => {
"use strict";
Object.defineProperty(AA, "__esModule", { value: !0 });
AA.isAbsolute = AA.partitionAbsoluteAndRelative = AA.removeDuplicateSlashes = AA.matchAny = AA.convertPatternsToRe = AA.makeRe = AA.getPatternParts =
AA.expandBraceExpansion = AA.expandPatternsWithBraceExpansion = AA.isAffectDepthOfReadingPattern = AA.endsWithSlashGlobStar = AA.hasGlobStar =
AA.getBaseDirectory = AA.isPatternRelatedToParentDirectory = AA.getPatternsOutsideCurrentDirectory = AA.getPatternsInsideCurrentDirectory =
AA.getPositivePatterns = AA.getNegativePatterns = AA.isPositivePattern = AA.isNegativePattern = AA.convertToNegativePattern = AA.convertToPositivePattern =
AA.isDynamicPattern = AA.isStaticPattern = void 0;
var RS = require("path"), rG = TD(), Fh = MS(), vS = "**", iG = "\\", sG = /[*?]|^!/, nG = /\[[^[]*]/, oG = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,
gG = /[!*+?@]\([^(]*\)/, aG = /,|\.\./, CG = /(?!^)\/{2,}/g;
function LS(t, A = {}) {
return !xS(t, A);
}
s(LS, "isStaticPattern");
AA.isStaticPattern = LS;
function xS(t, A = {}) {
return t === "" ? !1 : !!(A.caseSensitiveMatch === !1 || t.includes(iG) || sG.test(t) || nG.test(t) || oG.test(t) || A.extglob !== !1 &&
gG.test(t) || A.braceExpansion !== !1 && cG(t));
}
s(xS, "isDynamicPattern");
AA.isDynamicPattern = xS;
function cG(t) {
let A = t.indexOf("{");
if (A === -1)
return !1;
let e = t.indexOf("}", A + 1);
if (e === -1)
return !1;
let r = t.slice(A, e);
return aG.test(r);
}
s(cG, "hasBraceExpansion");
function IG(t) {
return vg(t) ? t.slice(1) : t;
}
s(IG, "convertToPositivePattern");
AA.convertToPositivePattern = IG;
function hG(t) {
return "!" + t;
}
s(hG, "convertToNegativePattern");
AA.convertToNegativePattern = hG;
function vg(t) {
return t.startsWith("!") && t[1] !== "(";
}
s(vg, "isNegativePattern");
AA.isNegativePattern = vg;
function YS(t) {
return !vg(t);
}
s(YS, "isPositivePattern");
AA.isPositivePattern = YS;
function lG(t) {
return t.filter(vg);
}
s(lG, "getNegativePatterns");
AA.getNegativePatterns = lG;
function EG(t) {
return t.filter(YS);
}
s(EG, "getPositivePatterns");
AA.getPositivePatterns = EG;
function uG(t) {
return t.filter((A) => !kh(A));
}
s(uG, "getPatternsInsideCurrentDirectory");
AA.getPatternsInsideCurrentDirectory = uG;
function BG(t) {
return t.filter(kh);
}
s(BG, "getPatternsOutsideCurrentDirectory");
AA.getPatternsOutsideCurrentDirectory = BG;
function kh(t) {
return t.startsWith("..") || t.startsWith("./..");
}
s(kh, "isPatternRelatedToParentDirectory");
AA.isPatternRelatedToParentDirectory = kh;
function QG(t) {
return rG(t, { flipBackslashes: !1 });
}
s(QG, "getBaseDirectory");
AA.getBaseDirectory = QG;
function fG(t) {
return t.includes(vS);
}
s(fG, "hasGlobStar");
AA.hasGlobStar = fG;
function PS(t) {
return t.endsWith("/" + vS);
}
s(PS, "endsWithSlashGlobStar");
AA.endsWithSlashGlobStar = PS;
function dG(t) {
let A = RS.basename(t);
return PS(t) || LS(A);
}
s(dG, "isAffectDepthOfReadingPattern");
AA.isAffectDepthOfReadingPattern = dG;
function pG(t) {
return t.reduce((A, e) => A.concat(US(e)), []);
}
s(pG, "expandPatternsWithBraceExpansion");
AA.expandPatternsWithBraceExpansion = pG;
function US(t) {
let A = Fh.braces(t, { expand: !0, nodupes: !0, keepEscaping: !0 });
return A.sort((e, r) => e.length - r.length), A.filter((e) => e !== "");
}
s(US, "expandBraceExpansion");
AA.expandBraceExpansion = US;
function wG(t, A) {
let { parts: e } = Fh.scan(t, Object.assign(Object.assign({}, A), { parts: !0 }));
return e.length === 0 && (e = [t]), e[0].startsWith("/") && (e[0] = e[0].slice(1), e.unshift("")), e;
}
s(wG, "getPatternParts");
AA.getPatternParts = wG;
function _S(t, A) {
return Fh.makeRe(t, A);
}
s(_S, "makeRe");
AA.makeRe = _S;
function mG(t, A) {
return t.map((e) => _S(e, A));
}
s(mG, "convertPatternsToRe");
AA.convertPatternsToRe = mG;
function yG(t, A) {
return A.some((e) => e.test(t));
}
s(yG, "matchAny");
AA.matchAny = yG;
function DG(t) {
return t.replace(CG, "/");
}
s(DG, "removeDuplicateSlashes");
AA.removeDuplicateSlashes = DG;
function SG(t) {
let A = [], e = [];
for (let r of t)
GS(r) ? A.push(r) : e.push(r);
return [A, e];
}
s(SG, "partitionAbsoluteAndRelative");
AA.partitionAbsoluteAndRelative = SG;
function GS(t) {
return RS.isAbsolute(t);
}
s(GS, "isAbsolute");
AA.isAbsolute = GS;
});
// ../node_modules/merge2/index.js
var jS = m((pZ, HS) => {
"use strict";
var KG = require("stream"), OS = KG.PassThrough, FG = Array.prototype.slice;
HS.exports = kG;
function kG() {
let t = [], A = FG.call(arguments), e = !1, r = A[A.length - 1];
r && !Array.isArray(r) && r.pipe == null ? A.pop() : r = {};
let i = r.end !== !1, n = r.pipeError === !0;
r.objectMode == null && (r.objectMode = !0), r.highWaterMark == null && (r.highWaterMark = 64 * 1024);
let o = OS(r);
function g() {
for (let E = 0, Q = arguments.length; E < Q; E++)
t.push(TS(arguments[E], r));
return C(), this;
}
s(g, "addStream");
function C() {
if (e)
return;
e = !0;
let E = t.shift();
if (!E) {
process.nextTick(I);
return;
}
Array.isArray(E) || (E = [E]);
let Q = E.length + 1;
function B() {
--Q > 0 || (e = !1, C());
}
s(B, "next");
function p(w) {
function D() {
w.removeListener("merge2UnpipeEnd", D), w.removeListener("end", D), n && w.removeListener("error", N), B();
}
s(D, "onend");
function N(k) {
o.emit("error", k);
}
if (s(N, "onerror"), w._readableState.endEmitted)
return B();
w.on("merge2UnpipeEnd", D), w.on("end", D), n && w.on("error", N), w.pipe(o, { end: !1 }), w.resume();
}
s(p, "pipe");
for (let w = 0; w < E.length; w++)
p(E[w]);
B();
}
s(C, "mergeStream");
function I() {
e = !1, o.emit("queueDrain"), i && o.end();
}
return s(I, "endStream"), o.setMaxListeners(0), o.add = g, o.on("unpipe", function(E) {
E.emit("merge2UnpipeEnd");
}), A.length && g.apply(null, A), o;
}
s(kG, "merge2");
function TS(t, A) {
if (Array.isArray(t))
for (let e = 0, r = t.length; e < r; e++)
t[e] = TS(t[e], A);
else {
if (!t._readableState && t.pipe && (t = t.pipe(OS(A))), !t._readableState || !t.pause || !t.pipe)
throw new Error("Only readable stream can be merged.");
t.pause();
}
return t;
}
s(TS, "pauseStreams");
});
// ../node_modules/fast-glob/out/utils/stream.js
var zS = m((Lg) => {
"use strict";
Object.defineProperty(Lg, "__esModule", { value: !0 });
Lg.merge = void 0;
var bG = jS();
function NG(t) {
let A = bG(t);
return t.forEach((e) => {
e.once("error", (r) => A.emit("error", r));
}), A.once("close", () => qS(t)), A.once("end", () => qS(t)), A;
}
s(NG, "merge");
Lg.merge = NG;
function qS(t) {
t.forEach((A) => A.emit("close"));
}
s(qS, "propagateCloseEventToSources");
});
// ../node_modules/fast-glob/out/utils/string.js
var WS = m((Si) => {
"use strict";
Object.defineProperty(Si, "__esModule", { value: !0 });
Si.isEmpty = Si.isString = void 0;
function MG(t) {
return typeof t == "string";
}
s(MG, "isString");
Si.isString = MG;
function RG(t) {
return t === "";
}
s(RG, "isEmpty");
Si.isEmpty = RG;
});
// ../node_modules/fast-glob/out/utils/index.js
var bt = m((zA) => {
"use strict";
Object.defineProperty(zA, "__esModule", { value: !0 });
zA.string = zA.stream = zA.pattern = zA.path = zA.fs = zA.errno = zA.array = void 0;
var vG = ND();
zA.array = vG;
var LG = MD();
zA.errno = LG;
var xG = RD();
zA.fs = xG;
var YG = YD();
zA.path = YG;
var PG = JS();
zA.pattern = PG;
var UG = zS();
zA.stream = UG;
var _G = WS();
zA.string = _G;
});
// ../node_modules/fast-glob/out/managers/tasks.js
var $S = m((WA) => {
"use strict";
Object.defineProperty(WA, "__esModule", { value: !0 });
WA.convertPatternGroupToTask = WA.convertPatternGroupsToTasks = WA.groupPatternsByBaseDirectory = WA.getNegativePatternsAsPositive = WA.getPositivePatterns =
WA.convertPatternsToTasks = WA.generate = void 0;
var je = bt();
function GG(t, A) {
let e = VS(t, A), r = VS(A.ignore, A), i = XS(e), n = ZS(e, r), o = i.filter((E) => je.pattern.isStaticPattern(E, A)), g = i.filter((E) => je.
pattern.isDynamicPattern(E, A)), C = bh(
o,
n,
/* dynamic */
!1
), I = bh(
g,
n,
/* dynamic */
!0
);
return C.concat(I);
}
s(GG, "generate");
WA.generate = GG;
function VS(t, A) {
let e = t;
return A.braceExpansion && (e = je.pattern.expandPatternsWithBraceExpansion(e)), A.baseNameMatch && (e = e.map((r) => r.includes("/") ? r :
`**/${r}`)), e.map((r) => je.pattern.removeDuplicateSlashes(r));
}
s(VS, "processPatterns");
function bh(t, A, e) {
let r = [], i = je.pattern.getPatternsOutsideCurrentDirectory(t), n = je.pattern.getPatternsInsideCurrentDirectory(t), o = Nh(i), g = Nh(
n);
return r.push(...Mh(o, A, e)), "." in g ? r.push(Rh(".", n, A, e)) : r.push(...Mh(g, A, e)), r;
}
s(bh, "convertPatternsToTasks");
WA.convertPatternsToTasks = bh;
function XS(t) {
return je.pattern.getPositivePatterns(t);
}
s(XS, "getPositivePatterns");
WA.getPositivePatterns = XS;
function ZS(t, A) {
return je.pattern.getNegativePatterns(t).concat(A).map(je.pattern.convertToPositivePattern);
}
s(ZS, "getNegativePatternsAsPositive");
WA.getNegativePatternsAsPositive = ZS;
function Nh(t) {
let A = {};
return t.reduce((e, r) => {
let i = je.pattern.getBaseDirectory(r);
return i in e ? e[i].push(r) : e[i] = [r], e;
}, A);
}
s(Nh, "groupPatternsByBaseDirectory");
WA.groupPatternsByBaseDirectory = Nh;
function Mh(t, A, e) {
return Object.keys(t).map((r) => Rh(r, t[r], A, e));
}
s(Mh, "convertPatternGroupsToTasks");
WA.convertPatternGroupsToTasks = Mh;
function Rh(t, A, e, r) {
return {
dynamic: r,
positive: A,
negative: e,
base: t,
patterns: [].concat(A, e.map(je.pattern.convertToNegativePattern))
};
}
s(Rh, "convertPatternGroupToTask");
WA.convertPatternGroupToTask = Rh;
});
// ../node_modules/@nodelib/fs.stat/out/providers/async.js
var eK = m((xg) => {
"use strict";
Object.defineProperty(xg, "__esModule", { value: !0 });
xg.read = void 0;
function JG(t, A, e) {
A.fs.lstat(t, (r, i) => {
if (r !== null) {
AK(e, r);
return;
}
if (!i.isSymbolicLink() || !A.followSymbolicLink) {
vh(e, i);
return;
}
A.fs.stat(t, (n, o) => {
if (n !== null) {
if (A.throwErrorOnBrokenSymbolicLink) {
AK(e, n);
return;
}
vh(e, i);
return;
}
A.markSymbolicLink && (o.isSymbolicLink = () => !0), vh(e, o);
});
});
}
s(JG, "read");
xg.read = JG;
function AK(t, A) {
t(A);
}
s(AK, "callFailureCallback");
function vh(t, A) {
t(null, A);
}
s(vh, "callSuccessCallback");
});
// ../node_modules/@nodelib/fs.stat/out/providers/sync.js
var tK = m((Yg) => {
"use strict";
Object.defineProperty(Yg, "__esModule", { value: !0 });
Yg.read = void 0;
function OG(t, A) {
let e = A.fs.lstatSync(t);
if (!e.isSymbolicLink() || !A.followSymbolicLink)
return e;
try {
let r = A.fs.statSync(t);
return A.markSymbolicLink && (r.isSymbolicLink = () => !0), r;
} catch (r) {
if (!A.throwErrorOnBrokenSymbolicLink)
return e;
throw r;
}
}
s(OG, "read");
Yg.read = OG;
});
// ../node_modules/@nodelib/fs.stat/out/adapters/fs.js
var rK = m((Ar) => {
"use strict";
Object.defineProperty(Ar, "__esModule", { value: !0 });
Ar.createFileSystemAdapter = Ar.FILE_SYSTEM_ADAPTER = void 0;
var Pg = require("fs");
Ar.FILE_SYSTEM_ADAPTER = {
lstat: Pg.lstat,
stat: Pg.stat,
lstatSync: Pg.lstatSync,
statSync: Pg.statSync
};
function TG(t) {
return t === void 0 ? Ar.FILE_SYSTEM_ADAPTER : Object.assign(Object.assign({}, Ar.FILE_SYSTEM_ADAPTER), t);
}
s(TG, "createFileSystemAdapter");
Ar.createFileSystemAdapter = TG;
});
// ../node_modules/@nodelib/fs.stat/out/settings.js
var iK = m((xh) => {
"use strict";
Object.defineProperty(xh, "__esModule", { value: !0 });
var HG = rK(), Lh = class {
static {
s(this, "Settings");
}
constructor(A = {}) {
this._options = A, this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, !0), this.fs = HG.createFileSystemAdapter(
this._options.fs), this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, !1), this.throwErrorOnBrokenSymbolicLink = this.
_getValue(this._options.throwErrorOnBrokenSymbolicLink, !0);
}
_getValue(A, e) {
return A ?? e;
}
};
xh.default = Lh;
});
// ../node_modules/@nodelib/fs.stat/out/index.js
var kr = m((er) => {
"use strict";
Object.defineProperty(er, "__esModule", { value: !0 });
er.statSync = er.stat = er.Settings = void 0;
var sK = eK(), jG = tK(), Yh = iK();
er.Settings = Yh.default;
function qG(t, A, e) {
if (typeof A == "function") {
sK.read(t, Ph(), A);
return;
}
sK.read(t, Ph(A), e);
}
s(qG, "stat");
er.stat = qG;
function zG(t, A) {
let e = Ph(A);
return jG.read(t, e);
}
s(zG, "statSync");
er.statSync = zG;
function Ph(t = {}) {
return t instanceof Yh.default ? t : new Yh.default(t);
}
s(Ph, "getSettings");
});
// ../node_modules/queue-microtask/index.js
var gK = m((_Z, oK) => {
var nK;
oK.exports = typeof queueMicrotask == "function" ? queueMicrotask.bind(typeof window < "u" ? window : global) : (t) => (nK || (nK = Promise.
resolve())).then(t).catch((A) => setTimeout(() => {
throw A;
}, 0));
});
// ../node_modules/run-parallel/index.js
var CK = m((GZ, aK) => {
aK.exports = VG;
var WG = gK();
function VG(t, A) {
let e, r, i, n = !0;
Array.isArray(t) ? (e = [], r = t.length) : (i = Object.keys(t), e = {}, r = i.length);
function o(C) {
function I() {
A && A(C, e), A = null;
}
s(I, "end"), n ? WG(I) : I();
}
s(o, "done");
function g(C, I, E) {
e[C] = E, (--r === 0 || I) && o(I);
}
s(g, "each"), r ? i ? i.forEach(function(C) {
t[C](function(I, E) {
g(C, I, E);
});
}) : t.forEach(function(C, I) {
C(function(E, Q) {
g(I, E, Q);
});
}) : o(null), n = !1;
}
s(VG, "runParallel");
});
// ../node_modules/@nodelib/fs.scandir/out/constants.js
var Uh = m((_g) => {
"use strict";
Object.defineProperty(_g, "__esModule", { value: !0 });
_g.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;
var Ug = process.versions.node.split(".");
if (Ug[0] === void 0 || Ug[1] === void 0)
throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);
var cK = Number.parseInt(Ug[0], 10), XG = Number.parseInt(Ug[1], 10), IK = 10, ZG = 10, $G = cK > IK, AJ = cK === IK && XG >= ZG;
_g.IS_SUPPORT_READDIR_WITH_FILE_TYPES = $G || AJ;
});
// ../node_modules/@nodelib/fs.scandir/out/utils/fs.js
var hK = m((Gg) => {
"use strict";
Object.defineProperty(Gg, "__esModule", { value: !0 });
Gg.createDirentFromStats = void 0;
var _h = class {
static {
s(this, "DirentFromStats");
}
constructor(A, e) {
this.name = A, this.isBlockDevice = e.isBlockDevice.bind(e), this.isCharacterDevice = e.isCharacterDevice.bind(e), this.isDirectory = e.
isDirectory.bind(e), this.isFIFO = e.isFIFO.bind(e), this.isFile = e.isFile.bind(e), this.isSocket = e.isSocket.bind(e), this.isSymbolicLink =
e.isSymbolicLink.bind(e);
}
};
function eJ(t, A) {
return new _h(t, A);
}
s(eJ, "createDirentFromStats");
Gg.createDirentFromStats = eJ;
});
// ../node_modules/@nodelib/fs.scandir/out/utils/index.js
var Gh = m((Jg) => {
"use strict";
Object.defineProperty(Jg, "__esModule", { value: !0 });
Jg.fs = void 0;
var tJ = hK();
Jg.fs = tJ;
});
// ../node_modules/@nodelib/fs.scandir/out/providers/common.js
var Jh = m((Og) => {
"use strict";
Object.defineProperty(Og, "__esModule", { value: !0 });
Og.joinPathSegments = void 0;
function rJ(t, A, e) {
return t.endsWith(e) ? t + A : t + e + A;
}
s(rJ, "joinPathSegments");
Og.joinPathSegments = rJ;
});
// ../node_modules/@nodelib/fs.scandir/out/providers/async.js
var fK = m((tr) => {
"use strict";
Object.defineProperty(tr, "__esModule", { value: !0 });
tr.readdir = tr.readdirWithFileTypes = tr.read = void 0;
var iJ = kr(), lK = CK(), sJ = Uh(), EK = Gh(), uK = Jh();
function nJ(t, A, e) {
if (!A.stats && sJ.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
BK(t, A, e);
return;
}
QK(t, A, e);
}
s(nJ, "read");
tr.read = nJ;
function BK(t, A, e) {
A.fs.readdir(t, { withFileTypes: !0 }, (r, i) => {
if (r !== null) {
Tg(e, r);
return;
}
let n = i.map((g) => ({
dirent: g,
name: g.name,
path: uK.joinPathSegments(t, g.name, A.pathSegmentSeparator)
}));
if (!A.followSymbolicLinks) {
Oh(e, n);
return;
}
let o = n.map((g) => oJ(g, A));
lK(o, (g, C) => {
if (g !== null) {
Tg(e, g);
return;
}
Oh(e, C);
});
});
}
s(BK, "readdirWithFileTypes");
tr.readdirWithFileTypes = BK;
function oJ(t, A) {
return (e) => {
if (!t.dirent.isSymbolicLink()) {
e(null, t);
return;
}
A.fs.stat(t.path, (r, i) => {
if (r !== null) {
if (A.throwErrorOnBrokenSymbolicLink) {
e(r);
return;
}
e(null, t);
return;
}
t.dirent = EK.fs.createDirentFromStats(t.name, i), e(null, t);
});
};
}
s(oJ, "makeRplTaskEntry");
function QK(t, A, e) {
A.fs.readdir(t, (r, i) => {
if (r !== null) {
Tg(e, r);
return;
}
let n = i.map((o) => {
let g = uK.joinPathSegments(t, o, A.pathSegmentSeparator);
return (C) => {
iJ.stat(g, A.fsStatSettings, (I, E) => {
if (I !== null) {
C(I);
return;
}
let Q = {
name: o,
path: g,
dirent: EK.fs.createDirentFromStats(o, E)
};
A.stats && (Q.stats = E), C(null, Q);
});
};
});
lK(n, (o, g) => {
if (o !== null) {
Tg(e, o);
return;
}
Oh(e, g);
});
});
}
s(QK, "readdir");
tr.readdir = QK;
function Tg(t, A) {
t(A);
}
s(Tg, "callFailureCallback");
function Oh(t, A) {
t(null, A);
}
s(Oh, "callSuccessCallback");
});
// ../node_modules/@nodelib/fs.scandir/out/providers/sync.js
var yK = m((rr) => {
"use strict";
Object.defineProperty(rr, "__esModule", { value: !0 });
rr.readdir = rr.readdirWithFileTypes = rr.read = void 0;
var gJ = kr(), aJ = Uh(), dK = Gh(), pK = Jh();
function CJ(t, A) {
return !A.stats && aJ.IS_SUPPORT_READDIR_WITH_FILE_TYPES ? wK(t, A) : mK(t, A);
}
s(CJ, "read");
rr.read = CJ;
function wK(t, A) {
return A.fs.readdirSync(t, { withFileTypes: !0 }).map((r) => {
let i = {
dirent: r,
name: r.name,
path: pK.joinPathSegments(t, r.name, A.pathSegmentSeparator)
};
if (i.dirent.isSymbolicLink() && A.followSymbolicLinks)
try {
let n = A.fs.statSync(i.path);
i.dirent = dK.fs.createDirentFromStats(i.name, n);
} catch (n) {
if (A.throwErrorOnBrokenSymbolicLink)
throw n;
}
return i;
});
}
s(wK, "readdirWithFileTypes");
rr.readdirWithFileTypes = wK;
function mK(t, A) {
return A.fs.readdirSync(t).map((r) => {
let i = pK.joinPathSegments(t, r, A.pathSegmentSeparator), n = gJ.statSync(i, A.fsStatSettings), o = {
name: r,
path: i,
dirent: dK.fs.createDirentFromStats(r, n)
};
return A.stats && (o.stats = n), o;
});
}
s(mK, "readdir");
rr.readdir = mK;
});
// ../node_modules/@nodelib/fs.scandir/out/adapters/fs.js
var DK = m((ir) => {
"use strict";
Object.defineProperty(ir, "__esModule", { value: !0 });
ir.createFileSystemAdapter = ir.FILE_SYSTEM_ADAPTER = void 0;
var Ki = require("fs");
ir.FILE_SYSTEM_ADAPTER = {
lstat: Ki.lstat,
stat: Ki.stat,
lstatSync: Ki.lstatSync,
statSync: Ki.statSync,
readdir: Ki.readdir,
readdirSync: Ki.readdirSync
};
function cJ(t) {
return t === void 0 ? ir.FILE_SYSTEM_ADAPTER : Object.assign(Object.assign({}, ir.FILE_SYSTEM_ADAPTER), t);
}
s(cJ, "createFileSystemAdapter");
ir.createFileSystemAdapter = cJ;
});
// ../node_modules/@nodelib/fs.scandir/out/settings.js
var SK = m((Hh) => {
"use strict";
Object.defineProperty(Hh, "__esModule", { value: !0 });
var IJ = require("path"), hJ = kr(), lJ = DK(), Th = class {
static {
s(this, "Settings");
}
constructor(A = {}) {
this._options = A, this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, !1), this.fs = lJ.createFileSystemAdapter(
this._options.fs), this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, IJ.sep), this.stats = this._getValue(
this._options.stats, !1), this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, !0), this.
fsStatSettings = new hJ.Settings({
followSymbolicLink: this.followSymbolicLinks,
fs: this.fs,
throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
});
}
_getValue(A, e) {
return A ?? e;
}
};
Hh.default = Th;
});
// ../node_modules/@nodelib/fs.scandir/out/index.js
var Hg = m((sr) => {
"use strict";
Object.defineProperty(sr, "__esModule", { value: !0 });
sr.Settings = sr.scandirSync = sr.scandir = void 0;
var KK = fK(), EJ = yK(), jh = SK();
sr.Settings = jh.default;
function uJ(t, A, e) {
if (typeof A == "function") {
KK.read(t, qh(), A);
return;
}
KK.read(t, qh(A), e);
}
s(uJ, "scandir");
sr.scandir = uJ;
function BJ(t, A) {
let e = qh(A);
return EJ.read(t, e);
}
s(BJ, "scandirSync");
sr.scandirSync = BJ;
function qh(t = {}) {
return t instanceof jh.default ? t : new jh.default(t);
}
s(qh, "getSettings");
});
// ../node_modules/reusify/reusify.js
var kK = m((s$, FK) => {
"use strict";
function QJ(t) {
var A = new t(), e = A;
function r() {
var n = A;
return n.next ? A = n.next : (A = new t(), e = A), n.next = null, n;
}
s(r, "get");
function i(n) {
e.next = n, e = n;
}
return s(i, "release"), {
get: r,
release: i
};
}
s(QJ, "reusify");
FK.exports = QJ;
});
// ../node_modules/fastq/queue.js
var NK = m((o$, zh) => {
"use strict";
var fJ = kK();
function bK(t, A, e) {
if (typeof t == "function" && (e = A, A = t, t = null), !(e >= 1))
throw new Error("fastqueue concurrency must be equal to or greater than 1");
var r = fJ(dJ), i = null, n = null, o = 0, g = null, C = {
push: D,
drain: Ke,
saturated: Ke,
pause: E,
paused: !1,
get concurrency() {
return e;
},
set concurrency(U) {
if (!(U >= 1))
throw new Error("fastqueue concurrency must be equal to or greater than 1");
if (e = U, !C.paused)
for (; i && o < e; )
o++, k();
},
running: I,
resume: p,
idle: w,
length: Q,
getQueue: B,
unshift: N,
empty: Ke,
kill: _,
killAndDrain: v,
error: J
};
return C;
function I() {
return o;
}
function E() {
C.paused = !0;
}
function Q() {
for (var U = i, $ = 0; U; )
U = U.next, $++;
return $;
}
function B() {
for (var U = i, $ = []; U; )
$.push(U.value), U = U.next;
return $;
}
function p() {
if (C.paused) {
if (C.paused = !1, i === null) {
o++, k();
return;
}
for (; i && o < e; )
o++, k();
}
}
function w() {
return o === 0 && C.length() === 0;
}
function D(U, $) {
var q = r.get();
q.context = t, q.release = k, q.value = U, q.callback = $ || Ke, q.errorHandler = g, o >= e || C.paused ? n ? (n.next = q, n = q) : (i =
q, n = q, C.saturated()) : (o++, A.call(t, q.value, q.worked));
}
function N(U, $) {
var q = r.get();
q.context = t, q.release = k, q.value = U, q.callback = $ || Ke, q.errorHandler = g, o >= e || C.paused ? i ? (q.next = i, i = q) : (i =
q, n = q, C.saturated()) : (o++, A.call(t, q.value, q.worked));
}
function k(U) {
U && r.release(U);
var $ = i;
$ && o <= e ? C.paused ? o-- : (n === i && (n = null), i = $.next, $.next = null, A.call(t, $.value, $.worked), n === null && C.empty()) :
--o === 0 && C.drain();
}
function _() {
i = null, n = null, C.drain = Ke;
}
function v() {
i = null, n = null, C.drain(), C.drain = Ke;
}
function J(U) {
g = U;
}
}
s(bK, "fastqueue");
function Ke() {
}
s(Ke, "noop");
function dJ() {
this.value = null, this.callback = Ke, this.next = null, this.release = Ke, this.context = null, this.errorHandler = null;
var t = this;
this.worked = /* @__PURE__ */ s(function(e, r) {
var i = t.callback, n = t.errorHandler, o = t.value;
t.value = null, t.callback = Ke, t.errorHandler && n(e, o), i.call(t.context, e, r), t.release(t);
}, "worked");
}
s(dJ, "Task");
function pJ(t, A, e) {
typeof t == "function" && (e = A, A = t, t = null);
function r(E, Q) {
A.call(this, E).then(function(B) {
Q(null, B);
}, Q);
}
s(r, "asyncWrapper");
var i = bK(t, r, e), n = i.push, o = i.unshift;
return i.push = g, i.unshift = C, i.drained = I, i;
function g(E) {
var Q = new Promise(function(B, p) {
n(E, function(w, D) {
if (w) {
p(w);
return;
}
B(D);
});
});
return Q.catch(Ke), Q;
}
s(g, "push");
function C(E) {
var Q = new Promise(function(B, p) {
o(E, function(w, D) {
if (w) {
p(w);
return;
}
B(D);
});
});
return Q.catch(Ke), Q;
}
s(C, "unshift");
function I() {
var E = new Promise(function(Q) {
process.nextTick(function() {
if (i.idle())
Q();
else {
var B = i.drain;
i.drain = function() {
typeof B == "function" && B(), Q(), i.drain = B;
};
}
});
});
return E;
}
s(I, "drained");
}
s(pJ, "queueAsPromised");
zh.exports = bK;
zh.exports.promise = pJ;
});
// ../node_modules/@nodelib/fs.walk/out/readers/common.js
var jg = m((gt) => {
"use strict";
Object.defineProperty(gt, "__esModule", { value: !0 });
gt.joinPathSegments = gt.replacePathSegmentSeparator = gt.isAppliedFilter = gt.isFatalError = void 0;
function wJ(t, A) {
return t.errorFilter === null ? !0 : !t.errorFilter(A);
}
s(wJ, "isFatalError");
gt.isFatalError = wJ;
function mJ(t, A) {
return t === null || t(A);
}
s(mJ, "isAppliedFilter");
gt.isAppliedFilter = mJ;
function yJ(t, A) {
return t.split(/[/\\]/).join(A);
}
s(yJ, "replacePathSegmentSeparator");
gt.replacePathSegmentSeparator = yJ;
function DJ(t, A, e) {
return t === "" ? A : t.endsWith(e) ? t + A : t + e + A;
}
s(DJ, "joinPathSegments");
gt.joinPathSegments = DJ;
});
// ../node_modules/@nodelib/fs.walk/out/readers/reader.js
var Xh = m((Vh) => {
"use strict";
Object.defineProperty(Vh, "__esModule", { value: !0 });
var SJ = jg(), Wh = class {
static {
s(this, "Reader");
}
constructor(A, e) {
this._root = A, this._settings = e, this._root = SJ.replacePathSegmentSeparator(A, e.pathSegmentSeparator);
}
};
Vh.default = Wh;
});
// ../node_modules/@nodelib/fs.walk/out/readers/async.js
var Al = m(($h) => {
"use strict";
Object.defineProperty($h, "__esModule", { value: !0 });
var KJ = require("events"), FJ = Hg(), kJ = NK(), qg = jg(), bJ = Xh(), Zh = class extends bJ.default {
static {
s(this, "AsyncReader");
}
constructor(A, e) {
super(A, e), this._settings = e, this._scandir = FJ.scandir, this._emitter = new KJ.EventEmitter(), this._queue = kJ(this._worker.bind(
this), this._settings.concurrency), this._isFatalError = !1, this._isDestroyed = !1, this._queue.drain = () => {
this._isFatalError || this._emitter.emit("end");
};
}
read() {
return this._isFatalError = !1, this._isDestroyed = !1, setImmediate(() => {
this._pushToQueue(this._root, this._settings.basePath);
}), this._emitter;
}
get isDestroyed() {
return this._isDestroyed;
}
destroy() {
if (this._isDestroyed)
throw new Error("The reader is already destroyed");
this._isDestroyed = !0, this._queue.killAndDrain();
}
onEntry(A) {
this._emitter.on("entry", A);
}
onError(A) {
this._emitter.once("error", A);
}
onEnd(A) {
this._emitter.once("end", A);
}
_pushToQueue(A, e) {
let r = { directory: A, base: e };
this._queue.push(r, (i) => {
i !== null && this._handleError(i);
});
}
_worker(A, e) {
this._scandir(A.directory, this._settings.fsScandirSettings, (r, i) => {
if (r !== null) {
e(r, void 0);
return;
}
for (let n of i)
this._handleEntry(n, A.base);
e(null, void 0);
});
}
_handleError(A) {
this._isDestroyed || !qg.isFatalError(this._settings, A) || (this._isFatalError = !0, this._isDestroyed = !0, this._emitter.emit("erro\
r", A));
}
_handleEntry(A, e) {
if (this._isDestroyed || this._isFatalError)
return;
let r = A.path;
e !== void 0 && (A.path = qg.joinPathSegments(e, A.name, this._settings.pathSegmentSeparator)), qg.isAppliedFilter(this._settings.entryFilter,
A) && this._emitEntry(A), A.dirent.isDirectory() && qg.isAppliedFilter(this._settings.deepFilter, A) && this._pushToQueue(r, e === void 0 ?
void 0 : A.path);
}
_emitEntry(A) {
this._emitter.emit("entry", A);
}
};
$h.default = Zh;
});
// ../node_modules/@nodelib/fs.walk/out/providers/async.js
var MK = m((tl) => {
"use strict";
Object.defineProperty(tl, "__esModule", { value: !0 });
var NJ = Al(), el = class {
static {
s(this, "AsyncProvider");
}
constructor(A, e) {
this._root = A, this._settings = e, this._reader = new NJ.default(this._root, this._settings), this._storage = [];
}
read(A) {
this._reader.onError((e) => {
MJ(A, e);
}), this._reader.onEntry((e) => {
this._storage.push(e);
}), this._reader.onEnd(() => {
RJ(A, this._storage);
}), this._reader.read();
}
};
tl.default = el;
function MJ(t, A) {
t(A);
}
s(MJ, "callFailureCallback");
function RJ(t, A) {
t(null, A);
}
s(RJ, "callSuccessCallback");
});
// ../node_modules/@nodelib/fs.walk/out/providers/stream.js
var RK = m((il) => {
"use strict";
Object.defineProperty(il, "__esModule", { value: !0 });
var vJ = require("stream"), LJ = Al(), rl = class {
static {
s(this, "StreamProvider");
}
constructor(A, e) {
this._root = A, this._settings = e, this._reader = new LJ.default(this._root, this._settings), this._stream = new vJ.Readable({
objectMode: !0,
read: /* @__PURE__ */ s(() => {
}, "read"),
destroy: /* @__PURE__ */ s(() => {
this._reader.isDestroyed || this._reader.destroy();
}, "destroy")
});
}
read() {
return this._reader.onError((A) => {
this._stream.emit("error", A);
}), this._reader.onEntry((A) => {
this._stream.push(A);
}), this._reader.onEnd(() => {
this._stream.push(null);
}), this._reader.read(), this._stream;
}
};
il.default = rl;
});
// ../node_modules/@nodelib/fs.walk/out/readers/sync.js
var vK = m((nl) => {
"use strict";
Object.defineProperty(nl, "__esModule", { value: !0 });
var xJ = Hg(), zg = jg(), YJ = Xh(), sl = class extends YJ.default {
static {
s(this, "SyncReader");
}
constructor() {
super(...arguments), this._scandir = xJ.scandirSync, this._storage = [], this._queue = /* @__PURE__ */ new Set();
}
read() {
return this._pushToQueue(this._root, this._settings.basePath), this._handleQueue(), this._storage;
}
_pushToQueue(A, e) {
this._queue.add({ directory: A, base: e });
}
_handleQueue() {
for (let A of this._queue.values())
this._handleDirectory(A.directory, A.base);
}
_handleDirectory(A, e) {
try {
let r = this._scandir(A, this._settings.fsScandirSettings);
for (let i of r)
this._handleEntry(i, e);
} catch (r) {
this._handleError(r);
}
}
_handleError(A) {
if (zg.isFatalError(this._settings, A))
throw A;
}
_handleEntry(A, e) {
let r = A.path;
e !== void 0 && (A.path = zg.joinPathSegments(e, A.name, this._settings.pathSegmentSeparator)), zg.isAppliedFilter(this._settings.entryFilter,
A) && this._pushToStorage(A), A.dirent.isDirectory() && zg.isAppliedFilter(this._settings.deepFilter, A) && this._pushToQueue(r, e ===
void 0 ? void 0 : A.path);
}
_pushToStorage(A) {
this._storage.push(A);
}
};
nl.default = sl;
});
// ../node_modules/@nodelib/fs.walk/out/providers/sync.js
var LK = m((gl) => {
"use strict";
Object.defineProperty(gl, "__esModule", { value: !0 });
var PJ = vK(), ol = class {
static {
s(this, "SyncProvider");
}
constructor(A, e) {
this._root = A, this._settings = e, this._reader = new PJ.default(this._root, this._settings);
}
read() {
return this._reader.read();
}
};
gl.default = ol;
});
// ../node_modules/@nodelib/fs.walk/out/settings.js
var xK = m((Cl) => {
"use strict";
Object.defineProperty(Cl, "__esModule", { value: !0 });
var UJ = require("path"), _J = Hg(), al = class {
static {
s(this, "Settings");
}
constructor(A = {}) {
this._options = A, this.basePath = this._getValue(this._options.basePath, void 0), this.concurrency = this._getValue(this._options.concurrency,
Number.POSITIVE_INFINITY), this.deepFilter = this._getValue(this._options.deepFilter, null), this.entryFilter = this._getValue(this._options.
entryFilter, null), this.errorFilter = this._getValue(this._options.errorFilter, null), this.pathSegmentSeparator = this._getValue(this.
_options.pathSegmentSeparator, UJ.sep), this.fsScandirSettings = new _J.Settings({
followSymbolicLinks: this._options.followSymbolicLinks,
fs: this._options.fs,
pathSegmentSeparator: this._options.pathSegmentSeparator,
stats: this._options.stats,
throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
});
}
_getValue(A, e) {
return A ?? e;
}
};
Cl.default = al;
});
// ../node_modules/@nodelib/fs.walk/out/index.js
var Vg = m((at) => {
"use strict";
Object.defineProperty(at, "__esModule", { value: !0 });
at.Settings = at.walkStream = at.walkSync = at.walk = void 0;
var YK = MK(), GJ = RK(), JJ = LK(), cl = xK();
at.Settings = cl.default;
function OJ(t, A, e) {
if (typeof A == "function") {
new YK.default(t, Wg()).read(A);
return;
}
new YK.default(t, Wg(A)).read(e);
}
s(OJ, "walk");
at.walk = OJ;
function TJ(t, A) {
let e = Wg(A);
return new JJ.default(t, e).read();
}
s(TJ, "walkSync");
at.walkSync = TJ;
function HJ(t, A) {
let e = Wg(A);
return new GJ.default(t, e).read();
}
s(HJ, "walkStream");
at.walkStream = HJ;
function Wg(t = {}) {
return t instanceof cl.default ? t : new cl.default(t);
}
s(Wg, "getSettings");
});
// ../node_modules/fast-glob/out/readers/reader.js
var Xg = m((hl) => {
"use strict";
Object.defineProperty(hl, "__esModule", { value: !0 });
var jJ = require("path"), qJ = kr(), PK = bt(), Il = class {
static {
s(this, "Reader");
}
constructor(A) {
this._settings = A, this._fsStatSettings = new qJ.Settings({
followSymbolicLink: this._settings.followSymbolicLinks,
fs: this._settings.fs,
throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
});
}
_getFullEntryPath(A) {
return jJ.resolve(this._settings.cwd, A);
}
_makeEntry(A, e) {
let r = {
name: e,
path: e,
dirent: PK.fs.createDirentFromStats(e, A)
};
return this._settings.stats && (r.stats = A), r;
}
_isFatalError(A) {
return !PK.errno.isEnoentCodeError(A) && !this._settings.suppressErrors;
}
};
hl.default = Il;
});
// ../node_modules/fast-glob/out/readers/stream.js
var ul = m((El) => {
"use strict";
Object.defineProperty(El, "__esModule", { value: !0 });
var zJ = require("stream"), WJ = kr(), VJ = Vg(), XJ = Xg(), ll = class extends XJ.default {
static {
s(this, "ReaderStream");
}
constructor() {
super(...arguments), this._walkStream = VJ.walkStream, this._stat = WJ.stat;
}
dynamic(A, e) {
return this._walkStream(A, e);
}
static(A, e) {
let r = A.map(this._getFullEntryPath, this), i = new zJ.PassThrough({ objectMode: !0 });
i._write = (n, o, g) => this._getEntry(r[n], A[n], e).then((C) => {
C !== null && e.entryFilter(C) && i.push(C), n === r.length - 1 && i.end(), g();
}).catch(g);
for (let n = 0; n < r.length; n++)
i.write(n);
return i;
}
_getEntry(A, e, r) {
return this._getStat(A).then((i) => this._makeEntry(i, e)).catch((i) => {
if (r.errorFilter(i))
return null;
throw i;
});
}
_getStat(A) {
return new Promise((e, r) => {
this._stat(A, this._fsStatSettings, (i, n) => i === null ? e(n) : r(i));
});
}
};
El.default = ll;
});
// ../node_modules/fast-glob/out/readers/async.js
var UK = m((Ql) => {
"use strict";
Object.defineProperty(Ql, "__esModule", { value: !0 });
var ZJ = Vg(), $J = Xg(), A2 = ul(), Bl = class extends $J.default {
static {
s(this, "ReaderAsync");
}
constructor() {
super(...arguments), this._walkAsync = ZJ.walk, this._readerStream = new A2.default(this._settings);
}
dynamic(A, e) {
return new Promise((r, i) => {
this._walkAsync(A, e, (n, o) => {
n === null ? r(o) : i(n);
});
});
}
async static(A, e) {
let r = [], i = this._readerStream.static(A, e);
return new Promise((n, o) => {
i.once("error", o), i.on("data", (g) => r.push(g)), i.once("end", () => n(r));
});
}
};
Ql.default = Bl;
});
// ../node_modules/fast-glob/out/providers/matchers/matcher.js
var _K = m((dl) => {
"use strict";
Object.defineProperty(dl, "__esModule", { value: !0 });
var Hs = bt(), fl = class {
static {
s(this, "Matcher");
}
constructor(A, e, r) {
this._patterns = A, this._settings = e, this._micromatchOptions = r, this._storage = [], this._fillStorage();
}
_fillStorage() {
for (let A of this._patterns) {
let e = this._getPatternSegments(A), r = this._splitSegmentsIntoSections(e);
this._storage.push({
complete: r.length <= 1,
pattern: A,
segments: e,
sections: r
});
}
}
_getPatternSegments(A) {
return Hs.pattern.getPatternParts(A, this._micromatchOptions).map((r) => Hs.pattern.isDynamicPattern(r, this._settings) ? {
dynamic: !0,
pattern: r,
patternRe: Hs.pattern.makeRe(r, this._micromatchOptions)
} : {
dynamic: !1,
pattern: r
});
}
_splitSegmentsIntoSections(A) {
return Hs.array.splitWhen(A, (e) => e.dynamic && Hs.pattern.hasGlobStar(e.pattern));
}
};
dl.default = fl;
});
// ../node_modules/fast-glob/out/providers/matchers/partial.js
var GK = m((wl) => {
"use strict";
Object.defineProperty(wl, "__esModule", { value: !0 });
var e2 = _K(), pl = class extends e2.default {
static {
s(this, "PartialMatcher");
}
match(A) {
let e = A.split("/"), r = e.length, i = this._storage.filter((n) => !n.complete || n.segments.length > r);
for (let n of i) {
let o = n.sections[0];
if (!n.complete && r > o.length || e.every((C, I) => {
let E = n.segments[I];
return !!(E.dynamic && E.patternRe.test(C) || !E.dynamic && E.pattern === C);
}))
return !0;
}
return !1;
}
};
wl.default = pl;
});
// ../node_modules/fast-glob/out/providers/filters/deep.js
var JK = m((yl) => {
"use strict";
Object.defineProperty(yl, "__esModule", { value: !0 });
var Zg = bt(), t2 = GK(), ml = class {
static {
s(this, "DeepFilter");
}
constructor(A, e) {
this._settings = A, this._micromatchOptions = e;
}
getFilter(A, e, r) {
let i = this._getMatcher(e), n = this._getNegativePatternsRe(r);
return (o) => this._filter(A, o, i, n);
}
_getMatcher(A) {
return new t2.default(A, this._settings, this._micromatchOptions);
}
_getNegativePatternsRe(A) {
let e = A.filter(Zg.pattern.isAffectDepthOfReadingPattern);
return Zg.pattern.convertPatternsToRe(e, this._micromatchOptions);
}
_filter(A, e, r, i) {
if (this._isSkippedByDeep(A, e.path) || this._isSkippedSymbolicLink(e))
return !1;
let n = Zg.path.removeLeadingDotSegment(e.path);
return this._isSkippedByPositivePatterns(n, r) ? !1 : this._isSkippedByNegativePatterns(n, i);
}
_isSkippedByDeep(A, e) {
return this._settings.deep === 1 / 0 ? !1 : this._getEntryLevel(A, e) >= this._settings.deep;
}
_getEntryLevel(A, e) {
let r = e.split("/").length;
if (A === "")
return r;
let i = A.split("/").length;
return r - i;
}
_isSkippedSymbolicLink(A) {
return !this._settings.followSymbolicLinks && A.dirent.isSymbolicLink();
}
_isSkippedByPositivePatterns(A, e) {
return !this._settings.baseNameMatch && !e.match(A);
}
_isSkippedByNegativePatterns(A, e) {
return !Zg.pattern.matchAny(A, e);
}
};
yl.default = ml;
});
// ../node_modules/fast-glob/out/providers/filters/entry.js
var OK = m((Sl) => {
"use strict";
Object.defineProperty(Sl, "__esModule", { value: !0 });
var nr = bt(), Dl = class {
static {
s(this, "EntryFilter");
}
constructor(A, e) {
this._settings = A, this._micromatchOptions = e, this.index = /* @__PURE__ */ new Map();
}
getFilter(A, e) {
let [r, i] = nr.pattern.partitionAbsoluteAndRelative(e), n = {
positive: {
all: nr.pattern.convertPatternsToRe(A, this._micromatchOptions)
},
negative: {
absolute: nr.pattern.convertPatternsToRe(r, Object.assign(Object.assign({}, this._micromatchOptions), { dot: !0 })),
relative: nr.pattern.convertPatternsToRe(i, Object.assign(Object.assign({}, this._micromatchOptions), { dot: !0 }))
}
};
return (o) => this._filter(o, n);
}
_filter(A, e) {
let r = nr.path.removeLeadingDotSegment(A.path);
if (this._settings.unique && this._isDuplicateEntry(r) || this._onlyFileFilter(A) || this._onlyDirectoryFilter(A))
return !1;
let i = this._isMatchToPatternsSet(r, e, A.dirent.isDirectory());
return this._settings.unique && i && this._createIndexRecord(r), i;
}
_isDuplicateEntry(A) {
return this.index.has(A);
}
_createIndexRecord(A) {
this.index.set(A, void 0);
}
_onlyFileFilter(A) {
return this._settings.onlyFiles && !A.dirent.isFile();
}
_onlyDirectoryFilter(A) {
return this._settings.onlyDirectories && !A.dirent.isDirectory();
}
_isMatchToPatternsSet(A, e, r) {
return !(!this._isMatchToPatterns(A, e.positive.all, r) || this._isMatchToPatterns(A, e.negative.relative, r) || this._isMatchToAbsoluteNegative(
A, e.negative.absolute, r));
}
_isMatchToAbsoluteNegative(A, e, r) {
if (e.length === 0)
return !1;
let i = nr.path.makeAbsolute(this._settings.cwd, A);
return this._isMatchToPatterns(i, e, r);
}
_isMatchToPatterns(A, e, r) {
if (e.length === 0)
return !1;
let i = nr.pattern.matchAny(A, e);
return !i && r ? nr.pattern.matchAny(A + "/", e) : i;
}
};
Sl.default = Dl;
});
// ../node_modules/fast-glob/out/providers/filters/error.js
var TK = m((Fl) => {
"use strict";
Object.defineProperty(Fl, "__esModule", { value: !0 });
var r2 = bt(), Kl = class {
static {
s(this, "ErrorFilter");
}
constructor(A) {
this._settings = A;
}
getFilter() {
return (A) => this._isNonFatalError(A);
}
_isNonFatalError(A) {
return r2.errno.isEnoentCodeError(A) || this._settings.suppressErrors;
}
};
Fl.default = Kl;
});
// ../node_modules/fast-glob/out/providers/transformers/entry.js
var jK = m((bl) => {
"use strict";
Object.defineProperty(bl, "__esModule", { value: !0 });
var HK = bt(), kl = class {
static {
s(this, "EntryTransformer");
}
constructor(A) {
this._settings = A;
}
getTransformer() {
return (A) => this._transform(A);
}
_transform(A) {
let e = A.path;
return this._settings.absolute && (e = HK.path.makeAbsolute(this._settings.cwd, e), e = HK.path.unixify(e)), this._settings.markDirectories &&
A.dirent.isDirectory() && (e += "/"), this._settings.objectMode ? Object.assign(Object.assign({}, A), { path: e }) : e;
}
};
bl.default = kl;
});
// ../node_modules/fast-glob/out/providers/provider.js
var $g = m((Ml) => {
"use strict";
Object.defineProperty(Ml, "__esModule", { value: !0 });
var i2 = require("path"), s2 = JK(), n2 = OK(), o2 = TK(), g2 = jK(), Nl = class {
static {
s(this, "Provider");
}
constructor(A) {
this._settings = A, this.errorFilter = new o2.default(this._settings), this.entryFilter = new n2.default(this._settings, this._getMicromatchOptions()),
this.deepFilter = new s2.default(this._settings, this._getMicromatchOptions()), this.entryTransformer = new g2.default(this._settings);
}
_getRootDirectory(A) {
return i2.resolve(this._settings.cwd, A.base);
}
_getReaderOptions(A) {
let e = A.base === "." ? "" : A.base;
return {
basePath: e,
pathSegmentSeparator: "/",
concurrency: this._settings.concurrency,
deepFilter: this.deepFilter.getFilter(e, A.positive, A.negative),
entryFilter: this.entryFilter.getFilter(A.positive, A.negative),
errorFilter: this.errorFilter.getFilter(),
followSymbolicLinks: this._settings.followSymbolicLinks,
fs: this._settings.fs,
stats: this._settings.stats,
throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,
transform: this.entryTransformer.getTransformer()
};
}
_getMicromatchOptions() {
return {
dot: this._settings.dot,
matchBase: this._settings.baseNameMatch,
nobrace: !this._settings.braceExpansion,
nocase: !this._settings.caseSensitiveMatch,
noext: !this._settings.extglob,
noglobstar: !this._settings.globstar,
posix: !0,
strictSlashes: !1
};
}
};
Ml.default = Nl;
});
// ../node_modules/fast-glob/out/providers/async.js
var qK = m((vl) => {
"use strict";
Object.defineProperty(vl, "__esModule", { value: !0 });
var a2 = UK(), C2 = $g(), Rl = class extends C2.default {
static {
s(this, "ProviderAsync");
}
constructor() {
super(...arguments), this._reader = new a2.default(this._settings);
}
async read(A) {
let e = this._getRootDirectory(A), r = this._getReaderOptions(A);
return (await this.api(e, A, r)).map((n) => r.transform(n));
}
api(A, e, r) {
return e.dynamic ? this._reader.dynamic(A, r) : this._reader.static(e.patterns, r);
}
};
vl.default = Rl;
});
// ../node_modules/fast-glob/out/providers/stream.js
var zK = m((xl) => {
"use strict";
Object.defineProperty(xl, "__esModule", { value: !0 });
var c2 = require("stream"), I2 = ul(), h2 = $g(), Ll = class extends h2.default {
static {
s(this, "ProviderStream");
}
constructor() {
super(...arguments), this._reader = new I2.default(this._settings);
}
read(A) {
let e = this._getRootDirectory(A), r = this._getReaderOptions(A), i = this.api(e, A, r), n = new c2.Readable({ objectMode: !0, read: /* @__PURE__ */ s(
() => {
}, "read") });
return i.once("error", (o) => n.emit("error", o)).on("data", (o) => n.emit("data", r.transform(o))).once("end", () => n.emit("end")), n.
once("close", () => i.destroy()), n;
}
api(A, e, r) {
return e.dynamic ? this._reader.dynamic(A, r) : this._reader.static(e.patterns, r);
}
};
xl.default = Ll;
});
// ../node_modules/fast-glob/out/readers/sync.js
var WK = m((Pl) => {
"use strict";
Object.defineProperty(Pl, "__esModule", { value: !0 });
var l2 = kr(), E2 = Vg(), u2 = Xg(), Yl = class extends u2.default {
static {
s(this, "ReaderSync");
}
constructor() {
super(...arguments), this._walkSync = E2.walkSync, this._statSync = l2.statSync;
}
dynamic(A, e) {
return this._walkSync(A, e);
}
static(A, e) {
let r = [];
for (let i of A) {
let n = this._getFullEntryPath(i), o = this._getEntry(n, i, e);
o === null || !e.entryFilter(o) || r.push(o);
}
return r;
}
_getEntry(A, e, r) {
try {
let i = this._getStat(A);
return this._makeEntry(i, e);
} catch (i) {
if (r.errorFilter(i))
return null;
throw i;
}
}
_getStat(A) {
return this._statSync(A, this._fsStatSettings);
}
};
Pl.default = Yl;
});
// ../node_modules/fast-glob/out/providers/sync.js
var VK = m((_l) => {
"use strict";
Object.defineProperty(_l, "__esModule", { value: !0 });
var B2 = WK(), Q2 = $g(), Ul = class extends Q2.default {
static {
s(this, "ProviderSync");
}
constructor() {
super(...arguments), this._reader = new B2.default(this._settings);
}
read(A) {
let e = this._getRootDirectory(A), r = this._getReaderOptions(A);
return this.api(e, A, r).map(r.transform);
}
api(A, e, r) {
return e.dynamic ? this._reader.dynamic(A, r) : this._reader.static(e.patterns, r);
}
};
_l.default = Ul;
});
// ../node_modules/fast-glob/out/settings.js
var XK = m((ki) => {
"use strict";
Object.defineProperty(ki, "__esModule", { value: !0 });
ki.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
var Fi = require("fs"), f2 = require("os"), d2 = Math.max(f2.cpus().length, 1);
ki.DEFAULT_FILE_SYSTEM_ADAPTER = {
lstat: Fi.lstat,
lstatSync: Fi.lstatSync,
stat: Fi.stat,
statSync: Fi.statSync,
readdir: Fi.readdir,
readdirSync: Fi.readdirSync
};
var Gl = class {
static {
s(this, "Settings");
}
constructor(A = {}) {
this._options = A, this.absolute = this._getValue(this._options.absolute, !1), this.baseNameMatch = this._getValue(this._options.baseNameMatch,
!1), this.braceExpansion = this._getValue(this._options.braceExpansion, !0), this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch,
!0), this.concurrency = this._getValue(this._options.concurrency, d2), this.cwd = this._getValue(this._options.cwd, process.cwd()), this.
deep = this._getValue(this._options.deep, 1 / 0), this.dot = this._getValue(this._options.dot, !1), this.extglob = this._getValue(this.
_options.extglob, !0), this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, !0), this.fs = this._getFileSystemMethods(
this._options.fs), this.globstar = this._getValue(this._options.globstar, !0), this.ignore = this._getValue(this._options.ignore, []),
this.markDirectories = this._getValue(this._options.markDirectories, !1), this.objectMode = this._getValue(this._options.objectMode, !1),
this.onlyDirectories = this._getValue(this._options.onlyDirectories, !1), this.onlyFiles = this._getValue(this._options.onlyFiles, !0),
this.stats = this._getValue(this._options.stats, !1), this.suppressErrors = this._getValue(this._options.suppressErrors, !1), this.throwErrorOnBrokenSymbolicLink =
this._getValue(this._options.throwErrorOnBrokenSymbolicLink, !1), this.unique = this._getValue(this._options.unique, !0), this.onlyDirectories &&
(this.onlyFiles = !1), this.stats && (this.objectMode = !0), this.ignore = [].concat(this.ignore);
}
_getValue(A, e) {
return A === void 0 ? e : A;
}
_getFileSystemMethods(A = {}) {
return Object.assign(Object.assign({}, ki.DEFAULT_FILE_SYSTEM_ADAPTER), A);
}
};
ki.default = Gl;
});
// ../node_modules/fast-glob/out/index.js
var Hl = m((r9, $K) => {
"use strict";
var ZK = $S(), p2 = qK(), w2 = zK(), m2 = VK(), Jl = XK(), Fe = bt();
async function Ol(t, A) {
qe(t);
let e = Tl(t, p2.default, A), r = await Promise.all(e);
return Fe.array.flatten(r);
}
s(Ol, "FastGlob");
(function(t) {
t.glob = t, t.globSync = A, t.globStream = e, t.async = t;
function A(I, E) {
qe(I);
let Q = Tl(I, m2.default, E);
return Fe.array.flatten(Q);
}
s(A, "sync"), t.sync = A;
function e(I, E) {
qe(I);
let Q = Tl(I, w2.default, E);
return Fe.stream.merge(Q);
}
s(e, "stream"), t.stream = e;
function r(I, E) {
qe(I);
let Q = [].concat(I), B = new Jl.default(E);
return ZK.generate(Q, B);
}
s(r, "generateTasks"), t.generateTasks = r;
function i(I, E) {
qe(I);
let Q = new Jl.default(E);
return Fe.pattern.isDynamicPattern(I, Q);
}
s(i, "isDynamicPattern"), t.isDynamicPattern = i;
function n(I) {
return qe(I), Fe.path.escape(I);
}
s(n, "escapePath"), t.escapePath = n;
function o(I) {
return qe(I), Fe.path.convertPathToPattern(I);
}
s(o, "convertPathToPattern"), t.convertPathToPattern = o;
let g;
(function(I) {
function E(B) {
return qe(B), Fe.path.escapePosixPath(B);
}
s(E, "escapePath"), I.escapePath = E;
function Q(B) {
return qe(B), Fe.path.convertPosixPathToPattern(B);
}
s(Q, "convertPathToPattern"), I.convertPathToPattern = Q;
})(g = t.posix || (t.posix = {}));
let C;
(function(I) {
function E(B) {
return qe(B), Fe.path.escapeWindowsPath(B);
}
s(E, "escapePath"), I.escapePath = E;
function Q(B) {
return qe(B), Fe.path.convertWindowsPathToPattern(B);
}
s(Q, "convertPathToPattern"), I.convertPathToPattern = Q;
})(C = t.win32 || (t.win32 = {}));
})(Ol || (Ol = {}));
function Tl(t, A, e) {
let r = [].concat(t), i = new Jl.default(e), n = ZK.generate(r, i), o = new A(i);
return n.map(o.read, o);
}
s(Tl, "getWorks");
function qe(t) {
if (![].concat(t).every((r) => Fe.string.isString(r) && !Fe.string.isEmpty(r)))
throw new TypeError("Patterns must be a string (non empty) or an array of strings");
}
s(qe, "assertPatternsInput");
$K.exports = Ol;
});
// ../node_modules/globby/node_modules/path-type/index.js
async function jl(t, A, e) {
if (typeof e != "string")
throw new TypeError(`Expected a string, got ${typeof e}`);
try {
return (await eF.default[t](e))[A]();
} catch (r) {
if (r.code === "ENOENT")
return !1;
throw r;
}
}
function ql(t, A, e) {
if (typeof e != "string")
throw new TypeError(`Expected a string, got ${typeof e}`);
try {
return AF.default[t](e)[A]();
} catch (r) {
if (r.code === "ENOENT")
return !1;
throw r;
}
}
var AF, eF, s9, tF, n9, o9, rF, g9, iF = Qe(() => {
AF = P(require("node:fs"), 1), eF = P(require("node:fs/promises"), 1);
s(jl, "isType");
s(ql, "isTypeSync");
s9 = jl.bind(void 0, "stat", "isFile"), tF = jl.bind(void 0, "stat", "isDirectory"), n9 = jl.bind(void 0, "lstat", "isSymbolicLink"), o9 =
ql.bind(void 0, "statSync", "isFile"), rF = ql.bind(void 0, "statSync", "isDirectory"), g9 = ql.bind(void 0, "lstatSync", "isSymbolicLink");
});
// ../node_modules/unicorn-magic/default.js
var sF = Qe(() => {
});
// ../node_modules/unicorn-magic/node.js
function js(t) {
return t instanceof URL ? (0, oF.fileURLToPath)(t) : t;
}
var nF, zl, y2, oF, h9, l9, Wl = Qe(() => {
nF = require("node:util"), zl = require("node:child_process"), y2 = P(require("node:path"), 1), oF = require("node:url");
sF();
h9 = (0, nF.promisify)(zl.execFile);
s(js, "toPath");
l9 = 10 * 1024 * 1024;
});
// ../node_modules/globby/node_modules/ignore/index.js
var EF = m((Q9, tE) => {
function CF(t) {
return Array.isArray(t) ? t : [t];
}
s(CF, "makeArray");
var D2 = void 0, Xl = "", gF = " ", Vl = "\\", S2 = /^\s+$/, K2 = /(?:[^\\]|^)\\$/, F2 = /^\\!/, k2 = /^\\#/, b2 = /\r?\n/g, N2 = /^\.{0,2}\/|^\.{1,2}$/,
M2 = /\/$/, bi = "/", cF = "node-ignore";
typeof Symbol < "u" && (cF = Symbol.for("node-ignore"));
var IF = cF, qs = /* @__PURE__ */ s((t, A, e) => (Object.defineProperty(t, A, { value: e }), e), "define"), R2 = /([0-z])-([0-z])/g, hF = /* @__PURE__ */ s(
() => !1, "RETURN_FALSE"), v2 = /* @__PURE__ */ s((t) => t.replace(
R2,
(A, e, r) => e.charCodeAt(0) <= r.charCodeAt(0) ? A : Xl
), "sanitizeRange"), L2 = /* @__PURE__ */ s((t) => {
let { length: A } = t;
return t.slice(0, A - A % 2);
}, "cleanRangeBackSlash"), x2 = [
[
// Remove BOM
// TODO:
// Other similar zero-width characters?
/^\uFEFF/,
() => Xl
],
// > Trailing spaces are ignored unless they are quoted with backslash ("\")
[
// (a\ ) -> (a )
// (a ) -> (a)
// (a ) -> (a)
// (a \ ) -> (a )
/((?:\\\\)*?)(\\?\s+)$/,
(t, A, e) => A + (e.indexOf("\\") === 0 ? gF : Xl)
],
// Replace (\ ) with ' '
// (\ ) -> ' '
// (\\ ) -> '\\ '
// (\\\ ) -> '\\ '
[
/(\\+?)\s/g,
(t, A) => {
let { length: e } = A;
return A.slice(0, e - e % 2) + gF;
}
],
// Escape metacharacters
// which is written down by users but means special for regular expressions.
// > There are 12 characters with special meanings:
// > - the backslash \,
// > - the caret ^,
// > - the dollar sign $,
// > - the period or dot .,
// > - the vertical bar or pipe symbol |,
// > - the question mark ?,
// > - the asterisk or star *,
// > - the plus sign +,
// > - the opening parenthesis (,
// > - the closing parenthesis ),
// > - and the opening square bracket [,
// > - the opening curly brace {,
// > These special characters are often called "metacharacters".
[
/[\\$.|*+(){^]/g,
(t) => `\\${t}`
],
[
// > a question mark (?) matches a single character
/(?!\\)\?/g,
() => "[^/]"
],
// leading slash
[
// > A leading slash matches the beginning of the pathname.
// > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
// A leading slash matches the beginning of the pathname
/^\//,
() => "^"
],
// replace special metacharacter slash after the leading slash
[
/\//g,
() => "\\/"
],
[
// > A leading "**" followed by a slash means match in all directories.
// > For example, "**/foo" matches file or directory "foo" anywhere,
// > the same as pattern "foo".
// > "**/foo/bar" matches file or directory "bar" anywhere that is directly
// > under directory "foo".
// Notice that the '*'s have been replaced as '\\*'
/^\^*\\\*\\\*\\\//,
// '**/foo' <-> 'foo'
() => "^(?:.*\\/)?"
],
// starting
[
// there will be no leading '/'
// (which has been replaced by section "leading slash")
// If starts with '**', adding a '^' to the regular expression also works
/^(?=[^^])/,
/* @__PURE__ */ s(function() {
return /\/(?!$)/.test(this) ? "^" : "(?:^|\\/)";
}, "startingReplacer")
],
// two globstars
[
// Use lookahead assertions so that we could match more than one `'/**'`
/\\\/\\\*\\\*(?=\\\/|$)/g,
// Zero, one or several directories
// should not use '*', or it will be replaced by the next replacer
// Check if it is not the last `'/**'`
(t, A, e) => A + 6 < e.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
],
// normal intermediate wildcards
[
// Never replace escaped '*'
// ignore rule '\*' will match the path '*'
// 'abc.*/' -> go
// 'abc.*' -> skip this rule,
// coz trailing single wildcard will be handed by [trailing wildcard]
/(^|[^\\]+)(\\\*)+(?=.+)/g,
// '*.js' matches '.js'
// '*.js' doesn't match 'abc'
(t, A, e) => {
let r = e.replace(/\\\*/g, "[^\\/]*");
return A + r;
}
],
[
// unescape, revert step 3 except for back slash
// For example, if a user escape a '\\*',
// after step 3, the result will be '\\\\\\*'
/\\\\\\(?=[$.|*+(){^])/g,
() => Vl
],
[
// '\\\\' -> '\\'
/\\\\/g,
() => Vl
],
[
// > The range notation, e.g. [a-zA-Z],
// > can be used to match one of the characters in a range.
// `\` is escaped by step 3
/(\\)?\[([^\]/]*?)(\\*)($|\])/g,
(t, A, e, r, i) => A === Vl ? `\\[${e}${L2(r)}${i}` : i === "]" && r.length % 2 === 0 ? `[${v2(e)}${r}]` : "[]"
],
// ending
[
// 'js' will not match 'js.'
// 'ab' will not match 'abc'
/(?:[^*])$/,
// WTF!
// https://git-scm.com/docs/gitignore
// changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
// which re-fixes #24, #38
// > If there is a separator at the end of the pattern then the pattern
// > will only match directories, otherwise the pattern can match both
// > files and directories.
// 'js*' will not match 'a.js'
// 'js/' will not match 'a.js'
// 'js' will match 'a.js' and 'a.js/'
(t) => /\/$/.test(t) ? `${t}$` : `${t}(?=$|\\/$)`
]
], Y2 = /(^|\\\/)?\\\*$/, zs = "regex", Aa = "checkRegex", aF = "_", P2 = {
[zs](t, A) {
return `${A ? `${A}[^/]+` : "[^/]*"}(?=$|\\/$)`;
},
[Aa](t, A) {
return `${A ? `${A}[^/]*` : "[^/]*"}(?=$|\\/$)`;
}
}, U2 = /* @__PURE__ */ s((t) => x2.reduce(
(A, [e, r]) => A.replace(e, r.bind(t)),
t
), "makeRegexPrefix"), ea = /* @__PURE__ */ s((t) => typeof t == "string", "isString"), _2 = /* @__PURE__ */ s((t) => t && ea(t) && !S2.test(
t) && !K2.test(t) && t.indexOf("#") !== 0, "checkPattern"), G2 = /* @__PURE__ */ s((t) => t.split(b2).filter(Boolean), "splitPattern"), Zl = class {
static {
s(this, "IgnoreRule");
}
constructor(A, e, r, i, n, o) {
this.pattern = A, this.mark = e, this.negative = n, qs(this, "body", r), qs(this, "ignoreCase", i), qs(this, "regexPrefix", o);
}
get regex() {
let A = aF + zs;
return this[A] ? this[A] : this._make(zs, A);
}
get checkRegex() {
let A = aF + Aa;
return this[A] ? this[A] : this._make(Aa, A);
}
_make(A, e) {
let r = this.regexPrefix.replace(
Y2,
// It does not need to bind pattern
P2[A]
), i = this.ignoreCase ? new RegExp(r, "i") : new RegExp(r);
return qs(this, e, i);
}
}, J2 = /* @__PURE__ */ s(({
pattern: t,
mark: A
}, e) => {
let r = !1, i = t;
i.indexOf("!") === 0 && (r = !0, i = i.substr(1)), i = i.replace(F2, "!").replace(k2, "#");
let n = U2(i);
return new Zl(
t,
A,
i,
e,
r,
n
);
}, "createRule"), $l = class {
static {
s(this, "RuleManager");
}
constructor(A) {
this._ignoreCase = A, this._rules = [];
}
_add(A) {
if (A && A[IF]) {
this._rules = this._rules.concat(A._rules._rules), this._added = !0;
return;
}
if (ea(A) && (A = {
pattern: A
}), _2(A.pattern)) {
let e = J2(A, this._ignoreCase);
this._added = !0, this._rules.push(e);
}
}
// @param {Array<string> | string | Ignore} pattern
add(A) {
return this._added = !1, CF(
ea(A) ? G2(A) : A
).forEach(this._add, this), this._added;
}
// Test one single path without recursively checking parent directories
//
// - checkUnignored `boolean` whether should check if the path is unignored,
// setting `checkUnignored` to `false` could reduce additional
// path matching.
// - check `string` either `MODE_IGNORE` or `MODE_CHECK_IGNORE`
// @returns {TestResult} true if a file is ignored
test(A, e, r) {
let i = !1, n = !1, o;
this._rules.forEach((C) => {
let { negative: I } = C;
n === I && i !== n || I && !i && !n && !e || !C[r].test(A) || (i = !I, n = I, o = I ? D2 : C);
});
let g = {
ignored: i,
unignored: n
};
return o && (g.rule = o), g;
}
}, O2 = /* @__PURE__ */ s((t, A) => {
throw new A(t);
}, "throwError"), Nt = /* @__PURE__ */ s((t, A, e) => ea(t) ? t ? Nt.isNotRelative(t) ? e(
`path should be a \`path.relative()\`d string, but got "${A}"`,
RangeError
) : !0 : e("path must not be empty", TypeError) : e(
`path must be a string, but got \`${A}\``,
TypeError
), "checkPath"), lF = /* @__PURE__ */ s((t) => N2.test(t), "isNotRelative");
Nt.isNotRelative = lF;
Nt.convert = (t) => t;
var AE = class {
static {
s(this, "Ignore");
}
constructor({
ignorecase: A = !0,
ignoreCase: e = A,
allowRelativePaths: r = !1
} = {}) {
qs(this, IF, !0), this._rules = new $l(e), this._strictPathCheck = !r, this._initCache();
}
_initCache() {
this._ignoreCache = /* @__PURE__ */ Object.create(null), this._testCache = /* @__PURE__ */ Object.create(null);
}
add(A) {
return this._rules.add(A) && this._initCache(), this;
}
// legacy
addPattern(A) {
return this.add(A);
}
// @returns {TestResult}
_test(A, e, r, i) {
let n = A && Nt.convert(A);
return Nt(
n,
A,
this._strictPathCheck ? O2 : hF
), this._t(n, e, r, i);
}
checkIgnore(A) {
if (!M2.test(A))
return this.test(A);
let e = A.split(bi).filter(Boolean);
if (e.pop(), e.length) {
let r = this._t(
e.join(bi) + bi,
this._testCache,
!0,
e
);
if (r.ignored)
return r;
}
return this._rules.test(A, !1, Aa);
}
_t(A, e, r, i) {
if (A in e)
return e[A];
if (i || (i = A.split(bi).filter(Boolean)), i.pop(), !i.length)
return e[A] = this._rules.test(A, r, zs);
let n = this._t(
i.join(bi) + bi,
e,
r,
i
);
return e[A] = n.ignored ? n : this._rules.test(A, r, zs);
}
ignores(A) {
return this._test(A, this._ignoreCache, !1).ignored;
}
createFilter() {
return (A) => !this.ignores(A);
}
filter(A) {
return CF(A).filter(this.createFilter());
}
// @returns {TestResult}
test(A) {
return this._test(A, this._testCache, !0);
}
}, eE = /* @__PURE__ */ s((t) => new AE(t), "factory"), T2 = /* @__PURE__ */ s((t) => Nt(t && Nt.convert(t), t, hF), "isPathValid");
if (
// Detect `process` so that it can run in browsers.
typeof process < "u" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")
) {
let t = /* @__PURE__ */ s((e) => /^\\\\\?\\/.test(e) || /["<>|\u0000-\u001F]+/u.test(e) ? e : e.replace(/\\/g, "/"), "makePosix");
Nt.convert = t;
let A = /^[a-z]:\//i;
Nt.isNotRelative = (e) => A.test(e) || lF(e);
}
tE.exports = eE;
eE.default = eE;
tE.exports.isPathValid = T2;
});
// ../node_modules/globby/utilities.js
var Ws, rE = Qe(() => {
Ws = /* @__PURE__ */ s((t) => t[0] === "!", "isNegativePattern");
});
// ../node_modules/globby/ignore.js
var uF, BF, QF, br, iE, fF, H2, dF, ta, j2, q2, z2, pF, wF, Vs, Xs, mF, yF, sE = Qe(() => {
uF = P(require("node:process"), 1), BF = P(require("node:fs"), 1), QF = P(require("node:fs/promises"), 1), br = P(require("node:path"), 1),
iE = P(Hl(), 1), fF = P(EF(), 1);
Vr();
Wl();
rE();
H2 = [
"**/node_modules",
"**/flow-typed",
"**/coverage",
"**/.git"
], dF = {
absolute: !0,
dot: !0
}, ta = "**/.gitignore", j2 = /* @__PURE__ */ s((t, A) => Ws(t) ? "!" + br.default.posix.join(A, t.slice(1)) : br.default.posix.join(A, t),
"applyBaseToPattern"), q2 = /* @__PURE__ */ s((t, A) => {
let e = Ae(br.default.relative(A, br.default.dirname(t.filePath)));
return t.content.split(/\r?\n/).filter((r) => r && !r.startsWith("#")).map((r) => j2(r, e));
}, "parseIgnoreFile"), z2 = /* @__PURE__ */ s((t, A) => {
if (A = Ae(A), br.default.isAbsolute(t)) {
if (Ae(t).startsWith(A))
return br.default.relative(A, t);
throw new Error(`Path ${t} is not in cwd ${A}`);
}
return t;
}, "toRelativePath"), pF = /* @__PURE__ */ s((t, A) => {
let e = t.flatMap((i) => q2(i, A)), r = (0, fF.default)().add(e);
return (i) => (i = js(i), i = z2(i, A), i ? r.ignores(Ae(i)) : !1);
}, "getIsIgnoredPredicate"), wF = /* @__PURE__ */ s((t = {}) => ({
cwd: js(t.cwd) ?? uF.default.cwd(),
suppressErrors: !!t.suppressErrors,
deep: typeof t.deep == "number" ? t.deep : Number.POSITIVE_INFINITY,
ignore: [...t.ignore ?? [], ...H2]
}), "normalizeOptions"), Vs = /* @__PURE__ */ s(async (t, A) => {
let { cwd: e, suppressErrors: r, deep: i, ignore: n } = wF(A), o = await (0, iE.default)(t, {
cwd: e,
suppressErrors: r,
deep: i,
ignore: n,
...dF
}), g = await Promise.all(
o.map(async (C) => ({
filePath: C,
content: await QF.default.readFile(C, "utf8")
}))
);
return pF(g, e);
}, "isIgnoredByIgnoreFiles"), Xs = /* @__PURE__ */ s((t, A) => {
let { cwd: e, suppressErrors: r, deep: i, ignore: n } = wF(A), g = iE.default.sync(t, {
cwd: e,
suppressErrors: r,
deep: i,
ignore: n,
...dF
}).map((C) => ({
filePath: C,
content: BF.default.readFileSync(C, "utf8")
}));
return pF(g, e);
}, "isIgnoredByIgnoreFilesSync"), mF = /* @__PURE__ */ s((t) => Vs(ta, t), "isGitIgnored"), yF = /* @__PURE__ */ s((t) => Xs(ta, t), "isGi\
tIgnoredSync");
});
// ../node_modules/globby/index.js
var UF = {};
Yi(UF, {
convertPathToPattern: () => iO,
generateGlobTasks: () => tO,
generateGlobTasksSync: () => rO,
globby: () => Z2,
globbyStream: () => AO,
globbySync: () => $2,
isDynamicPattern: () => eO,
isGitIgnored: () => mF,
isGitIgnoredSync: () => yF,
isIgnoredByIgnoreFiles: () => Vs,
isIgnoredByIgnoreFilesSync: () => Xs
});
var nE, KF, Nr, Ni, W2, FF, kF, DF, SF, oE, V2, bF, NF, ra, MF, X2, RF, vF, LF, xF, YF, PF, gE, Z2, $2, AO, eO, tO, rO, iO, _F = Qe(() => {
nE = P(require("node:process"), 1), KF = P(require("node:fs"), 1), Nr = P(require("node:path"), 1);
bD();
Ni = P(Hl(), 1);
iF();
Wl();
sE();
rE();
sE();
W2 = /* @__PURE__ */ s((t) => {
if (t.some((A) => typeof A != "string"))
throw new TypeError("Patterns must be a string or an array of strings");
}, "assertPatternsInput"), FF = /* @__PURE__ */ s((t, A) => {
let e = Ws(t) ? t.slice(1) : t;
return Nr.default.isAbsolute(e) ? e : Nr.default.join(A, e);
}, "normalizePathForDirectoryGlob"), kF = /* @__PURE__ */ s(({ directoryPath: t, files: A, extensions: e }) => {
let r = e?.length > 0 ? `.${e.length > 1 ? `{${e.join(",")}}` : e[0]}` : "";
return A ? A.map((i) => Nr.default.posix.join(t, `**/${Nr.default.extname(i) ? i : `${i}${r}`}`)) : [Nr.default.posix.join(t, `**${r ? `\
/*${r}` : ""}`)];
}, "getDirectoryGlob"), DF = /* @__PURE__ */ s(async (t, {
cwd: A = nE.default.cwd(),
files: e,
extensions: r
} = {}) => (await Promise.all(
t.map(async (n) => await tF(FF(n, A)) ? kF({ directoryPath: n, files: e, extensions: r }) : n)
)).flat(), "directoryToGlob"), SF = /* @__PURE__ */ s((t, {
cwd: A = nE.default.cwd(),
files: e,
extensions: r
} = {}) => t.flatMap((i) => rF(FF(i, A)) ? kF({ directoryPath: i, files: e, extensions: r }) : i), "directoryToGlobSync"), oE = /* @__PURE__ */ s(
(t) => (t = [...new Set([t].flat())], W2(t), t), "toPatternsArray"), V2 = /* @__PURE__ */ s((t) => {
if (!t)
return;
let A;
try {
A = KF.default.statSync(t);
} catch {
return;
}
if (!A.isDirectory())
throw new Error("The `cwd` option must be a path to a directory");
}, "checkCwdOption"), bF = /* @__PURE__ */ s((t = {}) => (t = {
...t,
ignore: t.ignore ?? [],
expandDirectories: t.expandDirectories ?? !0,
cwd: js(t.cwd)
}, V2(t.cwd), t), "normalizeOptions"), NF = /* @__PURE__ */ s((t) => async (A, e) => t(oE(A), bF(e)), "normalizeArguments"), ra = /* @__PURE__ */ s(
(t) => (A, e) => t(oE(A), bF(e)), "normalizeArgumentsSync"), MF = /* @__PURE__ */ s((t) => {
let { ignoreFiles: A, gitignore: e } = t, r = A ? oE(A) : [];
return e && r.push(ta), r;
}, "getIgnoreFilesPatterns"), X2 = /* @__PURE__ */ s(async (t) => {
let A = MF(t);
return vF(
A.length > 0 && await Vs(A, t)
);
}, "getFilter"), RF = /* @__PURE__ */ s((t) => {
let A = MF(t);
return vF(
A.length > 0 && Xs(A, t)
);
}, "getFilterSync"), vF = /* @__PURE__ */ s((t) => {
let A = /* @__PURE__ */ new Set();
return (e) => {
let r = Nr.default.normalize(e.path ?? e);
return A.has(r) || t && t(r) ? !1 : (A.add(r), !0);
};
}, "createFilterFunction"), LF = /* @__PURE__ */ s((t, A) => t.flat().filter((e) => A(e)), "unionFastGlobResults"), xF = /* @__PURE__ */ s(
(t, A) => {
let e = [];
for (; t.length > 0; ) {
let r = t.findIndex((n) => Ws(n));
if (r === -1) {
e.push({ patterns: t, options: A });
break;
}
let i = t[r].slice(1);
for (let n of e)
n.options.ignore.push(i);
r !== 0 && e.push({
patterns: t.slice(0, r),
options: {
...A,
ignore: [
...A.ignore,
i
]
}
}), t = t.slice(r + 1);
}
return e;
}, "convertNegativePatterns"), YF = /* @__PURE__ */ s((t, A) => ({
...A ? { cwd: A } : {},
...Array.isArray(t) ? { files: t } : t
}), "normalizeExpandDirectoriesOption"), PF = /* @__PURE__ */ s(async (t, A) => {
let e = xF(t, A), { cwd: r, expandDirectories: i } = A;
if (!i)
return e;
let n = YF(i, r);
return Promise.all(
e.map(async (o) => {
let { patterns: g, options: C } = o;
return [
g,
C.ignore
] = await Promise.all([
DF(g, n),
DF(C.ignore, { cwd: r })
]), { patterns: g, options: C };
})
);
}, "generateTasks"), gE = /* @__PURE__ */ s((t, A) => {
let e = xF(t, A), { cwd: r, expandDirectories: i } = A;
if (!i)
return e;
let n = YF(i, r);
return e.map((o) => {
let { patterns: g, options: C } = o;
return g = SF(g, n), C.ignore = SF(C.ignore, { cwd: r }), { patterns: g, options: C };
});
}, "generateTasksSync"), Z2 = NF(async (t, A) => {
let [
e,
r
] = await Promise.all([
PF(t, A),
X2(A)
]), i = await Promise.all(e.map((n) => (0, Ni.default)(n.patterns, n.options)));
return LF(i, r);
}), $2 = ra((t, A) => {
let e = gE(t, A), r = RF(A), i = e.map((n) => Ni.default.sync(n.patterns, n.options));
return LF(i, r);
}), AO = ra((t, A) => {
let e = gE(t, A), r = RF(A), i = e.map((o) => Ni.default.stream(o.patterns, o.options));
return Bh(i).filter((o) => r(o));
}), eO = ra(
(t, A) => t.some((e) => Ni.default.isDynamicPattern(e, A))
), tO = NF(PF), rO = ra(gE), { convertPathToPattern: iO } = Ni.default;
});
// ../node_modules/p-limit/index.js
var OF = {};
Yi(OF, {
default: () => aE,
limitFunction: () => nO
});
function aE(t) {
JF(t);
let A = new hr(), e = 0, r = /* @__PURE__ */ s(() => {
e < t && A.size > 0 && (A.dequeue()(), e++);
}, "resumeNext"), i = /* @__PURE__ */ s(() => {
e--, r();
}, "next"), n = /* @__PURE__ */ s(async (C, I, E) => {
let Q = (async () => C(...E))();
I(Q);
try {
await Q;
} catch {
}
i();
}, "run"), o = /* @__PURE__ */ s((C, I, E) => {
new Promise((Q) => {
A.enqueue(Q);
}).then(
n.bind(void 0, C, I, E)
), (async () => (await Promise.resolve(), e < t && r()))();
}, "enqueue"), g = /* @__PURE__ */ s((C, ...I) => new Promise((E) => {
o(C, E, I);
}), "generator");
return Object.defineProperties(g, {
activeCount: {
get: /* @__PURE__ */ s(() => e, "get")
},
pendingCount: {
get: /* @__PURE__ */ s(() => A.size, "get")
},
clearQueue: {
value() {
A.clear();
}
},
concurrency: {
get: /* @__PURE__ */ s(() => t, "get"),
set(C) {
JF(C), t = C, queueMicrotask(() => {
for (; e < t && A.size > 0; )
r();
});
}
}
}), g;
}
function nO(t, A) {
let { concurrency: e } = A, r = aE(e);
return (...i) => r(() => t(...i));
}
function JF(t) {
if (!((Number.isInteger(t) || t === Number.POSITIVE_INFINITY) && t > 0))
throw new TypeError("Expected `concurrency` to be a number from 1 and up");
}
var TF = Qe(() => {
_a();
s(aE, "pLimit");
s(nO, "limitFunction");
s(JF, "validateConcurrency");
});
// src/common/index.ts
var aO = {};
Yi(aO, {
COMMON_ENV_VARS: () => Ut,
DEFAULT_FILES_PATTERN: () => hd,
FileSystemCache: () => is,
HandledError: () => si,
JsPackageManager: () => qA,
JsPackageManagerFactory: () => eI,
boost: () => rn,
builderPackages: () => aR,
cache: () => EN,
checkAddonOrder: () => pR,
codeLog: () => v0,
commandLog: () => M0,
commonGlobOptions: () => OC,
createFileSystemCache: () => Nn,
createLogStream: () => QR,
extractProperFrameworkName: () => jC,
extractProperRendererNameFromFramework: () => HR,
filterPresetsConfig: () => Yu,
findConfigFile: () => so,
formatFileContent: () => j0,
frameworkPackages: () => ur,
frameworkToRenderer: () => TC,
getAddonNames: () => oc,
getAutoRefs: () => Yf,
getBuilderOptions: () => OR,
getChars: () => sc,
getCoercedStorybookVersion: () => uR,
getConfigInfo: () => go,
getDirectoryFromWorkingDir: () => ld,
getEnvConfig: () => BR,
getFrameworkName: () => HC,
getInterpretedFile: () => ar,
getInterpretedFileWithExt: () => la,
getPackageDetails: () => xC,
getPresets: () => Gu,
getPreviewBodyTemplate: () => G0,
getPreviewHeadTemplate: () => J0,
getProjectRoot: () => QA,
getRefs: () => zR,
getRendererName: () => TR,
getStoryId: () => W0,
getStoryTitle: () => Fd,
getStorybookConfiguration: () => YC,
getStorybookInfo: () => hR,
getSyncedStorybookAddons: () => Md,
globToRegexp: () => ic,
interopRequireDefault: () => sn,
interpolate: () => F0,
invalidateProjectRootCache: () => oR,
isCorePackage: () => PC,
isPreservingSymlinks: () => _0,
isSatelliteAddon: () => fR,
loadAllPresets: () => sN,
loadCustomPresets: () => La,
loadEnvs: () => UR,
loadMainConfig: () => k0,
loadManagerOrAddonsFile: () => b0,
loadPreset: () => Uu,
loadPreviewOrConfigFile: () => N0,
logConfig: () => L0,
nodePathsToArray: () => RC,
normalizeStories: () => Y0,
normalizeStoriesEntry: () => Ed,
normalizeStoryPath: () => vC,
paddedLog: () => R0,
parseList: () => ER,
posix: () => nc,
readTemplate: () => P0,
removeAddon: () => U0,
rendererPackages: () => oo,
resolveAddonName: () => Pu,
resolvePathInStorybookCache: () => qa,
satisfies: () => H0,
scanAndTransformFiles: () => sO,
serverRequire: () => Yr,
serverResolve: () => Pr,
stringifyEnvs: () => _R,
stringifyProcessEnvs: () => GR,
stripAbsNodeModulesPath: () => Pa,
syncStorybookAddons: () => X0,
temporaryDirectory: () => hf,
temporaryFile: () => lf,
transformImportFiles: () => gO,
validateConfigurationFiles: () => es,
validateFrameworkName: () => T0,
versions: () => We
});
module.exports = fe(aO);
// src/common/versions.ts
var We = {
"@storybook/addon-a11y": "9.0.16",
"@storybook/addon-docs": "9.0.16",
"@storybook/addon-jest": "9.0.16",
"@storybook/addon-links": "9.0.16",
"@storybook/addon-onboarding": "9.0.16",
"storybook-addon-pseudo-states": "9.0.16",
"@storybook/addon-themes": "9.0.16",
"@storybook/addon-vitest": "9.0.16",
"@storybook/builder-vite": "9.0.16",
"@storybook/builder-webpack5": "9.0.16",
storybook: "9.0.16",
"@storybook/angular": "9.0.16",
"@storybook/ember": "9.0.16",
"@storybook/html-vite": "9.0.16",
"@storybook/nextjs": "9.0.16",
"@storybook/nextjs-vite": "9.0.16",
"@storybook/preact-vite": "9.0.16",
"@storybook/react-native-web-vite": "9.0.16",
"@storybook/react-vite": "9.0.16",
"@storybook/react-webpack5": "9.0.16",
"@storybook/server-webpack5": "9.0.16",
"@storybook/svelte-vite": "9.0.16",
"@storybook/sveltekit": "9.0.16",
"@storybook/vue3-vite": "9.0.16",
"@storybook/web-components-vite": "9.0.16",
sb: "9.0.16",
"@storybook/cli": "9.0.16",
"@storybook/codemod": "9.0.16",
"@storybook/core-webpack": "9.0.16",
"create-storybook": "9.0.16",
"@storybook/csf-plugin": "9.0.16",
"eslint-plugin-storybook": "9.0.16",
"@storybook/react-dom-shim": "9.0.16",
"@storybook/preset-create-react-app": "9.0.16",
"@storybook/preset-react-webpack": "9.0.16",
"@storybook/preset-server-webpack": "9.0.16",
"@storybook/html": "9.0.16",
"@storybook/preact": "9.0.16",
"@storybook/react": "9.0.16",
"@storybook/server": "9.0.16",
"@storybook/svelte": "9.0.16",
"@storybook/vue3": "9.0.16",
"@storybook/web-components": "9.0.16"
};
// src/common/presets.ts
var Ir = require("node:path"), Xr = require("storybook/internal/node-logger"), Lu = require("storybook/internal/server-errors"), xu = P(ht(), 1);
// src/common/utils/interpret-files.ts
var ha = require("node:fs");
var rn = /* @__PURE__ */ new Set([".js", ".jsx", ".ts", ".tsx", ".cts", ".mts", ".cjs", ".mjs"]);
function Pk() {
return [...Array.from(rn)];
}
s(Pk, "sortExtensions");
var DE = Pk();
function ar(t) {
return DE.map((A) => t.endsWith(A) ? t : `${t}${A}`).find((A) => (0, ha.existsSync)(A));
}
s(ar, "getInterpretedFile");
function la(t) {
return DE.map((A) => ({ path: t.endsWith(A) ? t : `${t}${A}`, ext: A })).find((A) => (0, ha.existsSync)(A.path));
}
s(la, "getInterpretedFileWithExt");
// src/common/utils/interpret-require.ts
var SE = !1;
function sn(t) {
let A = !!require("module")._extensions[".ts"];
if (SE === !1 && !A) {
let { register: i } = require("esbuild-register/dist/node");
SE = !0, i({
target: `node${process.version.slice(1)}`,
format: "cjs",
hookIgnoreNodeModules: !0,
// Some frameworks, like Stylus, rely on the 'name' property of classes or functions
// https://github.com/storybookjs/storybook/issues/19049
keepNames: !0,
tsconfigRaw: `{
"compilerOptions": {
"strict": false,
"skipLibCheck": true,
},
}`
});
}
let e = require(t);
return typeof e == "object" && e !== null && typeof e.default < "u" ? e.default : e;
}
s(sn, "interopRequireDefault");
function Uk(t) {
for (let A = 0; A < t.length; A += 1) {
let e = la(t[A]);
if (e)
return e;
}
}
s(Uk, "getCandidate");
function Yr(t) {
let A = Pr(t);
return A ? sn(A) : null;
}
s(Yr, "serverRequire");
function Pr(t) {
let A = Array.isArray(t) ? t : [t], e = Uk(A);
return e ? e.path : null;
}
s(Pr, "serverResolve");
// src/common/utils/load-custom-presets.ts
var Kn = require("node:path");
// src/common/utils/validate-configuration-files.ts
var va = require("node:path"), Du = require("storybook/internal/node-logger"), Su = require("storybook/internal/server-errors");
// ../node_modules/glob/node_modules/minimatch/dist/esm/index.js
var qE = P(UE(), 1);
// ../node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js
var _i = /* @__PURE__ */ s((t) => {
if (typeof t != "string")
throw new TypeError("invalid pattern");
if (t.length > 65536)
throw new TypeError("pattern is too long");
}, "assertValidPattern");
// ../node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js
var qk = {
"[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", !0],
"[:alpha:]": ["\\p{L}\\p{Nl}", !0],
"[:ascii:]": ["\\x00-\\x7f", !1],
"[:blank:]": ["\\p{Zs}\\t", !0],
"[:cntrl:]": ["\\p{Cc}", !0],
"[:digit:]": ["\\p{Nd}", !0],
"[:graph:]": ["\\p{Z}\\p{C}", !0, !0],
"[:lower:]": ["\\p{Ll}", !0],
"[:print:]": ["\\p{C}", !0],
"[:punct:]": ["\\p{P}", !0],
"[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", !0],
"[:upper:]": ["\\p{Lu}", !0],
"[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", !0],
"[:xdigit:]": ["A-Fa-f0-9", !1]
}, Gi = /* @__PURE__ */ s((t) => t.replace(/[[\]\\-]/g, "\\$&"), "braceEscape"), zk = /* @__PURE__ */ s((t) => t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
"\\$&"), "regexpEscape"), _E = /* @__PURE__ */ s((t) => t.join(""), "rangesToString"), GE = /* @__PURE__ */ s((t, A) => {
let e = A;
if (t.charAt(e) !== "[")
throw new Error("not in a brace expression");
let r = [], i = [], n = e + 1, o = !1, g = !1, C = !1, I = !1, E = e, Q = "";
A: for (; n < t.length; ) {
let D = t.charAt(n);
if ((D === "!" || D === "^") && n === e + 1) {
I = !0, n++;
continue;
}
if (D === "]" && o && !C) {
E = n + 1;
break;
}
if (o = !0, D === "\\" && !C) {
C = !0, n++;
continue;
}
if (D === "[" && !C) {
for (let [N, [k, _, v]] of Object.entries(qk))
if (t.startsWith(N, n)) {
if (Q)
return ["$.", !1, t.length - e, !0];
n += N.length, v ? i.push(k) : r.push(k), g = g || _;
continue A;
}
}
if (C = !1, Q) {
D > Q ? r.push(Gi(Q) + "-" + Gi(D)) : D === Q && r.push(Gi(D)), Q = "", n++;
continue;
}
if (t.startsWith("-]", n + 1)) {
r.push(Gi(D + "-")), n += 2;
continue;
}
if (t.startsWith("-", n + 1)) {
Q = D, n += 2;
continue;
}
r.push(Gi(D)), n++;
}
if (E < n)
return ["", !1, 0, !1];
if (!r.length && !i.length)
return ["$.", !1, t.length - e, !0];
if (i.length === 0 && r.length === 1 && /^\\?.$/.test(r[0]) && !I) {
let D = r[0].length === 2 ? r[0].slice(-1) : r[0];
return [zk(D), !1, E - e, !1];
}
let B = "[" + (I ? "^" : "") + _E(r) + "]", p = "[" + (I ? "" : "^") + _E(i) + "]";
return [r.length && i.length ? "(" + B + "|" + p + ")" : r.length ? B : p, g, E - e, !0];
}, "parseClass");
// ../node_modules/glob/node_modules/minimatch/dist/esm/unescape.js
var Ne = /* @__PURE__ */ s((t, { windowsPathsNoEscape: A = !1 } = {}) => A ? t.replace(/\[([^\/\\])\]/g, "$1") : t.replace(/((?!\\).|^)\[([^\/\\])\]/g,
"$1$2").replace(/\\([^\/])/g, "$1"), "unescape");
// ../node_modules/glob/node_modules/minimatch/dist/esm/ast.js
var Wk = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]), JE = /* @__PURE__ */ s((t) => Wk.has(t), "isExtglobType"), Vk = "(?!(?:^|/)\\.\\.\
?(?:$|/))", nn = "(?!\\.)", Xk = /* @__PURE__ */ new Set(["[", "."]), Zk = /* @__PURE__ */ new Set(["..", "."]), $k = new Set("().*{}+?[]^$\\\
!"), Ab = /* @__PURE__ */ s((t) => t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), "regExpEscape"), Ba = "[^/]", OE = Ba + "*?", TE = Ba + "+\
?", Ur = class t {
static {
s(this, "AST");
}
type;
#A;
#e;
#t = !1;
#r = [];
#n;
#I;
#o;
#c = !1;
#g;
#a;
// set to true if it's an extglob with no children
// (which really means one child of '')
#s = !1;
constructor(A, e, r = {}) {
this.type = A, A && (this.#e = !0), this.#n = e, this.#A = this.#n ? this.#n.#A : this, this.#g = this.#A === this ? r : this.#A.#g, this.#o =
this.#A === this ? [] : this.#A.#o, A === "!" && !this.#A.#c && this.#o.push(this), this.#I = this.#n ? this.#n.#r.length : 0;
}
get hasMagic() {
if (this.#e !== void 0)
return this.#e;
for (let A of this.#r)
if (typeof A != "string" && (A.type || A.hasMagic))
return this.#e = !0;
return this.#e;
}
// reconstructs the pattern
toString() {
return this.#a !== void 0 ? this.#a : this.type ? this.#a = this.type + "(" + this.#r.map((A) => String(A)).join("|") + ")" : this.#a = this.#r.
map((A) => String(A)).join("");
}
#B() {
if (this !== this.#A)
throw new Error("should only call on root");
if (this.#c)
return this;
this.toString(), this.#c = !0;
let A;
for (; A = this.#o.pop(); ) {
if (A.type !== "!")
continue;
let e = A, r = e.#n;
for (; r; ) {
for (let i = e.#I + 1; !r.type && i < r.#r.length; i++)
for (let n of A.#r) {
if (typeof n == "string")
throw new Error("string part in extglob AST??");
n.copyIn(r.#r[i]);
}
e = r, r = e.#n;
}
}
return this;
}
push(...A) {
for (let e of A)
if (e !== "") {
if (typeof e != "string" && !(e instanceof t && e.#n === this))
throw new Error("invalid part: " + e);
this.#r.push(e);
}
}
toJSON() {
let A = this.type === null ? this.#r.slice().map((e) => typeof e == "string" ? e : e.toJSON()) : [this.type, ...this.#r.map((e) => e.toJSON())];
return this.isStart() && !this.type && A.unshift([]), this.isEnd() && (this === this.#A || this.#A.#c && this.#n?.type === "!") && A.push(
{}), A;
}
isStart() {
if (this.#A === this)
return !0;
if (!this.#n?.isStart())
return !1;
if (this.#I === 0)
return !0;
let A = this.#n;
for (let e = 0; e < this.#I; e++) {
let r = A.#r[e];
if (!(r instanceof t && r.type === "!"))
return !1;
}
return !0;
}
isEnd() {
if (this.#A === this || this.#n?.type === "!")
return !0;
if (!this.#n?.isEnd())
return !1;
if (!this.type)
return this.#n?.isEnd();
let A = this.#n ? this.#n.#r.length : 0;
return this.#I === A - 1;
}
copyIn(A) {
typeof A == "string" ? this.push(A) : this.push(A.clone(this));
}
clone(A) {
let e = new t(this.type, A);
for (let r of this.#r)
e.copyIn(r);
return e;
}
static #Q(A, e, r, i) {
let n = !1, o = !1, g = -1, C = !1;
if (e.type === null) {
let p = r, w = "";
for (; p < A.length; ) {
let D = A.charAt(p++);
if (n || D === "\\") {
n = !n, w += D;
continue;
}
if (o) {
p === g + 1 ? (D === "^" || D === "!") && (C = !0) : D === "]" && !(p === g + 2 && C) && (o = !1), w += D;
continue;
} else if (D === "[") {
o = !0, g = p, C = !1, w += D;
continue;
}
if (!i.noext && JE(D) && A.charAt(p) === "(") {
e.push(w), w = "";
let N = new t(D, e);
p = t.#Q(A, N, p, i), e.push(N);
continue;
}
w += D;
}
return e.push(w), p;
}
let I = r + 1, E = new t(null, e), Q = [], B = "";
for (; I < A.length; ) {
let p = A.charAt(I++);
if (n || p === "\\") {
n = !n, B += p;
continue;
}
if (o) {
I === g + 1 ? (p === "^" || p === "!") && (C = !0) : p === "]" && !(I === g + 2 && C) && (o = !1), B += p;
continue;
} else if (p === "[") {
o = !0, g = I, C = !1, B += p;
continue;
}
if (JE(p) && A.charAt(I) === "(") {
E.push(B), B = "";
let w = new t(p, E);
E.push(w), I = t.#Q(A, w, I, i);
continue;
}
if (p === "|") {
E.push(B), B = "", Q.push(E), E = new t(null, e);
continue;
}
if (p === ")")
return B === "" && e.#r.length === 0 && (e.#s = !0), E.push(B), B = "", e.push(...Q, E), I;
B += p;
}
return e.type = null, e.#e = void 0, e.#r = [A.substring(r - 1)], I;
}
static fromGlob(A, e = {}) {
let r = new t(null, void 0, e);
return t.#Q(A, r, 0, e), r;
}
// returns the regular expression if there's magic, or the unescaped
// string if not.
toMMPattern() {
if (this !== this.#A)
return this.#A.toMMPattern();
let A = this.toString(), [e, r, i, n] = this.toRegExpSource();
if (!(i || this.#e || this.#g.nocase && !this.#g.nocaseMagicOnly && A.toUpperCase() !== A.toLowerCase()))
return r;
let g = (this.#g.nocase ? "i" : "") + (n ? "u" : "");
return Object.assign(new RegExp(`^${e}$`, g), {
_src: e,
_glob: A
});
}
get options() {
return this.#g;
}
// returns the string match, the regexp source, whether there's magic
// in the regexp (so a regular expression is required) and whether or
// not the uflag is needed for the regular expression (for posix classes)
// TODO: instead of injecting the start/end at this point, just return
// the BODY of the regexp, along with the start/end portions suitable
// for binding the start/end in either a joined full-path makeRe context
// (where we bind to (^|/), or a standalone matchPart context (where
// we bind to ^, and not /). Otherwise slashes get duped!
//
// In part-matching mode, the start is:
// - if not isStart: nothing
// - if traversal possible, but not allowed: ^(?!\.\.?$)
// - if dots allowed or not possible: ^
// - if dots possible and not allowed: ^(?!\.)
// end is:
// - if not isEnd(): nothing
// - else: $
//
// In full-path matching mode, we put the slash at the START of the
// pattern, so start is:
// - if first pattern: same as part-matching mode
// - if not isStart(): nothing
// - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
// - if dots allowed or not possible: /
// - if dots possible and not allowed: /(?!\.)
// end is:
// - if last pattern, same as part-matching mode
// - else nothing
//
// Always put the (?:$|/) on negated tails, though, because that has to be
// there to bind the end of the negated pattern portion, and it's easier to
// just stick it in now rather than try to inject it later in the middle of
// the pattern.
//
// We can just always return the same end, and leave it up to the caller
// to know whether it's going to be used joined or in parts.
// And, if the start is adjusted slightly, can do the same there:
// - if not isStart: nothing
// - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
// - if dots allowed or not possible: (?:/|^)
// - if dots possible and not allowed: (?:/|^)(?!\.)
//
// But it's better to have a simpler binding without a conditional, for
// performance, so probably better to return both start options.
//
// Then the caller just ignores the end if it's not the first pattern,
// and the start always gets applied.
//
// But that's always going to be $ if it's the ending pattern, or nothing,
// so the caller can just attach $ at the end of the pattern when building.
//
// So the todo is:
// - better detect what kind of start is needed
// - return both flavors of starting pattern
// - attach $ at the end of the pattern when creating the actual RegExp
//
// Ah, but wait, no, that all only applies to the root when the first pattern
// is not an extglob. If the first pattern IS an extglob, then we need all
// that dot prevention biz to live in the extglob portions, because eg
// +(*|.x*) can match .xy but not .yx.
//
// So, return the two flavors if it's #root and the first child is not an
// AST, otherwise leave it to the child AST to handle it, and there,
// use the (?:^|/) style of start binding.
//
// Even simplified further:
// - Since the start for a join is eg /(?!\.) and the start for a part
// is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
// or start or whatever) and prepend ^ or / at the Regexp construction.
toRegExpSource(A) {
let e = A ?? !!this.#g.dot;
if (this.#A === this && this.#B(), !this.type) {
let C = this.isStart() && this.isEnd(), I = this.#r.map((p) => {
let [w, D, N, k] = typeof p == "string" ? t.#h(p, this.#e, C) : p.toRegExpSource(A);
return this.#e = this.#e || N, this.#t = this.#t || k, w;
}).join(""), E = "";
if (this.isStart() && typeof this.#r[0] == "string" && !(this.#r.length === 1 && Zk.has(this.#r[0]))) {
let w = Xk, D = (
// dots are allowed, and the pattern starts with [ or .
e && w.has(I.charAt(0)) || // the pattern starts with \., and then [ or .
I.startsWith("\\.") && w.has(I.charAt(2)) || // the pattern starts with \.\., and then [ or .
I.startsWith("\\.\\.") && w.has(I.charAt(4))
), N = !e && !A && w.has(I.charAt(0));
E = D ? Vk : N ? nn : "";
}
let Q = "";
return this.isEnd() && this.#A.#c && this.#n?.type === "!" && (Q = "(?:$|\\/)"), [
E + I + Q,
Ne(I),
this.#e = !!this.#e,
this.#t
];
}
let r = this.type === "*" || this.type === "+", i = this.type === "!" ? "(?:(?!(?:" : "(?:", n = this.#l(e);
if (this.isStart() && this.isEnd() && !n && this.type !== "!") {
let C = this.toString();
return this.#r = [C], this.type = null, this.#e = void 0, [C, Ne(this.toString()), !1, !1];
}
let o = !r || A || e || !nn ? "" : this.#l(!0);
o === n && (o = ""), o && (n = `(?:${n})(?:${o})*?`);
let g = "";
if (this.type === "!" && this.#s)
g = (this.isStart() && !e ? nn : "") + TE;
else {
let C = this.type === "!" ? (
// !() must match something,but !(x) can match ''
"))" + (this.isStart() && !e && !A ? nn : "") + OE + ")"
) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && o ? ")" : this.type === "*" && o ? ")?" : `)${this.type}`;
g = i + n + C;
}
return [
g,
Ne(n),
this.#e = !!this.#e,
this.#t
];
}
#l(A) {
return this.#r.map((e) => {
if (typeof e == "string")
throw new Error("string type in extglob ast??");
let [r, i, n, o] = e.toRegExpSource(A);
return this.#t = this.#t || o, r;
}).filter((e) => !(this.isStart() && this.isEnd()) || !!e).join("|");
}
static #h(A, e, r = !1) {
let i = !1, n = "", o = !1;
for (let g = 0; g < A.length; g++) {
let C = A.charAt(g);
if (i) {
i = !1, n += ($k.has(C) ? "\\" : "") + C;
continue;
}
if (C === "\\") {
g === A.length - 1 ? n += "\\\\" : i = !0;
continue;
}
if (C === "[") {
let [I, E, Q, B] = GE(A, g);
if (Q) {
n += I, o = o || E, g += Q - 1, e = e || B;
continue;
}
}
if (C === "*") {
r && A === "*" ? n += TE : n += OE, e = !0;
continue;
}
if (C === "?") {
n += Ba, e = !0;
continue;
}
n += Ab(C);
}
return [n, Ne(A), !!e, o];
}
};
// ../node_modules/glob/node_modules/minimatch/dist/esm/escape.js
var _r = /* @__PURE__ */ s((t, { windowsPathsNoEscape: A = !1 } = {}) => A ? t.replace(/[?*()[\]]/g, "[$&]") : t.replace(/[?*()[\]\\]/g, "\\$\
&"), "escape");
// ../node_modules/glob/node_modules/minimatch/dist/esm/index.js
var ZA = /* @__PURE__ */ s((t, A, e = {}) => (_i(A), !e.nocomment && A.charAt(0) === "#" ? !1 : new ce(A, e).match(t)), "minimatch"), eb = /^\*+([^+@!?\*\[\(]*)$/,
tb = /* @__PURE__ */ s((t) => (A) => !A.startsWith(".") && A.endsWith(t), "starDotExtTest"), rb = /* @__PURE__ */ s((t) => (A) => A.endsWith(
t), "starDotExtTestDot"), ib = /* @__PURE__ */ s((t) => (t = t.toLowerCase(), (A) => !A.startsWith(".") && A.toLowerCase().endsWith(t)), "st\
arDotExtTestNocase"), sb = /* @__PURE__ */ s((t) => (t = t.toLowerCase(), (A) => A.toLowerCase().endsWith(t)), "starDotExtTestNocaseDot"), nb = /^\*+\.\*+$/,
ob = /* @__PURE__ */ s((t) => !t.startsWith(".") && t.includes("."), "starDotStarTest"), gb = /* @__PURE__ */ s((t) => t !== "." && t !== ".\
." && t.includes("."), "starDotStarTestDot"), ab = /^\.\*+$/, Cb = /* @__PURE__ */ s((t) => t !== "." && t !== ".." && t.startsWith("."), "d\
otStarTest"), cb = /^\*+$/, Ib = /* @__PURE__ */ s((t) => t.length !== 0 && !t.startsWith("."), "starTest"), hb = /* @__PURE__ */ s((t) => t.
length !== 0 && t !== "." && t !== "..", "starTestDot"), lb = /^\?+([^+@!?\*\[\(]*)?$/, Eb = /* @__PURE__ */ s(([t, A = ""]) => {
let e = zE([t]);
return A ? (A = A.toLowerCase(), (r) => e(r) && r.toLowerCase().endsWith(A)) : e;
}, "qmarksTestNocase"), ub = /* @__PURE__ */ s(([t, A = ""]) => {
let e = WE([t]);
return A ? (A = A.toLowerCase(), (r) => e(r) && r.toLowerCase().endsWith(A)) : e;
}, "qmarksTestNocaseDot"), Bb = /* @__PURE__ */ s(([t, A = ""]) => {
let e = WE([t]);
return A ? (r) => e(r) && r.endsWith(A) : e;
}, "qmarksTestDot"), Qb = /* @__PURE__ */ s(([t, A = ""]) => {
let e = zE([t]);
return A ? (r) => e(r) && r.endsWith(A) : e;
}, "qmarksTest"), zE = /* @__PURE__ */ s(([t]) => {
let A = t.length;
return (e) => e.length === A && !e.startsWith(".");
}, "qmarksTestNoExt"), WE = /* @__PURE__ */ s(([t]) => {
let A = t.length;
return (e) => e.length === A && e !== "." && e !== "..";
}, "qmarksTestNoExtDot"), VE = typeof process == "object" && process ? typeof process.env == "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ ||
process.platform : "posix", HE = {
win32: { sep: "\\" },
posix: { sep: "/" }
}, fb = VE === "win32" ? HE.win32.sep : HE.posix.sep;
ZA.sep = fb;
var TA = Symbol("globstar **");
ZA.GLOBSTAR = TA;
var db = "[^/]", pb = db + "*?", wb = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?", mb = "(?:(?!(?:\\/|^)\\.).)*?", yb = /* @__PURE__ */ s((t, A = {}) => (e) => ZA(
e, t, A), "filter");
ZA.filter = yb;
var de = /* @__PURE__ */ s((t, A = {}) => Object.assign({}, t, A), "ext"), Db = /* @__PURE__ */ s((t) => {
if (!t || typeof t != "object" || !Object.keys(t).length)
return ZA;
let A = ZA;
return Object.assign(/* @__PURE__ */ s((r, i, n = {}) => A(r, i, de(t, n)), "m"), {
Minimatch: class extends A.Minimatch {
static {
s(this, "Minimatch");
}
constructor(i, n = {}) {
super(i, de(t, n));
}
static defaults(i) {
return A.defaults(de(t, i)).Minimatch;
}
},
AST: class extends A.AST {
static {
s(this, "AST");
}
/* c8 ignore start */
constructor(i, n, o = {}) {
super(i, n, de(t, o));
}
/* c8 ignore stop */
static fromGlob(i, n = {}) {
return A.AST.fromGlob(i, de(t, n));
}
},
unescape: /* @__PURE__ */ s((r, i = {}) => A.unescape(r, de(t, i)), "unescape"),
escape: /* @__PURE__ */ s((r, i = {}) => A.escape(r, de(t, i)), "escape"),
filter: /* @__PURE__ */ s((r, i = {}) => A.filter(r, de(t, i)), "filter"),
defaults: /* @__PURE__ */ s((r) => A.defaults(de(t, r)), "defaults"),
makeRe: /* @__PURE__ */ s((r, i = {}) => A.makeRe(r, de(t, i)), "makeRe"),
braceExpand: /* @__PURE__ */ s((r, i = {}) => A.braceExpand(r, de(t, i)), "braceExpand"),
match: /* @__PURE__ */ s((r, i, n = {}) => A.match(r, i, de(t, n)), "match"),
sep: A.sep,
GLOBSTAR: TA
});
}, "defaults");
ZA.defaults = Db;
var XE = /* @__PURE__ */ s((t, A = {}) => (_i(t), A.nobrace || !/\{(?:(?!\{).)*\}/.test(t) ? [t] : (0, qE.default)(t)), "braceExpand");
ZA.braceExpand = XE;
var Sb = /* @__PURE__ */ s((t, A = {}) => new ce(t, A).makeRe(), "makeRe");
ZA.makeRe = Sb;
var Kb = /* @__PURE__ */ s((t, A, e = {}) => {
let r = new ce(A, e);
return t = t.filter((i) => r.match(i)), r.options.nonull && !t.length && t.push(A), t;
}, "match");
ZA.match = Kb;
var jE = /[?*]|[+@!]\(.*?\)|\[|\]/, Fb = /* @__PURE__ */ s((t) => t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), "regExpEscape"), ce = class {
static {
s(this, "Minimatch");
}
options;
set;
pattern;
windowsPathsNoEscape;
nonegate;
negate;
comment;
empty;
preserveMultipleSlashes;
partial;
globSet;
globParts;
nocase;
isWindows;
platform;
windowsNoMagicRoot;
regexp;
constructor(A, e = {}) {
_i(A), e = e || {}, this.options = e, this.pattern = A, this.platform = e.platform || VE, this.isWindows = this.platform === "win32", this.
windowsPathsNoEscape = !!e.windowsPathsNoEscape || e.allowWindowsEscape === !1, this.windowsPathsNoEscape && (this.pattern = this.pattern.
replace(/\\/g, "/")), this.preserveMultipleSlashes = !!e.preserveMultipleSlashes, this.regexp = null, this.negate = !1, this.nonegate = !!e.
nonegate, this.comment = !1, this.empty = !1, this.partial = !!e.partial, this.nocase = !!this.options.nocase, this.windowsNoMagicRoot =
e.windowsNoMagicRoot !== void 0 ? e.windowsNoMagicRoot : !!(this.isWindows && this.nocase), this.globSet = [], this.globParts = [], this.
set = [], this.make();
}
hasMagic() {
if (this.options.magicalBraces && this.set.length > 1)
return !0;
for (let A of this.set)
for (let e of A)
if (typeof e != "string")
return !0;
return !1;
}
debug(...A) {
}
make() {
let A = this.pattern, e = this.options;
if (!e.nocomment && A.charAt(0) === "#") {
this.comment = !0;
return;
}
if (!A) {
this.empty = !0;
return;
}
this.parseNegate(), this.globSet = [...new Set(this.braceExpand())], e.debug && (this.debug = (...n) => console.error(...n)), this.debug(
this.pattern, this.globSet);
let r = this.globSet.map((n) => this.slashSplit(n));
this.globParts = this.preprocess(r), this.debug(this.pattern, this.globParts);
let i = this.globParts.map((n, o, g) => {
if (this.isWindows && this.windowsNoMagicRoot) {
let C = n[0] === "" && n[1] === "" && (n[2] === "?" || !jE.test(n[2])) && !jE.test(n[3]), I = /^[a-z]:/i.test(n[0]);
if (C)
return [...n.slice(0, 4), ...n.slice(4).map((E) => this.parse(E))];
if (I)
return [n[0], ...n.slice(1).map((E) => this.parse(E))];
}
return n.map((C) => this.parse(C));
});
if (this.debug(this.pattern, i), this.set = i.filter((n) => n.indexOf(!1) === -1), this.isWindows)
for (let n = 0; n < this.set.length; n++) {
let o = this.set[n];
o[0] === "" && o[1] === "" && this.globParts[n][2] === "?" && typeof o[3] == "string" && /^[a-z]:$/i.test(o[3]) && (o[2] = "?");
}
this.debug(this.pattern, this.set);
}
// various transforms to equivalent pattern sets that are
// faster to process in a filesystem walk. The goal is to
// eliminate what we can, and push all ** patterns as far
// to the right as possible, even if it increases the number
// of patterns that we have to process.
preprocess(A) {
if (this.options.noglobstar)
for (let r = 0; r < A.length; r++)
for (let i = 0; i < A[r].length; i++)
A[r][i] === "**" && (A[r][i] = "*");
let { optimizationLevel: e = 1 } = this.options;
return e >= 2 ? (A = this.firstPhasePreProcess(A), A = this.secondPhasePreProcess(A)) : e >= 1 ? A = this.levelOneOptimize(A) : A = this.
adjascentGlobstarOptimize(A), A;
}
// just get rid of adjascent ** portions
adjascentGlobstarOptimize(A) {
return A.map((e) => {
let r = -1;
for (; (r = e.indexOf("**", r + 1)) !== -1; ) {
let i = r;
for (; e[i + 1] === "**"; )
i++;
i !== r && e.splice(r, i - r);
}
return e;
});
}
// get rid of adjascent ** and resolve .. portions
levelOneOptimize(A) {
return A.map((e) => (e = e.reduce((r, i) => {
let n = r[r.length - 1];
return i === "**" && n === "**" ? r : i === ".." && n && n !== ".." && n !== "." && n !== "**" ? (r.pop(), r) : (r.push(i), r);
}, []), e.length === 0 ? [""] : e));
}
levelTwoFileOptimize(A) {
Array.isArray(A) || (A = this.slashSplit(A));
let e = !1;
do {
if (e = !1, !this.preserveMultipleSlashes) {
for (let i = 1; i < A.length - 1; i++) {
let n = A[i];
i === 1 && n === "" && A[0] === "" || (n === "." || n === "") && (e = !0, A.splice(i, 1), i--);
}
A[0] === "." && A.length === 2 && (A[1] === "." || A[1] === "") && (e = !0, A.pop());
}
let r = 0;
for (; (r = A.indexOf("..", r + 1)) !== -1; ) {
let i = A[r - 1];
i && i !== "." && i !== ".." && i !== "**" && (e = !0, A.splice(r - 1, 2), r -= 2);
}
} while (e);
return A.length === 0 ? [""] : A;
}
// First phase: single-pattern processing
// <pre> is 1 or more portions
// <rest> is 1 or more portions
// <p> is any portion other than ., .., '', or **
// <e> is . or ''
//
// **/.. is *brutal* for filesystem walking performance, because
// it effectively resets the recursive walk each time it occurs,
// and ** cannot be reduced out by a .. pattern part like a regexp
// or most strings (other than .., ., and '') can be.
//
// <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}
// <pre>/<e>/<rest> -> <pre>/<rest>
// <pre>/<p>/../<rest> -> <pre>/<rest>
// **/**/<rest> -> **/<rest>
//
// **/*/<rest> -> */**/<rest> <== not valid because ** doesn't follow
// this WOULD be allowed if ** did follow symlinks, or * didn't
firstPhasePreProcess(A) {
let e = !1;
do {
e = !1;
for (let r of A) {
let i = -1;
for (; (i = r.indexOf("**", i + 1)) !== -1; ) {
let o = i;
for (; r[o + 1] === "**"; )
o++;
o > i && r.splice(i + 1, o - i);
let g = r[i + 1], C = r[i + 2], I = r[i + 3];
if (g !== ".." || !C || C === "." || C === ".." || !I || I === "." || I === "..")
continue;
e = !0, r.splice(i, 1);
let E = r.slice(0);
E[i] = "**", A.push(E), i--;
}
if (!this.preserveMultipleSlashes) {
for (let o = 1; o < r.length - 1; o++) {
let g = r[o];
o === 1 && g === "" && r[0] === "" || (g === "." || g === "") && (e = !0, r.splice(o, 1), o--);
}
r[0] === "." && r.length === 2 && (r[1] === "." || r[1] === "") && (e = !0, r.pop());
}
let n = 0;
for (; (n = r.indexOf("..", n + 1)) !== -1; ) {
let o = r[n - 1];
if (o && o !== "." && o !== ".." && o !== "**") {
e = !0;
let C = n === 1 && r[n + 1] === "**" ? ["."] : [];
r.splice(n - 1, 2, ...C), r.length === 0 && r.push(""), n -= 2;
}
}
}
} while (e);
return A;
}
// second phase: multi-pattern dedupes
// {<pre>/*/<rest>,<pre>/<p>/<rest>} -> <pre>/*/<rest>
// {<pre>/<rest>,<pre>/<rest>} -> <pre>/<rest>
// {<pre>/**/<rest>,<pre>/<rest>} -> <pre>/**/<rest>
//
// {<pre>/**/<rest>,<pre>/**/<p>/<rest>} -> <pre>/**/<rest>
// ^-- not valid because ** doens't follow symlinks
secondPhasePreProcess(A) {
for (let e = 0; e < A.length - 1; e++)
for (let r = e + 1; r < A.length; r++) {
let i = this.partsMatch(A[e], A[r], !this.preserveMultipleSlashes);
if (i) {
A[e] = [], A[r] = i;
break;
}
}
return A.filter((e) => e.length);
}
partsMatch(A, e, r = !1) {
let i = 0, n = 0, o = [], g = "";
for (; i < A.length && n < e.length; )
if (A[i] === e[n])
o.push(g === "b" ? e[n] : A[i]), i++, n++;
else if (r && A[i] === "**" && e[n] === A[i + 1])
o.push(A[i]), i++;
else if (r && e[n] === "**" && A[i] === e[n + 1])
o.push(e[n]), n++;
else if (A[i] === "*" && e[n] && (this.options.dot || !e[n].startsWith(".")) && e[n] !== "**") {
if (g === "b")
return !1;
g = "a", o.push(A[i]), i++, n++;
} else if (e[n] === "*" && A[i] && (this.options.dot || !A[i].startsWith(".")) && A[i] !== "**") {
if (g === "a")
return !1;
g = "b", o.push(e[n]), i++, n++;
} else
return !1;
return A.length === e.length && o;
}
parseNegate() {
if (this.nonegate)
return;
let A = this.pattern, e = !1, r = 0;
for (let i = 0; i < A.length && A.charAt(i) === "!"; i++)
e = !e, r++;
r && (this.pattern = A.slice(r)), this.negate = e;
}
// set partial to true to test if, for example,
// "/a/b" matches the start of "/*/b/*/d"
// Partial means, if you run out of file before you run
// out of pattern, then that's fine, as long as all
// the parts match.
matchOne(A, e, r = !1) {
let i = this.options;
if (this.isWindows) {
let D = typeof A[0] == "string" && /^[a-z]:$/i.test(A[0]), N = !D && A[0] === "" && A[1] === "" && A[2] === "?" && /^[a-z]:$/i.test(A[3]),
k = typeof e[0] == "string" && /^[a-z]:$/i.test(e[0]), _ = !k && e[0] === "" && e[1] === "" && e[2] === "?" && typeof e[3] == "string" &&
/^[a-z]:$/i.test(e[3]), v = N ? 3 : D ? 0 : void 0, J = _ ? 3 : k ? 0 : void 0;
if (typeof v == "number" && typeof J == "number") {
let [U, $] = [A[v], e[J]];
U.toLowerCase() === $.toLowerCase() && (e[J] = U, J > v ? e = e.slice(J) : v > J && (A = A.slice(v)));
}
}
let { optimizationLevel: n = 1 } = this.options;
n >= 2 && (A = this.levelTwoFileOptimize(A)), this.debug("matchOne", this, { file: A, pattern: e }), this.debug("matchOne", A.length, e.
length);
for (var o = 0, g = 0, C = A.length, I = e.length; o < C && g < I; o++, g++) {
this.debug("matchOne loop");
var E = e[g], Q = A[o];
if (this.debug(e, E, Q), E === !1)
return !1;
if (E === TA) {
this.debug("GLOBSTAR", [e, E, Q]);
var B = o, p = g + 1;
if (p === I) {
for (this.debug("** at the end"); o < C; o++)
if (A[o] === "." || A[o] === ".." || !i.dot && A[o].charAt(0) === ".")
return !1;
return !0;
}
for (; B < C; ) {
var w = A[B];
if (this.debug(`
globstar while`, A, B, e, p, w), this.matchOne(A.slice(B), e.slice(p), r))
return this.debug("globstar found match!", B, C, w), !0;
if (w === "." || w === ".." || !i.dot && w.charAt(0) === ".") {
this.debug("dot detected!", A, B, e, p);
break;
}
this.debug("globstar swallow a segment, and continue"), B++;
}
return !!(r && (this.debug(`
>>> no match, partial?`, A, B, e, p), B === C));
}
let D;
if (typeof E == "string" ? (D = Q === E, this.debug("string match", E, Q, D)) : (D = E.test(Q), this.debug("pattern match", E, Q, D)),
!D)
return !1;
}
if (o === C && g === I)
return !0;
if (o === C)
return r;
if (g === I)
return o === C - 1 && A[o] === "";
throw new Error("wtf?");
}
braceExpand() {
return XE(this.pattern, this.options);
}
parse(A) {
_i(A);
let e = this.options;
if (A === "**")
return TA;
if (A === "")
return "";
let r, i = null;
(r = A.match(cb)) ? i = e.dot ? hb : Ib : (r = A.match(eb)) ? i = (e.nocase ? e.dot ? sb : ib : e.dot ? rb : tb)(r[1]) : (r = A.match(lb)) ?
i = (e.nocase ? e.dot ? ub : Eb : e.dot ? Bb : Qb)(r) : (r = A.match(nb)) ? i = e.dot ? gb : ob : (r = A.match(ab)) && (i = Cb);
let n = Ur.fromGlob(A, this.options).toMMPattern();
return i && typeof n == "object" && Reflect.defineProperty(n, "test", { value: i }), n;
}
makeRe() {
if (this.regexp || this.regexp === !1)
return this.regexp;
let A = this.set;
if (!A.length)
return this.regexp = !1, this.regexp;
let e = this.options, r = e.noglobstar ? pb : e.dot ? wb : mb, i = new Set(e.nocase ? ["i"] : []), n = A.map((C) => {
let I = C.map((E) => {
if (E instanceof RegExp)
for (let Q of E.flags.split(""))
i.add(Q);
return typeof E == "string" ? Fb(E) : E === TA ? TA : E._src;
});
return I.forEach((E, Q) => {
let B = I[Q + 1], p = I[Q - 1];
E !== TA || p === TA || (p === void 0 ? B !== void 0 && B !== TA ? I[Q + 1] = "(?:\\/|" + r + "\\/)?" + B : I[Q] = r : B === void 0 ?
I[Q - 1] = p + "(?:\\/|" + r + ")?" : B !== TA && (I[Q - 1] = p + "(?:\\/|\\/" + r + "\\/)" + B, I[Q + 1] = TA));
}), I.filter((E) => E !== TA).join("/");
}).join("|"), [o, g] = A.length > 1 ? ["(?:", ")"] : ["", ""];
n = "^" + o + n + g + "$", this.negate && (n = "^(?!" + n + ").+$");
try {
this.regexp = new RegExp(n, [...i].join(""));
} catch {
this.regexp = !1;
}
return this.regexp;
}
slashSplit(A) {
return this.preserveMultipleSlashes ? A.split("/") : this.isWindows && /^\/\/[^\/]+/.test(A) ? ["", ...A.split(/\/+/)] : A.split(/\/+/);
}
match(A, e = this.partial) {
if (this.debug("match", A, this.pattern), this.comment)
return !1;
if (this.empty)
return A === "";
if (A === "/" && e)
return !0;
let r = this.options;
this.isWindows && (A = A.split("\\").join("/"));
let i = this.slashSplit(A);
this.debug(this.pattern, "split", i);
let n = this.set;
this.debug(this.pattern, "set", n);
let o = i[i.length - 1];
if (!o)
for (let g = i.length - 2; !o && g >= 0; g--)
o = i[g];
for (let g = 0; g < n.length; g++) {
let C = n[g], I = i;
if (r.matchBase && C.length === 1 && (I = [o]), this.matchOne(I, C, e))
return r.flipNegate ? !0 : !this.negate;
}
return r.flipNegate ? !1 : this.negate;
}
static defaults(A) {
return ZA.defaults(A).Minimatch;
}
};
ZA.AST = Ur;
ZA.Minimatch = ce;
ZA.escape = _r;
ZA.unescape = Ne;
// ../node_modules/glob/dist/esm/glob.js
var pu = require("node:url");
// ../node_modules/lru-cache/dist/esm/index.js
var Gr = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, $E = /* @__PURE__ */ new Set(),
Qa = typeof process == "object" && process ? process : {}, Au = /* @__PURE__ */ s((t, A, e, r) => {
typeof Qa.emitWarning == "function" ? Qa.emitWarning(t, A, e, r) : console.error(`[${e}] ${A}: ${t}`);
}, "emitWarning"), on = globalThis.AbortController, ZE = globalThis.AbortSignal;
if (typeof on > "u") {
ZE = class {
static {
s(this, "AbortSignal");
}
onabort;
_onabort = [];
reason;
aborted = !1;
addEventListener(r, i) {
this._onabort.push(i);
}
}, on = class {
static {
s(this, "AbortController");
}
constructor() {
A();
}
signal = new ZE();
abort(r) {
if (!this.signal.aborted) {
this.signal.reason = r, this.signal.aborted = !0;
for (let i of this.signal._onabort)
i(r);
this.signal.onabort?.(r);
}
}
};
let t = Qa.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1", A = /* @__PURE__ */ s(() => {
t && (t = !1, Au("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-c\
ontroller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, pass\
ing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WAR\
NING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", A));
}, "warnACPolyfill");
}
var kb = /* @__PURE__ */ s((t) => !$E.has(t), "shouldWarn"), HT = Symbol("type"), Lt = /* @__PURE__ */ s((t) => t && t === Math.floor(t) && t >
0 && isFinite(t), "isPosInt"), eu = /* @__PURE__ */ s((t) => Lt(t) ? t <= Math.pow(2, 8) ? Uint8Array : t <= Math.pow(2, 16) ? Uint16Array :
t <= Math.pow(2, 32) ? Uint32Array : t <= Number.MAX_SAFE_INTEGER ? Jr : null : null, "getUintArray"), Jr = class extends Array {
static {
s(this, "ZeroArray");
}
constructor(A) {
super(A), this.fill(0);
}
}, fa = class t {
static {
s(this, "Stack");
}
heap;
length;
// private constructor
static #A = !1;
static create(A) {
let e = eu(A);
if (!e)
return [];
t.#A = !0;
let r = new t(A, e);
return t.#A = !1, r;
}
constructor(A, e) {
if (!t.#A)
throw new TypeError("instantiate Stack using Stack.create(n)");
this.heap = new e(A), this.length = 0;
}
push(A) {
this.heap[this.length++] = A;
}
pop() {
return this.heap[--this.length];
}
}, Ji = class t {
static {
s(this, "LRUCache");
}
// options that cannot be changed without disaster
#A;
#e;
#t;
#r;
#n;
#I;
/**
* {@link LRUCache.OptionsBase.ttl}
*/
ttl;
/**
* {@link LRUCache.OptionsBase.ttlResolution}
*/
ttlResolution;
/**
* {@link LRUCache.OptionsBase.ttlAutopurge}
*/
ttlAutopurge;
/**
* {@link LRUCache.OptionsBase.updateAgeOnGet}
*/
updateAgeOnGet;
/**
* {@link LRUCache.OptionsBase.updateAgeOnHas}
*/
updateAgeOnHas;
/**
* {@link LRUCache.OptionsBase.allowStale}
*/
allowStale;
/**
* {@link LRUCache.OptionsBase.noDisposeOnSet}
*/
noDisposeOnSet;
/**
* {@link LRUCache.OptionsBase.noUpdateTTL}
*/
noUpdateTTL;
/**
* {@link LRUCache.OptionsBase.maxEntrySize}
*/
maxEntrySize;
/**
* {@link LRUCache.OptionsBase.sizeCalculation}
*/
sizeCalculation;
/**
* {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
*/
noDeleteOnFetchRejection;
/**
* {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
*/
noDeleteOnStaleGet;
/**
* {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
*/
allowStaleOnFetchAbort;
/**
* {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
*/
allowStaleOnFetchRejection;
/**
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
*/
ignoreFetchAbort;
// computed properties
#o;
#c;
#g;
#a;
#s;
#B;
#Q;
#l;
#h;
#m;
#u;
#y;
#D;
#d;
#p;
#w;
#E;
/**
* Do not call this method unless you need to inspect the
* inner workings of the cache. If anything returned by this
* object is modified in any way, strange breakage may occur.
*
* These fields are private for a reason!
*
* @internal
*/
static unsafeExposeInternals(A) {
return {
// properties
starts: A.#D,
ttls: A.#d,
sizes: A.#y,
keyMap: A.#g,
keyList: A.#a,
valList: A.#s,
next: A.#B,
prev: A.#Q,
get head() {
return A.#l;
},
get tail() {
return A.#h;
},
free: A.#m,
// methods
isBackgroundFetch: /* @__PURE__ */ s((e) => A.#C(e), "isBackgroundFetch"),
backgroundFetch: /* @__PURE__ */ s((e, r, i, n) => A.#P(e, r, i, n), "backgroundFetch"),
moveToTail: /* @__PURE__ */ s((e) => A.#_(e), "moveToTail"),
indexes: /* @__PURE__ */ s((e) => A.#K(e), "indexes"),
rindexes: /* @__PURE__ */ s((e) => A.#F(e), "rindexes"),
isStale: /* @__PURE__ */ s((e) => A.#f(e), "isStale")
};
}
// Protected read-only members
/**
* {@link LRUCache.OptionsBase.max} (read-only)
*/
get max() {
return this.#A;
}
/**
* {@link LRUCache.OptionsBase.maxSize} (read-only)
*/
get maxSize() {
return this.#e;
}
/**
* The total computed size of items in the cache (read-only)
*/
get calculatedSize() {
return this.#c;
}
/**
* The number of items stored in the cache (read-only)
*/
get size() {
return this.#o;
}
/**
* {@link LRUCache.OptionsBase.fetchMethod} (read-only)
*/
get fetchMethod() {
return this.#n;
}
get memoMethod() {
return this.#I;
}
/**
* {@link LRUCache.OptionsBase.dispose} (read-only)
*/
get dispose() {
return this.#t;
}
/**
* {@link LRUCache.OptionsBase.disposeAfter} (read-only)
*/
get disposeAfter() {
return this.#r;
}
constructor(A) {
let { max: e = 0, ttl: r, ttlResolution: i = 1, ttlAutopurge: n, updateAgeOnGet: o, updateAgeOnHas: g, allowStale: C, dispose: I, disposeAfter: E,
noDisposeOnSet: Q, noUpdateTTL: B, maxSize: p = 0, maxEntrySize: w = 0, sizeCalculation: D, fetchMethod: N, memoMethod: k, noDeleteOnFetchRejection: _,
noDeleteOnStaleGet: v, allowStaleOnFetchRejection: J, allowStaleOnFetchAbort: U, ignoreFetchAbort: $ } = A;
if (e !== 0 && !Lt(e))
throw new TypeError("max option must be a nonnegative integer");
let q = e ? eu(e) : Array;
if (!q)
throw new Error("invalid max value: " + e);
if (this.#A = e, this.#e = p, this.maxEntrySize = w || this.#e, this.sizeCalculation = D, this.sizeCalculation) {
if (!this.#e && !this.maxEntrySize)
throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
if (typeof this.sizeCalculation != "function")
throw new TypeError("sizeCalculation set to non-function");
}
if (k !== void 0 && typeof k != "function")
throw new TypeError("memoMethod must be a function if defined");
if (this.#I = k, N !== void 0 && typeof N != "function")
throw new TypeError("fetchMethod must be a function if specified");
if (this.#n = N, this.#w = !!N, this.#g = /* @__PURE__ */ new Map(), this.#a = new Array(e).fill(void 0), this.#s = new Array(e).fill(void 0),
this.#B = new q(e), this.#Q = new q(e), this.#l = 0, this.#h = 0, this.#m = fa.create(e), this.#o = 0, this.#c = 0, typeof I == "functio\
n" && (this.#t = I), typeof E == "function" ? (this.#r = E, this.#u = []) : (this.#r = void 0, this.#u = void 0), this.#p = !!this.#t, this.#E =
!!this.#r, this.noDisposeOnSet = !!Q, this.noUpdateTTL = !!B, this.noDeleteOnFetchRejection = !!_, this.allowStaleOnFetchRejection = !!J,
this.allowStaleOnFetchAbort = !!U, this.ignoreFetchAbort = !!$, this.maxEntrySize !== 0) {
if (this.#e !== 0 && !Lt(this.#e))
throw new TypeError("maxSize must be a positive integer if specified");
if (!Lt(this.maxEntrySize))
throw new TypeError("maxEntrySize must be a positive integer if specified");
this.#b();
}
if (this.allowStale = !!C, this.noDeleteOnStaleGet = !!v, this.updateAgeOnGet = !!o, this.updateAgeOnHas = !!g, this.ttlResolution = Lt(
i) || i === 0 ? i : 1, this.ttlAutopurge = !!n, this.ttl = r || 0, this.ttl) {
if (!Lt(this.ttl))
throw new TypeError("ttl must be a positive integer if specified");
this.#k();
}
if (this.#A === 0 && this.ttl === 0 && this.#e === 0)
throw new TypeError("At least one of max, maxSize, or ttl is required");
if (!this.ttlAutopurge && !this.#A && !this.#e) {
let T = "LRU_CACHE_UNBOUNDED";
kb(T) && ($E.add(T), Au("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCac\
heWarning", T, t));
}
}
/**
* Return the number of ms left in the item's TTL. If item is not in cache,
* returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
*/
getRemainingTTL(A) {
return this.#g.has(A) ? 1 / 0 : 0;
}
#k() {
let A = new Jr(this.#A), e = new Jr(this.#A);
this.#d = A, this.#D = e, this.#M = (n, o, g = Gr.now()) => {
if (e[n] = o !== 0 ? g : 0, A[n] = o, o !== 0 && this.ttlAutopurge) {
let C = setTimeout(() => {
this.#f(n) && this.#N(this.#a[n], "expire");
}, o + 1);
C.unref && C.unref();
}
}, this.#S = (n) => {
e[n] = A[n] !== 0 ? Gr.now() : 0;
}, this.#i = (n, o) => {
if (A[o]) {
let g = A[o], C = e[o];
if (!g || !C)
return;
n.ttl = g, n.start = C, n.now = r || i();
let I = n.now - C;
n.remainingTTL = g - I;
}
};
let r = 0, i = /* @__PURE__ */ s(() => {
let n = Gr.now();
if (this.ttlResolution > 0) {
r = n;
let o = setTimeout(() => r = 0, this.ttlResolution);
o.unref && o.unref();
}
return n;
}, "getNow");
this.getRemainingTTL = (n) => {
let o = this.#g.get(n);
if (o === void 0)
return 0;
let g = A[o], C = e[o];
if (!g || !C)
return 1 / 0;
let I = (r || i()) - C;
return g - I;
}, this.#f = (n) => {
let o = e[n], g = A[n];
return !!g && !!o && (r || i()) - o > g;
};
}
// conditionally set private methods related to TTL
#S = /* @__PURE__ */ s(() => {
}, "#updateItemAge");
#i = /* @__PURE__ */ s(() => {
}, "#statusTTL");
#M = /* @__PURE__ */ s(() => {
}, "#setItemTTL");
/* c8 ignore stop */
#f = /* @__PURE__ */ s(() => !1, "#isStale");
#b() {
let A = new Jr(this.#A);
this.#c = 0, this.#y = A, this.#R = (e) => {
this.#c -= A[e], A[e] = 0;
}, this.#L = (e, r, i, n) => {
if (this.#C(r))
return 0;
if (!Lt(i))
if (n) {
if (typeof n != "function")
throw new TypeError("sizeCalculation must be a function");
if (i = n(r, e), !Lt(i))
throw new TypeError("sizeCalculation return invalid (expect positive integer)");
} else
throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size \
must be set.");
return i;
}, this.#v = (e, r, i) => {
if (A[e] = r, this.#e) {
let n = this.#e - A[e];
for (; this.#c > n; )
this.#Y(!0);
}
this.#c += A[e], i && (i.entrySize = r, i.totalCalculatedSize = this.#c);
};
}
#R = /* @__PURE__ */ s((A) => {
}, "#removeItemSize");
#v = /* @__PURE__ */ s((A, e, r) => {
}, "#addItemSize");
#L = /* @__PURE__ */ s((A, e, r, i) => {
if (r || i)
throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
return 0;
}, "#requireSize");
*#K({ allowStale: A = this.allowStale } = {}) {
if (this.#o)
for (let e = this.#h; !(!this.#x(e) || ((A || !this.#f(e)) && (yield e), e === this.#l)); )
e = this.#Q[e];
}
*#F({ allowStale: A = this.allowStale } = {}) {
if (this.#o)
for (let e = this.#l; !(!this.#x(e) || ((A || !this.#f(e)) && (yield e), e === this.#h)); )
e = this.#B[e];
}
#x(A) {
return A !== void 0 && this.#g.get(this.#a[A]) === A;
}
/**
* Return a generator yielding `[key, value]` pairs,
* in order from most recently used to least recently used.
*/
*entries() {
for (let A of this.#K())
this.#s[A] !== void 0 && this.#a[A] !== void 0 && !this.#C(this.#s[A]) && (yield [this.#a[A], this.#s[A]]);
}
/**
* Inverse order version of {@link LRUCache.entries}
*
* Return a generator yielding `[key, value]` pairs,
* in order from least recently used to most recently used.
*/
*rentries() {
for (let A of this.#F())
this.#s[A] !== void 0 && this.#a[A] !== void 0 && !this.#C(this.#s[A]) && (yield [this.#a[A], this.#s[A]]);
}
/**
* Return a generator yielding the keys in the cache,
* in order from most recently used to least recently used.
*/
*keys() {
for (let A of this.#K()) {
let e = this.#a[A];
e !== void 0 && !this.#C(this.#s[A]) && (yield e);
}
}
/**
* Inverse order version of {@link LRUCache.keys}
*
* Return a generator yielding the keys in the cache,
* in order from least recently used to most recently used.
*/
*rkeys() {
for (let A of this.#F()) {
let e = this.#a[A];
e !== void 0 && !this.#C(this.#s[A]) && (yield e);
}
}
/**
* Return a generator yielding the values in the cache,
* in order from most recently used to least recently used.
*/
*values() {
for (let A of this.#K())
this.#s[A] !== void 0 && !this.#C(this.#s[A]) && (yield this.#s[A]);
}
/**
* Inverse order version of {@link LRUCache.values}
*
* Return a generator yielding the values in the cache,
* in order from least recently used to most recently used.
*/
*rvalues() {
for (let A of this.#F())
this.#s[A] !== void 0 && !this.#C(this.#s[A]) && (yield this.#s[A]);
}
/**
* Iterating over the cache itself yields the same results as
* {@link LRUCache.entries}
*/
[Symbol.iterator]() {
return this.entries();
}
/**
* A String value that is used in the creation of the default string
* description of an object. Called by the built-in method
* `Object.prototype.toString`.
*/
[Symbol.toStringTag] = "LRUCache";
/**
* Find a value for which the supplied fn method returns a truthy value,
* similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
*/
find(A, e = {}) {
for (let r of this.#K()) {
let i = this.#s[r], n = this.#C(i) ? i.__staleWhileFetching : i;
if (n !== void 0 && A(n, this.#a[r], this))
return this.get(this.#a[r], e);
}
}
/**
* Call the supplied function on each item in the cache, in order from most
* recently used to least recently used.
*
* `fn` is called as `fn(value, key, cache)`.
*
* If `thisp` is provided, function will be called in the `this`-context of
* the provided object, or the cache if no `thisp` object is provided.
*
* Does not update age or recenty of use, or iterate over stale values.
*/
forEach(A, e = this) {
for (let r of this.#K()) {
let i = this.#s[r], n = this.#C(i) ? i.__staleWhileFetching : i;
n !== void 0 && A.call(e, n, this.#a[r], this);
}
}
/**
* The same as {@link LRUCache.forEach} but items are iterated over in
* reverse order. (ie, less recently used items are iterated over first.)
*/
rforEach(A, e = this) {
for (let r of this.#F()) {
let i = this.#s[r], n = this.#C(i) ? i.__staleWhileFetching : i;
n !== void 0 && A.call(e, n, this.#a[r], this);
}
}
/**
* Delete any stale entries. Returns true if anything was removed,
* false otherwise.
*/
purgeStale() {
let A = !1;
for (let e of this.#F({ allowStale: !0 }))
this.#f(e) && (this.#N(this.#a[e], "expire"), A = !0);
return A;
}
/**
* Get the extended info about a given entry, to get its value, size, and
* TTL info simultaneously. Returns `undefined` if the key is not present.
*
* Unlike {@link LRUCache#dump}, which is designed to be portable and survive
* serialization, the `start` value is always the current timestamp, and the
* `ttl` is a calculated remaining time to live (negative if expired).
*
* Always returns stale values, if their info is found in the cache, so be
* sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
* if relevant.
*/
info(A) {
let e = this.#g.get(A);
if (e === void 0)
return;
let r = this.#s[e], i = this.#C(r) ? r.__staleWhileFetching : r;
if (i === void 0)
return;
let n = { value: i };
if (this.#d && this.#D) {
let o = this.#d[e], g = this.#D[e];
if (o && g) {
let C = o - (Gr.now() - g);
n.ttl = C, n.start = Date.now();
}
}
return this.#y && (n.size = this.#y[e]), n;
}
/**
* Return an array of [key, {@link LRUCache.Entry}] tuples which can be
* passed to {@link LRLUCache#load}.
*
* The `start` fields are calculated relative to a portable `Date.now()`
* timestamp, even if `performance.now()` is available.
*
* Stale entries are always included in the `dump`, even if
* {@link LRUCache.OptionsBase.allowStale} is false.
*
* Note: this returns an actual array, not a generator, so it can be more
* easily passed around.
*/
dump() {
let A = [];
for (let e of this.#K({ allowStale: !0 })) {
let r = this.#a[e], i = this.#s[e], n = this.#C(i) ? i.__staleWhileFetching : i;
if (n === void 0 || r === void 0)
continue;
let o = { value: n };
if (this.#d && this.#D) {
o.ttl = this.#d[e];
let g = Gr.now() - this.#D[e];
o.start = Math.floor(Date.now() - g);
}
this.#y && (o.size = this.#y[e]), A.unshift([r, o]);
}
return A;
}
/**
* Reset the cache and load in the items in entries in the order listed.
*
* The shape of the resulting cache may be different if the same options are
* not used in both caches.
*
* The `start` fields are assumed to be calculated relative to a portable
* `Date.now()` timestamp, even if `performance.now()` is available.
*/
load(A) {
this.clear();
for (let [e, r] of A) {
if (r.start) {
let i = Date.now() - r.start;
r.start = Gr.now() - i;
}
this.set(e, r.value, r);
}
}
/**
* Add a value to the cache.
*
* Note: if `undefined` is specified as a value, this is an alias for
* {@link LRUCache#delete}
*
* Fields on the {@link LRUCache.SetOptions} options param will override
* their corresponding values in the constructor options for the scope
* of this single `set()` operation.
*
* If `start` is provided, then that will set the effective start
* time for the TTL calculation. Note that this must be a previous
* value of `performance.now()` if supported, or a previous value of
* `Date.now()` if not.
*
* Options object may also include `size`, which will prevent
* calling the `sizeCalculation` function and just use the specified
* number if it is a positive integer, and `noDisposeOnSet` which
* will prevent calling a `dispose` function in the case of
* overwrites.
*
* If the `size` (or return value of `sizeCalculation`) for a given
* entry is greater than `maxEntrySize`, then the item will not be
* added to the cache.
*
* Will update the recency of the entry.
*
* If the value is `undefined`, then this is an alias for
* `cache.delete(key)`. `undefined` is never stored in the cache.
*/
set(A, e, r = {}) {
if (e === void 0)
return this.delete(A), this;
let { ttl: i = this.ttl, start: n, noDisposeOnSet: o = this.noDisposeOnSet, sizeCalculation: g = this.sizeCalculation, status: C } = r, {
noUpdateTTL: I = this.noUpdateTTL } = r, E = this.#L(A, e, r.size || 0, g);
if (this.maxEntrySize && E > this.maxEntrySize)
return C && (C.set = "miss", C.maxEntrySizeExceeded = !0), this.#N(A, "set"), this;
let Q = this.#o === 0 ? void 0 : this.#g.get(A);
if (Q === void 0)
Q = this.#o === 0 ? this.#h : this.#m.length !== 0 ? this.#m.pop() : this.#o === this.#A ? this.#Y(!1) : this.#o, this.#a[Q] = A, this.#s[Q] =
e, this.#g.set(A, Q), this.#B[this.#h] = Q, this.#Q[Q] = this.#h, this.#h = Q, this.#o++, this.#v(Q, E, C), C && (C.set = "add"), I = !1;
else {
this.#_(Q);
let B = this.#s[Q];
if (e !== B) {
if (this.#w && this.#C(B)) {
B.__abortController.abort(new Error("replaced"));
let { __staleWhileFetching: p } = B;
p !== void 0 && !o && (this.#p && this.#t?.(p, A, "set"), this.#E && this.#u?.push([p, A, "set"]));
} else o || (this.#p && this.#t?.(B, A, "set"), this.#E && this.#u?.push([B, A, "set"]));
if (this.#R(Q), this.#v(Q, E, C), this.#s[Q] = e, C) {
C.set = "replace";
let p = B && this.#C(B) ? B.__staleWhileFetching : B;
p !== void 0 && (C.oldValue = p);
}
} else C && (C.set = "update");
}
if (i !== 0 && !this.#d && this.#k(), this.#d && (I || this.#M(Q, i, n), C && this.#i(C, Q)), !o && this.#E && this.#u) {
let B = this.#u, p;
for (; p = B?.shift(); )
this.#r?.(...p);
}
return this;
}
/**
* Evict the least recently used item, returning its value or
* `undefined` if cache is empty.
*/
pop() {
try {
for (; this.#o; ) {
let A = this.#s[this.#l];
if (this.#Y(!0), this.#C(A)) {
if (A.__staleWhileFetching)
return A.__staleWhileFetching;
} else if (A !== void 0)
return A;
}
} finally {
if (this.#E && this.#u) {
let A = this.#u, e;
for (; e = A?.shift(); )
this.#r?.(...e);
}
}
}
#Y(A) {
let e = this.#l, r = this.#a[e], i = this.#s[e];
return this.#w && this.#C(i) ? i.__abortController.abort(new Error("evicted")) : (this.#p || this.#E) && (this.#p && this.#t?.(i, r, "ev\
ict"), this.#E && this.#u?.push([i, r, "evict"])), this.#R(e), A && (this.#a[e] = void 0, this.#s[e] = void 0, this.#m.push(e)), this.#o ===
1 ? (this.#l = this.#h = 0, this.#m.length = 0) : this.#l = this.#B[e], this.#g.delete(r), this.#o--, e;
}
/**
* Check if a key is in the cache, without updating the recency of use.
* Will return false if the item is stale, even though it is technically
* in the cache.
*
* Check if a key is in the cache, without updating the recency of
* use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
* to `true` in either the options or the constructor.
*
* Will return `false` if the item is stale, even though it is technically in
* the cache. The difference can be determined (if it matters) by using a
* `status` argument, and inspecting the `has` field.
*
* Will not update item age unless
* {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
*/
has(A, e = {}) {
let { updateAgeOnHas: r = this.updateAgeOnHas, status: i } = e, n = this.#g.get(A);
if (n !== void 0) {
let o = this.#s[n];
if (this.#C(o) && o.__staleWhileFetching === void 0)
return !1;
if (this.#f(n))
i && (i.has = "stale", this.#i(i, n));
else return r && this.#S(n), i && (i.has = "hit", this.#i(i, n)), !0;
} else i && (i.has = "miss");
return !1;
}
/**
* Like {@link LRUCache#get} but doesn't update recency or delete stale
* items.
*
* Returns `undefined` if the item is stale, unless
* {@link LRUCache.OptionsBase.allowStale} is set.
*/
peek(A, e = {}) {
let { allowStale: r = this.allowStale } = e, i = this.#g.get(A);
if (i === void 0 || !r && this.#f(i))
return;
let n = this.#s[i];
return this.#C(n) ? n.__staleWhileFetching : n;
}
#P(A, e, r, i) {
let n = e === void 0 ? void 0 : this.#s[e];
if (this.#C(n))
return n;
let o = new on(), { signal: g } = r;
g?.addEventListener("abort", () => o.abort(g.reason), {
signal: o.signal
});
let C = {
signal: o.signal,
options: r,
context: i
}, I = /* @__PURE__ */ s((D, N = !1) => {
let { aborted: k } = o.signal, _ = r.ignoreFetchAbort && D !== void 0;
if (r.status && (k && !N ? (r.status.fetchAborted = !0, r.status.fetchError = o.signal.reason, _ && (r.status.fetchAbortIgnored = !0)) :
r.status.fetchResolved = !0), k && !_ && !N)
return Q(o.signal.reason);
let v = p;
return this.#s[e] === p && (D === void 0 ? v.__staleWhileFetching ? this.#s[e] = v.__staleWhileFetching : this.#N(A, "fetch") : (r.status &&
(r.status.fetchUpdated = !0), this.set(A, D, C.options))), D;
}, "cb"), E = /* @__PURE__ */ s((D) => (r.status && (r.status.fetchRejected = !0, r.status.fetchError = D), Q(D)), "eb"), Q = /* @__PURE__ */ s(
(D) => {
let { aborted: N } = o.signal, k = N && r.allowStaleOnFetchAbort, _ = k || r.allowStaleOnFetchRejection, v = _ || r.noDeleteOnFetchRejection,
J = p;
if (this.#s[e] === p && (!v || J.__staleWhileFetching === void 0 ? this.#N(A, "fetch") : k || (this.#s[e] = J.__staleWhileFetching)), _)
return r.status && J.__staleWhileFetching !== void 0 && (r.status.returnedStale = !0), J.__staleWhileFetching;
if (J.__returned === J)
throw D;
}, "fetchFail"), B = /* @__PURE__ */ s((D, N) => {
let k = this.#n?.(A, n, C);
k && k instanceof Promise && k.then((_) => D(_ === void 0 ? void 0 : _), N), o.signal.addEventListener("abort", () => {
(!r.ignoreFetchAbort || r.allowStaleOnFetchAbort) && (D(void 0), r.allowStaleOnFetchAbort && (D = /* @__PURE__ */ s((_) => I(_, !0),
"res")));
});
}, "pcall");
r.status && (r.status.fetchDispatched = !0);
let p = new Promise(B).then(I, E), w = Object.assign(p, {
__abortController: o,
__staleWhileFetching: n,
__returned: void 0
});
return e === void 0 ? (this.set(A, w, { ...C.options, status: void 0 }), e = this.#g.get(A)) : this.#s[e] = w, w;
}
#C(A) {
if (!this.#w)
return !1;
let e = A;
return !!e && e instanceof Promise && e.hasOwnProperty("__staleWhileFetching") && e.__abortController instanceof on;
}
async fetch(A, e = {}) {
let {
// get options
allowStale: r = this.allowStale,
updateAgeOnGet: i = this.updateAgeOnGet,
noDeleteOnStaleGet: n = this.noDeleteOnStaleGet,
// set options
ttl: o = this.ttl,
noDisposeOnSet: g = this.noDisposeOnSet,
size: C = 0,
sizeCalculation: I = this.sizeCalculation,
noUpdateTTL: E = this.noUpdateTTL,
// fetch exclusive options
noDeleteOnFetchRejection: Q = this.noDeleteOnFetchRejection,
allowStaleOnFetchRejection: B = this.allowStaleOnFetchRejection,
ignoreFetchAbort: p = this.ignoreFetchAbort,
allowStaleOnFetchAbort: w = this.allowStaleOnFetchAbort,
context: D,
forceRefresh: N = !1,
status: k,
signal: _
} = e;
if (!this.#w)
return k && (k.fetch = "get"), this.get(A, {
allowStale: r,
updateAgeOnGet: i,
noDeleteOnStaleGet: n,
status: k
});
let v = {
allowStale: r,
updateAgeOnGet: i,
noDeleteOnStaleGet: n,
ttl: o,
noDisposeOnSet: g,
size: C,
sizeCalculation: I,
noUpdateTTL: E,
noDeleteOnFetchRejection: Q,
allowStaleOnFetchRejection: B,
allowStaleOnFetchAbort: w,
ignoreFetchAbort: p,
status: k,
signal: _
}, J = this.#g.get(A);
if (J === void 0) {
k && (k.fetch = "miss");
let U = this.#P(A, J, v, D);
return U.__returned = U;
} else {
let U = this.#s[J];
if (this.#C(U)) {
let wA = r && U.__staleWhileFetching !== void 0;
return k && (k.fetch = "inflight", wA && (k.returnedStale = !0)), wA ? U.__staleWhileFetching : U.__returned = U;
}
let $ = this.#f(J);
if (!N && !$)
return k && (k.fetch = "hit"), this.#_(J), i && this.#S(J), k && this.#i(k, J), U;
let q = this.#P(A, J, v, D), eA = q.__staleWhileFetching !== void 0 && r;
return k && (k.fetch = $ ? "stale" : "refresh", eA && $ && (k.returnedStale = !0)), eA ? q.__staleWhileFetching : q.__returned = q;
}
}
async forceFetch(A, e = {}) {
let r = await this.fetch(A, e);
if (r === void 0)
throw new Error("fetch() returned undefined");
return r;
}
memo(A, e = {}) {
let r = this.#I;
if (!r)
throw new Error("no memoMethod provided to constructor");
let { context: i, forceRefresh: n, ...o } = e, g = this.get(A, o);
if (!n && g !== void 0)
return g;
let C = r(A, g, {
options: o,
context: i
});
return this.set(A, C, o), C;
}
/**
* Return a value from the cache. Will update the recency of the cache
* entry found.
*
* If the key is not found, get() will return `undefined`.
*/
get(A, e = {}) {
let { allowStale: r = this.allowStale, updateAgeOnGet: i = this.updateAgeOnGet, noDeleteOnStaleGet: n = this.noDeleteOnStaleGet, status: o } = e,
g = this.#g.get(A);
if (g !== void 0) {
let C = this.#s[g], I = this.#C(C);
return o && this.#i(o, g), this.#f(g) ? (o && (o.get = "stale"), I ? (o && r && C.__staleWhileFetching !== void 0 && (o.returnedStale =
!0), r ? C.__staleWhileFetching : void 0) : (n || this.#N(A, "expire"), o && r && (o.returnedStale = !0), r ? C : void 0)) : (o && (o.
get = "hit"), I ? C.__staleWhileFetching : (this.#_(g), i && this.#S(g), C));
} else o && (o.get = "miss");
}
#U(A, e) {
this.#Q[e] = A, this.#B[A] = e;
}
#_(A) {
A !== this.#h && (A === this.#l ? this.#l = this.#B[A] : this.#U(this.#Q[A], this.#B[A]), this.#U(this.#h, A), this.#h = A);
}
/**
* Deletes a key out of the cache.
*
* Returns true if the key was deleted, false otherwise.
*/
delete(A) {
return this.#N(A, "delete");
}
#N(A, e) {
let r = !1;
if (this.#o !== 0) {
let i = this.#g.get(A);
if (i !== void 0)
if (r = !0, this.#o === 1)
this.#G(e);
else {
this.#R(i);
let n = this.#s[i];
if (this.#C(n) ? n.__abortController.abort(new Error("deleted")) : (this.#p || this.#E) && (this.#p && this.#t?.(n, A, e), this.#E &&
this.#u?.push([n, A, e])), this.#g.delete(A), this.#a[i] = void 0, this.#s[i] = void 0, i === this.#h)
this.#h = this.#Q[i];
else if (i === this.#l)
this.#l = this.#B[i];
else {
let o = this.#Q[i];
this.#B[o] = this.#B[i];
let g = this.#B[i];
this.#Q[g] = this.#Q[i];
}
this.#o--, this.#m.push(i);
}
}
if (this.#E && this.#u?.length) {
let i = this.#u, n;
for (; n = i?.shift(); )
this.#r?.(...n);
}
return r;
}
/**
* Clear the cache entirely, throwing away all values.
*/
clear() {
return this.#G("delete");
}
#G(A) {
for (let e of this.#F({ allowStale: !0 })) {
let r = this.#s[e];
if (this.#C(r))
r.__abortController.abort(new Error("deleted"));
else {
let i = this.#a[e];
this.#p && this.#t?.(r, i, A), this.#E && this.#u?.push([r, i, A]);
}
}
if (this.#g.clear(), this.#s.fill(void 0), this.#a.fill(void 0), this.#d && this.#D && (this.#d.fill(0), this.#D.fill(0)), this.#y && this.#y.
fill(0), this.#l = 0, this.#h = 0, this.#m.length = 0, this.#c = 0, this.#o = 0, this.#E && this.#u) {
let e = this.#u, r;
for (; r = e?.shift(); )
this.#r?.(...r);
}
}
};
// ../node_modules/path-scurry/dist/esm/index.js
var Hr = require("node:path"), cu = require("node:url"), Ze = require("fs"), Ub = P(require("node:fs"), 1), Pt = require("node:fs/promises");
// ../node_modules/minipass/dist/esm/index.js
var ln = require("node:events"), Sa = P(require("node:stream"), 1), nu = require("node:string_decoder");
var tu = typeof process == "object" && process ? process : {
stdout: null,
stderr: null
}, bb = /* @__PURE__ */ s((t) => !!t && typeof t == "object" && (t instanceof Yt || t instanceof Sa.default || Nb(t) || Mb(t)), "isStream"),
Nb = /* @__PURE__ */ s((t) => !!t && typeof t == "object" && t instanceof ln.EventEmitter && typeof t.pipe == "function" && // node core Writable streams have a pipe() method, but it throws
t.pipe !== Sa.default.Writable.prototype.pipe, "isReadable"), Mb = /* @__PURE__ */ s((t) => !!t && typeof t == "object" && t instanceof ln.EventEmitter &&
typeof t.write == "function" && typeof t.end == "function", "isWritable"), lt = Symbol("EOF"), Et = Symbol("maybeEmitEnd"), xt = Symbol("emi\
ttedEnd"), gn = Symbol("emittingEnd"), Oi = Symbol("emittedError"), an = Symbol("closed"), ru = Symbol("read"), Cn = Symbol("flush"), iu = Symbol(
"flushChunk"), Me = Symbol("encoding"), Or = Symbol("decoder"), YA = Symbol("flowing"), Ti = Symbol("paused"), Tr = Symbol("resume"), PA = Symbol(
"buffer"), $A = Symbol("pipes"), UA = Symbol("bufferLength"), da = Symbol("bufferPush"), cn = Symbol("bufferShift"), HA = Symbol("objectMode"),
FA = Symbol("destroyed"), pa = Symbol("error"), wa = Symbol("emitData"), su = Symbol("emitEnd"), ma = Symbol("emitEnd2"), Ve = Symbol("async"),
ya = Symbol("abort"), In = Symbol("aborted"), Hi = Symbol("signal"), Cr = Symbol("dataListeners"), Ie = Symbol("discarded"), ji = /* @__PURE__ */ s(
(t) => Promise.resolve().then(t), "defer"), Rb = /* @__PURE__ */ s((t) => t(), "nodefer"), vb = /* @__PURE__ */ s((t) => t === "end" || t ===
"finish" || t === "prefinish", "isEndish"), Lb = /* @__PURE__ */ s((t) => t instanceof ArrayBuffer || !!t && typeof t == "object" && t.constructor &&
t.constructor.name === "ArrayBuffer" && t.byteLength >= 0, "isArrayBufferLike"), xb = /* @__PURE__ */ s((t) => !Buffer.isBuffer(t) && ArrayBuffer.
isView(t), "isArrayBufferView"), hn = class {
static {
s(this, "Pipe");
}
src;
dest;
opts;
ondrain;
constructor(A, e, r) {
this.src = A, this.dest = e, this.opts = r, this.ondrain = () => A[Tr](), this.dest.on("drain", this.ondrain);
}
unpipe() {
this.dest.removeListener("drain", this.ondrain);
}
// only here for the prototype
/* c8 ignore start */
proxyErrors(A) {
}
/* c8 ignore stop */
end() {
this.unpipe(), this.opts.end && this.dest.end();
}
}, Da = class extends hn {
static {
s(this, "PipeProxyErrors");
}
unpipe() {
this.src.removeListener("error", this.proxyErrors), super.unpipe();
}
constructor(A, e, r) {
super(A, e, r), this.proxyErrors = (i) => e.emit("error", i), A.on("error", this.proxyErrors);
}
}, Yb = /* @__PURE__ */ s((t) => !!t.objectMode, "isObjectModeOptions"), Pb = /* @__PURE__ */ s((t) => !t.objectMode && !!t.encoding && t.encoding !==
"buffer", "isEncodingOptions"), Yt = class extends ln.EventEmitter {
static {
s(this, "Minipass");
}
[YA] = !1;
[Ti] = !1;
[$A] = [];
[PA] = [];
[HA];
[Me];
[Ve];
[Or];
[lt] = !1;
[xt] = !1;
[gn] = !1;
[an] = !1;
[Oi] = null;
[UA] = 0;
[FA] = !1;
[Hi];
[In] = !1;
[Cr] = 0;
[Ie] = !1;
/**
* true if the stream can be written
*/
writable = !0;
/**
* true if the stream can be read
*/
readable = !0;
/**
* If `RType` is Buffer, then options do not need to be provided.
* Otherwise, an options object must be provided to specify either
* {@link Minipass.SharedOptions.objectMode} or
* {@link Minipass.SharedOptions.encoding}, as appropriate.
*/
constructor(...A) {
let e = A[0] || {};
if (super(), e.objectMode && typeof e.encoding == "string")
throw new TypeError("Encoding and objectMode may not be used together");
Yb(e) ? (this[HA] = !0, this[Me] = null) : Pb(e) ? (this[Me] = e.encoding, this[HA] = !1) : (this[HA] = !1, this[Me] = null), this[Ve] =
!!e.async, this[Or] = this[Me] ? new nu.StringDecoder(this[Me]) : null, e && e.debugExposeBuffer === !0 && Object.defineProperty(this, "\
buffer", { get: /* @__PURE__ */ s(() => this[PA], "get") }), e && e.debugExposePipes === !0 && Object.defineProperty(this, "pipes", { get: /* @__PURE__ */ s(
() => this[$A], "get") });
let { signal: r } = e;
r && (this[Hi] = r, r.aborted ? this[ya]() : r.addEventListener("abort", () => this[ya]()));
}
/**
* The amount of data stored in the buffer waiting to be read.
*
* For Buffer strings, this will be the total byte length.
* For string encoding streams, this will be the string character length,
* according to JavaScript's `string.length` logic.
* For objectMode streams, this is a count of the items waiting to be
* emitted.
*/
get bufferLength() {
return this[UA];
}
/**
* The `BufferEncoding` currently in use, or `null`
*/
get encoding() {
return this[Me];
}
/**
* @deprecated - This is a read only property
*/
set encoding(A) {
throw new Error("Encoding must be set at instantiation time");
}
/**
* @deprecated - Encoding may only be set at instantiation time
*/
setEncoding(A) {
throw new Error("Encoding must be set at instantiation time");
}
/**
* True if this is an objectMode stream
*/
get objectMode() {
return this[HA];
}
/**
* @deprecated - This is a read-only property
*/
set objectMode(A) {
throw new Error("objectMode must be set at instantiation time");
}
/**
* true if this is an async stream
*/
get async() {
return this[Ve];
}
/**
* Set to true to make this stream async.
*
* Once set, it cannot be unset, as this would potentially cause incorrect
* behavior. Ie, a sync stream can be made async, but an async stream
* cannot be safely made sync.
*/
set async(A) {
this[Ve] = this[Ve] || !!A;
}
// drop everything and get out of the flow completely
[ya]() {
this[In] = !0, this.emit("abort", this[Hi]?.reason), this.destroy(this[Hi]?.reason);
}
/**
* True if the stream has been aborted.
*/
get aborted() {
return this[In];
}
/**
* No-op setter. Stream aborted status is set via the AbortSignal provided
* in the constructor options.
*/
set aborted(A) {
}
write(A, e, r) {
if (this[In])
return !1;
if (this[lt])
throw new Error("write after end");
if (this[FA])
return this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" })),
!0;
typeof e == "function" && (r = e, e = "utf8"), e || (e = "utf8");
let i = this[Ve] ? ji : Rb;
if (!this[HA] && !Buffer.isBuffer(A)) {
if (xb(A))
A = Buffer.from(A.buffer, A.byteOffset, A.byteLength);
else if (Lb(A))
A = Buffer.from(A);
else if (typeof A != "string")
throw new Error("Non-contiguous data written to non-objectMode stream");
}
return this[HA] ? (this[YA] && this[UA] !== 0 && this[Cn](!0), this[YA] ? this.emit("data", A) : this[da](A), this[UA] !== 0 && this.emit(
"readable"), r && i(r), this[YA]) : A.length ? (typeof A == "string" && // unless it is a string already ready for us to use
!(e === this[Me] && !this[Or]?.lastNeed) && (A = Buffer.from(A, e)), Buffer.isBuffer(A) && this[Me] && (A = this[Or].write(A)), this[YA] &&
this[UA] !== 0 && this[Cn](!0), this[YA] ? this.emit("data", A) : this[da](A), this[UA] !== 0 && this.emit("readable"), r && i(r), this[YA]) :
(this[UA] !== 0 && this.emit("readable"), r && i(r), this[YA]);
}
/**
* Low-level explicit read method.
*
* In objectMode, the argument is ignored, and one item is returned if
* available.
*
* `n` is the number of bytes (or in the case of encoding streams,
* characters) to consume. If `n` is not provided, then the entire buffer
* is returned, or `null` is returned if no data is available.
*
* If `n` is greater that the amount of data in the internal buffer,
* then `null` is returned.
*/
read(A) {
if (this[FA])
return null;
if (this[Ie] = !1, this[UA] === 0 || A === 0 || A && A > this[UA])
return this[Et](), null;
this[HA] && (A = null), this[PA].length > 1 && !this[HA] && (this[PA] = [
this[Me] ? this[PA].join("") : Buffer.concat(this[PA], this[UA])
]);
let e = this[ru](A || null, this[PA][0]);
return this[Et](), e;
}
[ru](A, e) {
if (this[HA])
this[cn]();
else {
let r = e;
A === r.length || A === null ? this[cn]() : typeof r == "string" ? (this[PA][0] = r.slice(A), e = r.slice(0, A), this[UA] -= A) : (this[PA][0] =
r.subarray(A), e = r.subarray(0, A), this[UA] -= A);
}
return this.emit("data", e), !this[PA].length && !this[lt] && this.emit("drain"), e;
}
end(A, e, r) {
return typeof A == "function" && (r = A, A = void 0), typeof e == "function" && (r = e, e = "utf8"), A !== void 0 && this.write(A, e), r &&
this.once("end", r), this[lt] = !0, this.writable = !1, (this[YA] || !this[Ti]) && this[Et](), this;
}
// don't let the internal resume be overwritten
[Tr]() {
this[FA] || (!this[Cr] && !this[$A].length && (this[Ie] = !0), this[Ti] = !1, this[YA] = !0, this.emit("resume"), this[PA].length ? this[Cn]() :
this[lt] ? this[Et]() : this.emit("drain"));
}
/**
* Resume the stream if it is currently in a paused state
*
* If called when there are no pipe destinations or `data` event listeners,
* this will place the stream in a "discarded" state, where all data will
* be thrown away. The discarded state is removed if a pipe destination or
* data handler is added, if pause() is called, or if any synchronous or
* asynchronous iteration is started.
*/
resume() {
return this[Tr]();
}
/**
* Pause the stream
*/
pause() {
this[YA] = !1, this[Ti] = !0, this[Ie] = !1;
}
/**
* true if the stream has been forcibly destroyed
*/
get destroyed() {
return this[FA];
}
/**
* true if the stream is currently in a flowing state, meaning that
* any writes will be immediately emitted.
*/
get flowing() {
return this[YA];
}
/**
* true if the stream is currently in a paused state
*/
get paused() {
return this[Ti];
}
[da](A) {
this[HA] ? this[UA] += 1 : this[UA] += A.length, this[PA].push(A);
}
[cn]() {
return this[HA] ? this[UA] -= 1 : this[UA] -= this[PA][0].length, this[PA].shift();
}
[Cn](A = !1) {
do
;
while (this[iu](this[cn]()) && this[PA].length);
!A && !this[PA].length && !this[lt] && this.emit("drain");
}
[iu](A) {
return this.emit("data", A), this[YA];
}
/**
* Pipe all data emitted by this stream into the destination provided.
*
* Triggers the flow of data.
*/
pipe(A, e) {
if (this[FA])
return A;
this[Ie] = !1;
let r = this[xt];
return e = e || {}, A === tu.stdout || A === tu.stderr ? e.end = !1 : e.end = e.end !== !1, e.proxyErrors = !!e.proxyErrors, r ? e.end &&
A.end() : (this[$A].push(e.proxyErrors ? new Da(this, A, e) : new hn(this, A, e)), this[Ve] ? ji(() => this[Tr]()) : this[Tr]()), A;
}
/**
* Fully unhook a piped destination stream.
*
* If the destination stream was the only consumer of this stream (ie,
* there are no other piped destinations or `'data'` event listeners)
* then the flow of data will stop until there is another consumer or
* {@link Minipass#resume} is explicitly called.
*/
unpipe(A) {
let e = this[$A].find((r) => r.dest === A);
e && (this[$A].length === 1 ? (this[YA] && this[Cr] === 0 && (this[YA] = !1), this[$A] = []) : this[$A].splice(this[$A].indexOf(e), 1), e.
unpipe());
}
/**
* Alias for {@link Minipass#on}
*/
addListener(A, e) {
return this.on(A, e);
}
/**
* Mostly identical to `EventEmitter.on`, with the following
* behavior differences to prevent data loss and unnecessary hangs:
*
* - Adding a 'data' event handler will trigger the flow of data
*
* - Adding a 'readable' event handler when there is data waiting to be read
* will cause 'readable' to be emitted immediately.
*
* - Adding an 'endish' event handler ('end', 'finish', etc.) which has
* already passed will cause the event to be emitted immediately and all
* handlers removed.
*
* - Adding an 'error' event handler after an error has been emitted will
* cause the event to be re-emitted immediately with the error previously
* raised.
*/
on(A, e) {
let r = super.on(A, e);
if (A === "data")
this[Ie] = !1, this[Cr]++, !this[$A].length && !this[YA] && this[Tr]();
else if (A === "readable" && this[UA] !== 0)
super.emit("readable");
else if (vb(A) && this[xt])
super.emit(A), this.removeAllListeners(A);
else if (A === "error" && this[Oi]) {
let i = e;
this[Ve] ? ji(() => i.call(this, this[Oi])) : i.call(this, this[Oi]);
}
return r;
}
/**
* Alias for {@link Minipass#off}
*/
removeListener(A, e) {
return this.off(A, e);
}
/**
* Mostly identical to `EventEmitter.off`
*
* If a 'data' event handler is removed, and it was the last consumer
* (ie, there are no pipe destinations or other 'data' event listeners),
* then the flow of data will stop until there is another consumer or
* {@link Minipass#resume} is explicitly called.
*/
off(A, e) {
let r = super.off(A, e);
return A === "data" && (this[Cr] = this.listeners("data").length, this[Cr] === 0 && !this[Ie] && !this[$A].length && (this[YA] = !1)), r;
}
/**
* Mostly identical to `EventEmitter.removeAllListeners`
*
* If all 'data' event handlers are removed, and they were the last consumer
* (ie, there are no pipe destinations), then the flow of data will stop
* until there is another consumer or {@link Minipass#resume} is explicitly
* called.
*/
removeAllListeners(A) {
let e = super.removeAllListeners(A);
return (A === "data" || A === void 0) && (this[Cr] = 0, !this[Ie] && !this[$A].length && (this[YA] = !1)), e;
}
/**
* true if the 'end' event has been emitted
*/
get emittedEnd() {
return this[xt];
}
[Et]() {
!this[gn] && !this[xt] && !this[FA] && this[PA].length === 0 && this[lt] && (this[gn] = !0, this.emit("end"), this.emit("prefinish"), this.
emit("finish"), this[an] && this.emit("close"), this[gn] = !1);
}
/**
* Mostly identical to `EventEmitter.emit`, with the following
* behavior differences to prevent data loss and unnecessary hangs:
*
* If the stream has been destroyed, and the event is something other
* than 'close' or 'error', then `false` is returned and no handlers
* are called.
*
* If the event is 'end', and has already been emitted, then the event
* is ignored. If the stream is in a paused or non-flowing state, then
* the event will be deferred until data flow resumes. If the stream is
* async, then handlers will be called on the next tick rather than
* immediately.
*
* If the event is 'close', and 'end' has not yet been emitted, then
* the event will be deferred until after 'end' is emitted.
*
* If the event is 'error', and an AbortSignal was provided for the stream,
* and there are no listeners, then the event is ignored, matching the
* behavior of node core streams in the presense of an AbortSignal.
*
* If the event is 'finish' or 'prefinish', then all listeners will be
* removed after emitting the event, to prevent double-firing.
*/
emit(A, ...e) {
let r = e[0];
if (A !== "error" && A !== "close" && A !== FA && this[FA])
return !1;
if (A === "data")
return !this[HA] && !r ? !1 : this[Ve] ? (ji(() => this[wa](r)), !0) : this[wa](r);
if (A === "end")
return this[su]();
if (A === "close") {
if (this[an] = !0, !this[xt] && !this[FA])
return !1;
let n = super.emit("close");
return this.removeAllListeners("close"), n;
} else if (A === "error") {
this[Oi] = r, super.emit(pa, r);
let n = !this[Hi] || this.listeners("error").length ? super.emit("error", r) : !1;
return this[Et](), n;
} else if (A === "resume") {
let n = super.emit("resume");
return this[Et](), n;
} else if (A === "finish" || A === "prefinish") {
let n = super.emit(A);
return this.removeAllListeners(A), n;
}
let i = super.emit(A, ...e);
return this[Et](), i;
}
[wa](A) {
for (let r of this[$A])
r.dest.write(A) === !1 && this.pause();
let e = this[Ie] ? !1 : super.emit("data", A);
return this[Et](), e;
}
[su]() {
return this[xt] ? !1 : (this[xt] = !0, this.readable = !1, this[Ve] ? (ji(() => this[ma]()), !0) : this[ma]());
}
[ma]() {
if (this[Or]) {
let e = this[Or].end();
if (e) {
for (let r of this[$A])
r.dest.write(e);
this[Ie] || super.emit("data", e);
}
}
for (let e of this[$A])
e.end();
let A = super.emit("end");
return this.removeAllListeners("end"), A;
}
/**
* Return a Promise that resolves to an array of all emitted data once
* the stream ends.
*/
async collect() {
let A = Object.assign([], {
dataLength: 0
});
this[HA] || (A.dataLength = 0);
let e = this.promise();
return this.on("data", (r) => {
A.push(r), this[HA] || (A.dataLength += r.length);
}), await e, A;
}
/**
* Return a Promise that resolves to the concatenation of all emitted data
* once the stream ends.
*
* Not allowed on objectMode streams.
*/
async concat() {
if (this[HA])
throw new Error("cannot concat in objectMode");
let A = await this.collect();
return this[Me] ? A.join("") : Buffer.concat(A, A.dataLength);
}
/**
* Return a void Promise that resolves once the stream ends.
*/
async promise() {
return new Promise((A, e) => {
this.on(FA, () => e(new Error("stream destroyed"))), this.on("error", (r) => e(r)), this.on("end", () => A());
});
}
/**
* Asynchronous `for await of` iteration.
*
* This will continue emitting all chunks until the stream terminates.
*/
[Symbol.asyncIterator]() {
this[Ie] = !1;
let A = !1, e = /* @__PURE__ */ s(async () => (this.pause(), A = !0, { value: void 0, done: !0 }), "stop");
return {
next: /* @__PURE__ */ s(() => {
if (A)
return e();
let i = this.read();
if (i !== null)
return Promise.resolve({ done: !1, value: i });
if (this[lt])
return e();
let n, o, g = /* @__PURE__ */ s((Q) => {
this.off("data", C), this.off("end", I), this.off(FA, E), e(), o(Q);
}, "onerr"), C = /* @__PURE__ */ s((Q) => {
this.off("error", g), this.off("end", I), this.off(FA, E), this.pause(), n({ value: Q, done: !!this[lt] });
}, "ondata"), I = /* @__PURE__ */ s(() => {
this.off("error", g), this.off("data", C), this.off(FA, E), e(), n({ done: !0, value: void 0 });
}, "onend"), E = /* @__PURE__ */ s(() => g(new Error("stream destroyed")), "ondestroy");
return new Promise((Q, B) => {
o = B, n = Q, this.once(FA, E), this.once("error", g), this.once("end", I), this.once("data", C);
});
}, "next"),
throw: e,
return: e,
[Symbol.asyncIterator]() {
return this;
}
};
}
/**
* Synchronous `for of` iteration.
*
* The iteration will terminate when the internal buffer runs out, even
* if the stream has not yet terminated.
*/
[Symbol.iterator]() {
this[Ie] = !1;
let A = !1, e = /* @__PURE__ */ s(() => (this.pause(), this.off(pa, e), this.off(FA, e), this.off("end", e), A = !0, { done: !0, value: void 0 }),
"stop"), r = /* @__PURE__ */ s(() => {
if (A)
return e();
let i = this.read();
return i === null ? e() : { done: !1, value: i };
}, "next");
return this.once("end", e), this.once(pa, e), this.once(FA, e), {
next: r,
throw: e,
return: e,
[Symbol.iterator]() {
return this;
}
};
}
/**
* Destroy a stream, preventing it from being used for any further purpose.
*
* If the stream has a `close()` method, then it will be called on
* destruction.
*
* After destruction, any attempt to write data, read data, or emit most
* events will be ignored.
*
* If an error argument is provided, then it will be emitted in an
* 'error' event.
*/
destroy(A) {
if (this[FA])
return A ? this.emit("error", A) : this.emit(FA), this;
this[FA] = !0, this[Ie] = !0, this[PA].length = 0, this[UA] = 0;
let e = this;
return typeof e.close == "function" && !this[an] && e.close(), A ? this.emit("error", A) : this.emit(FA), this;
}
/**
* Alias for {@link isStream}
*
* Former export location, maintained for backwards compatibility.
*
* @deprecated
*/
static get isStream() {
return bb;
}
};
// ../node_modules/path-scurry/dist/esm/index.js
var _b = Ze.realpathSync.native, zi = {
lstatSync: Ze.lstatSync,
readdir: Ze.readdir,
readdirSync: Ze.readdirSync,
readlinkSync: Ze.readlinkSync,
realpathSync: _b,
promises: {
lstat: Pt.lstat,
readdir: Pt.readdir,
readlink: Pt.readlink,
realpath: Pt.realpath
}
}, Iu = /* @__PURE__ */ s((t) => !t || t === zi || t === Ub ? zi : {
...zi,
...t,
promises: {
...zi.promises,
...t.promises || {}
}
}, "fsFromOption"), hu = /^\\\\\?\\([a-z]:)\\?$/i, Gb = /* @__PURE__ */ s((t) => t.replace(/\//g, "\\").replace(hu, "$1\\"), "uncToDrive"), Jb = /[\\\/]/,
we = 0, lu = 1, Eu = 2, Xe = 4, uu = 6, Bu = 8, cr = 10, Qu = 12, pe = 15, qi = ~pe, Ka = 16, ou = 32, Wi = 64, Re = 128, En = 256, Bn = 512,
gu = Wi | Re | Bn, Ob = 1023, Fa = /* @__PURE__ */ s((t) => t.isFile() ? Bu : t.isDirectory() ? Xe : t.isSymbolicLink() ? cr : t.isCharacterDevice() ?
Eu : t.isBlockDevice() ? uu : t.isSocket() ? Qu : t.isFIFO() ? lu : we, "entToType"), au = /* @__PURE__ */ new Map(), Vi = /* @__PURE__ */ s(
(t) => {
let A = au.get(t);
if (A)
return A;
let e = t.normalize("NFKD");
return au.set(t, e), e;
}, "normalize"), Cu = /* @__PURE__ */ new Map(), un = /* @__PURE__ */ s((t) => {
let A = Cu.get(t);
if (A)
return A;
let e = Vi(t.toLowerCase());
return Cu.set(t, e), e;
}, "normalizeNocase"), Qn = class extends Ji {
static {
s(this, "ResolveCache");
}
constructor() {
super({ max: 256 });
}
}, ka = class extends Ji {
static {
s(this, "ChildrenCache");
}
constructor(A = 16 * 1024) {
super({
maxSize: A,
// parent + children
sizeCalculation: /* @__PURE__ */ s((e) => e.length + 1, "sizeCalculation")
});
}
}, fu = Symbol("PathScurry setAsCwd"), jA = class {
static {
s(this, "PathBase");
}
/**
* the basename of this path
*
* **Important**: *always* test the path name against any test string
* usingthe {@link isNamed} method, and not by directly comparing this
* string. Otherwise, unicode path strings that the system sees as identical
* will not be properly treated as the same path, leading to incorrect
* behavior and possible security issues.
*/
name;
/**
* the Path entry corresponding to the path root.
*
* @internal
*/
root;
/**
* All roots found within the current PathScurry family
*
* @internal
*/
roots;
/**
* a reference to the parent path, or undefined in the case of root entries
*
* @internal
*/
parent;
/**
* boolean indicating whether paths are compared case-insensitively
* @internal
*/
nocase;
/**
* boolean indicating that this path is the current working directory
* of the PathScurry collection that contains it.
*/
isCWD = !1;
// potential default fs override
#A;
// Stats fields
#e;
get dev() {
return this.#e;
}
#t;
get mode() {
return this.#t;
}
#r;
get nlink() {
return this.#r;
}
#n;
get uid() {
return this.#n;
}
#I;
get gid() {
return this.#I;
}
#o;
get rdev() {
return this.#o;
}
#c;
get blksize() {
return this.#c;
}
#g;
get ino() {
return this.#g;
}
#a;
get size() {
return this.#a;
}
#s;
get blocks() {
return this.#s;
}
#B;
get atimeMs() {
return this.#B;
}
#Q;
get mtimeMs() {
return this.#Q;
}
#l;
get ctimeMs() {
return this.#l;
}
#h;
get birthtimeMs() {
return this.#h;
}
#m;
get atime() {
return this.#m;
}
#u;
get mtime() {
return this.#u;
}
#y;
get ctime() {
return this.#y;
}
#D;
get birthtime() {
return this.#D;
}
#d;
#p;
#w;
#E;
#k;
#S;
#i;
#M;
#f;
#b;
/**
* This property is for compatibility with the Dirent class as of
* Node v20, where Dirent['parentPath'] refers to the path of the
* directory that was passed to readdir. For root entries, it's the path
* to the entry itself.
*/
get parentPath() {
return (this.parent || this).fullpath();
}
/**
* Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
* this property refers to the *parent* path, not the path object itself.
*/
get path() {
return this.parentPath;
}
/**
* Do not create new Path objects directly. They should always be accessed
* via the PathScurry class or other methods on the Path class.
*
* @internal
*/
constructor(A, e = we, r, i, n, o, g) {
this.name = A, this.#d = n ? un(A) : Vi(A), this.#i = e & Ob, this.nocase = n, this.roots = i, this.root = r || this, this.#M = o, this.#w =
g.fullpath, this.#k = g.relative, this.#S = g.relativePosix, this.parent = g.parent, this.parent ? this.#A = this.parent.#A : this.#A = Iu(
g.fs);
}
/**
* Returns the depth of the Path object from its root.
*
* For example, a path at `/foo/bar` would have a depth of 2.
*/
depth() {
return this.#p !== void 0 ? this.#p : this.parent ? this.#p = this.parent.depth() + 1 : this.#p = 0;
}
/**
* @internal
*/
childrenCache() {
return this.#M;
}
/**
* Get the Path object referenced by the string path, resolved from this Path
*/
resolve(A) {
if (!A)
return this;
let e = this.getRootString(A), i = A.substring(e.length).split(this.splitSep);
return e ? this.getRoot(e).#R(i) : this.#R(i);
}
#R(A) {
let e = this;
for (let r of A)
e = e.child(r);
return e;
}
/**
* Returns the cached children Path objects, if still available. If they
* have fallen out of the cache, then returns an empty array, and resets the
* READDIR_CALLED bit, so that future calls to readdir() will require an fs
* lookup.
*
* @internal
*/
children() {
let A = this.#M.get(this);
if (A)
return A;
let e = Object.assign([], { provisional: 0 });
return this.#M.set(this, e), this.#i &= ~Ka, e;
}
/**
* Resolves a path portion and returns or creates the child Path.
*
* Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
* `'..'`.
*
* This should not be called directly. If `pathPart` contains any path
* separators, it will lead to unsafe undefined behavior.
*
* Use `Path.resolve()` instead.
*
* @internal
*/
child(A, e) {
if (A === "" || A === ".")
return this;
if (A === "..")
return this.parent || this;
let r = this.children(), i = this.nocase ? un(A) : Vi(A);
for (let C of r)
if (C.#d === i)
return C;
let n = this.parent ? this.sep : "", o = this.#w ? this.#w + n + A : void 0, g = this.newChild(A, we, {
...e,
parent: this,
fullpath: o
});
return this.canReaddir() || (g.#i |= Re), r.push(g), g;
}
/**
* The relative path from the cwd. If it does not share an ancestor with
* the cwd, then this ends up being equivalent to the fullpath()
*/
relative() {
if (this.isCWD)
return "";
if (this.#k !== void 0)
return this.#k;
let A = this.name, e = this.parent;
if (!e)
return this.#k = this.name;
let r = e.relative();
return r + (!r || !e.parent ? "" : this.sep) + A;
}
/**
* The relative path from the cwd, using / as the path separator.
* If it does not share an ancestor with
* the cwd, then this ends up being equivalent to the fullpathPosix()
* On posix systems, this is identical to relative().
*/
relativePosix() {
if (this.sep === "/")
return this.relative();
if (this.isCWD)
return "";
if (this.#S !== void 0)
return this.#S;
let A = this.name, e = this.parent;
if (!e)
return this.#S = this.fullpathPosix();
let r = e.relativePosix();
return r + (!r || !e.parent ? "" : "/") + A;
}
/**
* The fully resolved path string for this Path entry
*/
fullpath() {
if (this.#w !== void 0)
return this.#w;
let A = this.name, e = this.parent;
if (!e)
return this.#w = this.name;
let i = e.fullpath() + (e.parent ? this.sep : "") + A;
return this.#w = i;
}
/**
* On platforms other than windows, this is identical to fullpath.
*
* On windows, this is overridden to return the forward-slash form of the
* full UNC path.
*/
fullpathPosix() {
if (this.#E !== void 0)
return this.#E;
if (this.sep === "/")
return this.#E = this.fullpath();
if (!this.parent) {
let i = this.fullpath().replace(/\\/g, "/");
return /^[a-z]:\//i.test(i) ? this.#E = `//?/${i}` : this.#E = i;
}
let A = this.parent, e = A.fullpathPosix(), r = e + (!e || !A.parent ? "" : "/") + this.name;
return this.#E = r;
}
/**
* Is the Path of an unknown type?
*
* Note that we might know *something* about it if there has been a previous
* filesystem operation, for example that it does not exist, or is not a
* link, or whether it has child entries.
*/
isUnknown() {
return (this.#i & pe) === we;
}
isType(A) {
return this[`is${A}`]();
}
getType() {
return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" :
this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
/* c8 ignore start */
this.isSocket() ? "Socket" : "Unknown"
);
}
/**
* Is the Path a regular file?
*/
isFile() {
return (this.#i & pe) === Bu;
}
/**
* Is the Path a directory?
*/
isDirectory() {
return (this.#i & pe) === Xe;
}
/**
* Is the path a character device?
*/
isCharacterDevice() {
return (this.#i & pe) === Eu;
}
/**
* Is the path a block device?
*/
isBlockDevice() {
return (this.#i & pe) === uu;
}
/**
* Is the path a FIFO pipe?
*/
isFIFO() {
return (this.#i & pe) === lu;
}
/**
* Is the path a socket?
*/
isSocket() {
return (this.#i & pe) === Qu;
}
/**
* Is the path a symbolic link?
*/
isSymbolicLink() {
return (this.#i & cr) === cr;
}
/**
* Return the entry if it has been subject of a successful lstat, or
* undefined otherwise.
*
* Does not read the filesystem, so an undefined result *could* simply
* mean that we haven't called lstat on it.
*/
lstatCached() {
return this.#i & ou ? this : void 0;
}
/**
* Return the cached link target if the entry has been the subject of a
* successful readlink, or undefined otherwise.
*
* Does not read the filesystem, so an undefined result *could* just mean we
* don't have any cached data. Only use it if you are very sure that a
* readlink() has been called at some point.
*/
readlinkCached() {
return this.#f;
}
/**
* Returns the cached realpath target if the entry has been the subject
* of a successful realpath, or undefined otherwise.
*
* Does not read the filesystem, so an undefined result *could* just mean we
* don't have any cached data. Only use it if you are very sure that a
* realpath() has been called at some point.
*/
realpathCached() {
return this.#b;
}
/**
* Returns the cached child Path entries array if the entry has been the
* subject of a successful readdir(), or [] otherwise.
*
* Does not read the filesystem, so an empty array *could* just mean we
* don't have any cached data. Only use it if you are very sure that a
* readdir() has been called recently enough to still be valid.
*/
readdirCached() {
let A = this.children();
return A.slice(0, A.provisional);
}
/**
* Return true if it's worth trying to readlink. Ie, we don't (yet) have
* any indication that readlink will definitely fail.
*
* Returns false if the path is known to not be a symlink, if a previous
* readlink failed, or if the entry does not exist.
*/
canReadlink() {
if (this.#f)
return !0;
if (!this.parent)
return !1;
let A = this.#i & pe;
return !(A !== we && A !== cr || this.#i & En || this.#i & Re);
}
/**
* Return true if readdir has previously been successfully called on this
* path, indicating that cachedReaddir() is likely valid.
*/
calledReaddir() {
return !!(this.#i & Ka);
}
/**
* Returns true if the path is known to not exist. That is, a previous lstat
* or readdir failed to verify its existence when that would have been
* expected, or a parent entry was marked either enoent or enotdir.
*/
isENOENT() {
return !!(this.#i & Re);
}
/**
* Return true if the path is a match for the given path name. This handles
* case sensitivity and unicode normalization.
*
* Note: even on case-sensitive systems, it is **not** safe to test the
* equality of the `.name` property to determine whether a given pathname
* matches, due to unicode normalization mismatches.
*
* Always use this method instead of testing the `path.name` property
* directly.
*/
isNamed(A) {
return this.nocase ? this.#d === un(A) : this.#d === Vi(A);
}
/**
* Return the Path object corresponding to the target of a symbolic link.
*
* If the Path is not a symbolic link, or if the readlink call fails for any
* reason, `undefined` is returned.
*
* Result is cached, and thus may be outdated if the filesystem is mutated.
*/
async readlink() {
let A = this.#f;
if (A)
return A;
if (this.canReadlink() && this.parent)
try {
let e = await this.#A.promises.readlink(this.fullpath()), r = (await this.parent.realpath())?.resolve(e);
if (r)
return this.#f = r;
} catch (e) {
this.#C(e.code);
return;
}
}
/**
* Synchronous {@link PathBase.readlink}
*/
readlinkSync() {
let A = this.#f;
if (A)
return A;
if (this.canReadlink() && this.parent)
try {
let e = this.#A.readlinkSync(this.fullpath()), r = this.parent.realpathSync()?.resolve(e);
if (r)
return this.#f = r;
} catch (e) {
this.#C(e.code);
return;
}
}
#v(A) {
this.#i |= Ka;
for (let e = A.provisional; e < A.length; e++) {
let r = A[e];
r && r.#L();
}
}
#L() {
this.#i & Re || (this.#i = (this.#i | Re) & qi, this.#K());
}
#K() {
let A = this.children();
A.provisional = 0;
for (let e of A)
e.#L();
}
#F() {
this.#i |= Bn, this.#x();
}
// save the information when we know the entry is not a dir
#x() {
if (this.#i & Wi)
return;
let A = this.#i;
(A & pe) === Xe && (A &= qi), this.#i = A | Wi, this.#K();
}
#Y(A = "") {
A === "ENOTDIR" || A === "EPERM" ? this.#x() : A === "ENOENT" ? this.#L() : this.children().provisional = 0;
}
#P(A = "") {
A === "ENOTDIR" ? this.parent.#x() : A === "ENOENT" && this.#L();
}
#C(A = "") {
let e = this.#i;
e |= En, A === "ENOENT" && (e |= Re), (A === "EINVAL" || A === "UNKNOWN") && (e &= qi), this.#i = e, A === "ENOTDIR" && this.parent && this.
parent.#x();
}
#U(A, e) {
return this.#N(A, e) || this.#_(A, e);
}
#_(A, e) {
let r = Fa(A), i = this.newChild(A.name, r, { parent: this }), n = i.#i & pe;
return n !== Xe && n !== cr && n !== we && (i.#i |= Wi), e.unshift(i), e.provisional++, i;
}
#N(A, e) {
for (let r = e.provisional; r < e.length; r++) {
let i = e[r];
if ((this.nocase ? un(A.name) : Vi(A.name)) === i.#d)
return this.#G(A, i, r, e);
}
}
#G(A, e, r, i) {
let n = e.name;
return e.#i = e.#i & qi | Fa(A), n !== A.name && (e.name = A.name), r !== i.provisional && (r === i.length - 1 ? i.pop() : i.splice(r, 1),
i.unshift(e)), i.provisional++, e;
}
/**
* Call lstat() on this Path, and update all known information that can be
* determined.
*
* Note that unlike `fs.lstat()`, the returned value does not contain some
* information, such as `mode`, `dev`, `nlink`, and `ino`. If that
* information is required, you will need to call `fs.lstat` yourself.
*
* If the Path refers to a nonexistent file, or if the lstat call fails for
* any reason, `undefined` is returned. Otherwise the updated Path object is
* returned.
*
* Results are cached, and thus may be out of date if the filesystem is
* mutated.
*/
async lstat() {
if ((this.#i & Re) === 0)
try {
return this.#H(await this.#A.promises.lstat(this.fullpath())), this;
} catch (A) {
this.#P(A.code);
}
}
/**
* synchronous {@link PathBase.lstat}
*/
lstatSync() {
if ((this.#i & Re) === 0)
try {
return this.#H(this.#A.lstatSync(this.fullpath())), this;
} catch (A) {
this.#P(A.code);
}
}
#H(A) {
let { atime: e, atimeMs: r, birthtime: i, birthtimeMs: n, blksize: o, blocks: g, ctime: C, ctimeMs: I, dev: E, gid: Q, ino: B, mode: p, mtime: w,
mtimeMs: D, nlink: N, rdev: k, size: _, uid: v } = A;
this.#m = e, this.#B = r, this.#D = i, this.#h = n, this.#c = o, this.#s = g, this.#y = C, this.#l = I, this.#e = E, this.#I = Q, this.#g =
B, this.#t = p, this.#u = w, this.#Q = D, this.#r = N, this.#o = k, this.#a = _, this.#n = v;
let J = Fa(A);
this.#i = this.#i & qi | J | ou, J !== we && J !== Xe && J !== cr && (this.#i |= Wi);
}
#O = [];
#T = !1;
#j(A) {
this.#T = !1;
let e = this.#O.slice();
this.#O.length = 0, e.forEach((r) => r(null, A));
}
/**
* Standard node-style callback interface to get list of directory entries.
*
* If the Path cannot or does not contain any children, then an empty array
* is returned.
*
* Results are cached, and thus may be out of date if the filesystem is
* mutated.
*
* @param cb The callback called with (er, entries). Note that the `er`
* param is somewhat extraneous, as all readdir() errors are handled and
* simply result in an empty set of entries being returned.
* @param allowZalgo Boolean indicating that immediately known results should
* *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
* zalgo at your peril, the dark pony lord is devious and unforgiving.
*/
readdirCB(A, e = !1) {
if (!this.canReaddir()) {
e ? A(null, []) : queueMicrotask(() => A(null, []));
return;
}
let r = this.children();
if (this.calledReaddir()) {
let n = r.slice(0, r.provisional);
e ? A(null, n) : queueMicrotask(() => A(null, n));
return;
}
if (this.#O.push(A), this.#T)
return;
this.#T = !0;
let i = this.fullpath();
this.#A.readdir(i, { withFileTypes: !0 }, (n, o) => {
if (n)
this.#Y(n.code), r.provisional = 0;
else {
for (let g of o)
this.#U(g, r);
this.#v(r);
}
this.#j(r.slice(0, r.provisional));
});
}
#J;
/**
* Return an array of known child entries.
*
* If the Path cannot or does not contain any children, then an empty array
* is returned.
*
* Results are cached, and thus may be out of date if the filesystem is
* mutated.
*/
async readdir() {
if (!this.canReaddir())
return [];
let A = this.children();
if (this.calledReaddir())
return A.slice(0, A.provisional);
let e = this.fullpath();
if (this.#J)
await this.#J;
else {
let r = /* @__PURE__ */ s(() => {
}, "resolve");
this.#J = new Promise((i) => r = i);
try {
for (let i of await this.#A.promises.readdir(e, {
withFileTypes: !0
}))
this.#U(i, A);
this.#v(A);
} catch (i) {
this.#Y(i.code), A.provisional = 0;
}
this.#J = void 0, r();
}
return A.slice(0, A.provisional);
}
/**
* synchronous {@link PathBase.readdir}
*/
readdirSync() {
if (!this.canReaddir())
return [];
let A = this.children();
if (this.calledReaddir())
return A.slice(0, A.provisional);
let e = this.fullpath();
try {
for (let r of this.#A.readdirSync(e, {
withFileTypes: !0
}))
this.#U(r, A);
this.#v(A);
} catch (r) {
this.#Y(r.code), A.provisional = 0;
}
return A.slice(0, A.provisional);
}
canReaddir() {
if (this.#i & gu)
return !1;
let A = pe & this.#i;
return A === we || A === Xe || A === cr;
}
shouldWalk(A, e) {
return (this.#i & Xe) === Xe && !(this.#i & gu) && !A.has(this) && (!e || e(this));
}
/**
* Return the Path object corresponding to path as resolved
* by realpath(3).
*
* If the realpath call fails for any reason, `undefined` is returned.
*
* Result is cached, and thus may be outdated if the filesystem is mutated.
* On success, returns a Path object.
*/
async realpath() {
if (this.#b)
return this.#b;
if (!((Bn | En | Re) & this.#i))
try {
let A = await this.#A.promises.realpath(this.fullpath());
return this.#b = this.resolve(A);
} catch {
this.#F();
}
}
/**
* Synchronous {@link realpath}
*/
realpathSync() {
if (this.#b)
return this.#b;
if (!((Bn | En | Re) & this.#i))
try {
let A = this.#A.realpathSync(this.fullpath());
return this.#b = this.resolve(A);
} catch {
this.#F();
}
}
/**
* Internal method to mark this Path object as the scurry cwd,
* called by {@link PathScurry#chdir}
*
* @internal
*/
[fu](A) {
if (A === this)
return;
A.isCWD = !1, this.isCWD = !0;
let e = /* @__PURE__ */ new Set([]), r = [], i = this;
for (; i && i.parent; )
e.add(i), i.#k = r.join(this.sep), i.#S = r.join("/"), i = i.parent, r.push("..");
for (i = A; i && i.parent && !e.has(i); )
i.#k = void 0, i.#S = void 0, i = i.parent;
}
}, fn = class t extends jA {
static {
s(this, "PathWin32");
}
/**
* Separator for generating path strings.
*/
sep = "\\";
/**
* Separator for parsing path strings.
*/
splitSep = Jb;
/**
* Do not create new Path objects directly. They should always be accessed
* via the PathScurry class or other methods on the Path class.
*
* @internal
*/
constructor(A, e = we, r, i, n, o, g) {
super(A, e, r, i, n, o, g);
}
/**
* @internal
*/
newChild(A, e = we, r = {}) {
return new t(A, e, this.root, this.roots, this.nocase, this.childrenCache(), r);
}
/**
* @internal
*/
getRootString(A) {
return Hr.win32.parse(A).root;
}
/**
* @internal
*/
getRoot(A) {
if (A = Gb(A.toUpperCase()), A === this.root.name)
return this.root;
for (let [e, r] of Object.entries(this.roots))
if (this.sameRoot(A, e))
return this.roots[A] = r;
return this.roots[A] = new jr(A, this).root;
}
/**
* @internal
*/
sameRoot(A, e = this.root.name) {
return A = A.toUpperCase().replace(/\//g, "\\").replace(hu, "$1\\"), A === e;
}
}, dn = class t extends jA {
static {
s(this, "PathPosix");
}
/**
* separator for parsing path strings
*/
splitSep = "/";
/**
* separator for generating path strings
*/
sep = "/";
/**
* Do not create new Path objects directly. They should always be accessed
* via the PathScurry class or other methods on the Path class.
*
* @internal
*/
constructor(A, e = we, r, i, n, o, g) {
super(A, e, r, i, n, o, g);
}
/**
* @internal
*/
getRootString(A) {
return A.startsWith("/") ? "/" : "";
}
/**
* @internal
*/
getRoot(A) {
return this.root;
}
/**
* @internal
*/
newChild(A, e = we, r = {}) {
return new t(A, e, this.root, this.roots, this.nocase, this.childrenCache(), r);
}
}, pn = class {
static {
s(this, "PathScurryBase");
}
/**
* The root Path entry for the current working directory of this Scurry
*/
root;
/**
* The string path for the root of this Scurry's current working directory
*/
rootPath;
/**
* A collection of all roots encountered, referenced by rootPath
*/
roots;
/**
* The Path entry corresponding to this PathScurry's current working directory.
*/
cwd;
#A;
#e;
#t;
/**
* Perform path comparisons case-insensitively.
*
* Defaults true on Darwin and Windows systems, false elsewhere.
*/
nocase;
#r;
/**
* This class should not be instantiated directly.
*
* Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
*
* @internal
*/
constructor(A = process.cwd(), e, r, { nocase: i, childrenCacheSize: n = 16 * 1024, fs: o = zi } = {}) {
this.#r = Iu(o), (A instanceof URL || A.startsWith("file://")) && (A = (0, cu.fileURLToPath)(A));
let g = e.resolve(A);
this.roots = /* @__PURE__ */ Object.create(null), this.rootPath = this.parseRootPath(g), this.#A = new Qn(), this.#e = new Qn(), this.#t =
new ka(n);
let C = g.substring(this.rootPath.length).split(r);
if (C.length === 1 && !C[0] && C.pop(), i === void 0)
throw new TypeError("must provide nocase setting to PathScurryBase ctor");
this.nocase = i, this.root = this.newRoot(this.#r), this.roots[this.rootPath] = this.root;
let I = this.root, E = C.length - 1, Q = e.sep, B = this.rootPath, p = !1;
for (let w of C) {
let D = E--;
I = I.child(w, {
relative: new Array(D).fill("..").join(Q),
relativePosix: new Array(D).fill("..").join("/"),
fullpath: B += (p ? "" : Q) + w
}), p = !0;
}
this.cwd = I;
}
/**
* Get the depth of a provided path, string, or the cwd
*/
depth(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.depth();
}
/**
* Return the cache of child entries. Exposed so subclasses can create
* child Path objects in a platform-specific way.
*
* @internal
*/
childrenCache() {
return this.#t;
}
/**
* Resolve one or more path strings to a resolved string
*
* Same interface as require('path').resolve.
*
* Much faster than path.resolve() when called multiple times for the same
* path, because the resolved Path objects are cached. Much slower
* otherwise.
*/
resolve(...A) {
let e = "";
for (let n = A.length - 1; n >= 0; n--) {
let o = A[n];
if (!(!o || o === ".") && (e = e ? `${o}/${e}` : o, this.isAbsolute(o)))
break;
}
let r = this.#A.get(e);
if (r !== void 0)
return r;
let i = this.cwd.resolve(e).fullpath();
return this.#A.set(e, i), i;
}
/**
* Resolve one or more path strings to a resolved string, returning
* the posix path. Identical to .resolve() on posix systems, but on
* windows will return a forward-slash separated UNC path.
*
* Same interface as require('path').resolve.
*
* Much faster than path.resolve() when called multiple times for the same
* path, because the resolved Path objects are cached. Much slower
* otherwise.
*/
resolvePosix(...A) {
let e = "";
for (let n = A.length - 1; n >= 0; n--) {
let o = A[n];
if (!(!o || o === ".") && (e = e ? `${o}/${e}` : o, this.isAbsolute(o)))
break;
}
let r = this.#e.get(e);
if (r !== void 0)
return r;
let i = this.cwd.resolve(e).fullpathPosix();
return this.#e.set(e, i), i;
}
/**
* find the relative path from the cwd to the supplied path string or entry
*/
relative(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.relative();
}
/**
* find the relative path from the cwd to the supplied path string or
* entry, using / as the path delimiter, even on Windows.
*/
relativePosix(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.relativePosix();
}
/**
* Return the basename for the provided string or Path object
*/
basename(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.name;
}
/**
* Return the dirname for the provided string or Path object
*/
dirname(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), (A.parent || A).fullpath();
}
async readdir(A = this.cwd, e = {
withFileTypes: !0
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A, A = this.cwd);
let { withFileTypes: r } = e;
if (A.canReaddir()) {
let i = await A.readdir();
return r ? i : i.map((n) => n.name);
} else
return [];
}
readdirSync(A = this.cwd, e = {
withFileTypes: !0
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A, A = this.cwd);
let { withFileTypes: r = !0 } = e;
return A.canReaddir() ? r ? A.readdirSync() : A.readdirSync().map((i) => i.name) : [];
}
/**
* Call lstat() on the string or Path object, and update all known
* information that can be determined.
*
* Note that unlike `fs.lstat()`, the returned value does not contain some
* information, such as `mode`, `dev`, `nlink`, and `ino`. If that
* information is required, you will need to call `fs.lstat` yourself.
*
* If the Path refers to a nonexistent file, or if the lstat call fails for
* any reason, `undefined` is returned. Otherwise the updated Path object is
* returned.
*
* Results are cached, and thus may be out of date if the filesystem is
* mutated.
*/
async lstat(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.lstat();
}
/**
* synchronous {@link PathScurryBase.lstat}
*/
lstatSync(A = this.cwd) {
return typeof A == "string" && (A = this.cwd.resolve(A)), A.lstatSync();
}
async readlink(A = this.cwd, { withFileTypes: e } = {
withFileTypes: !1
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A.withFileTypes, A = this.cwd);
let r = await A.readlink();
return e ? r : r?.fullpath();
}
readlinkSync(A = this.cwd, { withFileTypes: e } = {
withFileTypes: !1
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A.withFileTypes, A = this.cwd);
let r = A.readlinkSync();
return e ? r : r?.fullpath();
}
async realpath(A = this.cwd, { withFileTypes: e } = {
withFileTypes: !1
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A.withFileTypes, A = this.cwd);
let r = await A.realpath();
return e ? r : r?.fullpath();
}
realpathSync(A = this.cwd, { withFileTypes: e } = {
withFileTypes: !1
}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A.withFileTypes, A = this.cwd);
let r = A.realpathSync();
return e ? r : r?.fullpath();
}
async walk(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e, g = [];
(!n || n(A)) && g.push(r ? A : A.fullpath());
let C = /* @__PURE__ */ new Set(), I = /* @__PURE__ */ s((Q, B) => {
C.add(Q), Q.readdirCB((p, w) => {
if (p)
return B(p);
let D = w.length;
if (!D)
return B();
let N = /* @__PURE__ */ s(() => {
--D === 0 && B();
}, "next");
for (let k of w)
(!n || n(k)) && g.push(r ? k : k.fullpath()), i && k.isSymbolicLink() ? k.realpath().then((_) => _?.isUnknown() ? _.lstat() : _).then(
(_) => _?.shouldWalk(C, o) ? I(_, N) : N()) : k.shouldWalk(C, o) ? I(k, N) : N();
}, !0);
}, "walk"), E = A;
return new Promise((Q, B) => {
I(E, (p) => {
if (p)
return B(p);
Q(g);
});
});
}
walkSync(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e, g = [];
(!n || n(A)) && g.push(r ? A : A.fullpath());
let C = /* @__PURE__ */ new Set([A]);
for (let I of C) {
let E = I.readdirSync();
for (let Q of E) {
(!n || n(Q)) && g.push(r ? Q : Q.fullpath());
let B = Q;
if (Q.isSymbolicLink()) {
if (!(i && (B = Q.realpathSync())))
continue;
B.isUnknown() && B.lstatSync();
}
B.shouldWalk(C, o) && C.add(B);
}
}
return g;
}
/**
* Support for `for await`
*
* Alias for {@link PathScurryBase.iterate}
*
* Note: As of Node 19, this is very slow, compared to other methods of
* walking. Consider using {@link PathScurryBase.stream} if memory overhead
* and backpressure are concerns, or {@link PathScurryBase.walk} if not.
*/
[Symbol.asyncIterator]() {
return this.iterate();
}
iterate(A = this.cwd, e = {}) {
return typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A, A = this.cwd), this.stream(A, e)[Symbol.asyncIterator]();
}
/**
* Iterating over a PathScurry performs a synchronous walk.
*
* Alias for {@link PathScurryBase.iterateSync}
*/
[Symbol.iterator]() {
return this.iterateSync();
}
*iterateSync(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e;
(!n || n(A)) && (yield r ? A : A.fullpath());
let g = /* @__PURE__ */ new Set([A]);
for (let C of g) {
let I = C.readdirSync();
for (let E of I) {
(!n || n(E)) && (yield r ? E : E.fullpath());
let Q = E;
if (E.isSymbolicLink()) {
if (!(i && (Q = E.realpathSync())))
continue;
Q.isUnknown() && Q.lstatSync();
}
Q.shouldWalk(g, o) && g.add(Q);
}
}
}
stream(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e, g = new Yt({ objectMode: !0 });
(!n || n(A)) && g.write(r ? A : A.fullpath());
let C = /* @__PURE__ */ new Set(), I = [A], E = 0, Q = /* @__PURE__ */ s(() => {
let B = !1;
for (; !B; ) {
let p = I.shift();
if (!p) {
E === 0 && g.end();
return;
}
E++, C.add(p);
let w = /* @__PURE__ */ s((N, k, _ = !1) => {
if (N)
return g.emit("error", N);
if (i && !_) {
let v = [];
for (let J of k)
J.isSymbolicLink() && v.push(J.realpath().then((U) => U?.isUnknown() ? U.lstat() : U));
if (v.length) {
Promise.all(v).then(() => w(null, k, !0));
return;
}
}
for (let v of k)
v && (!n || n(v)) && (g.write(r ? v : v.fullpath()) || (B = !0));
E--;
for (let v of k) {
let J = v.realpathCached() || v;
J.shouldWalk(C, o) && I.push(J);
}
B && !g.flowing ? g.once("drain", Q) : D || Q();
}, "onReaddir"), D = !0;
p.readdirCB(w, !0), D = !1;
}
}, "process");
return Q(), g;
}
streamSync(A = this.cwd, e = {}) {
typeof A == "string" ? A = this.cwd.resolve(A) : A instanceof jA || (e = A, A = this.cwd);
let { withFileTypes: r = !0, follow: i = !1, filter: n, walkFilter: o } = e, g = new Yt({ objectMode: !0 }), C = /* @__PURE__ */ new Set();
(!n || n(A)) && g.write(r ? A : A.fullpath());
let I = [A], E = 0, Q = /* @__PURE__ */ s(() => {
let B = !1;
for (; !B; ) {
let p = I.shift();
if (!p) {
E === 0 && g.end();
return;
}
E++, C.add(p);
let w = p.readdirSync();
for (let D of w)
(!n || n(D)) && (g.write(r ? D : D.fullpath()) || (B = !0));
E--;
for (let D of w) {
let N = D;
if (D.isSymbolicLink()) {
if (!(i && (N = D.realpathSync())))
continue;
N.isUnknown() && N.lstatSync();
}
N.shouldWalk(C, o) && I.push(N);
}
}
B && !g.flowing && g.once("drain", Q);
}, "process");
return Q(), g;
}
chdir(A = this.cwd) {
let e = this.cwd;
this.cwd = typeof A == "string" ? this.cwd.resolve(A) : A, this.cwd[fu](e);
}
}, jr = class extends pn {
static {
s(this, "PathScurryWin32");
}
/**
* separator for generating path strings
*/
sep = "\\";
constructor(A = process.cwd(), e = {}) {
let { nocase: r = !0 } = e;
super(A, Hr.win32, "\\", { ...e, nocase: r }), this.nocase = r;
for (let i = this.cwd; i; i = i.parent)
i.nocase = this.nocase;
}
/**
* @internal
*/
parseRootPath(A) {
return Hr.win32.parse(A).root.toUpperCase();
}
/**
* @internal
*/
newRoot(A) {
return new fn(this.rootPath, Xe, void 0, this.roots, this.nocase, this.childrenCache(), { fs: A });
}
/**
* Return true if the provided path string is an absolute path
*/
isAbsolute(A) {
return A.startsWith("/") || A.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(A);
}
}, qr = class extends pn {
static {
s(this, "PathScurryPosix");
}
/**
* separator for generating path strings
*/
sep = "/";
constructor(A = process.cwd(), e = {}) {
let { nocase: r = !1 } = e;
super(A, Hr.posix, "/", { ...e, nocase: r }), this.nocase = r;
}
/**
* @internal
*/
parseRootPath(A) {
return "/";
}
/**
* @internal
*/
newRoot(A) {
return new dn(this.rootPath, Xe, void 0, this.roots, this.nocase, this.childrenCache(), { fs: A });
}
/**
* Return true if the provided path string is an absolute path
*/
isAbsolute(A) {
return A.startsWith("/");
}
}, Xi = class extends qr {
static {
s(this, "PathScurryDarwin");
}
constructor(A = process.cwd(), e = {}) {
let { nocase: r = !0 } = e;
super(A, { ...e, nocase: r });
}
}, ZT = process.platform === "win32" ? fn : dn, du = process.platform === "win32" ? jr : process.platform === "darwin" ? Xi : qr;
// ../node_modules/glob/dist/esm/pattern.js
var Tb = /* @__PURE__ */ s((t) => t.length >= 1, "isPatternList"), Hb = /* @__PURE__ */ s((t) => t.length >= 1, "isGlobList"), zr = class t {
static {
s(this, "Pattern");
}
#A;
#e;
#t;
length;
#r;
#n;
#I;
#o;
#c;
#g;
#a = !0;
constructor(A, e, r, i) {
if (!Tb(A))
throw new TypeError("empty pattern list");
if (!Hb(e))
throw new TypeError("empty glob list");
if (e.length !== A.length)
throw new TypeError("mismatched pattern list and glob list lengths");
if (this.length = A.length, r < 0 || r >= this.length)
throw new TypeError("index out of range");
if (this.#A = A, this.#e = e, this.#t = r, this.#r = i, this.#t === 0) {
if (this.isUNC()) {
let [n, o, g, C, ...I] = this.#A, [E, Q, B, p, ...w] = this.#e;
I[0] === "" && (I.shift(), w.shift());
let D = [n, o, g, C, ""].join("/"), N = [E, Q, B, p, ""].join("/");
this.#A = [D, ...I], this.#e = [N, ...w], this.length = this.#A.length;
} else if (this.isDrive() || this.isAbsolute()) {
let [n, ...o] = this.#A, [g, ...C] = this.#e;
o[0] === "" && (o.shift(), C.shift());
let I = n + "/", E = g + "/";
this.#A = [I, ...o], this.#e = [E, ...C], this.length = this.#A.length;
}
}
}
/**
* The first entry in the parsed list of patterns
*/
pattern() {
return this.#A[this.#t];
}
/**
* true of if pattern() returns a string
*/
isString() {
return typeof this.#A[this.#t] == "string";
}
/**
* true of if pattern() returns GLOBSTAR
*/
isGlobstar() {
return this.#A[this.#t] === TA;
}
/**
* true if pattern() returns a regexp
*/
isRegExp() {
return this.#A[this.#t] instanceof RegExp;
}
/**
* The /-joined set of glob parts that make up this pattern
*/
globString() {
return this.#I = this.#I || (this.#t === 0 ? this.isAbsolute() ? this.#e[0] + this.#e.slice(1).join("/") : this.#e.join("/") : this.#e.slice(
this.#t).join("/"));
}
/**
* true if there are more pattern parts after this one
*/
hasMore() {
return this.length > this.#t + 1;
}
/**
* The rest of the pattern after this part, or null if this is the end
*/
rest() {
return this.#n !== void 0 ? this.#n : this.hasMore() ? (this.#n = new t(this.#A, this.#e, this.#t + 1, this.#r), this.#n.#g = this.#g, this.#n.#c =
this.#c, this.#n.#o = this.#o, this.#n) : this.#n = null;
}
/**
* true if the pattern represents a //unc/path/ on windows
*/
isUNC() {
let A = this.#A;
return this.#c !== void 0 ? this.#c : this.#c = this.#r === "win32" && this.#t === 0 && A[0] === "" && A[1] === "" && typeof A[2] == "st\
ring" && !!A[2] && typeof A[3] == "string" && !!A[3];
}
// pattern like C:/...
// split = ['C:', ...]
// XXX: would be nice to handle patterns like `c:*` to test the cwd
// in c: for *, but I don't know of a way to even figure out what that
// cwd is without actually chdir'ing into it?
/**
* True if the pattern starts with a drive letter on Windows
*/
isDrive() {
let A = this.#A;
return this.#o !== void 0 ? this.#o : this.#o = this.#r === "win32" && this.#t === 0 && this.length > 1 && typeof A[0] == "string" && /^[a-z]:$/i.
test(A[0]);
}
// pattern = '/' or '/...' or '/x/...'
// split = ['', ''] or ['', ...] or ['', 'x', ...]
// Drive and UNC both considered absolute on windows
/**
* True if the pattern is rooted on an absolute path
*/
isAbsolute() {
let A = this.#A;
return this.#g !== void 0 ? this.#g : this.#g = A[0] === "" && A.length > 1 || this.isDrive() || this.isUNC();
}
/**
* consume the root of the pattern, and return it
*/
root() {
let A = this.#A[0];
return typeof A == "string" && this.isAbsolute() && this.#t === 0 ? A : "";
}
/**
* Check to see if the current globstar pattern is allowed to follow
* a symbolic link.
*/
checkFollowGlobstar() {
return !(this.#t === 0 || !this.isGlobstar() || !this.#a);
}
/**
* Mark that the current globstar pattern is following a symbolic link
*/
markFollowGlobstar() {
return this.#t === 0 || !this.isGlobstar() || !this.#a ? !1 : (this.#a = !1, !0);
}
};
// ../node_modules/glob/dist/esm/ignore.js
var jb = typeof process == "object" && process && typeof process.platform == "string" ? process.platform : "linux", Wr = class {
static {
s(this, "Ignore");
}
relative;
relativeChildren;
absolute;
absoluteChildren;
platform;
mmopts;
constructor(A, { nobrace: e, nocase: r, noext: i, noglobstar: n, platform: o = jb }) {
this.relative = [], this.absolute = [], this.relativeChildren = [], this.absoluteChildren = [], this.platform = o, this.mmopts = {
dot: !0,
nobrace: e,
nocase: r,
noext: i,
noglobstar: n,
optimizationLevel: 2,
platform: o,
nocomment: !0,
nonegate: !0
};
for (let g of A)
this.add(g);
}
add(A) {
let e = new ce(A, this.mmopts);
for (let r = 0; r < e.set.length; r++) {
let i = e.set[r], n = e.globParts[r];
if (!i || !n)
throw new Error("invalid pattern object");
for (; i[0] === "." && n[0] === "."; )
i.shift(), n.shift();
let o = new zr(i, n, 0, this.platform), g = new ce(o.globString(), this.mmopts), C = n[n.length - 1] === "**", I = o.isAbsolute();
I ? this.absolute.push(g) : this.relative.push(g), C && (I ? this.absoluteChildren.push(g) : this.relativeChildren.push(g));
}
}
ignored(A) {
let e = A.fullpath(), r = `${e}/`, i = A.relative() || ".", n = `${i}/`;
for (let o of this.relative)
if (o.match(i) || o.match(n))
return !0;
for (let o of this.absolute)
if (o.match(e) || o.match(r))
return !0;
return !1;
}
childrenIgnored(A) {
let e = A.fullpath() + "/", r = (A.relative() || ".") + "/";
for (let i of this.relativeChildren)
if (i.match(r))
return !0;
for (let i of this.absoluteChildren)
if (i.match(e))
return !0;
return !1;
}
};
// ../node_modules/glob/dist/esm/processor.js
var ba = class t {
static {
s(this, "HasWalkedCache");
}
store;
constructor(A = /* @__PURE__ */ new Map()) {
this.store = A;
}
copy() {
return new t(new Map(this.store));
}
hasWalked(A, e) {
return this.store.get(A.fullpath())?.has(e.globString());
}
storeWalked(A, e) {
let r = A.fullpath(), i = this.store.get(r);
i ? i.add(e.globString()) : this.store.set(r, /* @__PURE__ */ new Set([e.globString()]));
}
}, Na = class {
static {
s(this, "MatchRecord");
}
store = /* @__PURE__ */ new Map();
add(A, e, r) {
let i = (e ? 2 : 0) | (r ? 1 : 0), n = this.store.get(A);
this.store.set(A, n === void 0 ? i : i & n);
}
// match, absolute, ifdir
entries() {
return [...this.store.entries()].map(([A, e]) => [
A,
!!(e & 2),
!!(e & 1)
]);
}
}, Ma = class {
static {
s(this, "SubWalks");
}
store = /* @__PURE__ */ new Map();
add(A, e) {
if (!A.canReaddir())
return;
let r = this.store.get(A);
r ? r.find((i) => i.globString() === e.globString()) || r.push(e) : this.store.set(A, [e]);
}
get(A) {
let e = this.store.get(A);
if (!e)
throw new Error("attempting to walk unknown path");
return e;
}
entries() {
return this.keys().map((A) => [A, this.store.get(A)]);
}
keys() {
return [...this.store.keys()].filter((A) => A.canReaddir());
}
}, Zi = class t {
static {
s(this, "Processor");
}
hasWalkedCache;
matches = new Na();
subwalks = new Ma();
patterns;
follow;
dot;
opts;
constructor(A, e) {
this.opts = A, this.follow = !!A.follow, this.dot = !!A.dot, this.hasWalkedCache = e ? e.copy() : new ba();
}
processPatterns(A, e) {
this.patterns = e;
let r = e.map((i) => [A, i]);
for (let [i, n] of r) {
this.hasWalkedCache.storeWalked(i, n);
let o = n.root(), g = n.isAbsolute() && this.opts.absolute !== !1;
if (o) {
i = i.resolve(o === "/" && this.opts.root !== void 0 ? this.opts.root : o);
let Q = n.rest();
if (Q)
n = Q;
else {
this.matches.add(i, !0, !1);
continue;
}
}
if (i.isENOENT())
continue;
let C, I, E = !1;
for (; typeof (C = n.pattern()) == "string" && (I = n.rest()); )
i = i.resolve(C), n = I, E = !0;
if (C = n.pattern(), I = n.rest(), E) {
if (this.hasWalkedCache.hasWalked(i, n))
continue;
this.hasWalkedCache.storeWalked(i, n);
}
if (typeof C == "string") {
let Q = C === ".." || C === "" || C === ".";
this.matches.add(i.resolve(C), g, Q);
continue;
} else if (C === TA) {
(!i.isSymbolicLink() || this.follow || n.checkFollowGlobstar()) && this.subwalks.add(i, n);
let Q = I?.pattern(), B = I?.rest();
if (!I || (Q === "" || Q === ".") && !B)
this.matches.add(i, g, Q === "" || Q === ".");
else if (Q === "..") {
let p = i.parent || i;
B ? this.hasWalkedCache.hasWalked(p, B) || this.subwalks.add(p, B) : this.matches.add(p, g, !0);
}
} else C instanceof RegExp && this.subwalks.add(i, n);
}
return this;
}
subwalkTargets() {
return this.subwalks.keys();
}
child() {
return new t(this.opts, this.hasWalkedCache);
}
// return a new Processor containing the subwalks for each
// child entry, and a set of matches, and
// a hasWalkedCache that's a copy of this one
// then we're going to call
filterEntries(A, e) {
let r = this.subwalks.get(A), i = this.child();
for (let n of e)
for (let o of r) {
let g = o.isAbsolute(), C = o.pattern(), I = o.rest();
C === TA ? i.testGlobstar(n, o, I, g) : C instanceof RegExp ? i.testRegExp(n, C, I, g) : i.testString(n, C, I, g);
}
return i;
}
testGlobstar(A, e, r, i) {
if ((this.dot || !A.name.startsWith(".")) && (e.hasMore() || this.matches.add(A, i, !1), A.canReaddir() && (this.follow || !A.isSymbolicLink() ?
this.subwalks.add(A, e) : A.isSymbolicLink() && (r && e.checkFollowGlobstar() ? this.subwalks.add(A, r) : e.markFollowGlobstar() && this.
subwalks.add(A, e)))), r) {
let n = r.pattern();
if (typeof n == "string" && // dots and empty were handled already
n !== ".." && n !== "" && n !== ".")
this.testString(A, n, r.rest(), i);
else if (n === "..") {
let o = A.parent || A;
this.subwalks.add(o, r);
} else n instanceof RegExp && this.testRegExp(A, n, r.rest(), i);
}
}
testRegExp(A, e, r, i) {
e.test(A.name) && (r ? this.subwalks.add(A, r) : this.matches.add(A, i, !1));
}
testString(A, e, r, i) {
A.isNamed(e) && (r ? this.subwalks.add(A, r) : this.matches.add(A, i, !1));
}
};
// ../node_modules/glob/dist/esm/walker.js
var qb = /* @__PURE__ */ s((t, A) => typeof t == "string" ? new Wr([t], A) : Array.isArray(t) ? new Wr(t, A) : t, "makeIgnore"), wn = class {
static {
s(this, "GlobUtil");
}
path;
patterns;
opts;
seen = /* @__PURE__ */ new Set();
paused = !1;
aborted = !1;
#A = [];
#e;
#t;
signal;
maxDepth;
includeChildMatches;
constructor(A, e, r) {
if (this.patterns = A, this.path = e, this.opts = r, this.#t = !r.posix && r.platform === "win32" ? "\\" : "/", this.includeChildMatches =
r.includeChildMatches !== !1, (r.ignore || !this.includeChildMatches) && (this.#e = qb(r.ignore ?? [], r), !this.includeChildMatches && typeof this.#e.
add != "function")) {
let i = "cannot ignore child matches, ignore lacks add() method.";
throw new Error(i);
}
this.maxDepth = r.maxDepth || 1 / 0, r.signal && (this.signal = r.signal, this.signal.addEventListener("abort", () => {
this.#A.length = 0;
}));
}
#r(A) {
return this.seen.has(A) || !!this.#e?.ignored?.(A);
}
#n(A) {
return !!this.#e?.childrenIgnored?.(A);
}
// backpressure mechanism
pause() {
this.paused = !0;
}
resume() {
if (this.signal?.aborted)
return;
this.paused = !1;
let A;
for (; !this.paused && (A = this.#A.shift()); )
A();
}
onResume(A) {
this.signal?.aborted || (this.paused ? this.#A.push(A) : A());
}
// do the requisite realpath/stat checking, and return the path
// to add or undefined to filter it out.
async matchCheck(A, e) {
if (e && this.opts.nodir)
return;
let r;
if (this.opts.realpath) {
if (r = A.realpathCached() || await A.realpath(), !r)
return;
A = r;
}
let n = A.isUnknown() || this.opts.stat ? await A.lstat() : A;
if (this.opts.follow && this.opts.nodir && n?.isSymbolicLink()) {
let o = await n.realpath();
o && (o.isUnknown() || this.opts.stat) && await o.lstat();
}
return this.matchCheckTest(n, e);
}
matchCheckTest(A, e) {
return A && (this.maxDepth === 1 / 0 || A.depth() <= this.maxDepth) && (!e || A.canReaddir()) && (!this.opts.nodir || !A.isDirectory()) &&
(!this.opts.nodir || !this.opts.follow || !A.isSymbolicLink() || !A.realpathCached()?.isDirectory()) && !this.#r(A) ? A : void 0;
}
matchCheckSync(A, e) {
if (e && this.opts.nodir)
return;
let r;
if (this.opts.realpath) {
if (r = A.realpathCached() || A.realpathSync(), !r)
return;
A = r;
}
let n = A.isUnknown() || this.opts.stat ? A.lstatSync() : A;
if (this.opts.follow && this.opts.nodir && n?.isSymbolicLink()) {
let o = n.realpathSync();
o && (o?.isUnknown() || this.opts.stat) && o.lstatSync();
}
return this.matchCheckTest(n, e);
}
matchFinish(A, e) {
if (this.#r(A))
return;
if (!this.includeChildMatches && this.#e?.add) {
let n = `${A.relativePosix()}/**`;
this.#e.add(n);
}
let r = this.opts.absolute === void 0 ? e : this.opts.absolute;
this.seen.add(A);
let i = this.opts.mark && A.isDirectory() ? this.#t : "";
if (this.opts.withFileTypes)
this.matchEmit(A);
else if (r) {
let n = this.opts.posix ? A.fullpathPosix() : A.fullpath();
this.matchEmit(n + i);
} else {
let n = this.opts.posix ? A.relativePosix() : A.relative(), o = this.opts.dotRelative && !n.startsWith(".." + this.#t) ? "." + this.#t :
"";
this.matchEmit(n ? o + n + i : "." + i);
}
}
async match(A, e, r) {
let i = await this.matchCheck(A, r);
i && this.matchFinish(i, e);
}
matchSync(A, e, r) {
let i = this.matchCheckSync(A, r);
i && this.matchFinish(i, e);
}
walkCB(A, e, r) {
this.signal?.aborted && r(), this.walkCB2(A, e, new Zi(this.opts), r);
}
walkCB2(A, e, r, i) {
if (this.#n(A))
return i();
if (this.signal?.aborted && i(), this.paused) {
this.onResume(() => this.walkCB2(A, e, r, i));
return;
}
r.processPatterns(A, e);
let n = 1, o = /* @__PURE__ */ s(() => {
--n === 0 && i();
}, "next");
for (let [g, C, I] of r.matches.entries())
this.#r(g) || (n++, this.match(g, C, I).then(() => o()));
for (let g of r.subwalkTargets()) {
if (this.maxDepth !== 1 / 0 && g.depth() >= this.maxDepth)
continue;
n++;
let C = g.readdirCached();
g.calledReaddir() ? this.walkCB3(g, C, r, o) : g.readdirCB((I, E) => this.walkCB3(g, E, r, o), !0);
}
o();
}
walkCB3(A, e, r, i) {
r = r.filterEntries(A, e);
let n = 1, o = /* @__PURE__ */ s(() => {
--n === 0 && i();
}, "next");
for (let [g, C, I] of r.matches.entries())
this.#r(g) || (n++, this.match(g, C, I).then(() => o()));
for (let [g, C] of r.subwalks.entries())
n++, this.walkCB2(g, C, r.child(), o);
o();
}
walkCBSync(A, e, r) {
this.signal?.aborted && r(), this.walkCB2Sync(A, e, new Zi(this.opts), r);
}
walkCB2Sync(A, e, r, i) {
if (this.#n(A))
return i();
if (this.signal?.aborted && i(), this.paused) {
this.onResume(() => this.walkCB2Sync(A, e, r, i));
return;
}
r.processPatterns(A, e);
let n = 1, o = /* @__PURE__ */ s(() => {
--n === 0 && i();
}, "next");
for (let [g, C, I] of r.matches.entries())
this.#r(g) || this.matchSync(g, C, I);
for (let g of r.subwalkTargets()) {
if (this.maxDepth !== 1 / 0 && g.depth() >= this.maxDepth)
continue;
n++;
let C = g.readdirSync();
this.walkCB3Sync(g, C, r, o);
}
o();
}
walkCB3Sync(A, e, r, i) {
r = r.filterEntries(A, e);
let n = 1, o = /* @__PURE__ */ s(() => {
--n === 0 && i();
}, "next");
for (let [g, C, I] of r.matches.entries())
this.#r(g) || this.matchSync(g, C, I);
for (let [g, C] of r.subwalks.entries())
n++, this.walkCB2Sync(g, C, r.child(), o);
o();
}
}, $i = class extends wn {
static {
s(this, "GlobWalker");
}
matches = /* @__PURE__ */ new Set();
constructor(A, e, r) {
super(A, e, r);
}
matchEmit(A) {
this.matches.add(A);
}
async walk() {
if (this.signal?.aborted)
throw this.signal.reason;
return this.path.isUnknown() && await this.path.lstat(), await new Promise((A, e) => {
this.walkCB(this.path, this.patterns, () => {
this.signal?.aborted ? e(this.signal.reason) : A(this.matches);
});
}), this.matches;
}
walkSync() {
if (this.signal?.aborted)
throw this.signal.reason;
return this.path.isUnknown() && this.path.lstatSync(), this.walkCBSync(this.path, this.patterns, () => {
if (this.signal?.aborted)
throw this.signal.reason;
}), this.matches;
}
}, As = class extends wn {
static {
s(this, "GlobStream");
}
results;
constructor(A, e, r) {
super(A, e, r), this.results = new Yt({
signal: this.signal,
objectMode: !0
}), this.results.on("drain", () => this.resume()), this.results.on("resume", () => this.resume());
}
matchEmit(A) {
this.results.write(A), this.results.flowing || this.pause();
}
stream() {
let A = this.path;
return A.isUnknown() ? A.lstat().then(() => {
this.walkCB(A, this.patterns, () => this.results.end());
}) : this.walkCB(A, this.patterns, () => this.results.end()), this.results;
}
streamSync() {
return this.path.isUnknown() && this.path.lstatSync(), this.walkCBSync(this.path, this.patterns, () => this.results.end()), this.results;
}
};
// ../node_modules/glob/dist/esm/glob.js
var zb = typeof process == "object" && process && typeof process.platform == "string" ? process.platform : "linux", ve = class {
static {
s(this, "Glob");
}
absolute;
cwd;
root;
dot;
dotRelative;
follow;
ignore;
magicalBraces;
mark;
matchBase;
maxDepth;
nobrace;
nocase;
nodir;
noext;
noglobstar;
pattern;
platform;
realpath;
scurry;
stat;
signal;
windowsPathsNoEscape;
withFileTypes;
includeChildMatches;
/**
* The options provided to the constructor.
*/
opts;
/**
* An array of parsed immutable {@link Pattern} objects.
*/
patterns;
/**
* All options are stored as properties on the `Glob` object.
*
* See {@link GlobOptions} for full options descriptions.
*
* Note that a previous `Glob` object can be passed as the
* `GlobOptions` to another `Glob` instantiation to re-use settings
* and caches with a new pattern.
*
* Traversal functions can be called multiple times to run the walk
* again.
*/
constructor(A, e) {
if (!e)
throw new TypeError("glob options required");
if (this.withFileTypes = !!e.withFileTypes, this.signal = e.signal, this.follow = !!e.follow, this.dot = !!e.dot, this.dotRelative = !!e.
dotRelative, this.nodir = !!e.nodir, this.mark = !!e.mark, e.cwd ? (e.cwd instanceof URL || e.cwd.startsWith("file://")) && (e.cwd = (0, pu.fileURLToPath)(
e.cwd)) : this.cwd = "", this.cwd = e.cwd || "", this.root = e.root, this.magicalBraces = !!e.magicalBraces, this.nobrace = !!e.nobrace,
this.noext = !!e.noext, this.realpath = !!e.realpath, this.absolute = e.absolute, this.includeChildMatches = e.includeChildMatches !== !1,
this.noglobstar = !!e.noglobstar, this.matchBase = !!e.matchBase, this.maxDepth = typeof e.maxDepth == "number" ? e.maxDepth : 1 / 0, this.
stat = !!e.stat, this.ignore = e.ignore, this.withFileTypes && this.absolute !== void 0)
throw new Error("cannot set absolute and withFileTypes:true");
if (typeof A == "string" && (A = [A]), this.windowsPathsNoEscape = !!e.windowsPathsNoEscape || e.allowWindowsEscape === !1, this.windowsPathsNoEscape &&
(A = A.map((C) => C.replace(/\\/g, "/"))), this.matchBase) {
if (e.noglobstar)
throw new TypeError("base matching requires globstar");
A = A.map((C) => C.includes("/") ? C : `./**/${C}`);
}
if (this.pattern = A, this.platform = e.platform || zb, this.opts = { ...e, platform: this.platform }, e.scurry) {
if (this.scurry = e.scurry, e.nocase !== void 0 && e.nocase !== e.scurry.nocase)
throw new Error("nocase option contradicts provided scurry option");
} else {
let C = e.platform === "win32" ? jr : e.platform === "darwin" ? Xi : e.platform ? qr : du;
this.scurry = new C(this.cwd, {
nocase: e.nocase,
fs: e.fs
});
}
this.nocase = this.scurry.nocase;
let r = this.platform === "darwin" || this.platform === "win32", i = {
// default nocase based on platform
...e,
dot: this.dot,
matchBase: this.matchBase,
nobrace: this.nobrace,
nocase: this.nocase,
nocaseMagicOnly: r,
nocomment: !0,
noext: this.noext,
nonegate: !0,
optimizationLevel: 2,
platform: this.platform,
windowsPathsNoEscape: this.windowsPathsNoEscape,
debug: !!this.opts.debug
}, n = this.pattern.map((C) => new ce(C, i)), [o, g] = n.reduce((C, I) => (C[0].push(...I.set), C[1].push(...I.globParts), C), [[], []]);
this.patterns = o.map((C, I) => {
let E = g[I];
if (!E)
throw new Error("invalid pattern object");
return new zr(C, E, 0, this.platform);
});
}
async walk() {
return [
...await new $i(this.patterns, this.scurry.cwd, {
...this.opts,
maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0,
platform: this.platform,
nocase: this.nocase,
includeChildMatches: this.includeChildMatches
}).walk()
];
}
walkSync() {
return [
...new $i(this.patterns, this.scurry.cwd, {
...this.opts,
maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0,
platform: this.platform,
nocase: this.nocase,
includeChildMatches: this.includeChildMatches
}).walkSync()
];
}
stream() {
return new As(this.patterns, this.scurry.cwd, {
...this.opts,
maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0,
platform: this.platform,
nocase: this.nocase,
includeChildMatches: this.includeChildMatches
}).stream();
}
streamSync() {
return new As(this.patterns, this.scurry.cwd, {
...this.opts,
maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0,
platform: this.platform,
nocase: this.nocase,
includeChildMatches: this.includeChildMatches
}).streamSync();
}
/**
* Default sync iteration function. Returns a Generator that
* iterates over the results.
*/
iterateSync() {
return this.streamSync()[Symbol.iterator]();
}
[Symbol.iterator]() {
return this.iterateSync();
}
/**
* Default async iteration function. Returns an AsyncGenerator that
* iterates over the results.
*/
iterate() {
return this.stream()[Symbol.asyncIterator]();
}
[Symbol.asyncIterator]() {
return this.iterate();
}
};
// ../node_modules/glob/dist/esm/has-magic.js
var Ra = /* @__PURE__ */ s((t, A = {}) => {
Array.isArray(t) || (t = [t]);
for (let e of t)
if (new ce(e, A).hasMagic())
return !0;
return !1;
}, "hasMagic");
// ../node_modules/glob/dist/esm/index.js
function yn(t, A = {}) {
return new ve(t, A).streamSync();
}
s(yn, "globStreamSync");
function mu(t, A = {}) {
return new ve(t, A).stream();
}
s(mu, "globStream");
function Dn(t, A = {}) {
return new ve(t, A).walkSync();
}
s(Dn, "globSync");
async function wu(t, A = {}) {
return new ve(t, A).walk();
}
s(wu, "glob_");
function Sn(t, A = {}) {
return new ve(t, A).iterateSync();
}
s(Sn, "globIterateSync");
function yu(t, A = {}) {
return new ve(t, A).iterate();
}
s(yu, "globIterate");
var Wb = yn, Vb = Object.assign(mu, { sync: yn }), Xb = Sn, Zb = Object.assign(yu, {
sync: Sn
}), $b = Object.assign(Dn, {
stream: yn,
iterate: Sn
}), mn = Object.assign(wu, {
glob: wu,
globSync: Dn,
sync: $b,
globStream: mu,
stream: Vb,
globStreamSync: yn,
streamSync: Wb,
globIterate: yu,
iterate: Zb,
globIterateSync: Sn,
iterateSync: Xb,
Glob: ve,
hasMagic: Ra,
escape: _r,
unescape: Ne
});
mn.glob = mn;
// src/common/utils/validate-configuration-files.ts
Vr();
var Ku = P(ht(), 1);
async function es(t, A) {
let e = `{${Array.from(rn).join(",")}}`, r = await mn(Ae((0, va.resolve)(t, `main${e}`)), {
cwd: A ?? process.cwd()
}), [i] = r;
if (r.length > 1 && Du.once.warn(Ku.dedent`
Multiple main files found in your configDir (${(0, va.resolve)(t)}).
Storybook will use the first one found and ignore the others. Please remove the extra files.
`), !i)
throw new Su.MainFileMissingError({ location: t });
}
s(es, "validateConfigurationFiles");
// src/common/utils/load-custom-presets.ts
function La({ configDir: t }) {
es(t);
let A = Yr((0, Kn.resolve)(t, "presets"));
if (Yr((0, Kn.resolve)(t, "main"))) {
let r = Pr((0, Kn.resolve)(t, "main"));
if (r)
return [r];
}
return A || [];
}
s(La, "loadCustomPresets");
// src/common/utils/safeResolve.ts
var Nu = P(Ya(), 1);
var Mu = /* @__PURE__ */ s((t, A) => {
try {
return (0, Nu.default)(t, A);
} catch {
return;
}
}, "safeResolveFrom"), Fn = /* @__PURE__ */ s((t) => {
try {
return require.resolve(t);
} catch {
return;
}
}, "safeResolve");
// src/common/utils/strip-abs-node-modules-path.ts
var kn = require("node:path");
Vr();
function eN(t) {
return kn.posix.normalize(Ae(t));
}
s(eN, "normalizePath");
function Pa(t) {
let A = t.split(`node_modules${kn.sep}`);
return eN(A[A.length - 1]);
}
s(Pa, "stripAbsNodeModulesPath");
// src/common/presets.ts
var ts = /* @__PURE__ */ s((t) => t != null && typeof t == "object" && Array.isArray(t) === !1, "isObject"), tN = /* @__PURE__ */ s((t) => typeof t ==
"function", "isFunction");
function Yu(t) {
return t.filter((A) => {
let e = typeof A == "string" ? A : A.name;
return !/@storybook[\\\\/]preset-typescript/.test(e);
});
}
s(Yu, "filterPresetsConfig");
function Ru(t) {
let { dir: A, name: e, ext: r } = (0, Ir.parse)(t);
if (r === ".mjs")
return t;
let i = (0, Ir.join)(A, `${e}.mjs`);
if (Fn(i))
return i;
if (r === ".cjs") {
let n = (0, Ir.join)(A, `${e}.js`);
if (Fn(n))
return n;
}
return t;
}
s(Ru, "resolvePathToESM");
function vu(t, A, e) {
return tN(t) ? [...t({ ...e, ...A })] : Array.isArray(t) ? [...t] : [];
}
s(vu, "resolvePresetFunction");
var Pu = /* @__PURE__ */ s((t, A, e) => {
let r = A.startsWith("/") ? Fn : Mu.bind(null, t), i = r(A);
if (i) {
let { dir: B, name: p } = (0, Ir.parse)(i);
if (A.match(/\/(manager|register(-panel)?)(\.(js|mjs|ts|tsx|jsx))?$/))
return {
type: "virtual",
name: A,
// we remove the extension
// this is a bit of a hack to try to find .mjs files
// node can only ever resolve .js files; it does not look at the exports field in package.json
managerEntries: [Ru((0, Ir.join)(B, p))]
};
if (A.match(/\/(preset)(\.(js|mjs|ts|tsx|jsx))?$/))
return {
type: "presets",
name: i
};
}
let n = /* @__PURE__ */ s((B) => {
if (r(`${A}${B}`))
return `${A}${B}`;
}, "checkExists"), o = /* @__PURE__ */ s((B, p) => {
let w = r(`${A}${B}`);
if (w)
return p ? Ru(w) : w;
}, "absolutizeExport"), g = o("/manager", !0), C = o("/register", !0) || o("/register-panel", !0), I = n("/preview"), E = o("/preview", !0),
Q = o("/preset", !1);
if (!(g || I) && Q)
return {
type: "presets",
name: Q
};
if (g || C || I || Q) {
let B = [];
return g && B.push(g), !g && C && !Q && B.push(C), {
type: "virtual",
name: A,
...B.length ? { managerEntries: B } : {},
...I ? {
previewAnnotations: [
E ? {
// TODO: Evaluate if searching for node_modules in a yarn pnp environment is correct
bare: I.includes("node_modules") ? Pa(I) : I,
absolute: E
} : I
]
} : {},
...Q ? { presets: [{ name: Q, options: e }] } : {}
};
}
if (i)
return {
type: "presets",
name: i
};
}, "resolveAddonName"), rN = /* @__PURE__ */ s(({ configDir: t }) => (A) => {
let e = ts(A) && A.options || void 0, r = ts(A) ? A.name : A, i;
try {
i = Pu(t, r, e);
} catch {
Xr.logger.error(
`Addon value should end in /manager or /preview or /register OR it should be a valid preset https://storybook.js.org/docs/addons/writi\
ng-presets/
${A}`
);
return;
}
if (!i) {
Xr.logger.warn(`Could not resolve addon "${r}", skipping. Is it installed?`);
return;
}
return {
...e ? { options: e } : {},
...i
};
}, "map");
async function iN(t) {
if (t.type === "virtual") {
let { type: e, name: r, ...i } = t;
return i;
}
let A = t.name ? t.name : t;
return sn(A);
}
s(iN, "getContent");
async function Uu(t, A, e) {
let r = t.name ? t.name : t;
try {
let i = t.options ? t.options : {}, n = await iN(t);
if (typeof n == "function" && (n = n(e, i)), Array.isArray(n))
return await bn(n, A + 1, e);
if (ts(n)) {
let { addons: o = [], presets: g = [], ...C } = n, I = /* @__PURE__ */ s((B) => !0, "filter");
e.isCritical !== !0 && (e.build?.test?.disabledAddons?.length || 0) > 0 && (I = /* @__PURE__ */ s((B) => {
let p = B.name ? B.name : B;
return !e.build?.test?.disabledAddons?.find((w) => p.includes(w));
}, "filter"));
let E = vu(
g,
i,
e
).filter(I), Q = vu(o, i, e).filter(
I
);
return [
...await bn([...E], A + 1, e),
...await bn(
[...Q.map(rN(e))].filter(Boolean),
A + 1,
e
),
{
name: r,
preset: C,
options: i
}
];
}
throw new Error(xu.dedent`
${t} is not a valid preset
`);
} catch (i) {
if (e?.isCritical)
throw new Lu.CriticalPresetLoadError({
error: i,
presetName: r
});
let n = A > 0 ? ` Failed to load preset: ${JSON.stringify(t)} on level ${A}` : ` Failed to load preset: ${JSON.stringify(t)}`;
return Xr.logger.warn(n), Xr.logger.error(i), [];
}
}
s(Uu, "loadPreset");
async function bn(t, A, e) {
return !t || !Array.isArray(t) || !t.length ? [] : (await Promise.all(
t.map(async (r) => Uu(r, A, e))
)).reduce((r, i) => r.concat(i), []);
}
s(bn, "loadPresets");
function _u(t, A, e, r, i) {
let n = new Promise((o) => o(e));
return t.length ? t.reduce((o, { preset: g, options: C }) => {
let I = g[A];
if (!I)
return o;
if (typeof I == "function") {
let E = I, Q = {
preset: g,
combinedOptions: {
...i,
...r,
...C,
presetsList: t,
presets: {
apply: /* @__PURE__ */ s(async (B, p, w = {}) => _u(t, B, p, w, i), "apply")
}
}
};
return o.then(
(B) => E.call(Q.preset, B, Q.combinedOptions)
);
}
return o.then((E) => Array.isArray(E) && Array.isArray(I) ? [...E, ...I] : ts(E) && ts(I) ? { ...E, ...I } : I);
}, n) : n;
}
s(_u, "applyPresets");
async function Gu(t, A) {
let e = await bn(t, 0, A);
return {
apply: /* @__PURE__ */ s(async (r, i, n = {}) => _u(e, r, i, n, A), "apply")
};
}
s(Gu, "getPresets");
async function sN(t) {
let { corePresets: A = [], overridePresets: e = [], ...r } = t, i = [
...A,
...La(t),
...e
], n = Yu(i);
return n.length < i.length && Xr.logger.warn(
"Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."
), Gu(n, r);
}
s(sN, "loadAllPresets");
// src/common/utils/file-cache.ts
var rs = require("node:crypto"), he = require("node:fs"), Le = require("node:fs/promises"), Ju = require("node:os"), Zr = require("node:path");
var is = class {
static {
s(this, "FileSystemCache");
}
constructor(A = {}) {
this.prefix = (A.ns || A.prefix || "") + "-", this.hash_alg = A.hash_alg || "sha256", this.cache_dir = A.basePath || (0, Zr.join)((0, Ju.tmpdir)(),
(0, rs.randomBytes)(15).toString("base64").replace(/\//g, "-")), this.ttl = A.ttl || 0, (0, rs.createHash)(this.hash_alg), (0, he.mkdirSync)(
this.cache_dir, { recursive: !0 });
}
generateHash(A) {
return (0, Zr.join)(this.cache_dir, this.prefix + (0, rs.createHash)(this.hash_alg).update(A).digest("hex"));
}
isExpired(A, e) {
return A.ttl != null && e > A.ttl;
}
parseCacheData(A, e) {
let r = JSON.parse(A);
return this.isExpired(r, Date.now()) ? e : r.content;
}
parseSetData(A, e, r = {}) {
let i = r.ttl ?? this.ttl;
return JSON.stringify({ key: A, content: e, ...i && { ttl: Date.now() + i * 1e3 } });
}
async get(A, e) {
try {
let r = await (0, Le.readFile)(this.generateHash(A), "utf8");
return this.parseCacheData(r, e);
} catch {
return e;
}
}
getSync(A, e) {
try {
let r = (0, he.readFileSync)(this.generateHash(A), "utf8");
return this.parseCacheData(r, e);
} catch {
return e;
}
}
async set(A, e, r = {}) {
let i = typeof r == "number" ? { ttl: r } : r;
(0, he.mkdirSync)(this.cache_dir, { recursive: !0 }), await (0, Le.writeFile)(this.generateHash(A), this.parseSetData(A, e, i), {
encoding: i.encoding || "utf8"
});
}
setSync(A, e, r = {}) {
let i = typeof r == "number" ? { ttl: r } : r;
(0, he.mkdirSync)(this.cache_dir, { recursive: !0 }), (0, he.writeFileSync)(this.generateHash(A), this.parseSetData(A, e, i), {
encoding: i.encoding || "utf8"
});
}
async setMany(A, e) {
await Promise.all(A.map((r) => this.set(r.key, r.content ?? r.value, e)));
}
setManySync(A, e) {
A.forEach((r) => this.setSync(r.key, r.content ?? r.value, e));
}
async remove(A) {
await (0, Le.rm)(this.generateHash(A), { force: !0 });
}
removeSync(A) {
(0, he.rmSync)(this.generateHash(A), { force: !0 });
}
async clear() {
let A = await (0, Le.readdir)(this.cache_dir);
await Promise.all(
A.filter((e) => e.startsWith(this.prefix)).map((e) => (0, Le.rm)((0, Zr.join)(this.cache_dir, e), { force: !0 }))
);
}
clearSync() {
(0, he.readdirSync)(this.cache_dir).filter((A) => A.startsWith(this.prefix)).forEach((A) => (0, he.rmSync)((0, Zr.join)(this.cache_dir, A),
{ force: !0 }));
}
async getAll() {
let A = Date.now(), e = await (0, Le.readdir)(this.cache_dir);
return (await Promise.all(
e.filter((i) => i.startsWith(this.prefix)).map((i) => (0, Le.readFile)((0, Zr.join)(this.cache_dir, i), "utf8"))
)).map((i) => JSON.parse(i)).filter((i) => i.content && !this.isExpired(i, A));
}
async load() {
return {
files: (await this.getAll()).map((e) => ({
path: this.generateHash(e.key),
value: e.content,
key: e.key
}))
};
}
};
function Nn(t) {
return new is(t);
}
s(Nn, "createFileSystemCache");
// src/common/utils/resolve-path-in-sb-cache.ts
var ja = require("node:path");
// node_modules/find-cache-dir/index.js
var rB = P(require("node:process"), 1), ei = P(require("node:path"), 1), ns = P(require("node:fs"), 1), iB = P(Tu(), 1);
// ../node_modules/pkg-dir/index.js
var $u = P(require("node:path"), 1);
// ../node_modules/pkg-dir/node_modules/find-up/index.js
var ss = P(require("node:path"), 1), Xu = require("node:url");
// ../node_modules/locate-path/index.js
var Ja = P(require("node:process"), 1), Oa = P(require("node:path"), 1), $r = P(require("node:fs"), 1), Hu = require("node:url");
// ../node_modules/locate-path/node_modules/p-limit/index.js
_a();
function Mn(t) {
if (!((Number.isInteger(t) || t === Number.POSITIVE_INFINITY) && t > 0))
throw new TypeError("Expected `concurrency` to be a number from 1 and up");
let A = new hr(), e = 0, r = /* @__PURE__ */ s(() => {
e--, A.size > 0 && A.dequeue()();
}, "next"), i = /* @__PURE__ */ s(async (g, C, I) => {
e++;
let E = (async () => g(...I))();
C(E);
try {
await E;
} catch {
}
r();
}, "run"), n = /* @__PURE__ */ s((g, C, I) => {
A.enqueue(i.bind(void 0, g, C, I)), (async () => (await Promise.resolve(), e < t && A.size > 0 && A.dequeue()()))();
}, "enqueue"), o = /* @__PURE__ */ s((g, ...C) => new Promise((I) => {
n(g, I, C);
}), "generator");
return Object.defineProperties(o, {
activeCount: {
get: /* @__PURE__ */ s(() => e, "get")
},
pendingCount: {
get: /* @__PURE__ */ s(() => A.size, "get")
},
clearQueue: {
value: /* @__PURE__ */ s(() => {
A.clear();
}, "value")
}
}), o;
}
s(Mn, "pLimit");
// ../node_modules/locate-path/node_modules/p-locate/index.js
var Rn = class extends Error {
static {
s(this, "EndError");
}
constructor(A) {
super(), this.value = A;
}
}, gN = /* @__PURE__ */ s(async (t, A) => A(await t), "testElement"), aN = /* @__PURE__ */ s(async (t) => {
let A = await Promise.all(t);
if (A[1] === !0)
throw new Rn(A[0]);
return !1;
}, "finder");
async function Ga(t, A, {
concurrency: e = Number.POSITIVE_INFINITY,
preserveOrder: r = !0
} = {}) {
let i = Mn(e), n = [...t].map((g) => [g, i(gN, g, A)]), o = Mn(r ? 1 : Number.POSITIVE_INFINITY);
try {
await Promise.all(n.map((g) => o(aN, g)));
} catch (g) {
if (g instanceof Rn)
return g.value;
throw g;
}
}
s(Ga, "pLocate");
// ../node_modules/locate-path/index.js
var ju = {
directory: "isDirectory",
file: "isFile"
};
function qu(t) {
if (!Object.hasOwnProperty.call(ju, t))
throw new Error(`Invalid type specified: ${t}`);
}
s(qu, "checkType");
var zu = /* @__PURE__ */ s((t, A) => A[ju[t]](), "matchType"), Wu = /* @__PURE__ */ s((t) => t instanceof URL ? (0, Hu.fileURLToPath)(t) : t,
"toPath");
async function vn(t, {
cwd: A = Ja.default.cwd(),
type: e = "file",
allowSymlinks: r = !0,
concurrency: i,
preserveOrder: n
} = {}) {
qu(e), A = Wu(A);
let o = r ? $r.promises.stat : $r.promises.lstat;
return Ga(t, async (g) => {
try {
let C = await o(Oa.default.resolve(A, g));
return zu(e, C);
} catch {
return !1;
}
}, { concurrency: i, preserveOrder: n });
}
s(vn, "locatePath");
function Ai(t, {
cwd: A = Ja.default.cwd(),
type: e = "file",
allowSymlinks: r = !0
} = {}) {
qu(e), A = Wu(A);
let i = r ? $r.default.statSync : $r.default.lstatSync;
for (let n of t)
try {
let o = i(Oa.default.resolve(A, n), {
throwIfNoEntry: !1
});
if (!o)
continue;
if (zu(e, o))
return n;
} catch {
}
}
s(Ai, "locatePathSync");
// ../node_modules/pkg-dir/node_modules/path-exists/index.js
var Vu = P(require("node:fs"), 1);
// ../node_modules/pkg-dir/node_modules/find-up/index.js
var CN = /* @__PURE__ */ s((t) => t instanceof URL ? (0, Xu.fileURLToPath)(t) : t, "toPath"), cN = Symbol("findUpStop");
function IN(t, A = {}) {
let e = ss.default.resolve(CN(A.cwd) || ""), { root: r } = ss.default.parse(e), i = A.stopAt || r, n = A.limit || Number.POSITIVE_INFINITY,
o = [t].flat(), g = /* @__PURE__ */ s((I) => {
if (typeof t != "function")
return Ai(o, I);
let E = t(I.cwd);
return typeof E == "string" ? Ai([E], I) : E;
}, "runMatcher"), C = [];
for (; ; ) {
let I = g({ ...A, cwd: e });
if (I === cN || (I && C.push(ss.default.resolve(e, I)), e === i || C.length >= n))
break;
e = ss.default.dirname(e);
}
return C;
}
s(IN, "findUpMultipleSync");
function Zu(t, A = {}) {
return IN(t, { ...A, limit: 1 })[0];
}
s(Zu, "findUpSync");
// ../node_modules/pkg-dir/index.js
function AB({ cwd: t } = {}) {
let A = Zu("package.json", { cwd: t });
return A && $u.default.dirname(A);
}
s(AB, "packageDirectorySync");
// node_modules/find-cache-dir/index.js
var { env: Ta, cwd: hN } = rB.default, eB = /* @__PURE__ */ s((t) => {
try {
return ns.default.accessSync(t, ns.default.constants.W_OK), !0;
} catch {
return !1;
}
}, "isWritable");
function tB(t, A) {
return A.create && ns.default.mkdirSync(t, { recursive: !0 }), t;
}
s(tB, "useDirectory");
function lN(t) {
let A = ei.default.join(t, "node_modules");
if (!(!eB(A) && (ns.default.existsSync(A) || !eB(ei.default.join(t)))))
return A;
}
s(lN, "getNodeModuleDirectory");
function Ha(t = {}) {
if (Ta.CACHE_DIR && !["true", "false", "1", "0"].includes(Ta.CACHE_DIR))
return tB(ei.default.join(Ta.CACHE_DIR, t.name), t);
let { cwd: A = hN(), files: e } = t;
if (e) {
if (!Array.isArray(e))
throw new TypeError(`Expected \`files\` option to be an array, got \`${typeof e}\`.`);
A = (0, iB.default)(e.map((i) => ei.default.resolve(A, i)));
}
if (A = AB({ cwd: A }), !(!A || !lN(A)))
return tB(ei.default.join(A, "node_modules", ".cache", t.name), t);
}
s(Ha, "findCacheDirectory");
// src/common/utils/resolve-path-in-sb-cache.ts
function qa(t, A = "default") {
let e = Ha({ name: "storybook" });
return e ||= (0, ja.join)(process.cwd(), "node_modules", ".cache", "storybook"), (0, ja.join)(e, A, t);
}
s(qa, "resolvePathInStorybookCache");
// src/common/utils/cache.ts
var EN = Nn({
basePath: qa("dev-server"),
ns: "storybook"
// Optional. A grouping namespace for items.
});
// src/common/utils/cli.ts
var ao = require("node:fs"), $e = require("node:fs/promises"), cf = P(require("node:os"), 1), Co = require("node:path");
// ../node_modules/crypto-random-string/index.js
var sB = require("util"), Ln = P(require("crypto"), 1);
var nB = (0, sB.promisify)(Ln.default.randomBytes), uN = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~".split(""), BN = "\
0123456789".split(""), QN = "CDEHKMPRTUWXY012458".split(""), fN = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghi\
jklmnopqrstuvwxyz{|}~".split(""), dN = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""), pN = /* @__PURE__ */ s((t, A) => {
let e = A.length, r = Math.floor(65536 / e) * e - 1, i = 2 * Math.ceil(1.1 * t), n = "", o = 0;
for (; o < t; ) {
let g = Ln.default.randomBytes(i), C = 0;
for (; C < i && o < t; ) {
let I = g.readUInt16LE(C);
C += 2, !(I > r) && (n += A[I % e], o++);
}
}
return n;
}, "generateForCustomCharacters"), wN = /* @__PURE__ */ s(async (t, A) => {
let e = A.length, r = Math.floor(65536 / e) * e - 1, i = 2 * Math.ceil(1.1 * t), n = "", o = 0;
for (; o < t; ) {
let g = await nB(i), C = 0;
for (; C < i && o < t; ) {
let I = g.readUInt16LE(C);
C += 2, !(I > r) && (n += A[I % e], o++);
}
}
return n;
}, "generateForCustomCharactersAsync"), mN = /* @__PURE__ */ s((t, A, e) => Ln.default.randomBytes(t).toString(A).slice(0, e), "generateRand\
omBytes"), yN = /* @__PURE__ */ s(async (t, A, e) => (await nB(t)).toString(A).slice(0, e), "generateRandomBytesAsync"), DN = /* @__PURE__ */ new Set(
[
void 0,
"hex",
"base64",
"url-safe",
"numeric",
"distinguishable",
"ascii-printable",
"alphanumeric"
]), oB = /* @__PURE__ */ s((t, A) => ({ length: e, type: r, characters: i }) => {
if (!(e >= 0 && Number.isFinite(e)))
throw new TypeError("Expected a `length` to be a non-negative finite number");
if (r !== void 0 && i !== void 0)
throw new TypeError("Expected either `type` or `characters`");
if (i !== void 0 && typeof i != "string")
throw new TypeError("Expected `characters` to be string");
if (!DN.has(r))
throw new TypeError(`Unknown type: ${r}`);
if (r === void 0 && i === void 0 && (r = "hex"), r === "hex" || r === void 0 && i === void 0)
return A(Math.ceil(e * 0.5), "hex", e);
if (r === "base64")
return A(Math.ceil(e * 0.75), "base64", e);
if (r === "url-safe")
return t(e, uN);
if (r === "numeric")
return t(e, BN);
if (r === "distinguishable")
return t(e, QN);
if (r === "ascii-printable")
return t(e, fN);
if (r === "alphanumeric")
return t(e, dN);
if (i.length === 0)
throw new TypeError("Expected `characters` string length to be greater than or equal to 1");
if (i.length > 65536)
throw new TypeError("Expected `characters` string length to be less or equal to 65536");
return t(e, i.split(""));
}, "createGenerator"), gB = oB(pN, mN);
gB.async = oB(wN, yN);
var aB = gB;
// ../node_modules/unique-string/index.js
function za() {
return aB({ length: 32 });
}
s(za, "uniqueString");
// src/common/satellite-addons.ts
var CB = [
"@storybook/test-runner",
"@chromatic-com/storybook",
"@storybook/addon-designs",
"@storybook/addon-svelte-csf",
"@storybook/addon-coverage",
"@storybook/addon-webpack5-compiler-babel",
"@storybook/addon-webpack5-compiler-swc",
// Storybook for React Native related packages
// TODO: For Storybook 10, we should check about possible automigrations
"@storybook/addon-ondevice-actions",
"@storybook/addon-ondevice-backgrounds",
"@storybook/addon-ondevice-controls",
"@storybook/addon-ondevice-notes",
"@storybook/react-native"
];
// src/common/utils/get-storybook-info.ts
var ni = require("node:fs"), no = require("node:path");
// src/common/js-package-manager/JsPackageManager.ts
var Er = require("node:fs"), Ee = require("node:path"), le = require("storybook/internal/node-logger");
// node_modules/execa/index.js
var WQ = require("node:buffer"), VQ = P(require("node:path"), 1), Vn = P(require("node:child_process"), 1), Cs = P(require("node:process"), 1),
XQ = P(iC(), 1);
// ../node_modules/strip-final-newline/index.js
function sC(t) {
let A = typeof t == "string" ? `
` : 10, e = typeof t == "string" ? "\r" : 13;
return t[t.length - 1] === A && (t = t.slice(0, -1)), t[t.length - 1] === e && (t = t.slice(0, -1)), t;
}
s(sC, "stripFinalNewline");
// node_modules/npm-run-path/index.js
var os = P(require("node:process"), 1), ii = P(require("node:path"), 1), nC = require("node:url");
// node_modules/path-key/index.js
function Yn(t = {}) {
let {
env: A = process.env,
platform: e = process.platform
} = t;
return e !== "win32" ? "PATH" : Object.keys(A).reverse().find((r) => r.toUpperCase() === "PATH") || "Path";
}
s(Yn, "pathKey");
// node_modules/npm-run-path/index.js
var ZN = /* @__PURE__ */ s(({
cwd: t = os.default.cwd(),
path: A = os.default.env[Yn()],
preferLocal: e = !0,
execPath: r = os.default.execPath,
addExecPath: i = !0
} = {}) => {
let n = t instanceof URL ? (0, nC.fileURLToPath)(t) : t, o = ii.default.resolve(n), g = [];
return e && $N(g, o), i && AM(g, r, o), [...g, A].join(ii.default.delimiter);
}, "npmRunPath"), $N = /* @__PURE__ */ s((t, A) => {
let e;
for (; e !== A; )
t.push(ii.default.join(A, "node_modules/.bin")), e = A, A = ii.default.resolve(A, "..");
}, "applyPreferLocal"), AM = /* @__PURE__ */ s((t, A, e) => {
let r = A instanceof URL ? (0, nC.fileURLToPath)(A) : A;
t.push(ii.default.resolve(e, r, ".."));
}, "applyExecPath"), ZB = /* @__PURE__ */ s(({ env: t = os.default.env, ...A } = {}) => {
t = { ...t };
let e = Yn({ env: t });
return A.path = t[e], t[e] = ZN(A), t;
}, "npmRunPathEnv");
// node_modules/mimic-fn/index.js
var eM = /* @__PURE__ */ s((t, A, e, r) => {
if (e === "length" || e === "prototype" || e === "arguments" || e === "caller")
return;
let i = Object.getOwnPropertyDescriptor(t, e), n = Object.getOwnPropertyDescriptor(A, e);
!tM(i, n) && r || Object.defineProperty(t, e, n);
}, "copyProperty"), tM = /* @__PURE__ */ s(function(t, A) {
return t === void 0 || t.configurable || t.writable === A.writable && t.enumerable === A.enumerable && t.configurable === A.configurable &&
(t.writable || t.value === A.value);
}, "canCopyProperty"), rM = /* @__PURE__ */ s((t, A) => {
let e = Object.getPrototypeOf(A);
e !== Object.getPrototypeOf(t) && Object.setPrototypeOf(t, e);
}, "changePrototype"), iM = /* @__PURE__ */ s((t, A) => `/* Wrapped ${t}*/
${A}`, "wrappedToString"), sM = Object.getOwnPropertyDescriptor(Function.prototype, "toString"), nM = Object.getOwnPropertyDescriptor(Function.
prototype.toString, "name"), oM = /* @__PURE__ */ s((t, A, e) => {
let r = e === "" ? "" : `with ${e.trim()}() `, i = iM.bind(null, r, A.toString());
Object.defineProperty(i, "name", nM), Object.defineProperty(t, "toString", { ...sM, value: i });
}, "changeToString");
function oC(t, A, { ignoreNonConfigurable: e = !1 } = {}) {
let { name: r } = t;
for (let i of Reflect.ownKeys(A))
eM(t, A, i, e);
return rM(t, A), oM(t, A, r), t;
}
s(oC, "mimicFunction");
// node_modules/onetime/index.js
var Pn = /* @__PURE__ */ new WeakMap(), $B = /* @__PURE__ */ s((t, A = {}) => {
if (typeof t != "function")
throw new TypeError("Expected a function");
let e, r = 0, i = t.displayName || t.name || "<anonymous>", n = /* @__PURE__ */ s(function(...o) {
if (Pn.set(n, ++r), r === 1)
e = t.apply(this, o), t = null;
else if (A.throw === !0)
throw new Error(`Function \`${i}\` can only be called once`);
return e;
}, "onetime");
return oC(n, t), Pn.set(n, r), n;
}, "onetime");
$B.callCount = (t) => {
if (!Pn.has(t))
throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);
return Pn.get(t);
};
var AQ = $B;
// node_modules/execa/lib/error.js
var oQ = P(require("node:process"), 1);
// node_modules/human-signals/build/src/main.js
var sQ = require("node:os");
// node_modules/human-signals/build/src/realtime.js
var eQ = /* @__PURE__ */ s(() => {
let t = gC - tQ + 1;
return Array.from({ length: t }, gM);
}, "getRealtimeSignals"), gM = /* @__PURE__ */ s((t, A) => ({
name: `SIGRT${A + 1}`,
number: tQ + A,
action: "terminate",
description: "Application-specific signal (realtime)",
standard: "posix"
}), "getRealtimeSignal"), tQ = 34, gC = 64;
// node_modules/human-signals/build/src/signals.js
var iQ = require("node:os");
// node_modules/human-signals/build/src/core.js
var rQ = [
{
name: "SIGHUP",
number: 1,
action: "terminate",
description: "Terminal closed",
standard: "posix"
},
{
name: "SIGINT",
number: 2,
action: "terminate",
description: "User interruption with CTRL-C",
standard: "ansi"
},
{
name: "SIGQUIT",
number: 3,
action: "core",
description: "User interruption with CTRL-\\",
standard: "posix"
},
{
name: "SIGILL",
number: 4,
action: "core",
description: "Invalid machine instruction",
standard: "ansi"
},
{
name: "SIGTRAP",
number: 5,
action: "core",
description: "Debugger breakpoint",
standard: "posix"
},
{
name: "SIGABRT",
number: 6,
action: "core",
description: "Aborted",
standard: "ansi"
},
{
name: "SIGIOT",
number: 6,
action: "core",
description: "Aborted",
standard: "bsd"
},
{
name: "SIGBUS",
number: 7,
action: "core",
description: "Bus error due to misaligned, non-existing address or paging error",
standard: "bsd"
},
{
name: "SIGEMT",
number: 7,
action: "terminate",
description: "Command should be emulated but is not implemented",
standard: "other"
},
{
name: "SIGFPE",
number: 8,
action: "core",
description: "Floating point arithmetic error",
standard: "ansi"
},
{
name: "SIGKILL",
number: 9,
action: "terminate",
description: "Forced termination",
standard: "posix",
forced: !0
},
{
name: "SIGUSR1",
number: 10,
action: "terminate",
description: "Application-specific signal",
standard: "posix"
},
{
name: "SIGSEGV",
number: 11,
action: "core",
description: "Segmentation fault",
standard: "ansi"
},
{
name: "SIGUSR2",
number: 12,
action: "terminate",
description: "Application-specific signal",
standard: "posix"
},
{
name: "SIGPIPE",
number: 13,
action: "terminate",
description: "Broken pipe or socket",
standard: "posix"
},
{
name: "SIGALRM",
number: 14,
action: "terminate",
description: "Timeout or timer",
standard: "posix"
},
{
name: "SIGTERM",
number: 15,
action: "terminate",
description: "Termination",
standard: "ansi"
},
{
name: "SIGSTKFLT",
number: 16,
action: "terminate",
description: "Stack is empty or overflowed",
standard: "other"
},
{
name: "SIGCHLD",
number: 17,
action: "ignore",
description: "Child process terminated, paused or unpaused",
standard: "posix"
},
{
name: "SIGCLD",
number: 17,
action: "ignore",
description: "Child process terminated, paused or unpaused",
standard: "other"
},
{
name: "SIGCONT",
number: 18,
action: "unpause",
description: "Unpaused",
standard: "posix",
forced: !0
},
{
name: "SIGSTOP",
number: 19,
action: "pause",
description: "Paused",
standard: "posix",
forced: !0
},
{
name: "SIGTSTP",
number: 20,
action: "pause",
description: 'Paused using CTRL-Z or "suspend"',
standard: "posix"
},
{
name: "SIGTTIN",
number: 21,
action: "pause",
description: "Background process cannot read terminal input",
standard: "posix"
},
{
name: "SIGBREAK",
number: 21,
action: "terminate",
description: "User interruption with CTRL-BREAK",
standard: "other"
},
{
name: "SIGTTOU",
number: 22,
action: "pause",
description: "Background process cannot write to terminal output",
standard: "posix"
},
{
name: "SIGURG",
number: 23,
action: "ignore",
description: "Socket received out-of-band data",
standard: "bsd"
},
{
name: "SIGXCPU",
number: 24,
action: "core",
description: "Process timed out",
standard: "bsd"
},
{
name: "SIGXFSZ",
number: 25,
action: "core",
description: "File too big",
standard: "bsd"
},
{
name: "SIGVTALRM",
number: 26,
action: "terminate",
description: "Timeout or timer",
standard: "bsd"
},
{
name: "SIGPROF",
number: 27,
action: "terminate",
description: "Timeout or timer",
standard: "bsd"
},
{
name: "SIGWINCH",
number: 28,
action: "ignore",
description: "Terminal window size changed",
standard: "bsd"
},
{
name: "SIGIO",
number: 29,
action: "terminate",
description: "I/O is available",
standard: "other"
},
{
name: "SIGPOLL",
number: 29,
action: "terminate",
description: "Watched event",
standard: "other"
},
{
name: "SIGINFO",
number: 29,
action: "ignore",
description: "Request for process information",
standard: "other"
},
{
name: "SIGPWR",
number: 30,
action: "terminate",
description: "Device running out of power",
standard: "systemv"
},
{
name: "SIGSYS",
number: 31,
action: "core",
description: "Invalid system call",
standard: "other"
},
{
name: "SIGUNUSED",
number: 31,
action: "terminate",
description: "Invalid system call",
standard: "other"
}
];
// node_modules/human-signals/build/src/signals.js
var aC = /* @__PURE__ */ s(() => {
let t = eQ();
return [...rQ, ...t].map(aM);
}, "getSignals"), aM = /* @__PURE__ */ s(({
name: t,
number: A,
description: e,
action: r,
forced: i = !1,
standard: n
}) => {
let {
signals: { [t]: o }
} = iQ.constants, g = o !== void 0;
return { name: t, number: g ? o : A, description: e, supported: g, action: r, forced: i, standard: n };
}, "normalizeSignal");
// node_modules/human-signals/build/src/main.js
var CM = /* @__PURE__ */ s(() => {
let t = aC();
return Object.fromEntries(t.map(cM));
}, "getSignalsByName"), cM = /* @__PURE__ */ s(({
name: t,
number: A,
description: e,
supported: r,
action: i,
forced: n,
standard: o
}) => [t, { name: t, number: A, description: e, supported: r, action: i, forced: n, standard: o }], "getSignalByName"), nQ = CM(), IM = /* @__PURE__ */ s(
() => {
let t = aC(), A = gC + 1, e = Array.from(
{ length: A },
(r, i) => hM(i, t)
);
return Object.assign({}, ...e);
}, "getSignalsByNumber"), hM = /* @__PURE__ */ s((t, A) => {
let e = lM(t, A);
if (e === void 0)
return {};
let { name: r, description: i, supported: n, action: o, forced: g, standard: C } = e;
return {
[t]: {
name: r,
number: t,
description: i,
supported: n,
action: o,
forced: g,
standard: C
}
};
}, "getSignalByNumber"), lM = /* @__PURE__ */ s((t, A) => {
let e = A.find(({ name: r }) => sQ.constants.signals[r] === t);
return e !== void 0 ? e : A.find((r) => r.number === t);
}, "findSignalByNumber"), Pj = IM();
// node_modules/execa/lib/error.js
var EM = /* @__PURE__ */ s(({ timedOut: t, timeout: A, errorCode: e, signal: r, signalDescription: i, exitCode: n, isCanceled: o }) => t ? `\
timed out after ${A} milliseconds` : o ? "was canceled" : e !== void 0 ? `failed with ${e}` : r !== void 0 ? `was killed with ${r} (${i})` :
n !== void 0 ? `failed with exit code ${n}` : "failed", "getErrorPrefix"), gs = /* @__PURE__ */ s(({
stdout: t,
stderr: A,
all: e,
error: r,
signal: i,
exitCode: n,
command: o,
escapedCommand: g,
timedOut: C,
isCanceled: I,
killed: E,
parsed: { options: { timeout: Q, cwd: B = oQ.default.cwd() } }
}) => {
n = n === null ? void 0 : n, i = i === null ? void 0 : i;
let p = i === void 0 ? void 0 : nQ[i].description, w = r && r.code, N = `Command ${EM({ timedOut: C, timeout: Q, errorCode: w, signal: i, signalDescription: p,
exitCode: n, isCanceled: I })}: ${o}`, k = Object.prototype.toString.call(r) === "[object Error]", _ = k ? `${N}
${r.message}` : N, v = [_, A, t].filter(Boolean).join(`
`);
return k ? (r.originalMessage = r.message, r.message = v) : r = new Error(v), r.shortMessage = _, r.command = o, r.escapedCommand = g, r.exitCode =
n, r.signal = i, r.signalDescription = p, r.stdout = t, r.stderr = A, r.cwd = B, e !== void 0 && (r.all = e), "bufferedData" in r && delete r.
bufferedData, r.failed = !0, r.timedOut = !!C, r.isCanceled = I, r.killed = E && !C, r;
}, "makeError");
// node_modules/execa/lib/stdio.js
var Un = ["stdin", "stdout", "stderr"], uM = /* @__PURE__ */ s((t) => Un.some((A) => t[A] !== void 0), "hasAlias"), gQ = /* @__PURE__ */ s((t) => {
if (!t)
return;
let { stdio: A } = t;
if (A === void 0)
return Un.map((r) => t[r]);
if (uM(t))
throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Un.map((r) => `\`${r}\``).join(", ")}`);
if (typeof A == "string")
return A;
if (!Array.isArray(A))
throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof A}\``);
let e = Math.max(A.length, Un.length);
return Array.from({ length: e }, (r, i) => A[i]);
}, "normalizeStdio");
// node_modules/execa/lib/kill.js
var CQ = P(require("node:os"), 1);
// node_modules/signal-exit/dist/mjs/signals.js
var lr = [];
lr.push("SIGHUP", "SIGINT", "SIGTERM");
process.platform !== "win32" && lr.push(
"SIGALRM",
"SIGABRT",
"SIGVTALRM",
"SIGXCPU",
"SIGXFSZ",
"SIGUSR2",
"SIGTRAP",
"SIGSYS",
"SIGQUIT",
"SIGIOT"
// should detect profiler and enable/disable accordingly.
// see #21
// 'SIGPROF'
);
process.platform === "linux" && lr.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
// node_modules/signal-exit/dist/mjs/index.js
var _n = /* @__PURE__ */ s((t) => !!t && typeof t == "object" && typeof t.removeListener == "function" && typeof t.emit == "function" && typeof t.
reallyExit == "function" && typeof t.listeners == "function" && typeof t.kill == "function" && typeof t.pid == "number" && typeof t.on == "f\
unction", "processOk"), CC = Symbol.for("signal-exit emitter"), cC = globalThis, BM = Object.defineProperty.bind(Object), IC = class {
static {
s(this, "Emitter");
}
emitted = {
afterExit: !1,
exit: !1
};
listeners = {
afterExit: [],
exit: []
};
count = 0;
id = Math.random();
constructor() {
if (cC[CC])
return cC[CC];
BM(cC, CC, {
value: this,
writable: !1,
enumerable: !1,
configurable: !1
});
}
on(A, e) {
this.listeners[A].push(e);
}
removeListener(A, e) {
let r = this.listeners[A], i = r.indexOf(e);
i !== -1 && (i === 0 && r.length === 1 ? r.length = 0 : r.splice(i, 1));
}
emit(A, e, r) {
if (this.emitted[A])
return !1;
this.emitted[A] = !0;
let i = !1;
for (let n of this.listeners[A])
i = n(e, r) === !0 || i;
return A === "exit" && (i = this.emit("afterExit", e, r) || i), i;
}
}, Gn = class {
static {
s(this, "SignalExitBase");
}
}, QM = /* @__PURE__ */ s((t) => ({
onExit(A, e) {
return t.onExit(A, e);
},
load() {
return t.load();
},
unload() {
return t.unload();
}
}), "signalExitWrap"), hC = class extends Gn {
static {
s(this, "SignalExitFallback");
}
onExit() {
return () => {
};
}
load() {
}
unload() {
}
}, lC = class extends Gn {
static {
s(this, "SignalExit");
}
// "SIGHUP" throws an `ENOSYS` error on Windows,
// so use a supported signal instead
/* c8 ignore start */
#A = EC.platform === "win32" ? "SIGINT" : "SIGHUP";
/* c8 ignore stop */
#e = new IC();
#t;
#r;
#n;
#I = {};
#o = !1;
constructor(A) {
super(), this.#t = A, this.#I = {};
for (let e of lr)
this.#I[e] = () => {
let r = this.#t.listeners(e), { count: i } = this.#e, n = A;
if (typeof n.__signal_exit_emitter__ == "object" && typeof n.__signal_exit_emitter__.count == "number" && (i += n.__signal_exit_emitter__.
count), r.length === i) {
this.unload();
let o = this.#e.emit("exit", null, e), g = e === "SIGHUP" ? this.#A : e;
o || A.kill(A.pid, g);
}
};
this.#n = A.reallyExit, this.#r = A.emit;
}
onExit(A, e) {
if (!_n(this.#t))
return () => {
};
this.#o === !1 && this.load();
let r = e?.alwaysLast ? "afterExit" : "exit";
return this.#e.on(r, A), () => {
this.#e.removeListener(r, A), this.#e.listeners.exit.length === 0 && this.#e.listeners.afterExit.length === 0 && this.unload();
};
}
load() {
if (!this.#o) {
this.#o = !0, this.#e.count += 1;
for (let A of lr)
try {
let e = this.#I[A];
e && this.#t.on(A, e);
} catch {
}
this.#t.emit = (A, ...e) => this.#g(A, ...e), this.#t.reallyExit = (A) => this.#c(A);
}
}
unload() {
this.#o && (this.#o = !1, lr.forEach((A) => {
let e = this.#I[A];
if (!e)
throw new Error("Listener not defined for signal: " + A);
try {
this.#t.removeListener(A, e);
} catch {
}
}), this.#t.emit = this.#r, this.#t.reallyExit = this.#n, this.#e.count -= 1);
}
#c(A) {
return _n(this.#t) ? (this.#t.exitCode = A || 0, this.#e.emit("exit", this.#t.exitCode, null), this.#n.call(this.#t, this.#t.exitCode)) :
0;
}
#g(A, ...e) {
let r = this.#r;
if (A === "exit" && _n(this.#t)) {
typeof e[0] == "number" && (this.#t.exitCode = e[0]);
let i = r.call(this.#t, A, ...e);
return this.#e.emit("exit", this.#t.exitCode, null), i;
} else
return r.call(this.#t, A, ...e);
}
}, EC = globalThis.process, {
/**
* Called when the process is exiting, whether via signal, explicit
* exit, or running out of stuff to do.
*
* If the global process object is not suitable for instrumentation,
* then this will be a no-op.
*
* Returns a function that may be used to unload signal-exit.
*/
onExit: aQ,
/**
* Load the listeners. Likely you never need to call this, unless
* doing a rather deep integration with signal-exit functionality.
* Mostly exposed for the benefit of testing.
*
* @internal
*/
load: zj,
/**
* Unload the listeners. Likely you never need to call this, unless
* doing a rather deep integration with signal-exit functionality.
* Mostly exposed for the benefit of testing.
*
* @internal
*/
unload: Wj
} = QM(_n(EC) ? new lC(EC) : new hC());
// node_modules/execa/lib/kill.js
var fM = 1e3 * 5, cQ = /* @__PURE__ */ s((t, A = "SIGTERM", e = {}) => {
let r = t(A);
return dM(t, A, e, r), r;
}, "spawnedKill"), dM = /* @__PURE__ */ s((t, A, e, r) => {
if (!pM(A, e, r))
return;
let i = mM(e), n = setTimeout(() => {
t("SIGKILL");
}, i);
n.unref && n.unref();
}, "setKillTimeout"), pM = /* @__PURE__ */ s((t, { forceKillAfterTimeout: A }, e) => wM(t) && A !== !1 && e, "shouldForceKill"), wM = /* @__PURE__ */ s(
(t) => t === CQ.default.constants.signals.SIGTERM || typeof t == "string" && t.toUpperCase() === "SIGTERM", "isSigterm"), mM = /* @__PURE__ */ s(
({ forceKillAfterTimeout: t = !0 }) => {
if (t === !0)
return fM;
if (!Number.isFinite(t) || t < 0)
throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);
return t;
}, "getForceKillAfterTimeout"), IQ = /* @__PURE__ */ s((t, A) => {
t.kill() && (A.isCanceled = !0);
}, "spawnedCancel"), yM = /* @__PURE__ */ s((t, A, e) => {
t.kill(A), e(Object.assign(new Error("Timed out"), { timedOut: !0, signal: A }));
}, "timeoutKill"), hQ = /* @__PURE__ */ s((t, { timeout: A, killSignal: e = "SIGTERM" }, r) => {
if (A === 0 || A === void 0)
return r;
let i, n = new Promise((g, C) => {
i = setTimeout(() => {
yM(t, e, C);
}, A);
}), o = r.finally(() => {
clearTimeout(i);
});
return Promise.race([n, o]);
}, "setupTimeout"), lQ = /* @__PURE__ */ s(({ timeout: t }) => {
if (t !== void 0 && (!Number.isFinite(t) || t < 0))
throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);
}, "validateTimeout"), EQ = /* @__PURE__ */ s(async (t, { cleanup: A, detached: e }, r) => {
if (!A || e)
return r;
let i = aQ(() => {
t.kill();
});
return r.finally(() => {
i();
});
}, "setExitHandler");
// node_modules/execa/lib/pipe.js
var uQ = require("node:fs"), BQ = require("node:child_process");
// node_modules/is-stream/index.js
function Jn(t) {
return t !== null && typeof t == "object" && typeof t.pipe == "function";
}
s(Jn, "isStream");
function uC(t) {
return Jn(t) && t.writable !== !1 && typeof t._write == "function" && typeof t._writableState == "object";
}
s(uC, "isWritableStream");
// node_modules/execa/lib/pipe.js
var DM = /* @__PURE__ */ s((t) => t instanceof BQ.ChildProcess && typeof t.then == "function", "isExecaChildProcess"), BC = /* @__PURE__ */ s(
(t, A, e) => {
if (typeof e == "string")
return t[A].pipe((0, uQ.createWriteStream)(e)), t;
if (uC(e))
return t[A].pipe(e), t;
if (!DM(e))
throw new TypeError("The second argument must be a string, a stream or an Execa child process.");
if (!uC(e.stdin))
throw new TypeError("The target child process's stdin must be available.");
return t[A].pipe(e.stdin), e;
}, "pipeToTarget"), QQ = /* @__PURE__ */ s((t) => {
t.stdout !== null && (t.pipeStdout = BC.bind(void 0, t, "stdout")), t.stderr !== null && (t.pipeStderr = BC.bind(void 0, t, "stderr")), t.
all !== void 0 && (t.pipeAll = BC.bind(void 0, t, "all"));
}, "addPipeMethods");
// node_modules/execa/lib/stream.js
var zn = require("node:fs"), bQ = require("node:timers/promises");
// node_modules/get-stream/source/contents.js
var as = /* @__PURE__ */ s(async (t, { init: A, convertChunk: e, getSize: r, truncateChunk: i, addChunk: n, getFinalChunk: o, finalize: g }, {
maxBuffer: C = Number.POSITIVE_INFINITY } = {}) => {
if (!KM(t))
throw new Error("The first argument must be a Readable, a ReadableStream, or an async iterable.");
let I = A();
I.length = 0;
try {
for await (let E of t) {
let Q = FM(E), B = e[Q](E, I);
pQ({ convertedChunk: B, state: I, getSize: r, truncateChunk: i, addChunk: n, maxBuffer: C });
}
return SM({ state: I, convertChunk: e, getSize: r, truncateChunk: i, addChunk: n, getFinalChunk: o, maxBuffer: C }), g(I);
} catch (E) {
throw E.bufferedData = g(I), E;
}
}, "getStreamContents"), SM = /* @__PURE__ */ s(({ state: t, getSize: A, truncateChunk: e, addChunk: r, getFinalChunk: i, maxBuffer: n }) => {
let o = i(t);
o !== void 0 && pQ({ convertedChunk: o, state: t, getSize: A, truncateChunk: e, addChunk: r, maxBuffer: n });
}, "appendFinalChunk"), pQ = /* @__PURE__ */ s(({ convertedChunk: t, state: A, getSize: e, truncateChunk: r, addChunk: i, maxBuffer: n }) => {
let o = e(t), g = A.length + o;
if (g <= n) {
fQ(t, A, i, g);
return;
}
let C = r(t, n - A.length);
throw C !== void 0 && fQ(C, A, i, n), new On();
}, "appendChunk"), fQ = /* @__PURE__ */ s((t, A, e, r) => {
A.contents = e(t, A, r), A.length = r;
}, "addNewChunk"), KM = /* @__PURE__ */ s((t) => typeof t == "object" && t !== null && typeof t[Symbol.asyncIterator] == "function", "isAsyn\
cIterable"), FM = /* @__PURE__ */ s((t) => {
let A = typeof t;
if (A === "string")
return "string";
if (A !== "object" || t === null)
return "others";
if (globalThis.Buffer?.isBuffer(t))
return "buffer";
let e = dQ.call(t);
return e === "[object ArrayBuffer]" ? "arrayBuffer" : e === "[object DataView]" ? "dataView" : Number.isInteger(t.byteLength) && Number.isInteger(
t.byteOffset) && dQ.call(t.buffer) === "[object ArrayBuffer]" ? "typedArray" : "others";
}, "getChunkType"), { toString: dQ } = Object.prototype, On = class extends Error {
static {
s(this, "MaxBufferError");
}
name = "MaxBufferError";
constructor() {
super("maxBuffer exceeded");
}
};
// node_modules/get-stream/source/utils.js
var QC = /* @__PURE__ */ s((t) => t, "identity"), fC = /* @__PURE__ */ s(() => {
}, "noop"), dC = /* @__PURE__ */ s(({ contents: t }) => t, "getContentsProp"), Tn = /* @__PURE__ */ s((t) => {
throw new Error(`Streams in object mode are not supported: ${String(t)}`);
}, "throwObjectStream"), Hn = /* @__PURE__ */ s((t) => t.length, "getLengthProp");
// node_modules/get-stream/source/array-buffer.js
async function pC(t, A) {
return as(t, YM, A);
}
s(pC, "getStreamAsArrayBuffer");
var kM = /* @__PURE__ */ s(() => ({ contents: new ArrayBuffer(0) }), "initArrayBuffer"), bM = /* @__PURE__ */ s((t) => NM.encode(t), "useTex\
tEncoder"), NM = new TextEncoder(), wQ = /* @__PURE__ */ s((t) => new Uint8Array(t), "useUint8Array"), mQ = /* @__PURE__ */ s((t) => new Uint8Array(
t.buffer, t.byteOffset, t.byteLength), "useUint8ArrayWithOffset"), MM = /* @__PURE__ */ s((t, A) => t.slice(0, A), "truncateArrayBufferChunk"),
RM = /* @__PURE__ */ s((t, { contents: A, length: e }, r) => {
let i = SQ() ? LM(A, r) : vM(A, r);
return new Uint8Array(i).set(t, e), i;
}, "addArrayBufferChunk"), vM = /* @__PURE__ */ s((t, A) => {
if (A <= t.byteLength)
return t;
let e = new ArrayBuffer(DQ(A));
return new Uint8Array(e).set(new Uint8Array(t), 0), e;
}, "resizeArrayBufferSlow"), LM = /* @__PURE__ */ s((t, A) => {
if (A <= t.maxByteLength)
return t.resize(A), t;
let e = new ArrayBuffer(A, { maxByteLength: DQ(A) });
return new Uint8Array(e).set(new Uint8Array(t), 0), e;
}, "resizeArrayBuffer"), DQ = /* @__PURE__ */ s((t) => yQ ** Math.ceil(Math.log(t) / Math.log(yQ)), "getNewContentsLength"), yQ = 2, xM = /* @__PURE__ */ s(
({ contents: t, length: A }) => SQ() ? t : t.slice(0, A), "finalizeArrayBuffer"), SQ = /* @__PURE__ */ s(() => "resize" in ArrayBuffer.prototype,
"hasArrayBufferResize"), YM = {
init: kM,
convertChunk: {
string: bM,
buffer: wQ,
arrayBuffer: wQ,
dataView: mQ,
typedArray: mQ,
others: Tn
},
getSize: Hn,
truncateChunk: MM,
addChunk: RM,
getFinalChunk: fC,
finalize: xM
};
// node_modules/get-stream/source/buffer.js
async function jn(t, A) {
if (!("Buffer" in globalThis))
throw new Error("getStreamAsBuffer() is only supported in Node.js");
try {
return KQ(await pC(t, A));
} catch (e) {
throw e.bufferedData !== void 0 && (e.bufferedData = KQ(e.bufferedData)), e;
}
}
s(jn, "getStreamAsBuffer");
var KQ = /* @__PURE__ */ s((t) => globalThis.Buffer.from(t), "arrayBufferToNodeBuffer");
// node_modules/get-stream/source/string.js
async function wC(t, A) {
return as(t, JM, A);
}
s(wC, "getStreamAsString");
var PM = /* @__PURE__ */ s(() => ({ contents: "", textDecoder: new TextDecoder() }), "initString"), qn = /* @__PURE__ */ s((t, { textDecoder: A }) => A.
decode(t, { stream: !0 }), "useTextDecoder"), UM = /* @__PURE__ */ s((t, { contents: A }) => A + t, "addStringChunk"), _M = /* @__PURE__ */ s(
(t, A) => t.slice(0, A), "truncateStringChunk"), GM = /* @__PURE__ */ s(({ textDecoder: t }) => {
let A = t.decode();
return A === "" ? void 0 : A;
}, "getFinalStringChunk"), JM = {
init: PM,
convertChunk: {
string: QC,
buffer: qn,
arrayBuffer: qn,
dataView: qn,
typedArray: qn,
others: Tn
},
getSize: Hn,
truncateChunk: _M,
addChunk: UM,
getFinalChunk: GM,
finalize: dC
};
// node_modules/execa/lib/stream.js
var NQ = P(kQ(), 1);
var MQ = /* @__PURE__ */ s((t) => {
if (t !== void 0)
throw new TypeError("The `input` and `inputFile` options cannot be both set.");
}, "validateInputOptions"), TM = /* @__PURE__ */ s(({ input: t, inputFile: A }) => typeof A != "string" ? t : (MQ(t), (0, zn.readFileSync)(A)),
"getInputSync"), RQ = /* @__PURE__ */ s((t) => {
let A = TM(t);
if (Jn(A))
throw new TypeError("The `input` option cannot be a stream in sync mode");
return A;
}, "handleInputSync"), HM = /* @__PURE__ */ s(({ input: t, inputFile: A }) => typeof A != "string" ? t : (MQ(t), (0, zn.createReadStream)(A)),
"getInput"), vQ = /* @__PURE__ */ s((t, A) => {
let e = HM(A);
e !== void 0 && (Jn(e) ? e.pipe(t.stdin) : t.stdin.end(e));
}, "handleInput"), LQ = /* @__PURE__ */ s((t, { all: A }) => {
if (!A || !t.stdout && !t.stderr)
return;
let e = (0, NQ.default)();
return t.stdout && e.add(t.stdout), t.stderr && e.add(t.stderr), e;
}, "makeAllStream"), mC = /* @__PURE__ */ s(async (t, A) => {
if (!(!t || A === void 0)) {
await (0, bQ.setTimeout)(0), t.destroy();
try {
return await A;
} catch (e) {
return e.bufferedData;
}
}
}, "getBufferedData"), yC = /* @__PURE__ */ s((t, { encoding: A, buffer: e, maxBuffer: r }) => {
if (!(!t || !e))
return A === "utf8" || A === "utf-8" ? wC(t, { maxBuffer: r }) : A === null || A === "buffer" ? jn(t, { maxBuffer: r }) : jM(t, r, A);
}, "getStreamPromise"), jM = /* @__PURE__ */ s(async (t, A, e) => (await jn(t, { maxBuffer: A })).toString(e), "applyEncoding"), xQ = /* @__PURE__ */ s(
async ({ stdout: t, stderr: A, all: e }, { encoding: r, buffer: i, maxBuffer: n }, o) => {
let g = yC(t, { encoding: r, buffer: i, maxBuffer: n }), C = yC(A, { encoding: r, buffer: i, maxBuffer: n }), I = yC(e, { encoding: r, buffer: i,
maxBuffer: n * 2 });
try {
return await Promise.all([o, g, C, I]);
} catch (E) {
return Promise.all([
{ error: E, signal: E.signal, timedOut: E.timedOut },
mC(t, g),
mC(A, C),
mC(e, I)
]);
}
}, "getSpawnedResult");
// node_modules/execa/lib/promise.js
var qM = (async () => {
})().constructor.prototype, zM = ["then", "catch", "finally"].map((t) => [
t,
Reflect.getOwnPropertyDescriptor(qM, t)
]), DC = /* @__PURE__ */ s((t, A) => {
for (let [e, r] of zM) {
let i = typeof A == "function" ? (...n) => Reflect.apply(r.value, A(), n) : r.value.bind(A);
Reflect.defineProperty(t, e, { ...r, value: i });
}
}, "mergePromise"), YQ = /* @__PURE__ */ s((t) => new Promise((A, e) => {
t.on("exit", (r, i) => {
A({ exitCode: r, signal: i });
}), t.on("error", (r) => {
e(r);
}), t.stdin && t.stdin.on("error", (r) => {
e(r);
});
}), "getSpawnedPromise");
// node_modules/execa/lib/command.js
var _Q = require("node:buffer"), GQ = require("node:child_process");
var JQ = /* @__PURE__ */ s((t, A = []) => Array.isArray(A) ? [t, ...A] : [t], "normalizeArgs"), WM = /^[\w.-]+$/, VM = /* @__PURE__ */ s((t) => typeof t !=
"string" || WM.test(t) ? t : `"${t.replaceAll('"', '\\"')}"`, "escapeArg"), SC = /* @__PURE__ */ s((t, A) => JQ(t, A).join(" "), "joinComman\
d"), KC = /* @__PURE__ */ s((t, A) => JQ(t, A).map((e) => VM(e)).join(" "), "getEscapedCommand"), OQ = / +/g, TQ = /* @__PURE__ */ s((t) => {
let A = [];
for (let e of t.trim().split(OQ)) {
let r = A.at(-1);
r && r.endsWith("\\") ? A[A.length - 1] = `${r.slice(0, -1)} ${e}` : A.push(e);
}
return A;
}, "parseCommand"), PQ = /* @__PURE__ */ s((t) => {
let A = typeof t;
if (A === "string")
return t;
if (A === "number")
return String(t);
if (A === "object" && t !== null && !(t instanceof GQ.ChildProcess) && "stdout" in t) {
let e = typeof t.stdout;
if (e === "string")
return t.stdout;
if (_Q.Buffer.isBuffer(t.stdout))
return t.stdout.toString();
throw new TypeError(`Unexpected "${e}" stdout in template expression`);
}
throw new TypeError(`Unexpected "${A}" in template expression`);
}, "parseExpression"), UQ = /* @__PURE__ */ s((t, A, e) => e || t.length === 0 || A.length === 0 ? [...t, ...A] : [
...t.slice(0, -1),
`${t.at(-1)}${A[0]}`,
...A.slice(1)
], "concatTokens"), XM = /* @__PURE__ */ s(({ templates: t, expressions: A, tokens: e, index: r, template: i }) => {
let n = i ?? t.raw[r], o = n.split(OQ).filter(Boolean), g = UQ(
e,
o,
n.startsWith(" ")
);
if (r === A.length)
return g;
let C = A[r], I = Array.isArray(C) ? C.map((E) => PQ(E)) : [PQ(C)];
return UQ(
g,
I,
n.endsWith(" ")
);
}, "parseTemplate"), FC = /* @__PURE__ */ s((t, A) => {
let e = [];
for (let [r, i] of t.entries())
e = XM({ templates: t, expressions: A, tokens: e, index: r, template: i });
return e;
}, "parseTemplates");
// node_modules/execa/lib/verbose.js
var HQ = require("node:util"), jQ = P(require("node:process"), 1);
var qQ = (0, HQ.debuglog)("execa").enabled, Wn = /* @__PURE__ */ s((t, A) => String(t).padStart(A, "0"), "padField"), ZM = /* @__PURE__ */ s(
() => {
let t = /* @__PURE__ */ new Date();
return `${Wn(t.getHours(), 2)}:${Wn(t.getMinutes(), 2)}:${Wn(t.getSeconds(), 2)}.${Wn(t.getMilliseconds(), 3)}`;
}, "getTimestamp"), kC = /* @__PURE__ */ s((t, { verbose: A }) => {
A && jQ.default.stderr.write(`[${ZM()}] ${t}
`);
}, "logCommand");
// node_modules/execa/index.js
var $M = 1e3 * 1e3 * 100, AR = /* @__PURE__ */ s(({ env: t, extendEnv: A, preferLocal: e, localDir: r, execPath: i }) => {
let n = A ? { ...Cs.default.env, ...t } : t;
return e ? ZB({ env: n, cwd: r, execPath: i }) : n;
}, "getEnv"), ZQ = /* @__PURE__ */ s((t, A, e = {}) => {
let r = XQ.default._parse(t, A, e);
return t = r.command, A = r.args, e = r.options, e = {
maxBuffer: $M,
buffer: !0,
stripFinalNewline: !0,
extendEnv: !0,
preferLocal: !1,
localDir: e.cwd || Cs.default.cwd(),
execPath: Cs.default.execPath,
encoding: "utf8",
reject: !0,
cleanup: !0,
all: !1,
windowsHide: !0,
verbose: qQ,
...e
}, e.env = AR(e), e.stdio = gQ(e), Cs.default.platform === "win32" && VQ.default.basename(t, ".exe") === "cmd" && A.unshift("/q"), { file: t,
args: A, options: e, parsed: r };
}, "handleArguments"), cs = /* @__PURE__ */ s((t, A, e) => typeof A != "string" && !WQ.Buffer.isBuffer(A) ? e === void 0 ? void 0 : "" : t.stripFinalNewline ?
sC(A) : A, "handleOutput");
function bC(t, A, e) {
let r = ZQ(t, A, e), i = SC(t, A), n = KC(t, A);
kC(n, r.options), lQ(r.options);
let o;
try {
o = Vn.default.spawn(r.file, r.args, r.options);
} catch (p) {
let w = new Vn.default.ChildProcess(), D = Promise.reject(gs({
error: p,
stdout: "",
stderr: "",
all: "",
command: i,
escapedCommand: n,
parsed: r,
timedOut: !1,
isCanceled: !1,
killed: !1
}));
return DC(w, D), w;
}
let g = YQ(o), C = hQ(o, r.options, g), I = EQ(o, r.options, C), E = { isCanceled: !1 };
o.kill = cQ.bind(null, o.kill.bind(o)), o.cancel = IQ.bind(null, o, E);
let B = AQ(/* @__PURE__ */ s(async () => {
let [{ error: p, exitCode: w, signal: D, timedOut: N }, k, _, v] = await xQ(o, r.options, I), J = cs(r.options, k), U = cs(r.options, _),
$ = cs(r.options, v);
if (p || w !== 0 || D !== null) {
let q = gs({
error: p,
exitCode: w,
signal: D,
stdout: J,
stderr: U,
all: $,
command: i,
escapedCommand: n,
parsed: r,
timedOut: N,
isCanceled: E.isCanceled || (r.options.signal ? r.options.signal.aborted : !1),
killed: o.killed
});
if (!r.options.reject)
return q;
throw q;
}
return {
command: i,
escapedCommand: n,
exitCode: 0,
stdout: J,
stderr: U,
all: $,
failed: !1,
timedOut: !1,
isCanceled: !1,
killed: !1
};
}, "handlePromise"));
return vQ(o, r.options), o.all = LQ(o, r.options), QQ(o), DC(o, B), o;
}
s(bC, "execa");
function $Q(t, A, e) {
let r = ZQ(t, A, e), i = SC(t, A), n = KC(t, A);
kC(n, r.options);
let o = RQ(r.options), g;
try {
g = Vn.default.spawnSync(r.file, r.args, { ...r.options, input: o });
} catch (E) {
throw gs({
error: E,
stdout: "",
stderr: "",
all: "",
command: i,
escapedCommand: n,
parsed: r,
timedOut: !1,
isCanceled: !1,
killed: !1
});
}
let C = cs(r.options, g.stdout, g.error), I = cs(r.options, g.stderr, g.error);
if (g.error || g.status !== 0 || g.signal !== null) {
let E = gs({
stdout: C,
stderr: I,
error: g.error,
signal: g.signal,
exitCode: g.status,
command: i,
escapedCommand: n,
parsed: r,
timedOut: g.error && g.error.code === "ETIMEDOUT",
isCanceled: !1,
killed: g.signal !== null
});
if (!r.options.reject)
return E;
throw E;
}
return {
command: i,
escapedCommand: n,
exitCode: 0,
stdout: C,
stderr: I,
failed: !1,
timedOut: !1,
isCanceled: !1,
killed: !1
};
}
s($Q, "execaSync");
var eR = /* @__PURE__ */ s(({ input: t, inputFile: A, stdio: e }) => t === void 0 && A === void 0 && e === void 0 ? { stdin: "inherit" } : {},
"normalizeScriptStdin"), zQ = /* @__PURE__ */ s((t = {}) => ({
preferLocal: !0,
...eR(t),
...t
}), "normalizeScriptOptions");
function Af(t) {
function A(e, ...r) {
if (!Array.isArray(e))
return Af({ ...t, ...e });
let [i, ...n] = FC(e, r);
return bC(i, n, zQ(t));
}
return s(A, "$"), A.sync = (e, ...r) => {
if (!Array.isArray(e))
throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`.");
let [i, ...n] = FC(e, r);
return $Q(i, n, zQ(t));
}, A;
}
s(Af, "create$");
var t8 = Af();
function ef(t, A) {
let [e, ...r] = TQ(t);
return $Q(e, r, A);
}
s(ef, "execaCommandSync");
// ../node_modules/find-up/index.js
var xe = P(require("node:path"), 1);
// ../node_modules/find-up/node_modules/unicorn-magic/node.js
var tf = require("node:url");
function Is(t) {
return t instanceof URL ? (0, tf.fileURLToPath)(t) : t;
}
s(Is, "toPath");
// ../node_modules/find-up/node_modules/path-exists/index.js
var rf = P(require("node:fs"), 1);
// ../node_modules/find-up/index.js
var sf = Symbol("findUpStop");
async function tR(t, A = {}) {
let e = xe.default.resolve(Is(A.cwd) ?? ""), { root: r } = xe.default.parse(e), i = xe.default.resolve(e, Is(A.stopAt ?? r)), n = A.limit ??
Number.POSITIVE_INFINITY, o = [t].flat(), g = /* @__PURE__ */ s(async (I) => {
if (typeof t != "function")
return vn(o, I);
let E = await t(I.cwd);
return typeof E == "string" ? vn([E], I) : E;
}, "runMatcher"), C = [];
for (; ; ) {
let I = await g({ ...A, cwd: e });
if (I === sf || (I && C.push(xe.default.resolve(e, I)), e === i || C.length >= n))
break;
e = xe.default.dirname(e);
}
return C;
}
s(tR, "findUpMultiple");
function Xn(t, A = {}) {
let e = xe.default.resolve(Is(A.cwd) ?? ""), { root: r } = xe.default.parse(e), i = xe.default.resolve(e, Is(A.stopAt) ?? r), n = A.limit ??
Number.POSITIVE_INFINITY, o = [t].flat(), g = /* @__PURE__ */ s((I) => {
if (typeof t != "function")
return Ai(o, I);
let E = t(I.cwd);
return typeof E == "string" ? Ai([E], I) : E;
}, "runMatcher"), C = [];
for (; ; ) {
let I = g({ ...A, cwd: e });
if (I === sf || (I && C.push(xe.default.resolve(e, I)), e === i || C.length >= n))
break;
e = xe.default.dirname(e);
}
return C;
}
s(Xn, "findUpMultipleSync");
async function nf(t, A = {}) {
return (await tR(t, { ...A, limit: 1 }))[0];
}
s(nf, "findUp");
function BA(t, A = {}) {
return Xn(t, { ...A, limit: 1 })[0];
}
s(BA, "findUpSync");
// src/common/js-package-manager/JsPackageManager.ts
var LC = P(hs(), 1), Es = require("semver");
// ../node_modules/tiny-invariant/dist/esm/tiny-invariant.js
var nR = process.env.NODE_ENV === "production", MC = "Invariant failed";
function af(t, A) {
if (!t) {
if (nR)
throw new Error(MC);
var e = typeof A == "function" ? A() : A, r = e ? "".concat(MC, ": ").concat(e) : MC;
throw new Error(r);
}
}
s(af, "invariant");
// src/common/utils/HandledError.ts
var si = class extends Error {
constructor(e) {
super(String(e));
this.handled = !0;
typeof e != "string" && (this.cause = e);
}
static {
s(this, "HandledError");
}
};
// src/common/utils/paths.ts
var Ye = require("node:path");
// src/common/js-package-manager/constants.ts
var Ao = "package-lock.json", eo = "pnpm-lock.yaml", to = "yarn.lock", ro = "bun.lock", io = "bun.lockb", Cf = [
Ao,
eo,
to,
ro,
io
];
// src/common/utils/paths.ts
var ls, QA = /* @__PURE__ */ s(() => {
if (ls)
return ls;
let t;
if (process.env.STORYBOOK_PROJECT_ROOT)
return process.env.STORYBOOK_PROJECT_ROOT;
try {
let A = BA(".git", { type: "directory" });
A && (t = (0, Ye.join)(A, ".."));
} catch {
}
try {
let A = BA(".svn", { type: "directory" });
A && (t = t || (0, Ye.join)(A, ".."));
} catch {
}
try {
let A = BA(".hg", { type: "directory" });
A && (t = t || (0, Ye.join)(A, ".."));
} catch {
}
try {
let A = __dirname.split("node_modules"), e = !(0, Ye.relative)(A[0], process.cwd()).startsWith("..");
t = t || (e && A.length >= 2 ? A[0] : void 0);
} catch {
}
try {
let A = BA(Cf, {
type: "file"
});
A && (t = t || (0, Ye.join)(A, ".."));
} catch {
}
return ls = t || process.cwd(), ls;
}, "getProjectRoot"), oR = /* @__PURE__ */ s(() => {
ls = void 0;
}, "invalidateProjectRootCache"), RC = /* @__PURE__ */ s((t) => t.split(process.platform === "win32" ? ";" : ":").filter(Boolean).map((A) => (0, Ye.resolve)(
"./", A)), "nodePathsToArray"), gR = /^\.{1,2}([/\\]|$)/;
function vC(t) {
return gR.test(t) ? t : `.${Ye.sep}${t}`;
}
s(vC, "normalizeStoryPath");
// src/common/js-package-manager/JsPackageManager.ts
var Ut = {
COREPACK_ENABLE_STRICT: "0",
COREPACK_ENABLE_AUTO_PIN: "0",
NO_UPDATE_NOTIFIER: "true"
};
function xC(t) {
let A = t.lastIndexOf("@");
if (A <= 0)
return [t, void 0];
let e = t.slice(0, A), r = t.slice(A + 1);
return [e, r];
}
s(xC, "getPackageDetails");
var qA = class t {
static {
s(this, "JsPackageManager");
}
static {
/** Cache for latest version results to avoid repeated network calls. */
this.latestVersionCache = /* @__PURE__ */ new Map();
}
static {
/** Cache for installed version results to avoid repeated file system calls. */
this.installedVersionCache = /* @__PURE__ */ new Map();
}
constructor(A) {
this.cwd = A?.cwd || process.cwd(), this.instanceDir = A?.configDir ? (0, Ee.isAbsolute)(A?.configDir) ? (0, Ee.dirname)(A?.configDir) :
(0, Ee.dirname)((0, Ee.join)(this.cwd, A?.configDir)) : this.cwd, this.packageJsonPaths = t.listAllPackageJsonPaths(
this.instanceDir,
A?.storiesPaths
), this.primaryPackageJson = this.#e();
}
isStorybookInMonorepo() {
let A = BA("turbo.json", { stopAt: QA() }), e = BA("rush.json", { stopAt: QA() }), r = BA("nx.json", { stopAt: QA() });
if (A || e || r)
return !0;
let i = Xn("package.json", { stopAt: QA() });
if (i.length === 0)
return !1;
for (let n of i) {
let o = (0, Er.readFileSync)(n, "utf8");
if (JSON.parse(o).workspaces)
return !0;
}
return !1;
}
async installDependencies(A) {
await le.prompt.executeTask(() => this.runInstall(A), {
id: "install-dependencies",
intro: "Installing dependencies...",
error: "An error occurred while installing dependencies.",
success: "Dependencies installed"
}), this.clearInstalledVersionCache();
}
async dedupeDependencies(A) {
await le.prompt.executeTask(
() => this.runInternalCommand("dedupe", [...A?.force ? ["--force"] : []], this.cwd),
{
id: "dedupe-dependencies",
intro: "Deduplicating dependencies...",
error: "An error occurred while deduplicating dependencies.",
success: "Dependencies deduplicated"
}
), this.clearInstalledVersionCache();
}
/** Read the `package.json` file available in the provided directory */
static getPackageJson(A) {
let e = (0, Er.readFileSync)(A, "utf8"), r = JSON.parse(e);
return {
...r,
dependencies: { ...r.dependencies },
devDependencies: { ...r.devDependencies },
peerDependencies: { ...r.peerDependencies }
};
}
writePackageJson(A, e = this.cwd) {
let r = { ...A };
["dependencies", "devDependencies", "peerDependencies"].forEach((o) => {
r[o] && Object.keys(r[o]).length === 0 && delete r[o];
});
let n = `${JSON.stringify(r, null, 2)}
`;
(0, Er.writeFileSync)((0, Ee.resolve)(e, "package.json"), n, "utf8");
}
getAllDependencies() {
let A = {};
for (let e of this.packageJsonPaths) {
let r = t.getPackageJson(e), { dependencies: i, devDependencies: n, peerDependencies: o } = r;
Object.assign(A, i, n, o);
}
return A;
}
isDependencyInstalled(A) {
return Object.keys(this.getAllDependencies()).includes(A);
}
/**
* Add dependencies to a project using `yarn add` or `npm install`.
*
* @example
*
* ```ts
* addDependencies(options, [
* `@storybook/react@${storybookVersion}`,
* `@storybook/addon-links@${linksVersion}`,
* ]);
* ```
*
* @param {Object} options Contains `skipInstall`, `packageJson` and `installAsDevDependencies`
* which we use to determine how we install packages.
* @param {Array} dependencies Contains a list of packages to add.
*/
async addDependencies(A, e) {
let {
skipInstall: r,
writeOutputToFile: i = !0,
packageJsonInfo: n = this.primaryPackageJson
} = A;
if (r) {
let { operationDir: o, packageJson: g } = n, C = {};
for (let E of e) {
let [Q, B] = xC(E), p = await this.getVersion(Q);
C[Q] = B ?? p;
}
let I = g[A.type];
Object.assign(I, C), this.writePackageJson(g, o);
} else
try {
let o = this.runAddDeps(
e,
A.type === "devDependencies",
i
);
return this.clearInstalledVersionCache(), o;
} catch (o) {
throw le.logger.error(`
An error occurred while installing dependencies:`), le.logger.log(o.message), new si(o);
}
}
/**
* Removing dependencies from the package.json file, which is found first starting from the
* instance root. The method does not run a package manager install like `npm install`.
*
* @example
*
* ```ts
* removeDependencies([`@storybook/react`]);
* ```
*
* @param dependencies Contains a list of packages to remove.
*/
async removeDependencies(A) {
for (let e of this.packageJsonPaths)
try {
let r = t.getPackageJson(e), i = !1;
if (A.forEach((n) => {
r.dependencies && r.dependencies[n] && (delete r.dependencies[n], i = !0), r.devDependencies && r.devDependencies[n] && (delete r.
devDependencies[n], i = !0), r.peerDependencies && r.peerDependencies[n] && (delete r.peerDependencies[n], i = !0);
}), i) {
this.writePackageJson(r, (0, Ee.dirname)(e));
break;
}
} catch (r) {
le.logger.warn(`Could not process ${e} for dependency removal: ${String(r)}`);
}
}
/**
* Return an array of strings matching following format: `<package_name>@<package_latest_version>`
*
* For packages in the storybook monorepo, when the latest version is equal to the version of the
* current CLI the version is not added to the string.
*
* When a package is in the monorepo, and the version is not equal to the CLI version, the version
* is taken from the versions.ts file and added to the string.
*
* @param packages
*/
getVersionedPackages(A) {
return Promise.all(
A.map(async (e) => {
let [r, i] = xC(e);
if (i && !(r in We))
return e;
let n = await this.latestVersion(r, i), g = We[r];
return g === n || !g ? `${r}@^${n}` : `${r}@${g}`;
})
);
}
/**
* Return an array of string standing for the latest version of the input packages. To be able to
* identify which version goes with which package the order of the input array is keep.
*
* @param packageNames
*/
getVersions(...A) {
return Promise.all(
A.map((e) => this.getVersion(e))
);
}
/**
* Return the latest version of the input package available on npmjs registry. If constraint are
* provided it return the latest version matching the constraints.
*
* For `@storybook/*` packages the latest version is retrieved from `cli/src/versions.json` file
* directly
*
* @param packageName The name of the package
* @param constraint A valid semver constraint, example: '1.x || >=2.5.0 || 5.0.0 - 7.2.3'
*/
async getVersion(A, e) {
let r;
A in We && (r = We[A]);
let i;
try {
if (i = await this.latestVersion(A, e), !i)
throw new Error(`No version found for ${A}`);
} catch (o) {
if (r)
return le.logger.warn(`
${LC.default.yellow(String(o))}`), r;
throw le.logger.error(`
${LC.default.red(String(o))}`), new si(o);
}
return `^${r && (!e || (0, Es.satisfies)(r, e)) && (0, Es.gt)(r, i) ? r : i}`;
}
/**
* Get the latest version of the package available on npmjs.com. If constraint is set then it
* returns a version satisfying it, otherwise the latest version available is returned.
*
* @param packageName Name of the package
* @param constraint Version range to use to constraint the returned version
*/
async latestVersion(A, e) {
let r = e ? `${A}@${e}` : A, i = t.latestVersionCache.get(r);
if (i)
return le.logger.debug(`Using cached version for ${A}...`), i;
let n;
le.logger.debug(`Getting CLI versions from NPM for ${A}...`);
try {
if (!e)
n = await this.runGetVersions(A, !1);
else {
let g = (await this.runGetVersions(A, !0)).reverse().find((C) => (0, Es.satisfies)(C, e));
af(
g != null,
`No version satisfying the constraint: ${A}${e}`
), n = g;
}
return t.latestVersionCache.set(r, n), n;
} catch {
return t.latestVersionCache.set(r, null), null;
}
}
/**
* Clear the latest version cache. Useful for testing or when you want to refresh version
* information.
*
* @param packageName Optional package name to clear only specific entries. If not provided,
* clears all cache.
*/
static clearLatestVersionCache(A) {
A ? Array.from(t.latestVersionCache.keys()).filter(
(r) => r === A || r.startsWith(`${A}@`)
).forEach((r) => t.latestVersionCache.delete(r)) : t.latestVersionCache.clear();
}
/**
* Clear the installed version cache for a specific package or all packages.
*
* @param packageName Optional package name to clear from cache. If not provided, clears all.
*/
clearInstalledVersionCache(A) {
A ? Array.from(t.installedVersionCache.keys()).filter(
(r) => r.endsWith(`::${A}`)
).forEach((r) => t.installedVersionCache.delete(r)) : t.installedVersionCache.clear();
}
/**
* Clear both the latest version cache and installed version cache. This should be called after
* any operation that modifies dependencies.
*/
clearAllVersionCaches() {
t.clearLatestVersionCache(), this.clearInstalledVersionCache();
}
addStorybookCommandInScripts(A) {
let r = `storybook dev -p ${A?.port ?? 6006}`, i = "storybook build", n = A?.preCommand ? this.getRunCommand(A.preCommand) : void 0;
this.addScripts({
storybook: [n, r].filter(Boolean).join(" && "),
"build-storybook": [n, i].filter(Boolean).join(" && ")
});
}
addScripts(A) {
let { operationDir: e, packageJson: r } = this.#e();
this.writePackageJson(
{
...r,
scripts: {
...r.scripts,
...A
}
},
e
);
}
addPackageResolutions(A) {
let { operationDir: e, packageJson: r } = this.#e(), i = this.getResolutions(r, A);
this.writePackageJson({ ...r, ...i }, e);
}
executeCommandSync({
command: A,
args: e = [],
stdio: r,
cwd: i,
ignoreError: n = !1,
env: o,
...g
}) {
try {
return ef([A, ...e].join(" "), {
cwd: i ?? this.cwd,
stdio: r ?? "pipe",
shell: !0,
cleanup: !0,
env: {
...Ut,
...o
},
...g
}).stdout ?? "";
} catch (C) {
if (n !== !0)
throw C;
return "";
}
}
/**
* Execute a command asynchronously and return the execa process. This allows you to hook into
* stdout/stderr streams and monitor the process.
*
* @example Const process = packageManager.executeCommand({ command: 'npm', args: ['install'] });
* process.stdout?.on('data', (data) => console.log(data.toString())); const result = await
* process;
*/
executeCommand({
command: A,
args: e = [],
stdio: r,
cwd: i,
ignoreError: n = !1,
env: o,
...g
}) {
let C = bC([A, ...e].join(" "), {
cwd: i ?? this.cwd,
stdio: r ?? "pipe",
encoding: "utf8",
shell: !0,
cleanup: !0,
env: {
...Ut,
...o
},
...g
});
return n && C.catch((I) => {
}), C;
}
/** Returns the installed (within node_modules or pnp zip) version of a specified package */
async getInstalledVersion(A) {
let e = A;
try {
let r = t.installedVersionCache.get(e);
if (r !== void 0)
return le.logger.debug(`Using cached installed version for ${A}...`), r;
le.logger.debug(`Getting installed version for ${A}...`);
let i = await this.findInstallations([A]);
if (!i)
return t.installedVersionCache.set(e, null), null;
let n = Object.entries(i.dependencies)[0]?.[1]?.[0].version || null;
return t.installedVersionCache.set(e, n), n;
} catch {
return t.installedVersionCache.set(e, null), null;
}
}
async isPackageInstalled(A) {
return await this.getInstalledVersion(A) !== null;
}
/**
* Searches for a dependency/devDependency in all package.json files and returns the version of
* the dependency.
*/
getDependencyVersion(A) {
return this.packageJsonPaths.map((r) => {
let i = t.getPackageJson(r);
return i.dependencies?.[A] ?? i.devDependencies?.[A];
}).filter(Boolean)[0] ?? null;
}
// Helper to read and check a package.json for storybook dependency
static hasStorybookDependency(A) {
try {
let e = (0, Er.readFileSync)(A, "utf-8"), r = JSON.parse(e);
return !!(r.dependencies && r.dependencies.storybook || r.devDependencies && r.devDependencies.storybook);
} catch {
return !1;
}
}
// Helper to read and check a package.json for storybook dependency
static hasAnyStorybookDependency(A) {
try {
let e = (0, Er.readFileSync)(A, "utf-8"), r = JSON.parse(e), i = {
...r.dependencies,
...r.devDependencies
};
return Object.keys(i).some((n) => n.includes("storybook"));
} catch {
return !1;
}
}
/**
* Find the primary package.json file in the project root. The primary package.json file is the
* one that contains the `storybook` dependency. If no primary package.json file is found, the
* function will return the package.json file in the project root.
*/
#A() {
for (let A of this.packageJsonPaths)
if (t.hasStorybookDependency(A))
return A;
return this.packageJsonPaths[0] ?? (0, Ee.resolve)(this.cwd, "package.json");
}
/** List all package.json files starting from the given directory and stopping at the project root. */
static listAllPackageJsonPaths(A, e) {
let r = Xn("package.json", {
cwd: A,
stopAt: QA()
});
if (!e)
return r;
let i = QA(), o = Dn("**/package.json", {
cwd: i,
absolute: !0,
ignore: ["**/node_modules/**", "**/dist/**"]
}).filter((g) => {
let C = (0, Ee.dirname)(g);
return e.some((I) => I.startsWith(C));
});
return Array.from(/* @__PURE__ */ new Set([...r, ...o]));
}
/**
* Get the primary package.json file and its operation directory. The primary package.json file is
* the one that contains the storybook dependency. If the primary package.json file is not found,
* the function returns information about thepackage.json file in the current working directory.
*/
#e() {
let A = this.#A();
return t.getPackageJsonInfo(A);
}
static getPackageJsonInfo(A) {
let e = (0, Ee.dirname)(A);
return {
packageJsonPath: A,
operationDir: e,
get packageJson() {
return t.getPackageJson(A);
}
};
}
};
// src/common/utils/get-storybook-configuration.ts
function YC(t, A, e) {
if (!t)
return null;
let r = t.split(/[\s='"]+/), i = r.indexOf(e);
return i === -1 && (i = r.indexOf(A)), i === -1 ? null : r[i + 1];
}
s(YC, "getStorybookConfiguration");
// src/common/utils/get-storybook-info.ts
var oo = {
"@storybook/react": "react",
"@storybook/vue3": "vue3",
"@storybook/angular": "angular",
"@storybook/html": "html",
"@storybook/web-components": "web-components",
"@storybook/polymer": "polymer",
"@storybook/ember": "ember",
"@storybook/svelte": "svelte",
"@storybook/preact": "preact",
"@storybook/server": "server",
// community (outside of monorepo)
"storybook-framework-qwik": "qwik",
"storybook-solidjs": "solid",
/** @deprecated This is deprecated. */
"@storybook/vue": "vue"
}, ur = {
"@storybook/angular": "angular",
"@storybook/ember": "ember",
"@storybook/html-vite": "html-vite",
"@storybook/nextjs": "nextjs",
"@storybook/preact-vite": "preact-vite",
"@storybook/react-vite": "react-vite",
"@storybook/react-webpack5": "react-webpack5",
"@storybook/server-webpack5": "server-webpack5",
"@storybook/svelte-vite": "svelte-vite",
"@storybook/sveltekit": "sveltekit",
"@storybook/vue3-vite": "vue3-vite",
"@storybook/nextjs-vite": "nextjs-vite",
"@storybook/react-native-web-vite": "react-native-web-vite",
"@storybook/web-components-vite": "web-components-vite",
// community (outside of monorepo)
"storybook-framework-qwik": "qwik",
"storybook-solidjs-vite": "solid",
"storybook-react-rsbuild": "react-rsbuild",
"storybook-vue3-rsbuild": "vue3-rsbuild"
}, aR = ["@storybook/builder-webpack5", "@storybook/builder-vite"], CR = /* @__PURE__ */ s(({ dependencies: t, devDependencies: A, peerDependencies: e }, r) => [
Object.entries(t || {}).find(r),
Object.entries(A || {}).find(r),
Object.entries(e || {}).find(r)
], "findDependency"), cR = /* @__PURE__ */ s((t) => {
let A = qA.listAllPackageJsonPaths((0, no.dirname)(t));
for (let e of A) {
let r = JSON.parse((0, ni.readFileSync)(e, "utf-8")), [i, n, o] = CR(r, ([I]) => oo[I]), [g, C] = i || n || o || [];
if (g && C)
return {
version: C,
frameworkPackage: g
};
}
return {
version: void 0,
frameworkPackage: void 0
};
}, "getRendererInfo"), IR = ["ts", "js", "tsx", "jsx", "mjs", "cjs"], so = /* @__PURE__ */ s((t, A) => {
let e = (0, no.join)(A, t), r = IR.find((i) => (0, ni.existsSync)(`${e}.${i}`));
return r ? `${e}.${r}` : null;
}, "findConfigFile"), go = /* @__PURE__ */ s((t) => {
let A = t ?? ".storybook";
if (!(0, ni.existsSync)(A)) {
let e = qA.listAllPackageJsonPaths(A);
for (let r of e) {
let n = JSON.parse((0, ni.readFileSync)(r, "utf-8")).scripts?.storybook;
if (n && !t) {
let o = YC(n, "-c", "--config-dir");
if (o) {
A = o;
break;
}
}
}
}
return {
configDir: A,
mainConfigPath: so("main", A),
previewConfigPath: so("preview", A),
managerConfigPath: so("manager", A)
};
}, "getConfigInfo"), hR = /* @__PURE__ */ s((t = ".storybook") => {
let A = cR(t), e = go(t);
return {
...A,
...e
};
}, "getStorybookInfo");
// src/common/utils/cli.ts
var lR = /* @__PURE__ */ s(() => (0, $e.realpath)(cf.default.tmpdir()), "tempDir"), If = /* @__PURE__ */ s(async (t = "") => (0, Co.join)(await lR(),
t + za()), "getPath");
async function hf({ prefix: t = "" } = {}) {
let A = await If(t);
return (0, ao.mkdirSync)(A), A;
}
s(hf, "temporaryDirectory");
async function lf({ name: t, extension: A } = {}) {
if (t) {
if (A != null)
throw new Error("The `name` and `extension` options are mutually exclusive");
return (0, Co.join)(await hf(), t);
}
return await If() + (A == null ? "" : "." + A.replace(/^\./, ""));
}
s(lf, "temporaryFile");
function ER(t) {
return t.split(",").map((A) => A.trim()).filter((A) => A.length > 0);
}
s(ER, "parseList");
async function uR(t) {
return (await Promise.all(
Object.keys(oo).map(async (e) => ({
name: e,
version: t.getModulePackageJSON(e)?.version ?? null
}))
)).filter(({ version: e }) => !!e)[0]?.version || We.storybook;
}
s(uR, "getCoercedStorybookVersion");
function BR(t, A) {
Object.keys(A).forEach((e) => {
let r = A[e], i = process.env[r];
i && (t[e] = i);
});
}
s(BR, "getEnvConfig");
var QR = /* @__PURE__ */ s(async (t = "storybook.log") => {
let A = (0, Co.join)(process.cwd(), t), e = await lf({ name: t }), r = (0, ao.createWriteStream)(e, { encoding: "utf8" });
return new Promise((i, n) => {
r.once("open", () => {
i({ logStream: r, moveLogFile: /* @__PURE__ */ s(async () => (0, $e.rename)(e, A), "moveLogFile"), clearLogFile: /* @__PURE__ */ s(async () => (0, $e.writeFile)(
e, ""), "clearLogFile"), removeLogFile: /* @__PURE__ */ s(async () => (0, $e.rm)(e, { recursive: !0, force: !0 }), "removeLogFile"), readLogFile: /* @__PURE__ */ s(
async () => (0, $e.readFile)(e, { encoding: "utf8" }), "readLogFile") });
}), r.once("error", n);
});
}, "createLogStream"), PC = /* @__PURE__ */ s((t) => !!We[t], "isCorePackage"), fR = /* @__PURE__ */ s((t) => CB.includes(t), "isSatelliteAd\
don");
// src/common/utils/check-addon-order.ts
var co = require("storybook/internal/node-logger");
var UC = /* @__PURE__ */ s((t) => (A) => {
let e = A.name || A;
return e && e.replaceAll(/(\\){1,2}/g, "/").includes(t);
}, "predicateFor"), dR = /* @__PURE__ */ s((t, A, e) => {
let r = t.findIndex(UC("@storybook/addon-essentials")), i = t.findIndex(UC(A.name)), n = t.findIndex(UC(e.name));
return i === -1 && A.inEssentials && (i = r), n === -1 && e.inEssentials && (n = r), i !== -1 && n !== -1 && i <= n;
}, "isCorrectOrder"), pR = /* @__PURE__ */ s(async ({ before: t, after: A, configFile: e, getConfig: r }) => {
try {
let i = await r(e);
if (!i?.addons) {
co.logger.warn("Unable to find 'addons' config in main Storybook config");
return;
}
if (!dR(i.addons, t, A)) {
let n = " (or '@storybook/addon-essentials')", o = `'${t.name}'${t.inEssentials ? n : ""}`, g = `'${A.name}'${A.inEssentials ? n : ""}`;
co.logger.warn(
`Expected ${o} to be listed before ${g} in main Storybook config.`
);
}
} catch {
co.logger.warn(`Unable to load config file: ${e}`);
}
}, "checkAddonOrder");
// ../node_modules/lazy-universal-dotenv/lib/index.mjs
var Sf = P(require("fs"), 1), Kf = P(require("path"), 1), Ff = P(uf(), 1), kf = P(wf(), 1), bf = P(Df(), 1);
var _t = Kf.default.join(Ff.default.get(), ".env");
function Nf({ nodeEnv: t, buildTarget: A } = {}) {
let e = {}, r = {}, i = { "process.env": r }, n = typeof t > "u" ? process.env.NODE_ENV : t, o = typeof t > "u" ? process.env.BUILD_TARGET :
A;
return [
o && n && `${_t}.${o}.${n}.local`,
o && n && `${_t}.${o}.${n}`,
o && n !== "test" && `${_t}.${o}.local`,
o && `${_t}.${o}`,
n && `${_t}.${n}.local`,
n && `${_t}.${n}`,
n !== "test" && `${_t}.local`,
_t
].filter(Boolean).forEach((C) => {
if (Sf.default.existsSync(C)) {
let I = kf.default.config({
path: C
});
e = Object.assign({}, e, bf.default.expand(I).parsed);
}
}), Object.keys(e).forEach((C) => {
r[C] = JSON.stringify(e[C]);
}), { raw: e, stringified: r, webpack: i };
}
s(Nf, "getEnvironment");
// src/common/utils/envs.ts
function UR(t = {}) {
let A = t.production ? "production" : "development", e = {
// eslint-disable-next-line @typescript-eslint/dot-notation
NODE_ENV: process.env.NODE_ENV || A,
NODE_PATH: process.env.NODE_PATH || "",
STORYBOOK: process.env.STORYBOOK || "true",
// This is to support CRA's public folder feature.
// In production we set this to dot(.) to allow the browser to access these assets
// even when deployed inside a subpath. (like in GitHub pages)
// In development this is just empty as we always serves from the root.
PUBLIC_URL: t.production ? "." : ""
};
Object.keys(process.env).filter((g) => /^STORYBOOK_/.test(g)).forEach((g) => {
e[g] = process.env[g];
});
let r = Object.entries(e).reduce(
(g, [C, I]) => Object.assign(g, { [C]: JSON.stringify(I) }),
{}
), { stringified: i, raw: n } = Nf({ nodeEnv: e.NODE_ENV }), o = { ...e, ...n };
return o.NODE_PATH = RC(o.NODE_PATH || ""), {
stringified: { ...r, ...i },
raw: o
};
}
s(UR, "loadEnvs");
var _R = /* @__PURE__ */ s((t) => Object.entries(t).reduce((A, [e, r]) => (A[e] = JSON.stringify(r), A), {}), "stringifyEnvs"), GR = /* @__PURE__ */ s(
(t) => Object.entries(t).reduce((e, [r, i]) => (e[`process.env.${r}`] = JSON.stringify(i), e), {}), "stringifyProcessEnvs");
// src/common/utils/common-glob-options.ts
var JR = /node_modules/, OC = /* @__PURE__ */ s((t) => JR.test(t) ? {} : { ignore: ["**/node_modules/**"] }, "commonGlobOptions");
// src/common/utils/framework-to-renderer.ts
var TC = {
// frameworks
angular: "angular",
ember: "ember",
"html-vite": "html",
nextjs: "react",
"nextjs-vite": "react",
"preact-vite": "preact",
qwik: "qwik",
"react-vite": "react",
"react-webpack5": "react",
"server-webpack5": "server",
solid: "solid",
"svelte-vite": "svelte",
sveltekit: "svelte",
"vue3-vite": "vue3",
nuxt: "vue3",
"web-components-vite": "web-components",
"react-rsbuild": "react",
"vue3-rsbuild": "vue3",
// renderers
html: "html",
preact: "preact",
"react-native": "react-native",
"react-native-web-vite": "react",
react: "react",
server: "server",
svelte: "svelte",
vue3: "vue3",
"web-components": "web-components"
};
// src/common/utils/get-builder-options.ts
async function OR(t) {
let A = await t.presets.apply("framework", {}, t);
if (typeof A != "string" && A?.options?.builder)
return A.options.builder;
let { builder: e } = await t.presets.apply("core", {}, t);
return typeof e != "string" && e?.options ? e.options : {};
}
s(OR, "getBuilderOptions");
// src/common/utils/get-framework-name.ts
var vf = P(ht(), 1);
// src/common/utils/normalize-path.ts
var Mf = require("node:path");
function Rf(t) {
return Mf.posix.normalize(t.replace(/\\/g, "/"));
}
s(Rf, "normalizePath");
// src/common/utils/get-framework-name.ts
async function HC(t) {
let A = await t.presets.apply("framework", "", t);
if (!A)
throw new Error(vf.dedent`
You must specify a framework in '.storybook/main.js' config.
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
`);
return typeof A == "object" ? A.name : A;
}
s(HC, "getFrameworkName");
var jC = /* @__PURE__ */ s((t) => {
let A = Rf(t);
return Object.keys(ur).find((r) => A.endsWith(r)) ?? t;
}, "extractProperFrameworkName");
// src/common/utils/get-renderer-name.ts
async function TR(t) {
let A = await t.presets.apply("core", {}, t);
return !A || !A.renderer ? HC(t) : A.renderer;
}
s(TR, "getRendererName");
async function HR(t) {
let A = jC(t), e = ur[A];
return e ? TC[e] : null;
}
s(HR, "extractProperRendererNameFromFramework");
// src/common/utils/get-storybook-refs.ts
var qC = require("node:fs/promises"), Io = require("node:path"), Lf = require("storybook/internal/node-logger");
var xf = P(Ya(), 1);
var Yf = /* @__PURE__ */ s(async (t) => {
let A = await nf("package.json", {
cwd: t.configDir,
stopAt: QA()
});
if (!A)
return {};
let e = (0, Io.dirname)(A), { dependencies: r = [], devDependencies: i = [] } = JSON.parse(await (0, qC.readFile)(A, { encoding: "utf8" })) ||
{}, n = Object.keys({ ...r, ...i });
return (await Promise.all(
n.map(async (g) => {
try {
let C = (0, xf.default)(e, (0, Io.join)(g, "package.json")), { storybook: I, name: E, version: Q } = JSON.parse(await (0, qC.readFile)(
C, { encoding: "utf8" })) || {};
if (I?.url)
return { id: E, ...I, version: Q };
} catch (C) {
if (C.code === "ERR_PACKAGE_PATH_NOT_EXPORTED")
return;
Lf.logger.warn(`unable to find package.json for ${g}`);
return;
}
})
)).filter(Boolean).reduce(
(g, C) => ({
...g,
[C.id]: {
id: C.id.toLowerCase(),
url: Pf(C.url),
title: C.title,
version: C.version
}
}),
{}
);
}, "getAutoRefs"), jR = /* @__PURE__ */ s((t) => fetch(`${t}/iframe.html`).then(
async ({ ok: A, status: e }) => {
if (A) {
if (e !== 200)
return !1;
let r = await fetch(`${t}/iframe.html`, {
headers: { Accept: "application/json" }
});
if (r.ok && (await r.json().catch(() => ({}))).loginUrl)
return !1;
}
return A;
},
() => !1
), "checkRef"), Pf = /* @__PURE__ */ s((t) => t.replace(/\/$/, ""), "stripTrailingSlash"), qR = /* @__PURE__ */ s((t) => {
let A = t.replace(/[A-Z]/g, (e) => ` ${e}`).replace(/[-_][A-Z]/gi, (e) => ` ${e.toUpperCase()}`).replace(/-/g, " ").replace(/_/g, " ");
return `${A.substring(0, 1).toUpperCase()}${A.substring(1)}`.trim();
}, "toTitle");
async function zR(t) {
if (t.test)
return {};
let A = await t.presets.apply("refs", await Yf(t));
return Object.entries(A).forEach(([e, r]) => {
if (r.disable) {
delete A[e];
return;
}
A[e.toLowerCase()] = {
...r,
id: e.toLowerCase(),
title: r.title || qR(r.id || e),
url: Pf(r.url)
};
}), await Promise.all(
Object.entries(A).map(async ([e, r]) => {
let i = await jR(r.url);
A[e] = { ...r, type: i ? "server-checked" : "unknown" };
})
), A;
}
s(zR, "getRefs");
// src/common/utils/glob-to-regexp.ts
var id = P(uo(), 1);
function ic(t) {
let A = id.makeRe(t, {
fastpaths: !1,
noglobstar: !1,
bash: !1
});
if (!A.source.startsWith("^"))
throw new Error(`Invalid glob: >> ${t} >> ${A}`);
return t.startsWith("./") ? new RegExp(
["^\\.", t.startsWith("./**") ? "" : "[\\\\/]", A.source.substring(1)].join("")
) : A;
}
s(ic, "globToRegexp");
// src/common/utils/interpolate.ts
var F0 = /* @__PURE__ */ s((t, A) => Object.entries(A).reduce((e, [r, i]) => {
let n = i.replace(/\\/g, "/").replace(/\$/g, "$$$");
return e.replace(new RegExp(`{{${r}}}`, "g"), n);
}, t), "interpolate");
// src/common/utils/load-main-config.ts
var sd = require("node:fs/promises"), ds = require("node:path"), Bo = require("storybook/internal/server-errors");
async function k0({
configDir: t = ".storybook",
noCache: A = !1,
cwd: e
}) {
await es(t, e);
let r = Pr((0, ds.resolve)(t, "main"));
A && r && require.cache[r] && delete require.cache[r];
try {
return await Yr(r);
} catch (i) {
if (!(i instanceof Error))
throw i;
if (i.message.match(/Cannot use import statement outside a module/)) {
let n = (0, ds.relative)(process.cwd(), r), o = i.stack?.match(new RegExp(`${n}:(\\d+):(\\d+)`))?.[1], g, C;
if (o) {
let Q = (await (0, sd.readFile)(r, "utf-8")).split(`
`);
g = parseInt(o, 10) - 1, C = Q[g];
}
let I = new Bo.MainFileESMOnlyImportError({
line: C,
location: n,
num: g
});
throw delete I.stack, I;
}
throw new Bo.MainFileEvaluationError({
location: (0, ds.relative)(process.cwd(), r),
error: i
});
}
}
s(k0, "loadMainConfig");
// src/common/utils/load-manager-or-addons-file.ts
var Qo = require("node:path"), nd = require("storybook/internal/node-logger"), od = P(ht(), 1);
function b0({ configDir: t }) {
let A = ar((0, Qo.resolve)(t, "addons")), e = ar((0, Qo.resolve)(t, "manager"));
if ((A || e) && nd.logger.info("=> Loading custom manager config"), A && e)
throw new Error(od.dedent`
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${(0, Qo.resolve)(
t,
"addons"
)})`);
return e || A;
}
s(b0, "loadManagerOrAddonsFile");
// src/common/utils/load-preview-or-config-file.ts
var fo = require("node:path"), gd = P(ht(), 1);
function N0({ configDir: t }) {
let A = ar((0, fo.resolve)(t, "config")), e = ar((0, fo.resolve)(t, "preview"));
if (A && e)
throw new Error(gd.dedent`
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${(0, fo.resolve)(
t,
"config"
)})`);
return e || A;
}
s(N0, "loadPreviewOrConfigFile");
// src/common/utils/log.ts
var ps = require("storybook/internal/node-logger"), Qr = P(hs(), 1);
var M0 = /* @__PURE__ */ s((t) => (process.stdout.write(Qr.default.cyan(" \u2022 ") + t), (A, e) => {
if (A) {
if (process.stdout.write(`. ${Qr.default.red("\u2716")}
`), ps.logger.error(`
${Qr.default.red(A)}`), !e)
return;
let r = e.split(`
`).map((i) => ` ${Qr.default.dim(i)}`).join(`
`);
ps.logger.error(`${r}
`);
return;
}
process.stdout.write(`. ${Qr.default.green("\u2713")}
`);
}), "commandLog");
function R0(t) {
let A = t.split(`
`).map((e) => ` ${e}`).join(`
`);
ps.logger.log(A);
}
s(R0, "paddedLog");
function sc(t, A) {
let e = "";
for (let r = 0; r < A; r += 1)
e += t;
return e;
}
s(sc, "getChars");
function v0(t, A) {
let e = 0, i = t.map((n) => (e = n.length > e ? n.length : e, n)).map((n) => {
let o = e - n.length, g = n + sc(" ", o);
return g = sc(" ", A || 2) + Qr.default.inverse(` ${g} `), g;
}).join(`
`);
ps.logger.log(i);
}
s(v0, "codeLog");
// src/common/utils/log-config.ts
var ad = P(hs(), 1);
function L0(t, A) {
console.log(ad.default.cyan(String(t))), console.dir(A, { depth: null });
}
s(L0, "logConfig");
// src/common/utils/normalize-stories.ts
var Cd = require("node:fs"), Qt = require("node:path"), cd = require("storybook/internal/server-errors"), Id = P(uo(), 1);
Vr();
var po = "", hd = "**/*.@(mdx|stories.@(js|jsx|mjs|ts|tsx))", x0 = /* @__PURE__ */ s((t, A) => {
try {
return (0, Cd.lstatSync)((0, Qt.resolve)(t, A)).isDirectory();
} catch {
return !1;
}
}, "isDirectory"), ld = /* @__PURE__ */ s(({
configDir: t,
workingDir: A,
directory: e
}) => {
let r = (0, Qt.resolve)(t, e), i = (0, Qt.relative)(A, r);
return vC(i);
}, "getDirectoryFromWorkingDir"), Ed = /* @__PURE__ */ s((t, { configDir: A, workingDir: e, defaultFilesPattern: r = hd }) => {
let i;
if (typeof t == "string") {
let I = Id.scan(t);
if (I.isGlob) {
let E = I.prefix + I.base, Q = I.glob;
i = {
titlePrefix: po,
directory: E,
files: Q
};
} else x0(A, t) ? i = {
titlePrefix: po,
directory: t,
files: r
} : i = {
titlePrefix: po,
directory: (0, Qt.dirname)(t),
files: (0, Qt.basename)(t)
};
} else
i = {
titlePrefix: po,
files: r,
...t
};
let n = Ae(i.files), { directory: o } = i, g = Ae(
ld({
configDir: A,
workingDir: e,
directory: o
})
).replace(/\/$/, ""), C = ic(`${g}/${n}`);
return {
...i,
directory: g,
importPathMatcher: C
};
}, "normalizeStoriesEntry"), Y0 = /* @__PURE__ */ s((t, A) => {
if (!t || Array.isArray(t) && t.length === 0)
throw new cd.InvalidStoriesEntryError();
return t.map((e) => Ed(e, A));
}, "normalizeStories");
// src/common/utils/readTemplate.ts
var ud = require("node:fs/promises");
async function P0(t) {
return (0, ud.readFile)(t, {
encoding: "utf8"
});
}
s(P0, "readTemplate");
// src/common/utils/remove.ts
var wo = require("storybook/internal/csf-tools"), ws = require("storybook/internal/node-logger"), Bd = P(ht(), 1);
async function U0(t, A) {
let { packageManager: e, skipInstall: r } = A, { mainConfigPath: i, configDir: n } = go(A.configDir);
if (typeof n > "u")
throw new Error(Bd.dedent`
Unable to find storybook config directory
`);
if (!i) {
ws.logger.error("Unable to find storybook main.js config");
return;
}
let o = await (0, wo.readConfig)(i);
if (ws.logger.debug(`Uninstalling ${t}`), await e.removeDependencies([t]), r || await e.installDependencies(), (o.getNamesFromPath(["addon\
s"]) ?? []).includes(t)) {
ws.logger.debug(`Removing '${t}' from main.js addons field.`);
try {
o.removeEntryFromArray(["addons"], t), await (0, wo.writeConfig)(o);
} catch (C) {
ws.logger.warn(`Failed to remove '${t}' from main.js addons field. ${String(C)}`);
}
}
}
s(U0, "removeAddon");
// src/common/utils/symlinks.ts
function _0() {
let { NODE_OPTIONS: t, NODE_PRESERVE_SYMLINKS: A } = process.env;
return !!A || t?.includes("--preserve-symlinks");
}
s(_0, "isPreservingSymlinks");
// src/common/utils/template.ts
var Gt = require("node:fs"), gi = require("node:path");
var Qd = /* @__PURE__ */ s((t, A = {}) => Object.entries(A).reduce((e, [r, i]) => e.replace(new RegExp(`%${r}%`, "g"), i), t), "interpolate");
function G0(t, A) {
let e = (0, gi.dirname)(require.resolve("storybook/internal/package.json")), r = (0, Gt.readFileSync)(`${e}/assets/server/base-preview-bod\
y.html`, "utf8"), i = (0, gi.resolve)(t, "preview-body.html"), n = r;
return (0, Gt.existsSync)(i) && (n = (0, Gt.readFileSync)(i, "utf8") + n), Qd(n, A);
}
s(G0, "getPreviewBodyTemplate");
function J0(t, A) {
let e = (0, gi.dirname)(require.resolve("storybook/internal/package.json")), r = (0, Gt.readFileSync)(`${e}/assets/server/base-preview-hea\
d.html`, "utf8"), i = (0, gi.resolve)(t, "preview-head.html"), n = r;
return (0, Gt.existsSync)(i) && (n += (0, Gt.readFileSync)(i, "utf8")), Qd(n, A);
}
s(J0, "getPreviewHeadTemplate");
// src/common/utils/validate-config.ts
var dd = require("node:path"), ai = require("storybook/internal/server-errors");
var fd = ["html", "preact", "react", "server", "svelte", "vue", "vue3", "web-components"], O0 = [...fd, ...fd.map((t) => `@storybook/${t}`)];
function T0(t) {
if (!t)
throw new ai.MissingFrameworkFieldError();
if (O0.includes(t))
throw new ai.InvalidFrameworkNameError({ frameworkName: t });
if (!Object.keys(ur).includes(t))
try {
require.resolve((0, dd.join)(t, "preset"));
} catch {
throw new ai.CouldNotEvaluateFrameworkError({ frameworkName: t });
}
}
s(T0, "validateFrameworkName");
// src/common/utils/satisfies.ts
function H0() {
return (t) => t;
}
s(H0, "satisfies");
// src/common/utils/formatter.ts
async function pd() {
return import("prettier").catch((t) => ({
resolveConfig: /* @__PURE__ */ s(async () => null, "resolveConfig"),
format: /* @__PURE__ */ s((A) => A, "format")
}));
}
s(pd, "getPrettier");
async function j0(t, A) {
try {
let { resolveConfig: e, format: r } = await pd(), i = await e(t);
return !i || Object.keys(i).length === 0 ? await q0(t, A) : await r(A, {
...i,
filepath: t
});
} catch {
return A;
}
}
s(j0, "formatFileContent");
async function q0(t, A) {
let { resolveConfig: e, format: r } = await pd(), i = await e(t, { editorconfig: !0 });
return !i || Object.keys(i).length === 0 ? A : r(A, {
...i,
filepath: t
});
}
s(q0, "formatWithEditorConfig");
// src/common/utils/get-story-id.ts
var Sd = require("node:path"), yo = require("storybook/internal/common"), Ci = require("storybook/internal/csf"), Kd = P(ht(), 1);
// src/preview-api/modules/store/autoTitle.ts
var md = require("storybook/internal/client-logger");
Vr();
var yd = P(ht(), 1);
var z0 = /* @__PURE__ */ s((t) => {
if (t.length === 0)
return t;
let A = t[t.length - 1], e = A?.replace(/(?:[.](?:story|stories))?([.][^.]+)$/i, "");
if (t.length === 1)
return [e];
let r = t[t.length - 2];
return e && r && e.toLowerCase() === r.toLowerCase() ? [...t.slice(0, -2), e] : e && (/^(story|stories)([.][^.]+)$/i.test(A) || /^index$/i.
test(e)) ? t.slice(0, -1) : [...t.slice(0, -1), e];
}, "sanitize");
function wd(t) {
return t.flatMap((A) => A.split("/")).filter(Boolean).join("/");
}
s(wd, "pathJoin");
var Dd = /* @__PURE__ */ s((t, A, e) => {
let { directory: r, importPathMatcher: i, titlePrefix: n = "" } = A || {};
typeof t == "number" && md.once.warn(yd.dedent`
CSF Auto-title received a numeric fileName. This typically happens when
webpack is mis-configured in production mode. To force webpack to produce
filenames, set optimization.moduleIds = "named" in your webpack config.
`);
let o = Ae(String(t));
if (i.exec(o)) {
if (!e) {
let g = o.replace(r, ""), C = wd([n, g]).split("/");
return C = z0(C), C.join("/");
}
return n ? wd([n, e]) : e;
}
}, "userOrAutoTitleFromSpecifier");
// src/common/utils/posix.ts
var mo = require("node:path");
var nc = /* @__PURE__ */ s((t, A = mo.sep) => t.split(A).filter(Boolean).join(mo.posix.sep), "posix");
// src/common/utils/get-story-id.ts
async function W0(t, A) {
let e = await A.presets.apply("stories", [], A), r = Fd({
...t,
stories: e,
configDir: A.configDir
});
if (r === void 0)
throw new Error(Kd.dedent`
The new story file was successfully generated, but we are unable to index it. Please ensure that the new Story file is matched by the 'stories' glob pattern in your Storybook configuration.
`);
let i = (0, Ci.storyNameFromExport)(t.exportedStoryName), n = (0, Ci.toId)(r, i), o = (0, Ci.sanitize)(r);
return { storyId: n, kind: o };
}
s(W0, "getStoryId");
function Fd({
storyFilePath: t,
configDir: A,
stories: e,
workingDir: r = process.cwd(),
userTitle: i
}) {
let n = (0, yo.normalizeStories)(e, {
configDir: A,
workingDir: r
}), o = (0, Sd.relative)(r, t), g = nc((0, yo.normalizeStoryPath)(o));
return n.map((C) => Dd(g, C, i)).filter(Boolean)[0];
}
s(Fd, "getStoryTitle");
// src/common/utils/get-addon-names.ts
var oc = /* @__PURE__ */ s((t) => (t.addons || []).map((r) => {
let i = "";
if (typeof r == "string" ? i = r : typeof r == "object" && (i = r.name), !i.startsWith("."))
return i = i.replace(/.*node_modules\//, ""), i.replace(/\/dist\/.*$/, "").replace(/\.[mc]?[tj]?sx?$/, "").replace(/\/register$/, "").replace(
/\/manager$/, "").replace(/\/preset$/, "");
}).filter((r) => r != null), "getAddonNames");
// src/common/utils/sync-main-preview-addons.ts
var fr = require("storybook/internal/babel"), ci = require("storybook/internal/csf-tools"), Nd = require("storybook/internal/node-logger"), gc = P(hs(), 1);
// src/common/utils/get-addon-annotations.ts
var kd = P(require("node:path"), 1);
function V0(t) {
return t.replace(/^@storybook\//, "").split(/[^a-zA-Z0-9]+/).map(
(e, r) => r === 0 ? e.toLowerCase() : e.charAt(0).toUpperCase() + e.slice(1).toLowerCase()
).join("").replace(/^./, (e) => e.toLowerCase());
}
s(V0, "getAnnotationsName");
async function bd(t) {
try {
let A = {
// core addons will have a function as default export in index entrypoint
importPath: t,
importName: V0(t),
isCoreAddon: PC(t)
};
return t === "@storybook/addon-essentials" || (A.isCoreAddon || (A.importPath = `${t}/preview`), require.resolve(kd.default.join(t, "pre\
view"))), A;
} catch {
}
return null;
}
s(bd, "getAddonAnnotations");
// src/common/utils/sync-main-preview-addons.ts
async function X0(t, A) {
let e = await (0, ci.readConfig)(A), r = await Md(t, e);
await (0, ci.writeConfig)(r);
}
s(X0, "syncStorybookAddons");
async function Md(t, A) {
if (!(0, ci.isCsfFactoryPreview)(A))
return A;
let r = oc(t);
if (!r)
return A;
let i = [], n = A.getFieldNode(["addons"]);
for (let o of r) {
let g = await bd(o);
if (g) {
if (A._ast.program.body.find(
(I) => fr.types.isImportDeclaration(I) && I.source.value === g.importPath
))
continue;
(!n || fr.types.isArrayExpression(n) && !n.elements.some(
(I) => fr.types.isIdentifier(I) && I.name === g.importName
)) && (i.push(o), g.isCoreAddon ? (A.setImport(g.importName, g.importPath), A.appendNodeToArray(
["addons"],
fr.types.callExpression(fr.types.identifier(g.importName), [])
)) : (A.setImport({ namespace: g.importName }, g.importPath), A.appendNodeToArray(["addons"], fr.types.identifier(g.importName))));
}
}
return i.length > 0 && Nd.logger.log(
`Synchronizing addons from main config in ${gc.default.cyan(A.fileName)}:
${i.map(gc.default.magenta).join(", ")}`
), A;
}
s(Md, "getSyncedStorybookAddons");
// src/common/js-package-manager/JsPackageManagerFactory.ts
var yr = require("node:path"), Ms = P(iC(), 1);
// src/common/js-package-manager/BUNProxy.ts
var So = require("node:fs"), Rd = require("node:os"), vd = require("node:path"), Ld = require("storybook/internal/node-logger"), xd = require("storybook/internal/server-errors");
var Yd = P(require("semver/functions/sort.js"), 1);
var Z0 = /npm ERR! code (\w+)/, $0 = {
E401: "Authentication failed or is required.",
E403: "Access to the resource is forbidden.",
E404: "Requested resource not found.",
EACCES: "Permission issue.",
EAI_FAIL: "DNS lookup failed.",
EBADENGINE: "Engine compatibility check failed.",
EBADPLATFORM: "Platform not supported.",
ECONNREFUSED: "Connection refused.",
ECONNRESET: "Connection reset.",
EEXIST: "File or directory already exists.",
EINVALIDTYPE: "Invalid type encountered.",
EISGIT: "Git operation failed or conflicts with an existing file.",
EJSONPARSE: "Error parsing JSON data.",
EMISSINGARG: "Required argument missing.",
ENEEDAUTH: "Authentication needed.",
ENOAUDIT: "No audit available.",
ENOENT: "File or directory does not exist.",
ENOGIT: "Git not found or failed to run.",
ENOLOCK: "Lockfile missing.",
ENOSPC: "Insufficient disk space.",
ENOTFOUND: "Resource not found.",
EOTP: "One-time password required.",
EPERM: "Permission error.",
EPUBLISHCONFLICT: "Conflict during package publishing.",
ERESOLVE: "Dependency resolution error.",
EROFS: "File system is read-only.",
ERR_SOCKET_TIMEOUT: "Socket timed out.",
ETARGET: "Package target not found.",
ETIMEDOUT: "Operation timed out.",
ETOOMANYARGS: "Too many arguments provided.",
EUNKNOWNTYPE: "Unknown type encountered."
}, Do = class extends qA {
constructor() {
super(...arguments);
this.type = "bun";
}
static {
s(this, "BUNProxy");
}
async initPackageJson() {
return this.executeCommand({ command: "bun", args: ["init"] });
}
getRunStorybookCommand() {
return "bun run storybook";
}
getRunCommand(e) {
return `bun run ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `bunx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
getModulePackageJSON(e) {
let r = BA(
(n) => {
let o = (0, vd.join)(n, "node_modules", e, "package.json");
return (0, So.existsSync)(o) ? o : void 0;
},
{ cwd: this.cwd, stopAt: QA() }
);
return r ? JSON.parse((0, So.readFileSync)(r, "utf-8")) : null;
}
getInstallArgs() {
return this.installArgs || (this.installArgs = []), this.installArgs;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "bun",
args: ["run", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({
command: "bun",
args: ["run", e, ...r],
cwd: i,
stdio: n
});
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({ command: "bun", args: [e, ...r], cwd: i, stdio: n });
}
async findInstallations(e, { depth: r = 99 } = {}) {
let i = /* @__PURE__ */ s(async ({ packageDepth: n }) => {
let o = (0, Rd.platform)() === "win32" ? "2>NUL" : "2>/dev/null";
return this.executeCommand({
command: "npm",
args: ["ls", "--json", `--depth=${n}`, o],
env: {
FORCE_COLOR: "false"
}
});
}, "exec");
try {
let g = (await await i({ packageDepth: r })).stdout ?? "", C = JSON.parse(g);
return this.mapDependencies(C, e);
} catch {
try {
let C = (await await i({ packageDepth: 0 })).stdout ?? "", I = JSON.parse(C);
return this.mapDependencies(I, e);
} catch {
Ld.logger.debug("An issue occurred while trying to find dependencies metadata using npm.");
return;
}
}
}
getResolutions(e, r) {
return {
overrides: {
...e.overrides,
...r
}
};
}
runInstall(e) {
return this.executeCommand({
command: "bun",
args: ["install", ...this.getInstallArgs(), ...e?.force ? ["--force"] : []],
stdio: "inherit",
cwd: this.cwd
});
}
async getRegistryURL() {
let i = ((await this.executeCommand({
command: "npm",
// "npm config" commands are not allowed in workspaces per default
// https://github.com/npm/cli/issues/6099#issuecomment-1847584792
args: ["config", "get", "registry", "-ws=false", "-iwr"]
})).stdout ?? "").trim();
return i === "undefined" ? void 0 : i;
}
runAddDeps(e, r) {
let i = [...e];
return r && (i = ["-D", ...i]), this.executeCommand({
command: "bun",
args: ["add", ...i, ...this.getInstallArgs()],
stdio: "pipe",
cwd: this.primaryPackageJson.operationDir
});
}
async runGetVersions(e, r) {
let i = r ? ["versions", "--json"] : ["version"];
try {
let g = (await this.executeCommand({
command: "npm",
args: ["info", e, ...i]
})).stdout ?? "", C = r ? JSON.parse(g) : g.trim();
if (C.error?.summary)
throw C.error.summary;
return C;
} catch (n) {
throw new xd.FindPackageVersionsError({
error: n,
packageManager: "NPM",
packageName: e
});
}
}
/**
* @param input The output of `npm ls --json`
* @param pattern A list of package names to filter the result. * can be used as a placeholder
*/
mapDependencies(e, r) {
let i = {}, n = {}, o = {}, g = /* @__PURE__ */ s(([C, I]) => {
if (!C || !r.some((Q) => new RegExp(`^${Q.replace(/\*/g, ".*")}$`).test(C)))
return;
let E = {
version: I.version,
location: ""
};
n[C]?.includes(E.version) || (i[C] ? i[C].push(E) : i[C] = [E], n[C] = (0, Yd.default)([...n[C] || [], E.version]), n[C].length > 1 &&
(o[C] = n[C])), I.dependencies && Object.entries(I.dependencies).forEach(g);
}, "recurse");
return Object.entries(e.dependencies).forEach(g), {
dependencies: i,
duplicatedDependencies: o,
infoCommand: "npm ls --depth=1",
dedupeCommand: "npm dedupe"
};
}
parseErrorFromLogs(e) {
let r = "NPM error", i = e.match(Z0);
if (i) {
let n = i[1];
n && (r = `${r} ${n}`);
let o = $0[n];
o && (r = `${r} - ${o}`);
}
return r.trim();
}
};
// src/common/js-package-manager/NPMProxy.ts
var Fo = require("node:fs"), Pd = require("node:os"), Ud = require("node:path"), ms = require("storybook/internal/node-logger"), _d = require("storybook/internal/server-errors");
var Gd = P(require("semver/functions/sort.js"), 1);
var Av = /npm (ERR!|error) (code|errno) (\w+)/i, ev = {
E401: "Authentication failed or is required.",
E403: "Access to the resource is forbidden.",
E404: "Requested resource not found.",
EACCES: "Permission issue.",
EAI_FAIL: "DNS lookup failed.",
EBADENGINE: "Engine compatibility check failed.",
EBADPLATFORM: "Platform not supported.",
ECONNREFUSED: "Connection refused.",
ECONNRESET: "Connection reset.",
EEXIST: "File or directory already exists.",
EINVALIDTYPE: "Invalid type encountered.",
EISGIT: "Git operation failed or conflicts with an existing file.",
EJSONPARSE: "Error parsing JSON data.",
EMISSINGARG: "Required argument missing.",
ENEEDAUTH: "Authentication needed.",
ENOAUDIT: "No audit available.",
ENOENT: "File or directory does not exist.",
ENOGIT: "Git not found or failed to run.",
ENOLOCK: "Lockfile missing.",
ENOSPC: "Insufficient disk space.",
ENOTFOUND: "Resource not found.",
EOTP: "One-time password required.",
EPERM: "Permission error.",
EPUBLISHCONFLICT: "Conflict during package publishing.",
ERESOLVE: "Dependency resolution error.",
EROFS: "File system is read-only.",
ERR_SOCKET_TIMEOUT: "Socket timed out.",
ETARGET: "Package target not found.",
ETIMEDOUT: "Operation timed out.",
ETOOMANYARGS: "Too many arguments provided.",
EUNKNOWNTYPE: "Unknown type encountered."
}, Ko = class extends qA {
constructor() {
super(...arguments);
this.type = "npm";
}
static {
s(this, "NPMProxy");
}
getRunCommand(e) {
return `npm run ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `npx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
getModulePackageJSON(e) {
let r = BA(
(n) => {
let o = (0, Ud.join)(n, "node_modules", e, "package.json");
return (0, Fo.existsSync)(o) ? o : void 0;
},
{ cwd: this.primaryPackageJson.operationDir, stopAt: QA() }
);
return r ? JSON.parse((0, Fo.readFileSync)(r, "utf-8")) : null;
}
getInstallArgs() {
return this.installArgs || (this.installArgs = []), this.installArgs;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "npm",
args: ["exec", "--", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({
command: "npm",
args: ["exec", "--", e, ...r],
cwd: i,
stdio: n
});
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({
command: "npm",
args: [e, ...r],
cwd: i,
stdio: n
});
}
async findInstallations(e, { depth: r = 99 } = {}) {
let i = /* @__PURE__ */ s(({ packageDepth: n }) => {
let o = (0, Pd.platform)() === "win32" ? "2>NUL" : "2>/dev/null";
return this.executeCommand({
command: "npm",
args: ["ls", "--json", `--depth=${n}`, o],
env: {
FORCE_COLOR: "false"
},
cwd: this.instanceDir
});
}, "exec");
try {
let o = (await i({ packageDepth: r })).stdout ?? "", g = JSON.parse(o);
return this.mapDependencies(g, e);
} catch {
try {
let g = (await i({ packageDepth: 0 })).stdout ?? "", C = JSON.parse(g);
return this.mapDependencies(C, e);
} catch {
ms.logger.debug("An issue occurred while trying to find dependencies metadata using npm.");
return;
}
}
}
getResolutions(e, r) {
return {
overrides: {
...e.overrides,
...r
}
};
}
runInstall(e) {
return this.executeCommand({
command: "npm",
args: ["install", ...this.getInstallArgs(), ...e?.force ? ["--force"] : []],
cwd: this.cwd,
stdio: ms.prompt.getPreferredStdio()
});
}
async getRegistryURL() {
let i = ((await this.executeCommand({
command: "npm",
// "npm config" commands are not allowed in workspaces per default
// https://github.com/npm/cli/issues/6099#issuecomment-1847584792
args: ["config", "get", "registry", "-ws=false", "-iwr"]
})).stdout ?? "").trim();
return i === "undefined" ? void 0 : i;
}
runAddDeps(e, r) {
let i = [...e];
return r && (i = ["-D", ...i]), this.executeCommand({
command: "npm",
args: ["install", ...i, ...this.getInstallArgs()],
stdio: ms.prompt.getPreferredStdio(),
cwd: this.primaryPackageJson.operationDir
});
}
async runGetVersions(e, r) {
let i = r ? ["versions", "--json"] : ["version"];
try {
let g = (await this.executeCommand({
command: "npm",
args: ["info", e, ...i]
})).stdout ?? "", C = r ? JSON.parse(g) : g.trim();
if (C.error?.summary)
throw C.error.summary;
return C;
} catch (n) {
throw new _d.FindPackageVersionsError({
error: n,
packageManager: "NPM",
packageName: e
});
}
}
/**
* @param input The output of `npm ls --json`
* @param pattern A list of package names to filter the result. * can be used as a placeholder
*/
mapDependencies(e, r) {
let i = {}, n = {}, o = {}, g = /* @__PURE__ */ s(([C, I]) => {
if (!C || !r.some((Q) => new RegExp(`^${Q.replace(/\*/g, ".*")}$`).test(C)))
return;
let E = {
version: I.version,
location: ""
};
n[C]?.includes(E.version) || (i[C] ? i[C].push(E) : i[C] = [E], n[C] = (0, Gd.default)([...n[C] || [], E.version]), n[C].length > 1 &&
(o[C] = n[C])), I.dependencies && Object.entries(I.dependencies).forEach(g);
}, "recurse");
return Object.entries(e.dependencies).forEach(g), {
dependencies: i,
duplicatedDependencies: o,
infoCommand: "npm ls --depth=1",
dedupeCommand: "npm dedupe"
};
}
parseErrorFromLogs(e) {
let r = "NPM error", i = e.match(Av);
if (i) {
let n = i[3];
n && (r = `${r} ${n}`);
let o = ev[n];
o && (r = `${r} - ${o}`);
}
return r.trim();
}
};
// src/common/js-package-manager/PNPMProxy.ts
var Ii = require("node:fs"), ac = require("node:path"), Cc = require("storybook/internal/node-logger"), Jd = require("storybook/internal/server-errors");
var tv = /(ELIFECYCLE|ERR_PNPM_[A-Z_]+)\s+(.*)/i, ko = class extends qA {
constructor() {
super(...arguments);
this.type = "pnpm";
}
static {
s(this, "PNPMProxy");
}
detectWorkspaceRoot() {
let r = `${process.cwd()}/pnpm-workspace.yaml`;
return (0, Ii.existsSync)(r);
}
getRunCommand(e) {
return `pnpm run ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `pnpm dlx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
async getPnpmVersion() {
return (await this.executeCommand({
command: "pnpm",
args: ["--version"]
})).stdout ?? null;
}
getInstallArgs() {
return this.installArgs || (this.installArgs = [], this.detectWorkspaceRoot() && this.installArgs.push("-w")), this.installArgs;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "pnpm",
args: ["exec", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({
command: "pnpm",
args: ["exec", e, ...r],
cwd: i,
stdio: n
});
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({
command: "pnpm",
args: [e, ...r],
cwd: i,
stdio: n
});
}
async getRegistryURL() {
let r = ((await this.executeCommand({
command: "pnpm",
args: ["config", "get", "registry"]
})).stdout ?? "").trim();
return r === "undefined" ? void 0 : r;
}
async findInstallations(e, { depth: r = 99 } = {}) {
try {
let n = (await this.executeCommand({
command: "pnpm",
args: ["list", e.map((g) => `"${g}"`).join(" "), "--json", `--depth=${r}`],
env: {
FORCE_COLOR: "false"
},
cwd: this.instanceDir
})).stdout ?? "", o = JSON.parse(n);
return this.mapDependencies(o, e);
} catch {
return;
}
}
getModulePackageJSON(e) {
let r = BA([".pnp.js", ".pnp.cjs"], {
cwd: this.primaryPackageJson.operationDir,
stopAt: QA()
});
if (r)
try {
let n = require(r), o = n.resolveToUnqualified(e, this.cwd, {
considerBuiltins: !1
}), g = n.findPackageLocator(o), C = n.getPackageInformation(g);
return JSON.parse(
(0, Ii.readFileSync)((0, ac.join)(C.packageLocation, "package.json"), "utf-8")
);
} catch (n) {
return n.code !== "MODULE_NOT_FOUND" && console.error("Error while fetching package version in PNPM PnP mode:", n), null;
}
let i = BA(
(n) => {
let o = (0, ac.join)(n, "node_modules", e, "package.json");
return (0, Ii.existsSync)(o) ? o : void 0;
},
{ cwd: this.cwd, stopAt: QA() }
);
return i ? JSON.parse((0, Ii.readFileSync)(i, "utf-8")) : null;
}
getResolutions(e, r) {
return {
overrides: {
...e.overrides,
...r
}
};
}
runInstall(e) {
return this.executeCommand({
command: "pnpm",
args: ["install", ...this.getInstallArgs(), ...e?.force ? ["--force"] : []],
stdio: Cc.prompt.getPreferredStdio(),
cwd: this.cwd
});
}
runAddDeps(e, r) {
let i = [...e];
r && (i = ["-D", ...i]);
let n = ["add", ...i, ...this.getInstallArgs()];
return this.executeCommand({
command: "pnpm",
args: n,
stdio: Cc.prompt.getPreferredStdio(),
cwd: this.primaryPackageJson.operationDir
});
}
async runGetVersions(e, r) {
let i = r ? ["versions", "--json"] : ["version"];
try {
let g = (await this.executeCommand({
command: "pnpm",
args: ["info", e, ...i]
})).stdout ?? "", C = r ? JSON.parse(g) : g.trim();
if (C.error?.summary)
throw C.error.summary;
return C;
} catch (n) {
throw new Jd.FindPackageVersionsError({
error: n,
packageManager: "PNPM",
packageName: e
});
}
}
mapDependencies(e, r) {
let i = {}, n = {}, o = {}, g = e.reduce((I, E) => {
let { devDependencies: Q, dependencies: B, peerDependencies: p } = E, w = { ...Q, ...B, ...p };
return Object.assign(I, w);
}, {}), C = /* @__PURE__ */ s(([I, E]) => {
if (!I || !r.some((B) => new RegExp(`^${B.replace(/\*/g, ".*")}$`).test(I)))
return;
let Q = {
version: E.version,
location: ""
};
n[I]?.includes(Q.version) || (i[I] ? i[I].push(Q) : i[I] = [Q], n[I] = [...n[I] || [], Q.version], n[I].length > 1 && (o[I] = n[I])), E.
dependencies && Object.entries(E.dependencies).forEach(C);
}, "recurse");
return Object.entries(g).forEach(C), {
dependencies: i,
duplicatedDependencies: o,
infoCommand: "pnpm list --depth=1",
dedupeCommand: "pnpm dedupe"
};
}
parseErrorFromLogs(e) {
let r = "PNPM error", i = e.match(tv);
if (i) {
let [n] = i;
n && (r = `${r} ${n}`);
}
return r.trim();
}
};
// src/common/js-package-manager/Yarn1Proxy.ts
var Mo = require("node:fs"), Od = require("node:path"), cc = require("storybook/internal/node-logger"), Td = require("storybook/internal/server-errors");
// src/common/js-package-manager/util.ts
var bo = /* @__PURE__ */ s((t = "") => {
let [A, e, r] = t.replace(/[└─├]+/g, "").trim().split("@"), i = (r || e).replace("npm:", "");
return { name: r ? `@${e}` : A, value: { version: i, location: "" } };
}, "parsePackageData");
// src/common/js-package-manager/Yarn1Proxy.ts
var rv = /^error\s(.*)$/gm, No = class extends qA {
constructor() {
super(...arguments);
this.type = "yarn1";
}
static {
s(this, "Yarn1Proxy");
}
getInstallArgs() {
return this.installArgs || (this.installArgs = ["--ignore-workspace-root-check"]), this.installArgs;
}
getRunCommand(e) {
return `yarn ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `npx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "yarn",
args: ["exec", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({ command: "yarn", args: ["exec", e, ...r], cwd: i, stdio: n });
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({ command: "yarn", args: [e, ...r], cwd: i, stdio: n });
}
getModulePackageJSON(e) {
let r = BA(
(i) => {
let n = (0, Od.join)(i, "node_modules", e, "package.json");
return (0, Mo.existsSync)(n) ? n : void 0;
},
{ cwd: this.primaryPackageJson.operationDir, stopAt: QA() }
);
return r ? JSON.parse((0, Mo.readFileSync)(r, "utf-8")) : null;
}
async getRegistryURL() {
let r = ((await this.executeCommand({
command: "yarn",
args: ["config", "get", "registry"]
})).stdout ?? "").trim();
return r === "undefined" ? void 0 : r;
}
async findInstallations(e, { depth: r = 99 } = {}) {
let i = ["list", "--pattern", e.map((n) => `"${n}"`).join(" "), "--json"];
r !== 0 && i.push("--recursive");
try {
let g = (await this.executeCommand({
command: "yarn",
args: i.concat(e),
env: {
FORCE_COLOR: "false"
},
cwd: this.instanceDir
})).stdout ?? "", C = JSON.parse(g);
return this.mapDependencies(C, e);
} catch {
return;
}
}
getResolutions(e, r) {
return {
resolutions: {
...e.resolutions,
...r
}
};
}
runInstall(e) {
return this.executeCommand({
command: "yarn",
args: ["install", ...this.getInstallArgs(), ...e?.force ? ["--force"] : []],
stdio: cc.prompt.getPreferredStdio(),
cwd: this.cwd
});
}
runAddDeps(e, r) {
let i = [...e];
return r && (i = ["-D", ...i]), this.executeCommand({
command: "yarn",
args: ["add", ...this.getInstallArgs(), ...i],
stdio: cc.prompt.getPreferredStdio(),
cwd: this.primaryPackageJson.operationDir
});
}
async runGetVersions(e, r) {
let i = [r ? "versions" : "version", "--json"];
try {
let g = (await this.executeCommand({
command: "yarn",
args: ["info", e, ...i]
})).stdout ?? "", C = JSON.parse(g);
if (C.type === "inspect")
return C.data;
throw new Error("Yarn did not provide an output with type 'inspect'.");
} catch (n) {
throw new Td.FindPackageVersionsError({
error: n,
packageManager: "Yarn 1",
packageName: e
});
}
}
mapDependencies(e, r) {
if (e.type === "tree") {
let { trees: i } = e.data, n = {}, o = {}, g = {}, C = /* @__PURE__ */ s((I) => {
let { children: E } = I, { name: Q, value: B } = bo(I.name);
!Q || !r.some((p) => new RegExp(`^${p.replace(/\*/g, ".*")}$`).test(Q)) || (o[Q]?.includes(B.version) || (n[Q] ? n[Q].push(B) : n[Q] =
[B], o[Q] = [...o[Q] || [], B.version], o[Q].length > 1 && (g[Q] = o[Q])), E.forEach(C));
}, "recurse");
return i.forEach(C), {
dependencies: n,
duplicatedDependencies: g,
infoCommand: "yarn why",
dedupeCommand: "yarn dedupe"
};
}
throw new Error("Something went wrong while parsing yarn output");
}
parseErrorFromLogs(e) {
let r = "YARN1 error", i = e.match(rv);
if (i) {
let n = i[0]?.replace(/^error\s(.*)$/, "$1");
n && (r = `${r}: ${n}`);
}
return r.trim();
}
};
// src/common/js-package-manager/Yarn2Proxy.ts
var ag = require("node:fs"), AI = require("node:path"), Tp = require("storybook/internal/node-logger"), Hp = require("storybook/internal/server-errors"),
fi = P(Rp(), 1), jp = P(Jp(), 1);
var Op = {
YN0001: "EXCEPTION",
YN0002: "MISSING_PEER_DEPENDENCY",
YN0003: "CYCLIC_DEPENDENCIES",
YN0004: "DISABLED_BUILD_SCRIPTS",
YN0005: "BUILD_DISABLED",
YN0006: "SOFT_LINK_BUILD",
YN0007: "MUST_BUILD",
YN0008: "MUST_REBUILD",
YN0009: "BUILD_FAILED",
YN0010: "RESOLVER_NOT_FOUND",
YN0011: "FETCHER_NOT_FOUND",
YN0012: "LINKER_NOT_FOUND",
YN0013: "FETCH_NOT_CACHED",
YN0014: "YARN_IMPORT_FAILED",
YN0015: "REMOTE_INVALID",
YN0016: "REMOTE_NOT_FOUND",
YN0018: "CACHE_CHECKSUM_MISMATCH",
YN0019: "UNUSED_CACHE_ENTRY",
YN0020: "MISSING_LOCKFILE_ENTRY",
YN0022: "TOO_MANY_MATCHING_WORKSPACES",
YN0023: "CONSTRAINTS_MISSING_DEPENDENCY",
YN0024: "CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",
YN0025: "CONSTRAINTS_EXTRANEOUS_DEPENDENCY",
YN0026: "CONSTRAINTS_INVALID_DEPENDENCY",
YN0027: "CANT_SUGGEST_RESOLUTIONS",
YN0028: "FROZEN_LOCKFILE_EXCEPTION",
YN0029: "CROSS_DRIVE_VIRTUAL_LOCAL",
YN0030: "FETCH_FAILED",
YN0031: "DANGEROUS_NODE_MODULES",
YN0035: "NETWORK_ERROR",
YN0046: "AUTOMERGE_FAILED_TO_PARSE",
YN0047: "AUTOMERGE_IMMUTABLE",
YN0048: "AUTOMERGE_SUCCESS",
YN0049: "AUTOMERGE_REQUIRED",
YN0050: "DEPRECATED_CLI_SETTINGS",
YN0059: "INVALID_RANGE_PEER_DEPENDENCY",
YN0060: "INCOMPATIBLE_PEER_DEPENDENCY",
YN0062: "INCOMPATIBLE_OS",
YN0063: "INCOMPATIBLE_CPU",
YN0069: "REDUNDANT_PACKAGE_EXTENSION",
YN0071: "NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",
YN0072: "NM_PRESERVE_SYMLINKS_REQUIRED",
YN0074: "NM_HARDLINKS_MODE_DOWNGRADED",
YN0075: "PROLOG_INSTANTIATION_ERROR",
YN0076: "INCOMPATIBLE_ARCHITECTURE",
YN0077: "GHOST_ARCHITECTURE",
YN0078: "RESOLUTION_MISMATCH",
YN0080: "NETWORK_DISABLED",
YN0081: "NETWORK_UNSAFE_HTTP",
YN0082: "RESOLUTION_FAILED",
YN0083: "AUTOMERGE_GIT_ERROR",
YN0086: "EXPLAIN_PEER_DEPENDENCIES_CTA",
YN0090: "OFFLINE_MODE_ENABLED"
}, gg = class extends qA {
constructor() {
super(...arguments);
this.type = "yarn2";
}
static {
s(this, "Yarn2Proxy");
}
getInstallArgs() {
return this.installArgs || (this.installArgs = []), this.installArgs;
}
getRunCommand(e) {
return `yarn ${e}`;
}
getRemoteRunCommand(e, r, i) {
return `yarn dlx ${e}${i ? `@${i}` : ""} ${r.join(" ")}`;
}
runPackageCommandSync(e, r, i, n) {
return this.executeCommandSync({
command: "yarn",
args: ["exec", e, ...r],
cwd: i,
stdio: n
});
}
runPackageCommand(e, r, i, n) {
return this.executeCommand({ command: "yarn", args: ["exec", e, ...r], cwd: i, stdio: n });
}
runInternalCommand(e, r, i, n) {
return this.executeCommand({ command: "yarn", args: [e, ...r], cwd: i, stdio: n });
}
async findInstallations(e, { depth: r = 99 } = {}) {
let i = ["info", "--name-only"];
r !== 0 && i.push("--recursive");
try {
let o = (await this.executeCommand({
command: "yarn",
args: i.concat(e),
env: {
FORCE_COLOR: "false"
},
cwd: this.instanceDir
})).stdout ?? "";
return this.mapDependencies(o, e);
} catch {
return;
}
}
getModulePackageJSON(e) {
let r = BA([".pnp.js", ".pnp.cjs"], {
cwd: this.cwd,
stopAt: QA()
});
if (r)
try {
let o = require(r), g = o.resolveToUnqualified(
e,
this.primaryPackageJson.operationDir,
{
considerBuiltins: !1
}
), C = o.findPackageLocator(g), I = o.getPackageInformation(C), E = new fi.ZipOpenFS({
libzip: (0, jp.getLibzipSync)()
}), Q = new fi.VirtualFS({ baseFs: E }), B = new fi.PosixFS(Q), p = (0, AI.join)(I.packageLocation, "package.json");
return B.readJsonSync(p);
} catch (o) {
return o.code !== "MODULE_NOT_FOUND" && console.error("Error while fetching package version in Yarn PnP mode:", o), null;
}
let i = BA(
(o) => {
let g = (0, AI.join)(o, "node_modules", e, "package.json");
return (0, ag.existsSync)(g) ? g : void 0;
},
{ cwd: this.primaryPackageJson.operationDir, stopAt: QA() }
);
return i ? JSON.parse((0, ag.readFileSync)(i, "utf-8")) : null;
}
getResolutions(e, r) {
return {
resolutions: {
...e.resolutions,
...r
}
};
}
runInstall() {
return this.executeCommand({
command: "yarn",
args: ["install", ...this.getInstallArgs()],
cwd: this.cwd
});
}
runAddDeps(e, r) {
let i = [...e];
return r && (i = ["-D", ...i]), this.executeCommand({
command: "yarn",
args: ["add", ...this.getInstallArgs(), ...i],
stdio: Tp.prompt.getPreferredStdio(),
cwd: this.primaryPackageJson.operationDir
});
}
async getRegistryURL() {
let i = ((await this.executeCommand({
command: "yarn",
args: ["config", "get", "npmRegistryServer"]
})).stdout ?? "").trim();
return i === "undefined" ? void 0 : i;
}
async runGetVersions(e, r) {
let i = r ? "versions" : "version", n = ["--fields", i, "--json"];
try {
let C = (await this.executeCommand({
command: "yarn",
args: ["npm", "info", e, ...n]
})).stdout ?? "";
return JSON.parse(C)[i];
} catch (o) {
throw new Hp.FindPackageVersionsError({
error: o,
packageManager: "Yarn Berry",
packageName: e
});
}
}
mapDependencies(e, r) {
let i = e.split(`
`), n = {}, o = {}, g = {};
return i.forEach((C) => {
if (!C || !r.some((Q) => new RegExp(`${Q.replace(/\*/g, ".*")}`).test(C)))
return;
let { name: I, value: E } = bo(C.replaceAll('"', ""));
o[I]?.includes(E.version) || (n[I] ? n[I].push(E) : n[I] = [E], o[I] = [...o[I] || [], E.version], o[I].length > 1 && (g[I] = o[I]));
}), {
dependencies: n,
duplicatedDependencies: g,
infoCommand: "yarn why",
dedupeCommand: "yarn dedupe"
};
}
parseErrorFromLogs(e) {
let r = "YARN2 error", i = [], n = /(YN\d{4}): (.+)/g, o;
for (; (o = n.exec(e)) !== null; ) {
let g = o[1], C = o[2].replace(/[┌│└]/g, "").trim();
g in Op && i.push({
code: g,
message: `${Op[g]}
-> ${C}
`
});
}
return [
r,
i.map(({ code: g, message: C }) => `${g}: ${C}`).join(`
`)
].join(`
`);
}
};
// src/common/js-package-manager/JsPackageManagerFactory.ts
var eI = class {
static {
s(this, "JsPackageManagerFactory");
}
static {
/** Cache for package manager instances */
this.cache = /* @__PURE__ */ new Map();
}
/** Generate a cache key based on the parameters */
static getCacheKey(A, e = ".storybook", r = process.cwd(), i) {
return JSON.stringify({ force: A || null, configDir: e, cwd: r, storiesPaths: i });
}
/** Clear the package manager cache */
static clearCache() {
this.cache.clear();
}
/**
* Determine which package manager type to use based on lockfiles, commands, and environment
*
* @param cwd - Current working directory
* @returns Package manager type as string: 'npm', 'pnpm', 'bun', 'yarn1', or 'yarn2'
* @throws Error if no usable package manager is found
*/
static getPackageManagerType(A = process.cwd()) {
let e = QA(), i = [
BA(to, { cwd: A, stopAt: e }),
BA(eo, { cwd: A, stopAt: e }),
BA(Ao, { cwd: A, stopAt: e }),
BA(ro, { cwd: A, stopAt: e }),
BA(io, { cwd: A, stopAt: e })
].filter(Boolean).sort((I, E) => {
let Q = (0, yr.parse)(I).dir, B = (0, yr.parse)(E).dir, p = (0, yr.relative)(Q, B);
return Q === B ? 0 : p.startsWith("..") ? -1 : 1;
})[0], n = i && (0, yr.basename)(i), o = Px(A);
if (o && n === to)
return o === 1 ? "yarn1" : "yarn2";
if (Yx(A) && n === eo)
return "pnpm";
let g = Lx(A);
if (g && n === Ao)
return "npm";
if (xx(A) && (n === ro || n === io))
return "bun";
let C = this.inferPackageManagerFromUserAgent();
if (C && C in this.PROXY_MAP)
return C;
if (g)
return "npm";
throw new Error("Unable to find a usable package manager within NPM, PNPM, Yarn and Yarn 2");
}
static getPackageManager({
force: A,
configDir: e = ".storybook",
storiesPaths: r,
ignoreCache: i = !1
} = {}, n = process.cwd()) {
let o = this.getCacheKey(A, e, n, r), g = this.cache.get(o);
if (g && !i)
return g;
if (A && A in this.PROXY_MAP) {
let E = new this.PROXY_MAP[A]({ cwd: n, configDir: e, storiesPaths: r });
return this.cache.set(o, E), E;
}
let C = this.getPackageManagerType(n), I = new this.PROXY_MAP[C]({ cwd: n, configDir: e, storiesPaths: r });
return this.cache.set(o, I), I;
}
static {
/** Look up map of package manager proxies by name */
this.PROXY_MAP = {
npm: Ko,
pnpm: ko,
yarn1: No,
yarn2: gg,
bun: Do
};
}
/**
* Infer the package manager based on the command the user is running. Each package manager sets
* the `npm_config_user_agent` environment variable with its name and version e.g. "npm/7.24.0"
* Which is really useful when invoking commands via npx/pnpx/yarn create/etc.
*/
static inferPackageManagerFromUserAgent() {
let A = process.env.npm_config_user_agent;
if (A) {
let e = A.split(" ")[0], [r, i] = e.split("/");
if (r === "pnpm")
return "pnpm";
if (r === "npm")
return "npm";
if (r === "yarn")
return `yarn${i?.startsWith("1.") ? "1" : "2"}`;
}
}
};
function Lx(t) {
return (0, Ms.sync)("npm", ["--version"], {
cwd: t,
shell: !0,
env: {
...process.env,
...Ut
}
}).status === 0;
}
s(Lx, "hasNPM");
function xx(t) {
return (0, Ms.sync)("bun", ["--version"], {
cwd: t,
shell: !0,
env: {
...process.env,
...Ut
}
}).status === 0;
}
s(xx, "hasBun");
function Yx(t) {
return (0, Ms.sync)("pnpm", ["--version"], {
cwd: t,
shell: !0,
env: {
...process.env,
...Ut
}
}).status === 0;
}
s(Yx, "hasPNPM");
function Px(t) {
let A = (0, Ms.sync)("yarn", ["--version"], {
cwd: t,
shell: !0,
env: {
...process.env,
...Ut
}
});
if (A.status !== 0)
return;
let e = A.output.toString().replace(/,/g, "").replace(/"/g, "");
return /^1\.+/.test(e) ? 1 : 2;
}
s(Px, "getYarnVersion");
// src/common/utils/scan-and-transform-files.ts
var GF = P(wD(), 1);
async function sO({
promptMessage: t = "Enter a custom glob pattern to scan (or press enter to use default):",
defaultGlob: A = "**/*.{mjs,cjs,js,jsx,ts,tsx,mdx}",
dryRun: e = !1,
force: r = !1,
transformFn: i,
transformOptions: n
}) {
let { glob: o } = r ? { glob: A } : await (0, GF.default)({
type: "text",
name: "glob",
message: t,
initial: A
});
console.log("Scanning for affected files...");
let g = (await Promise.resolve().then(() => (_F(), UF))).globby, C = await g([o], {
...OC(""),
ignore: ["**/node_modules/**"],
dot: !0,
cwd: QA(),
absolute: !0
});
return console.log(`Scanning ${C.length} files...`), i(C, n, e);
}
s(sO, "scanAndTransformFiles");
// src/common/utils/transform-imports.ts
var ia = require("node:fs/promises");
function oO(t, A) {
let e = !1, r = t;
for (let [i, n] of Object.entries(A)) {
let o = new RegExp(`(['"])${i}(/.*)?\\1`, "g");
o.test(r) && (r = r.replace(o, `$1${n}$2$1`), e = !0);
}
return e ? r : null;
}
s(oO, "transformImports");
var gO = /* @__PURE__ */ s(async (t, A, e) => {
let r = [], { default: i } = await Promise.resolve().then(() => (TF(), OF)), n = i(10);
return await Promise.all(
t.map(
(o) => n(async () => {
try {
let g = await (0, ia.readFile)(o, "utf-8"), C = oO(g, A);
!e && C && await (0, ia.writeFile)(o, C);
} catch (g) {
r.push({ file: o, error: g });
}
})
)
), r;
}, "transformImportFiles");