@holydeck/cli 2026.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +234 -0
  3. package/dist/BrowserWebSocketTransport-H3D6MINS.js +12 -0
  4. package/dist/BrowserWebSocketTransport-H3D6MINS.js.map +1 -0
  5. package/dist/LaunchOptions-42ZS55HH.js +12 -0
  6. package/dist/LaunchOptions-42ZS55HH.js.map +1 -0
  7. package/dist/NodeWebSocketTransport-BXHQGXRM.js +15 -0
  8. package/dist/NodeWebSocketTransport-BXHQGXRM.js.map +1 -0
  9. package/dist/bidi-25S23FWJ.js +18358 -0
  10. package/dist/bidi-25S23FWJ.js.map +1 -0
  11. package/dist/chunk-2BLOYUSF.js +795 -0
  12. package/dist/chunk-2BLOYUSF.js.map +1 -0
  13. package/dist/chunk-43CZTS57.js +38 -0
  14. package/dist/chunk-43CZTS57.js.map +1 -0
  15. package/dist/chunk-DIBLSFAG.js +34 -0
  16. package/dist/chunk-DIBLSFAG.js.map +1 -0
  17. package/dist/chunk-IEJ3OX3N.js +52 -0
  18. package/dist/chunk-IEJ3OX3N.js.map +1 -0
  19. package/dist/chunk-JM4YIWBN.js +3796 -0
  20. package/dist/chunk-JM4YIWBN.js.map +1 -0
  21. package/dist/chunk-NP3DTWF7.js +23282 -0
  22. package/dist/chunk-NP3DTWF7.js.map +1 -0
  23. package/dist/chunk-SWG4X375.js +51 -0
  24. package/dist/chunk-SWG4X375.js.map +1 -0
  25. package/dist/chunk-UC6TFXMD.js +2821 -0
  26. package/dist/chunk-UC6TFXMD.js.map +1 -0
  27. package/dist/chunk-V4BIHFVZ.js +2287 -0
  28. package/dist/chunk-V4BIHFVZ.js.map +1 -0
  29. package/dist/chunk-V77AQPDK.js +20 -0
  30. package/dist/chunk-V77AQPDK.js.map +1 -0
  31. package/dist/chunk-XAENXL52.js +101 -0
  32. package/dist/chunk-XAENXL52.js.map +1 -0
  33. package/dist/cli.js +64101 -0
  34. package/dist/cli.js.map +1 -0
  35. package/dist/dist-3ZE2HBJQ.js +20447 -0
  36. package/dist/dist-3ZE2HBJQ.js.map +1 -0
  37. package/dist/dist-575AQY5L.js +1161 -0
  38. package/dist/dist-575AQY5L.js.map +1 -0
  39. package/dist/dist-DL5M2SDJ.js +117 -0
  40. package/dist/dist-DL5M2SDJ.js.map +1 -0
  41. package/dist/dist-OMWR53J4.js +4713 -0
  42. package/dist/dist-OMWR53J4.js.map +1 -0
  43. package/dist/dist-UT6HKKCD.js +281 -0
  44. package/dist/dist-UT6HKKCD.js.map +1 -0
  45. package/dist/fs-P6GYHPGZ.js +1685 -0
  46. package/dist/fs-P6GYHPGZ.js.map +1 -0
  47. package/dist/helpers-64DWIL6C.js +21 -0
  48. package/dist/helpers-64DWIL6C.js.map +1 -0
  49. package/dist/main-IQ64YDOJ.js +61 -0
  50. package/dist/main-IQ64YDOJ.js.map +1 -0
  51. package/dist/puppeteer-RDWY6FSG.js +2386 -0
  52. package/dist/puppeteer-RDWY6FSG.js.map +1 -0
  53. package/dist/yargs-KMQWKLG6.js +3264 -0
  54. package/dist/yargs-KMQWKLG6.js.map +1 -0
  55. package/dist/yauzl-7KG7KPPF.js +1355 -0
  56. package/dist/yauzl-7KG7KPPF.js.map +1 -0
  57. package/package.json +44 -0
@@ -0,0 +1,2287 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __holydeckCreateRequire } from 'node:module';
3
+ const require = __holydeckCreateRequire(import.meta.url);
4
+ import {
5
+ __commonJS,
6
+ __toESM
7
+ } from "./chunk-IEJ3OX3N.js";
8
+
9
+ // ../../node_modules/.pnpm/get-caller-file@2.0.5/node_modules/get-caller-file/index.js
10
+ var require_get_caller_file = __commonJS({
11
+ "../../node_modules/.pnpm/get-caller-file@2.0.5/node_modules/get-caller-file/index.js"(exports, module) {
12
+ "use strict";
13
+ module.exports = function getCallerFile2(position) {
14
+ if (position === void 0) {
15
+ position = 2;
16
+ }
17
+ if (position >= Error.stackTraceLimit) {
18
+ throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `" + position + "` and Error.stackTraceLimit was: `" + Error.stackTraceLimit + "`");
19
+ }
20
+ var oldPrepareStackTrace = Error.prepareStackTrace;
21
+ Error.prepareStackTrace = function(_, stack2) {
22
+ return stack2;
23
+ };
24
+ var stack = new Error().stack;
25
+ Error.prepareStackTrace = oldPrepareStackTrace;
26
+ if (stack !== null && typeof stack === "object") {
27
+ return stack[position] ? stack[position].getFileName() : void 0;
28
+ }
29
+ };
30
+ }
31
+ });
32
+
33
+ // ../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/index.js
34
+ import { format } from "util";
35
+ import { normalize, resolve } from "path";
36
+
37
+ // ../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/string-utils.js
38
+ function camelCase(str) {
39
+ const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();
40
+ if (!isCamelCase) {
41
+ str = str.toLowerCase();
42
+ }
43
+ if (str.indexOf("-") === -1 && str.indexOf("_") === -1) {
44
+ return str;
45
+ } else {
46
+ let camelcase = "";
47
+ let nextChrUpper = false;
48
+ const leadingHyphens = str.match(/^-+/);
49
+ for (let i = leadingHyphens ? leadingHyphens[0].length : 0; i < str.length; i++) {
50
+ let chr = str.charAt(i);
51
+ if (nextChrUpper) {
52
+ nextChrUpper = false;
53
+ chr = chr.toUpperCase();
54
+ }
55
+ if (i !== 0 && (chr === "-" || chr === "_")) {
56
+ nextChrUpper = true;
57
+ } else if (chr !== "-" && chr !== "_") {
58
+ camelcase += chr;
59
+ }
60
+ }
61
+ return camelcase;
62
+ }
63
+ }
64
+ function decamelize(str, joinString) {
65
+ const lowercase = str.toLowerCase();
66
+ joinString = joinString || "-";
67
+ let notCamelcase = "";
68
+ for (let i = 0; i < str.length; i++) {
69
+ const chrLower = lowercase.charAt(i);
70
+ const chrString = str.charAt(i);
71
+ if (chrLower !== chrString && i > 0) {
72
+ notCamelcase += `${joinString}${lowercase.charAt(i)}`;
73
+ } else {
74
+ notCamelcase += chrString;
75
+ }
76
+ }
77
+ return notCamelcase;
78
+ }
79
+ function looksLikeNumber(x) {
80
+ if (x === null || x === void 0)
81
+ return false;
82
+ if (typeof x === "number")
83
+ return true;
84
+ if (/^0x[0-9a-f]+$/i.test(x))
85
+ return true;
86
+ if (/^0[^.]/.test(x))
87
+ return false;
88
+ return /^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
89
+ }
90
+
91
+ // ../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/tokenize-arg-string.js
92
+ function tokenizeArgString(argString) {
93
+ if (Array.isArray(argString)) {
94
+ return argString.map((e) => typeof e !== "string" ? e + "" : e);
95
+ }
96
+ argString = argString.trim();
97
+ let i = 0;
98
+ let prevC = null;
99
+ let c = null;
100
+ let opening = null;
101
+ const args = [];
102
+ for (let ii = 0; ii < argString.length; ii++) {
103
+ prevC = c;
104
+ c = argString.charAt(ii);
105
+ if (c === " " && !opening) {
106
+ if (!(prevC === " ")) {
107
+ i++;
108
+ }
109
+ continue;
110
+ }
111
+ if (c === opening) {
112
+ opening = null;
113
+ } else if ((c === "'" || c === '"') && !opening) {
114
+ opening = c;
115
+ }
116
+ if (!args[i])
117
+ args[i] = "";
118
+ args[i] += c;
119
+ }
120
+ return args;
121
+ }
122
+
123
+ // ../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser-types.js
124
+ var DefaultValuesForTypeKey;
125
+ (function(DefaultValuesForTypeKey2) {
126
+ DefaultValuesForTypeKey2["BOOLEAN"] = "boolean";
127
+ DefaultValuesForTypeKey2["STRING"] = "string";
128
+ DefaultValuesForTypeKey2["NUMBER"] = "number";
129
+ DefaultValuesForTypeKey2["ARRAY"] = "array";
130
+ })(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));
131
+
132
+ // ../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser.js
133
+ var mixin;
134
+ var YargsParser = class {
135
+ constructor(_mixin) {
136
+ mixin = _mixin;
137
+ }
138
+ parse(argsInput, options) {
139
+ const opts = Object.assign({
140
+ alias: void 0,
141
+ array: void 0,
142
+ boolean: void 0,
143
+ config: void 0,
144
+ configObjects: void 0,
145
+ configuration: void 0,
146
+ coerce: void 0,
147
+ count: void 0,
148
+ default: void 0,
149
+ envPrefix: void 0,
150
+ narg: void 0,
151
+ normalize: void 0,
152
+ string: void 0,
153
+ number: void 0,
154
+ __: void 0,
155
+ key: void 0
156
+ }, options);
157
+ const args = tokenizeArgString(argsInput);
158
+ const inputIsString = typeof argsInput === "string";
159
+ const aliases = combineAliases(Object.assign(/* @__PURE__ */ Object.create(null), opts.alias));
160
+ const configuration = Object.assign({
161
+ "boolean-negation": true,
162
+ "camel-case-expansion": true,
163
+ "combine-arrays": false,
164
+ "dot-notation": true,
165
+ "duplicate-arguments-array": true,
166
+ "flatten-duplicate-arrays": true,
167
+ "greedy-arrays": true,
168
+ "halt-at-non-option": false,
169
+ "nargs-eats-options": false,
170
+ "negation-prefix": "no-",
171
+ "parse-numbers": true,
172
+ "parse-positional-numbers": true,
173
+ "populate--": false,
174
+ "set-placeholder-key": false,
175
+ "short-option-groups": true,
176
+ "strip-aliased": false,
177
+ "strip-dashed": false,
178
+ "unknown-options-as-args": false
179
+ }, opts.configuration);
180
+ const defaults = Object.assign(/* @__PURE__ */ Object.create(null), opts.default);
181
+ const configObjects = opts.configObjects || [];
182
+ const envPrefix = opts.envPrefix;
183
+ const notFlagsOption = configuration["populate--"];
184
+ const notFlagsArgv = notFlagsOption ? "--" : "_";
185
+ const newAliases = /* @__PURE__ */ Object.create(null);
186
+ const defaulted = /* @__PURE__ */ Object.create(null);
187
+ const __ = opts.__ || mixin.format;
188
+ const flags = {
189
+ aliases: /* @__PURE__ */ Object.create(null),
190
+ arrays: /* @__PURE__ */ Object.create(null),
191
+ bools: /* @__PURE__ */ Object.create(null),
192
+ strings: /* @__PURE__ */ Object.create(null),
193
+ numbers: /* @__PURE__ */ Object.create(null),
194
+ counts: /* @__PURE__ */ Object.create(null),
195
+ normalize: /* @__PURE__ */ Object.create(null),
196
+ configs: /* @__PURE__ */ Object.create(null),
197
+ nargs: /* @__PURE__ */ Object.create(null),
198
+ coercions: /* @__PURE__ */ Object.create(null),
199
+ keys: []
200
+ };
201
+ const negative = /^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/;
202
+ const negatedBoolean = new RegExp("^--" + configuration["negation-prefix"] + "(.+)");
203
+ [].concat(opts.array || []).filter(Boolean).forEach(function(opt) {
204
+ const key = typeof opt === "object" ? opt.key : opt;
205
+ const assignment = Object.keys(opt).map(function(key2) {
206
+ const arrayFlagKeys = {
207
+ boolean: "bools",
208
+ string: "strings",
209
+ number: "numbers"
210
+ };
211
+ return arrayFlagKeys[key2];
212
+ }).filter(Boolean).pop();
213
+ if (assignment) {
214
+ flags[assignment][key] = true;
215
+ }
216
+ flags.arrays[key] = true;
217
+ flags.keys.push(key);
218
+ });
219
+ [].concat(opts.boolean || []).filter(Boolean).forEach(function(key) {
220
+ flags.bools[key] = true;
221
+ flags.keys.push(key);
222
+ });
223
+ [].concat(opts.string || []).filter(Boolean).forEach(function(key) {
224
+ flags.strings[key] = true;
225
+ flags.keys.push(key);
226
+ });
227
+ [].concat(opts.number || []).filter(Boolean).forEach(function(key) {
228
+ flags.numbers[key] = true;
229
+ flags.keys.push(key);
230
+ });
231
+ [].concat(opts.count || []).filter(Boolean).forEach(function(key) {
232
+ flags.counts[key] = true;
233
+ flags.keys.push(key);
234
+ });
235
+ [].concat(opts.normalize || []).filter(Boolean).forEach(function(key) {
236
+ flags.normalize[key] = true;
237
+ flags.keys.push(key);
238
+ });
239
+ if (typeof opts.narg === "object") {
240
+ Object.entries(opts.narg).forEach(([key, value]) => {
241
+ if (typeof value === "number") {
242
+ flags.nargs[key] = value;
243
+ flags.keys.push(key);
244
+ }
245
+ });
246
+ }
247
+ if (typeof opts.coerce === "object") {
248
+ Object.entries(opts.coerce).forEach(([key, value]) => {
249
+ if (typeof value === "function") {
250
+ flags.coercions[key] = value;
251
+ flags.keys.push(key);
252
+ }
253
+ });
254
+ }
255
+ if (typeof opts.config !== "undefined") {
256
+ if (Array.isArray(opts.config) || typeof opts.config === "string") {
257
+ ;
258
+ [].concat(opts.config).filter(Boolean).forEach(function(key) {
259
+ flags.configs[key] = true;
260
+ });
261
+ } else if (typeof opts.config === "object") {
262
+ Object.entries(opts.config).forEach(([key, value]) => {
263
+ if (typeof value === "boolean" || typeof value === "function") {
264
+ flags.configs[key] = value;
265
+ }
266
+ });
267
+ }
268
+ }
269
+ extendAliases(opts.key, aliases, opts.default, flags.arrays);
270
+ Object.keys(defaults).forEach(function(key) {
271
+ (flags.aliases[key] || []).forEach(function(alias) {
272
+ defaults[alias] = defaults[key];
273
+ });
274
+ });
275
+ let error = null;
276
+ checkConfiguration();
277
+ let notFlags = [];
278
+ const argv = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] });
279
+ const argvReturn = {};
280
+ for (let i = 0; i < args.length; i++) {
281
+ const arg = args[i];
282
+ const truncatedArg = arg.replace(/^-{3,}/, "---");
283
+ let broken;
284
+ let key;
285
+ let letters;
286
+ let m;
287
+ let next;
288
+ let value;
289
+ if (arg !== "--" && /^-/.test(arg) && isUnknownOptionAsArg(arg)) {
290
+ pushPositional(arg);
291
+ } else if (truncatedArg.match(/^---+(=|$)/)) {
292
+ pushPositional(arg);
293
+ continue;
294
+ } else if (arg.match(/^--.+=/) || !configuration["short-option-groups"] && arg.match(/^-.+=/)) {
295
+ m = arg.match(/^--?([^=]+)=([\s\S]*)$/);
296
+ if (m !== null && Array.isArray(m) && m.length >= 3) {
297
+ if (checkAllAliases(m[1], flags.arrays)) {
298
+ i = eatArray(i, m[1], args, m[2]);
299
+ } else if (checkAllAliases(m[1], flags.nargs) !== false) {
300
+ i = eatNargs(i, m[1], args, m[2]);
301
+ } else {
302
+ setArg(m[1], m[2], true);
303
+ }
304
+ }
305
+ } else if (arg.match(negatedBoolean) && configuration["boolean-negation"]) {
306
+ m = arg.match(negatedBoolean);
307
+ if (m !== null && Array.isArray(m) && m.length >= 2) {
308
+ key = m[1];
309
+ setArg(key, checkAllAliases(key, flags.arrays) ? [false] : false);
310
+ }
311
+ } else if (arg.match(/^--.+/) || !configuration["short-option-groups"] && arg.match(/^-[^-]+/)) {
312
+ m = arg.match(/^--?(.+)/);
313
+ if (m !== null && Array.isArray(m) && m.length >= 2) {
314
+ key = m[1];
315
+ if (checkAllAliases(key, flags.arrays)) {
316
+ i = eatArray(i, key, args);
317
+ } else if (checkAllAliases(key, flags.nargs) !== false) {
318
+ i = eatNargs(i, key, args);
319
+ } else {
320
+ next = args[i + 1];
321
+ if (next !== void 0 && (!next.match(/^-/) || next.match(negative)) && !checkAllAliases(key, flags.bools) && !checkAllAliases(key, flags.counts)) {
322
+ setArg(key, next);
323
+ i++;
324
+ } else if (/^(true|false)$/.test(next)) {
325
+ setArg(key, next);
326
+ i++;
327
+ } else {
328
+ setArg(key, defaultValue(key));
329
+ }
330
+ }
331
+ }
332
+ } else if (arg.match(/^-.\..+=/)) {
333
+ m = arg.match(/^-([^=]+)=([\s\S]*)$/);
334
+ if (m !== null && Array.isArray(m) && m.length >= 3) {
335
+ setArg(m[1], m[2]);
336
+ }
337
+ } else if (arg.match(/^-.\..+/) && !arg.match(negative)) {
338
+ next = args[i + 1];
339
+ m = arg.match(/^-(.\..+)/);
340
+ if (m !== null && Array.isArray(m) && m.length >= 2) {
341
+ key = m[1];
342
+ if (next !== void 0 && !next.match(/^-/) && !checkAllAliases(key, flags.bools) && !checkAllAliases(key, flags.counts)) {
343
+ setArg(key, next);
344
+ i++;
345
+ } else {
346
+ setArg(key, defaultValue(key));
347
+ }
348
+ }
349
+ } else if (arg.match(/^-[^-]+/) && !arg.match(negative)) {
350
+ letters = arg.slice(1, -1).split("");
351
+ broken = false;
352
+ for (let j = 0; j < letters.length; j++) {
353
+ next = arg.slice(j + 2);
354
+ if (letters[j + 1] && letters[j + 1] === "=") {
355
+ value = arg.slice(j + 3);
356
+ key = letters[j];
357
+ if (checkAllAliases(key, flags.arrays)) {
358
+ i = eatArray(i, key, args, value);
359
+ } else if (checkAllAliases(key, flags.nargs) !== false) {
360
+ i = eatNargs(i, key, args, value);
361
+ } else {
362
+ setArg(key, value);
363
+ }
364
+ broken = true;
365
+ break;
366
+ }
367
+ if (next === "-") {
368
+ setArg(letters[j], next);
369
+ continue;
370
+ }
371
+ if (/[A-Za-z]/.test(letters[j]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(next) && checkAllAliases(next, flags.bools) === false) {
372
+ setArg(letters[j], next);
373
+ broken = true;
374
+ break;
375
+ }
376
+ if (letters[j + 1] && letters[j + 1].match(/\W/)) {
377
+ setArg(letters[j], next);
378
+ broken = true;
379
+ break;
380
+ } else {
381
+ setArg(letters[j], defaultValue(letters[j]));
382
+ }
383
+ }
384
+ key = arg.slice(-1)[0];
385
+ if (!broken && key !== "-") {
386
+ if (checkAllAliases(key, flags.arrays)) {
387
+ i = eatArray(i, key, args);
388
+ } else if (checkAllAliases(key, flags.nargs) !== false) {
389
+ i = eatNargs(i, key, args);
390
+ } else {
391
+ next = args[i + 1];
392
+ if (next !== void 0 && (!/^(-|--)[^-]/.test(next) || next.match(negative)) && !checkAllAliases(key, flags.bools) && !checkAllAliases(key, flags.counts)) {
393
+ setArg(key, next);
394
+ i++;
395
+ } else if (/^(true|false)$/.test(next)) {
396
+ setArg(key, next);
397
+ i++;
398
+ } else {
399
+ setArg(key, defaultValue(key));
400
+ }
401
+ }
402
+ }
403
+ } else if (arg.match(/^-[0-9]$/) && arg.match(negative) && checkAllAliases(arg.slice(1), flags.bools)) {
404
+ key = arg.slice(1);
405
+ setArg(key, defaultValue(key));
406
+ } else if (arg === "--") {
407
+ notFlags = args.slice(i + 1);
408
+ break;
409
+ } else if (configuration["halt-at-non-option"]) {
410
+ notFlags = args.slice(i);
411
+ break;
412
+ } else {
413
+ pushPositional(arg);
414
+ }
415
+ }
416
+ applyEnvVars(argv, true);
417
+ applyEnvVars(argv, false);
418
+ setConfig(argv);
419
+ setConfigObjects();
420
+ applyDefaultsAndAliases(argv, flags.aliases, defaults, true);
421
+ applyCoercions(argv);
422
+ if (configuration["set-placeholder-key"])
423
+ setPlaceholderKeys(argv);
424
+ Object.keys(flags.counts).forEach(function(key) {
425
+ if (!hasKey(argv, key.split(".")))
426
+ setArg(key, 0);
427
+ });
428
+ if (notFlagsOption && notFlags.length)
429
+ argv[notFlagsArgv] = [];
430
+ notFlags.forEach(function(key) {
431
+ argv[notFlagsArgv].push(key);
432
+ });
433
+ if (configuration["camel-case-expansion"] && configuration["strip-dashed"]) {
434
+ Object.keys(argv).filter((key) => key !== "--" && key.includes("-")).forEach((key) => {
435
+ delete argv[key];
436
+ });
437
+ }
438
+ if (configuration["strip-aliased"]) {
439
+ ;
440
+ [].concat(...Object.keys(aliases).map((k) => aliases[k])).forEach((alias) => {
441
+ if (configuration["camel-case-expansion"] && alias.includes("-")) {
442
+ delete argv[alias.split(".").map((prop) => camelCase(prop)).join(".")];
443
+ }
444
+ delete argv[alias];
445
+ });
446
+ }
447
+ function pushPositional(arg) {
448
+ const maybeCoercedNumber = maybeCoerceNumber("_", arg);
449
+ if (typeof maybeCoercedNumber === "string" || typeof maybeCoercedNumber === "number") {
450
+ argv._.push(maybeCoercedNumber);
451
+ }
452
+ }
453
+ function eatNargs(i, key, args2, argAfterEqualSign) {
454
+ let ii;
455
+ let toEat = checkAllAliases(key, flags.nargs);
456
+ toEat = typeof toEat !== "number" || isNaN(toEat) ? 1 : toEat;
457
+ if (toEat === 0) {
458
+ if (!isUndefined(argAfterEqualSign)) {
459
+ error = Error(__("Argument unexpected for: %s", key));
460
+ }
461
+ setArg(key, defaultValue(key));
462
+ return i;
463
+ }
464
+ let available = isUndefined(argAfterEqualSign) ? 0 : 1;
465
+ if (configuration["nargs-eats-options"]) {
466
+ if (args2.length - (i + 1) + available < toEat) {
467
+ error = Error(__("Not enough arguments following: %s", key));
468
+ }
469
+ available = toEat;
470
+ } else {
471
+ for (ii = i + 1; ii < args2.length; ii++) {
472
+ if (!args2[ii].match(/^-[^0-9]/) || args2[ii].match(negative) || isUnknownOptionAsArg(args2[ii]))
473
+ available++;
474
+ else
475
+ break;
476
+ }
477
+ if (available < toEat)
478
+ error = Error(__("Not enough arguments following: %s", key));
479
+ }
480
+ let consumed = Math.min(available, toEat);
481
+ if (!isUndefined(argAfterEqualSign) && consumed > 0) {
482
+ setArg(key, argAfterEqualSign);
483
+ consumed--;
484
+ }
485
+ for (ii = i + 1; ii < consumed + i + 1; ii++) {
486
+ setArg(key, args2[ii]);
487
+ }
488
+ return i + consumed;
489
+ }
490
+ function eatArray(i, key, args2, argAfterEqualSign) {
491
+ let argsToSet = [];
492
+ let next = argAfterEqualSign || args2[i + 1];
493
+ const nargsCount = checkAllAliases(key, flags.nargs);
494
+ if (checkAllAliases(key, flags.bools) && !/^(true|false)$/.test(next)) {
495
+ argsToSet.push(true);
496
+ } else if (isUndefined(next) || isUndefined(argAfterEqualSign) && /^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next)) {
497
+ if (defaults[key] !== void 0) {
498
+ const defVal = defaults[key];
499
+ argsToSet = Array.isArray(defVal) ? defVal : [defVal];
500
+ }
501
+ } else {
502
+ if (!isUndefined(argAfterEqualSign)) {
503
+ argsToSet.push(processValue(key, argAfterEqualSign, true));
504
+ }
505
+ for (let ii = i + 1; ii < args2.length; ii++) {
506
+ if (!configuration["greedy-arrays"] && argsToSet.length > 0 || nargsCount && typeof nargsCount === "number" && argsToSet.length >= nargsCount)
507
+ break;
508
+ next = args2[ii];
509
+ if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))
510
+ break;
511
+ i = ii;
512
+ argsToSet.push(processValue(key, next, inputIsString));
513
+ }
514
+ }
515
+ if (typeof nargsCount === "number" && (nargsCount && argsToSet.length < nargsCount || isNaN(nargsCount) && argsToSet.length === 0)) {
516
+ error = Error(__("Not enough arguments following: %s", key));
517
+ }
518
+ setArg(key, argsToSet);
519
+ return i;
520
+ }
521
+ function setArg(key, val, shouldStripQuotes = inputIsString) {
522
+ if (/-/.test(key) && configuration["camel-case-expansion"]) {
523
+ const alias = key.split(".").map(function(prop) {
524
+ return camelCase(prop);
525
+ }).join(".");
526
+ addNewAlias(key, alias);
527
+ }
528
+ const value = processValue(key, val, shouldStripQuotes);
529
+ const splitKey = key.split(".");
530
+ setKey(argv, splitKey, value);
531
+ if (flags.aliases[key]) {
532
+ flags.aliases[key].forEach(function(x) {
533
+ const keyProperties = x.split(".");
534
+ setKey(argv, keyProperties, value);
535
+ });
536
+ }
537
+ if (splitKey.length > 1 && configuration["dot-notation"]) {
538
+ ;
539
+ (flags.aliases[splitKey[0]] || []).forEach(function(x) {
540
+ let keyProperties = x.split(".");
541
+ const a = [].concat(splitKey);
542
+ a.shift();
543
+ keyProperties = keyProperties.concat(a);
544
+ if (!(flags.aliases[key] || []).includes(keyProperties.join("."))) {
545
+ setKey(argv, keyProperties, value);
546
+ }
547
+ });
548
+ }
549
+ if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {
550
+ const keys = [key].concat(flags.aliases[key] || []);
551
+ keys.forEach(function(key2) {
552
+ Object.defineProperty(argvReturn, key2, {
553
+ enumerable: true,
554
+ get() {
555
+ return val;
556
+ },
557
+ set(value2) {
558
+ val = typeof value2 === "string" ? mixin.normalize(value2) : value2;
559
+ }
560
+ });
561
+ });
562
+ }
563
+ }
564
+ function addNewAlias(key, alias) {
565
+ if (!(flags.aliases[key] && flags.aliases[key].length)) {
566
+ flags.aliases[key] = [alias];
567
+ newAliases[alias] = true;
568
+ }
569
+ if (!(flags.aliases[alias] && flags.aliases[alias].length)) {
570
+ addNewAlias(alias, key);
571
+ }
572
+ }
573
+ function processValue(key, val, shouldStripQuotes) {
574
+ if (shouldStripQuotes) {
575
+ val = stripQuotes(val);
576
+ }
577
+ if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {
578
+ if (typeof val === "string")
579
+ val = val === "true";
580
+ }
581
+ let value = Array.isArray(val) ? val.map(function(v) {
582
+ return maybeCoerceNumber(key, v);
583
+ }) : maybeCoerceNumber(key, val);
584
+ if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === "boolean")) {
585
+ value = increment();
586
+ }
587
+ if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {
588
+ if (Array.isArray(val))
589
+ value = val.map((val2) => {
590
+ return mixin.normalize(val2);
591
+ });
592
+ else
593
+ value = mixin.normalize(val);
594
+ }
595
+ return value;
596
+ }
597
+ function maybeCoerceNumber(key, value) {
598
+ if (!configuration["parse-positional-numbers"] && key === "_")
599
+ return value;
600
+ if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.bools) && !Array.isArray(value)) {
601
+ const shouldCoerceNumber = looksLikeNumber(value) && configuration["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${value}`)));
602
+ if (shouldCoerceNumber || !isUndefined(value) && checkAllAliases(key, flags.numbers)) {
603
+ value = Number(value);
604
+ }
605
+ }
606
+ return value;
607
+ }
608
+ function setConfig(argv2) {
609
+ const configLookup = /* @__PURE__ */ Object.create(null);
610
+ applyDefaultsAndAliases(configLookup, flags.aliases, defaults);
611
+ Object.keys(flags.configs).forEach(function(configKey) {
612
+ const configPath = argv2[configKey] || configLookup[configKey];
613
+ if (configPath) {
614
+ try {
615
+ let config = null;
616
+ const resolvedConfigPath = mixin.resolve(mixin.cwd(), configPath);
617
+ const resolveConfig = flags.configs[configKey];
618
+ if (typeof resolveConfig === "function") {
619
+ try {
620
+ config = resolveConfig(resolvedConfigPath);
621
+ } catch (e) {
622
+ config = e;
623
+ }
624
+ if (config instanceof Error) {
625
+ error = config;
626
+ return;
627
+ }
628
+ } else {
629
+ config = mixin.require(resolvedConfigPath);
630
+ }
631
+ setConfigObject(config);
632
+ } catch (ex) {
633
+ if (ex.name === "PermissionDenied")
634
+ error = ex;
635
+ else if (argv2[configKey])
636
+ error = Error(__("Invalid JSON config file: %s", configPath));
637
+ }
638
+ }
639
+ });
640
+ }
641
+ function setConfigObject(config, prev) {
642
+ Object.keys(config).forEach(function(key) {
643
+ const value = config[key];
644
+ const fullKey = prev ? prev + "." + key : key;
645
+ if (typeof value === "object" && value !== null && !Array.isArray(value) && configuration["dot-notation"]) {
646
+ setConfigObject(value, fullKey);
647
+ } else {
648
+ if (!hasKey(argv, fullKey.split(".")) || checkAllAliases(fullKey, flags.arrays) && configuration["combine-arrays"]) {
649
+ setArg(fullKey, value);
650
+ }
651
+ }
652
+ });
653
+ }
654
+ function setConfigObjects() {
655
+ if (typeof configObjects !== "undefined") {
656
+ configObjects.forEach(function(configObject) {
657
+ setConfigObject(configObject);
658
+ });
659
+ }
660
+ }
661
+ function applyEnvVars(argv2, configOnly) {
662
+ if (typeof envPrefix === "undefined")
663
+ return;
664
+ const prefix = typeof envPrefix === "string" ? envPrefix : "";
665
+ const env2 = mixin.env();
666
+ Object.keys(env2).forEach(function(envVar) {
667
+ if (prefix === "" || envVar.lastIndexOf(prefix, 0) === 0) {
668
+ const keys = envVar.split("__").map(function(key, i) {
669
+ if (i === 0) {
670
+ key = key.substring(prefix.length);
671
+ }
672
+ return camelCase(key);
673
+ });
674
+ if ((configOnly && flags.configs[keys.join(".")] || !configOnly) && !hasKey(argv2, keys)) {
675
+ setArg(keys.join("."), env2[envVar]);
676
+ }
677
+ }
678
+ });
679
+ }
680
+ function applyCoercions(argv2) {
681
+ let coerce;
682
+ const applied = /* @__PURE__ */ new Set();
683
+ Object.keys(argv2).forEach(function(key) {
684
+ if (!applied.has(key)) {
685
+ coerce = checkAllAliases(key, flags.coercions);
686
+ if (typeof coerce === "function") {
687
+ try {
688
+ const value = maybeCoerceNumber(key, coerce(argv2[key]));
689
+ [].concat(flags.aliases[key] || [], key).forEach((ali) => {
690
+ applied.add(ali);
691
+ argv2[ali] = value;
692
+ });
693
+ } catch (err) {
694
+ error = err;
695
+ }
696
+ }
697
+ }
698
+ });
699
+ }
700
+ function setPlaceholderKeys(argv2) {
701
+ flags.keys.forEach((key) => {
702
+ if (~key.indexOf("."))
703
+ return;
704
+ if (typeof argv2[key] === "undefined")
705
+ argv2[key] = void 0;
706
+ });
707
+ return argv2;
708
+ }
709
+ function applyDefaultsAndAliases(obj, aliases2, defaults2, canLog = false) {
710
+ Object.keys(defaults2).forEach(function(key) {
711
+ if (!hasKey(obj, key.split("."))) {
712
+ setKey(obj, key.split("."), defaults2[key]);
713
+ if (canLog)
714
+ defaulted[key] = true;
715
+ (aliases2[key] || []).forEach(function(x) {
716
+ if (hasKey(obj, x.split(".")))
717
+ return;
718
+ setKey(obj, x.split("."), defaults2[key]);
719
+ });
720
+ }
721
+ });
722
+ }
723
+ function hasKey(obj, keys) {
724
+ let o = obj;
725
+ if (!configuration["dot-notation"])
726
+ keys = [keys.join(".")];
727
+ keys.slice(0, -1).forEach(function(key2) {
728
+ o = o[key2] || {};
729
+ });
730
+ const key = keys[keys.length - 1];
731
+ if (typeof o !== "object")
732
+ return false;
733
+ else
734
+ return key in o;
735
+ }
736
+ function setKey(obj, keys, value) {
737
+ let o = obj;
738
+ if (!configuration["dot-notation"])
739
+ keys = [keys.join(".")];
740
+ keys.slice(0, -1).forEach(function(key2) {
741
+ key2 = sanitizeKey(key2);
742
+ if (typeof o === "object" && o[key2] === void 0) {
743
+ o[key2] = {};
744
+ }
745
+ if (typeof o[key2] !== "object" || Array.isArray(o[key2])) {
746
+ if (Array.isArray(o[key2])) {
747
+ o[key2].push({});
748
+ } else {
749
+ o[key2] = [o[key2], {}];
750
+ }
751
+ o = o[key2][o[key2].length - 1];
752
+ } else {
753
+ o = o[key2];
754
+ }
755
+ });
756
+ const key = sanitizeKey(keys[keys.length - 1]);
757
+ const isTypeArray = checkAllAliases(keys.join("."), flags.arrays);
758
+ const isValueArray = Array.isArray(value);
759
+ let duplicate = configuration["duplicate-arguments-array"];
760
+ if (!duplicate && checkAllAliases(key, flags.nargs)) {
761
+ duplicate = true;
762
+ if (!isUndefined(o[key]) && flags.nargs[key] === 1 || Array.isArray(o[key]) && o[key].length === flags.nargs[key]) {
763
+ o[key] = void 0;
764
+ }
765
+ }
766
+ if (value === increment()) {
767
+ o[key] = increment(o[key]);
768
+ } else if (Array.isArray(o[key])) {
769
+ if (duplicate && isTypeArray && isValueArray) {
770
+ o[key] = configuration["flatten-duplicate-arrays"] ? o[key].concat(value) : (Array.isArray(o[key][0]) ? o[key] : [o[key]]).concat([value]);
771
+ } else if (!duplicate && Boolean(isTypeArray) === Boolean(isValueArray)) {
772
+ o[key] = value;
773
+ } else {
774
+ o[key] = o[key].concat([value]);
775
+ }
776
+ } else if (o[key] === void 0 && isTypeArray) {
777
+ o[key] = isValueArray ? value : [value];
778
+ } else if (duplicate && !(o[key] === void 0 || checkAllAliases(key, flags.counts) || checkAllAliases(key, flags.bools))) {
779
+ o[key] = [o[key], value];
780
+ } else {
781
+ o[key] = value;
782
+ }
783
+ }
784
+ function extendAliases(...args2) {
785
+ args2.forEach(function(obj) {
786
+ Object.keys(obj || {}).forEach(function(key) {
787
+ if (flags.aliases[key])
788
+ return;
789
+ flags.aliases[key] = [].concat(aliases[key] || []);
790
+ flags.aliases[key].concat(key).forEach(function(x) {
791
+ if (/-/.test(x) && configuration["camel-case-expansion"]) {
792
+ const c = camelCase(x);
793
+ if (c !== key && flags.aliases[key].indexOf(c) === -1) {
794
+ flags.aliases[key].push(c);
795
+ newAliases[c] = true;
796
+ }
797
+ }
798
+ });
799
+ flags.aliases[key].concat(key).forEach(function(x) {
800
+ if (x.length > 1 && /[A-Z]/.test(x) && configuration["camel-case-expansion"]) {
801
+ const c = decamelize(x, "-");
802
+ if (c !== key && flags.aliases[key].indexOf(c) === -1) {
803
+ flags.aliases[key].push(c);
804
+ newAliases[c] = true;
805
+ }
806
+ }
807
+ });
808
+ flags.aliases[key].forEach(function(x) {
809
+ flags.aliases[x] = [key].concat(flags.aliases[key].filter(function(y) {
810
+ return x !== y;
811
+ }));
812
+ });
813
+ });
814
+ });
815
+ }
816
+ function checkAllAliases(key, flag) {
817
+ const toCheck = [].concat(flags.aliases[key] || [], key);
818
+ const keys = Object.keys(flag);
819
+ const setAlias = toCheck.find((key2) => keys.includes(key2));
820
+ return setAlias ? flag[setAlias] : false;
821
+ }
822
+ function hasAnyFlag(key) {
823
+ const flagsKeys = Object.keys(flags);
824
+ const toCheck = [].concat(flagsKeys.map((k) => flags[k]));
825
+ return toCheck.some(function(flag) {
826
+ return Array.isArray(flag) ? flag.includes(key) : flag[key];
827
+ });
828
+ }
829
+ function hasFlagsMatching(arg, ...patterns) {
830
+ const toCheck = [].concat(...patterns);
831
+ return toCheck.some(function(pattern) {
832
+ const match = arg.match(pattern);
833
+ return match && hasAnyFlag(match[1]);
834
+ });
835
+ }
836
+ function hasAllShortFlags(arg) {
837
+ if (arg.match(negative) || !arg.match(/^-[^-]+/)) {
838
+ return false;
839
+ }
840
+ let hasAllFlags = true;
841
+ let next;
842
+ const letters = arg.slice(1).split("");
843
+ for (let j = 0; j < letters.length; j++) {
844
+ next = arg.slice(j + 2);
845
+ if (!hasAnyFlag(letters[j])) {
846
+ hasAllFlags = false;
847
+ break;
848
+ }
849
+ if (letters[j + 1] && letters[j + 1] === "=" || next === "-" || /[A-Za-z]/.test(letters[j]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(next) || letters[j + 1] && letters[j + 1].match(/\W/)) {
850
+ break;
851
+ }
852
+ }
853
+ return hasAllFlags;
854
+ }
855
+ function isUnknownOptionAsArg(arg) {
856
+ return configuration["unknown-options-as-args"] && isUnknownOption(arg);
857
+ }
858
+ function isUnknownOption(arg) {
859
+ arg = arg.replace(/^-{3,}/, "--");
860
+ if (arg.match(negative)) {
861
+ return false;
862
+ }
863
+ if (hasAllShortFlags(arg)) {
864
+ return false;
865
+ }
866
+ const flagWithEquals = /^-+([^=]+?)=[\s\S]*$/;
867
+ const normalFlag = /^-+([^=]+?)$/;
868
+ const flagEndingInHyphen = /^-+([^=]+?)-$/;
869
+ const flagEndingInDigits = /^-+([^=]+?\d+)$/;
870
+ const flagEndingInNonWordCharacters = /^-+([^=]+?)\W+.*$/;
871
+ return !hasFlagsMatching(arg, flagWithEquals, negatedBoolean, normalFlag, flagEndingInHyphen, flagEndingInDigits, flagEndingInNonWordCharacters);
872
+ }
873
+ function defaultValue(key) {
874
+ if (!checkAllAliases(key, flags.bools) && !checkAllAliases(key, flags.counts) && `${key}` in defaults) {
875
+ return defaults[key];
876
+ } else {
877
+ return defaultForType(guessType(key));
878
+ }
879
+ }
880
+ function defaultForType(type) {
881
+ const def = {
882
+ [DefaultValuesForTypeKey.BOOLEAN]: true,
883
+ [DefaultValuesForTypeKey.STRING]: "",
884
+ [DefaultValuesForTypeKey.NUMBER]: void 0,
885
+ [DefaultValuesForTypeKey.ARRAY]: []
886
+ };
887
+ return def[type];
888
+ }
889
+ function guessType(key) {
890
+ let type = DefaultValuesForTypeKey.BOOLEAN;
891
+ if (checkAllAliases(key, flags.strings))
892
+ type = DefaultValuesForTypeKey.STRING;
893
+ else if (checkAllAliases(key, flags.numbers))
894
+ type = DefaultValuesForTypeKey.NUMBER;
895
+ else if (checkAllAliases(key, flags.bools))
896
+ type = DefaultValuesForTypeKey.BOOLEAN;
897
+ else if (checkAllAliases(key, flags.arrays))
898
+ type = DefaultValuesForTypeKey.ARRAY;
899
+ return type;
900
+ }
901
+ function isUndefined(num) {
902
+ return num === void 0;
903
+ }
904
+ function checkConfiguration() {
905
+ Object.keys(flags.counts).find((key) => {
906
+ if (checkAllAliases(key, flags.arrays)) {
907
+ error = Error(__("Invalid configuration: %s, opts.count excludes opts.array.", key));
908
+ return true;
909
+ } else if (checkAllAliases(key, flags.nargs)) {
910
+ error = Error(__("Invalid configuration: %s, opts.count excludes opts.narg.", key));
911
+ return true;
912
+ }
913
+ return false;
914
+ });
915
+ }
916
+ return {
917
+ aliases: Object.assign({}, flags.aliases),
918
+ argv: Object.assign(argvReturn, argv),
919
+ configuration,
920
+ defaulted: Object.assign({}, defaulted),
921
+ error,
922
+ newAliases: Object.assign({}, newAliases)
923
+ };
924
+ }
925
+ };
926
+ function combineAliases(aliases) {
927
+ const aliasArrays = [];
928
+ const combined = /* @__PURE__ */ Object.create(null);
929
+ let change = true;
930
+ Object.keys(aliases).forEach(function(key) {
931
+ aliasArrays.push([].concat(aliases[key], key));
932
+ });
933
+ while (change) {
934
+ change = false;
935
+ for (let i = 0; i < aliasArrays.length; i++) {
936
+ for (let ii = i + 1; ii < aliasArrays.length; ii++) {
937
+ const intersect = aliasArrays[i].filter(function(v) {
938
+ return aliasArrays[ii].indexOf(v) !== -1;
939
+ });
940
+ if (intersect.length) {
941
+ aliasArrays[i] = aliasArrays[i].concat(aliasArrays[ii]);
942
+ aliasArrays.splice(ii, 1);
943
+ change = true;
944
+ break;
945
+ }
946
+ }
947
+ }
948
+ }
949
+ aliasArrays.forEach(function(aliasArray) {
950
+ aliasArray = aliasArray.filter(function(v, i, self) {
951
+ return self.indexOf(v) === i;
952
+ });
953
+ const lastAlias = aliasArray.pop();
954
+ if (lastAlias !== void 0 && typeof lastAlias === "string") {
955
+ combined[lastAlias] = aliasArray;
956
+ }
957
+ });
958
+ return combined;
959
+ }
960
+ function increment(orig) {
961
+ return orig !== void 0 ? orig + 1 : 1;
962
+ }
963
+ function sanitizeKey(key) {
964
+ if (key === "__proto__")
965
+ return "___proto___";
966
+ return key;
967
+ }
968
+ function stripQuotes(val) {
969
+ return typeof val === "string" && (val[0] === "'" || val[0] === '"') && val[val.length - 1] === val[0] ? val.substring(1, val.length - 1) : val;
970
+ }
971
+
972
+ // ../../node_modules/.pnpm/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/index.js
973
+ import { readFileSync } from "fs";
974
+ import { createRequire } from "module";
975
+ var _a;
976
+ var _b;
977
+ var _c;
978
+ var minNodeVersion = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number(process.env.YARGS_MIN_NODE_VERSION) : 20;
979
+ var nodeVersion = (_b = (_a = process === null || process === void 0 ? void 0 : process.versions) === null || _a === void 0 ? void 0 : _a.node) !== null && _b !== void 0 ? _b : (_c = process === null || process === void 0 ? void 0 : process.version) === null || _c === void 0 ? void 0 : _c.slice(1);
980
+ if (nodeVersion) {
981
+ const major = Number(nodeVersion.match(/^([^.]+)/)[1]);
982
+ if (major < minNodeVersion) {
983
+ throw Error(`yargs parser supports a minimum Node.js version of ${minNodeVersion}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);
984
+ }
985
+ }
986
+ var env = process ? process.env : {};
987
+ var require2 = createRequire ? createRequire(import.meta.url) : void 0;
988
+ var parser = new YargsParser({
989
+ cwd: process.cwd,
990
+ env: () => {
991
+ return env;
992
+ },
993
+ format,
994
+ normalize,
995
+ resolve,
996
+ require: (path) => {
997
+ if (typeof require2 !== "undefined") {
998
+ return require2(path);
999
+ } else if (path.match(/\.json$/)) {
1000
+ return JSON.parse(readFileSync(path, "utf8"));
1001
+ } else {
1002
+ throw Error("only .json config files are supported in ESM");
1003
+ }
1004
+ }
1005
+ });
1006
+ var yargsParser = function Parser(args, opts) {
1007
+ const result = parser.parse(args.slice(), opts);
1008
+ return result.argv;
1009
+ };
1010
+ yargsParser.detailed = function(args, opts) {
1011
+ return parser.parse(args.slice(), opts);
1012
+ };
1013
+ yargsParser.camelCase = camelCase;
1014
+ yargsParser.decamelize = decamelize;
1015
+ yargsParser.looksLikeNumber = looksLikeNumber;
1016
+ var lib_default = yargsParser;
1017
+
1018
+ // ../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/build/lib/utils/process-argv.js
1019
+ function getProcessArgvBinIndex() {
1020
+ if (isBundledElectronApp())
1021
+ return 0;
1022
+ return 1;
1023
+ }
1024
+ function isBundledElectronApp() {
1025
+ return isElectronApp() && !process.defaultApp;
1026
+ }
1027
+ function isElectronApp() {
1028
+ return !!process.versions.electron;
1029
+ }
1030
+ function hideBin(argv) {
1031
+ return argv.slice(getProcessArgvBinIndex() + 1);
1032
+ }
1033
+ function getProcessArgvBin() {
1034
+ return process.argv[getProcessArgvBinIndex()];
1035
+ }
1036
+
1037
+ // ../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/lib/platform-shims/esm.mjs
1038
+ import { notStrictEqual, strictEqual } from "assert";
1039
+
1040
+ // ../../node_modules/.pnpm/cliui@9.0.1/node_modules/cliui/build/lib/index.js
1041
+ var align = {
1042
+ right: alignRight,
1043
+ center: alignCenter
1044
+ };
1045
+ var top = 0;
1046
+ var right = 1;
1047
+ var bottom = 2;
1048
+ var left = 3;
1049
+ var UI = class {
1050
+ constructor(opts) {
1051
+ var _a2;
1052
+ this.width = opts.width;
1053
+ this.wrap = (_a2 = opts.wrap) !== null && _a2 !== void 0 ? _a2 : true;
1054
+ this.rows = [];
1055
+ }
1056
+ span(...args) {
1057
+ const cols = this.div(...args);
1058
+ cols.span = true;
1059
+ }
1060
+ resetOutput() {
1061
+ this.rows = [];
1062
+ }
1063
+ div(...args) {
1064
+ if (args.length === 0) {
1065
+ this.div("");
1066
+ }
1067
+ if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === "string") {
1068
+ return this.applyLayoutDSL(args[0]);
1069
+ }
1070
+ const cols = args.map((arg) => {
1071
+ if (typeof arg === "string") {
1072
+ return this.colFromString(arg);
1073
+ }
1074
+ return arg;
1075
+ });
1076
+ this.rows.push(cols);
1077
+ return cols;
1078
+ }
1079
+ shouldApplyLayoutDSL(...args) {
1080
+ return args.length === 1 && typeof args[0] === "string" && /[\t\n]/.test(args[0]);
1081
+ }
1082
+ applyLayoutDSL(str) {
1083
+ const rows = str.split("\n").map((row) => row.split(" "));
1084
+ let leftColumnWidth = 0;
1085
+ rows.forEach((columns) => {
1086
+ if (columns.length > 1 && mixin2.stringWidth(columns[0]) > leftColumnWidth) {
1087
+ leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin2.stringWidth(columns[0]));
1088
+ }
1089
+ });
1090
+ rows.forEach((columns) => {
1091
+ this.div(...columns.map((r, i) => {
1092
+ return {
1093
+ text: r.trim(),
1094
+ padding: this.measurePadding(r),
1095
+ width: i === 0 && columns.length > 1 ? leftColumnWidth : void 0
1096
+ };
1097
+ }));
1098
+ });
1099
+ return this.rows[this.rows.length - 1];
1100
+ }
1101
+ colFromString(text) {
1102
+ return {
1103
+ text,
1104
+ padding: this.measurePadding(text)
1105
+ };
1106
+ }
1107
+ measurePadding(str) {
1108
+ const noAnsi = mixin2.stripAnsi(str);
1109
+ return [0, noAnsi.match(/\s*$/)[0].length, 0, noAnsi.match(/^\s*/)[0].length];
1110
+ }
1111
+ toString() {
1112
+ const lines = [];
1113
+ this.rows.forEach((row) => {
1114
+ this.rowToString(row, lines);
1115
+ });
1116
+ return lines.filter((line) => !line.hidden).map((line) => line.text).join("\n");
1117
+ }
1118
+ rowToString(row, lines) {
1119
+ this.rasterize(row).forEach((rrow, r) => {
1120
+ let str = "";
1121
+ rrow.forEach((col, c) => {
1122
+ const { width } = row[c];
1123
+ const wrapWidth = this.negatePadding(row[c]);
1124
+ let ts = col;
1125
+ if (wrapWidth > mixin2.stringWidth(col)) {
1126
+ ts += " ".repeat(wrapWidth - mixin2.stringWidth(col));
1127
+ }
1128
+ if (row[c].align && row[c].align !== "left" && this.wrap) {
1129
+ const fn = align[row[c].align];
1130
+ ts = fn(ts, wrapWidth);
1131
+ if (mixin2.stringWidth(ts) < wrapWidth) {
1132
+ ts += " ".repeat((width || 0) - mixin2.stringWidth(ts) - 1);
1133
+ }
1134
+ }
1135
+ const padding = row[c].padding || [0, 0, 0, 0];
1136
+ if (padding[left]) {
1137
+ str += " ".repeat(padding[left]);
1138
+ }
1139
+ str += addBorder(row[c], ts, "| ");
1140
+ str += ts;
1141
+ str += addBorder(row[c], ts, " |");
1142
+ if (padding[right]) {
1143
+ str += " ".repeat(padding[right]);
1144
+ }
1145
+ if (r === 0 && lines.length > 0) {
1146
+ str = this.renderInline(str, lines[lines.length - 1]);
1147
+ }
1148
+ });
1149
+ lines.push({
1150
+ text: str.replace(/ +$/, ""),
1151
+ span: row.span
1152
+ });
1153
+ });
1154
+ return lines;
1155
+ }
1156
+ // if the full 'source' can render in
1157
+ // the target line, do so.
1158
+ renderInline(source, previousLine) {
1159
+ const match = source.match(/^ */);
1160
+ const leadingWhitespace = match ? match[0].length : 0;
1161
+ const target = previousLine.text;
1162
+ const targetTextWidth = mixin2.stringWidth(target.trimRight());
1163
+ if (!previousLine.span) {
1164
+ return source;
1165
+ }
1166
+ if (!this.wrap) {
1167
+ previousLine.hidden = true;
1168
+ return target + source;
1169
+ }
1170
+ if (leadingWhitespace < targetTextWidth) {
1171
+ return source;
1172
+ }
1173
+ previousLine.hidden = true;
1174
+ return target.trimRight() + " ".repeat(leadingWhitespace - targetTextWidth) + source.trimLeft();
1175
+ }
1176
+ rasterize(row) {
1177
+ const rrows = [];
1178
+ const widths = this.columnWidths(row);
1179
+ let wrapped;
1180
+ row.forEach((col, c) => {
1181
+ col.width = widths[c];
1182
+ if (this.wrap) {
1183
+ wrapped = mixin2.wrap(col.text, this.negatePadding(col), { hard: true }).split("\n");
1184
+ } else {
1185
+ wrapped = col.text.split("\n");
1186
+ }
1187
+ if (col.border) {
1188
+ wrapped.unshift("." + "-".repeat(this.negatePadding(col) + 2) + ".");
1189
+ wrapped.push("'" + "-".repeat(this.negatePadding(col) + 2) + "'");
1190
+ }
1191
+ if (col.padding) {
1192
+ wrapped.unshift(...new Array(col.padding[top] || 0).fill(""));
1193
+ wrapped.push(...new Array(col.padding[bottom] || 0).fill(""));
1194
+ }
1195
+ wrapped.forEach((str, r) => {
1196
+ if (!rrows[r]) {
1197
+ rrows.push([]);
1198
+ }
1199
+ const rrow = rrows[r];
1200
+ for (let i = 0; i < c; i++) {
1201
+ if (rrow[i] === void 0) {
1202
+ rrow.push("");
1203
+ }
1204
+ }
1205
+ rrow.push(str);
1206
+ });
1207
+ });
1208
+ return rrows;
1209
+ }
1210
+ negatePadding(col) {
1211
+ let wrapWidth = col.width || 0;
1212
+ if (col.padding) {
1213
+ wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);
1214
+ }
1215
+ if (col.border) {
1216
+ wrapWidth -= 4;
1217
+ }
1218
+ return wrapWidth;
1219
+ }
1220
+ columnWidths(row) {
1221
+ if (!this.wrap) {
1222
+ return row.map((col) => {
1223
+ return col.width || mixin2.stringWidth(col.text);
1224
+ });
1225
+ }
1226
+ let unset = row.length;
1227
+ let remainingWidth = this.width;
1228
+ const widths = row.map((col) => {
1229
+ if (col.width) {
1230
+ unset--;
1231
+ remainingWidth -= col.width;
1232
+ return col.width;
1233
+ }
1234
+ return void 0;
1235
+ });
1236
+ const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;
1237
+ return widths.map((w, i) => {
1238
+ if (w === void 0) {
1239
+ return Math.max(unsetWidth, _minWidth(row[i]));
1240
+ }
1241
+ return w;
1242
+ });
1243
+ }
1244
+ };
1245
+ function addBorder(col, ts, style) {
1246
+ if (col.border) {
1247
+ if (/[.']-+[.']/.test(ts)) {
1248
+ return "";
1249
+ }
1250
+ if (ts.trim().length !== 0) {
1251
+ return style;
1252
+ }
1253
+ return " ";
1254
+ }
1255
+ return "";
1256
+ }
1257
+ function _minWidth(col) {
1258
+ const padding = col.padding || [];
1259
+ const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);
1260
+ if (col.border) {
1261
+ return minWidth + 4;
1262
+ }
1263
+ return minWidth;
1264
+ }
1265
+ function getWindowWidth() {
1266
+ if (typeof process === "object" && process.stdout && process.stdout.columns) {
1267
+ return process.stdout.columns;
1268
+ }
1269
+ return 80;
1270
+ }
1271
+ function alignRight(str, width) {
1272
+ str = str.trim();
1273
+ const strWidth = mixin2.stringWidth(str);
1274
+ if (strWidth < width) {
1275
+ return " ".repeat(width - strWidth) + str;
1276
+ }
1277
+ return str;
1278
+ }
1279
+ function alignCenter(str, width) {
1280
+ str = str.trim();
1281
+ const strWidth = mixin2.stringWidth(str);
1282
+ if (strWidth >= width) {
1283
+ return str;
1284
+ }
1285
+ return " ".repeat(width - strWidth >> 1) + str;
1286
+ }
1287
+ var mixin2;
1288
+ function cliui(opts, _mixin) {
1289
+ mixin2 = _mixin;
1290
+ return new UI({
1291
+ width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),
1292
+ wrap: opts === null || opts === void 0 ? void 0 : opts.wrap
1293
+ });
1294
+ }
1295
+
1296
+ // ../../node_modules/.pnpm/ansi-regex@6.3.0/node_modules/ansi-regex/index.js
1297
+ function ansiRegex({ onlyFirst = false } = {}) {
1298
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
1299
+ const osc = `(?:\\u001B\\][^\\u0007\\u001B\\u009C]*${ST})`;
1300
+ const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
1301
+ const pattern = `${osc}|${csi}`;
1302
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
1303
+ }
1304
+
1305
+ // ../../node_modules/.pnpm/strip-ansi@7.2.0/node_modules/strip-ansi/index.js
1306
+ var regex = ansiRegex();
1307
+ function stripAnsi(string) {
1308
+ if (typeof string !== "string") {
1309
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
1310
+ }
1311
+ if (!string.includes("\x1B") && !string.includes("\x9B")) {
1312
+ return string;
1313
+ }
1314
+ return string.replace(regex, "");
1315
+ }
1316
+
1317
+ // ../../node_modules/.pnpm/get-east-asian-width@1.6.0/node_modules/get-east-asian-width/lookup-data.js
1318
+ var ambiguousMinimalCodePoint = 161;
1319
+ var ambiguousMaximumCodePoint = 1114109;
1320
+ var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
1321
+ var fullwidthMinimalCodePoint = 12288;
1322
+ var fullwidthMaximumCodePoint = 65510;
1323
+ var fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
1324
+ var wideMinimalCodePoint = 4352;
1325
+ var wideMaximumCodePoint = 262141;
1326
+ var wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
1327
+
1328
+ // ../../node_modules/.pnpm/get-east-asian-width@1.6.0/node_modules/get-east-asian-width/utilities.js
1329
+ var isInRange = (ranges, codePoint) => {
1330
+ let low = 0;
1331
+ let high = Math.floor(ranges.length / 2) - 1;
1332
+ while (low <= high) {
1333
+ const mid = Math.floor((low + high) / 2);
1334
+ const i = mid * 2;
1335
+ if (codePoint < ranges[i]) {
1336
+ high = mid - 1;
1337
+ } else if (codePoint > ranges[i + 1]) {
1338
+ low = mid + 1;
1339
+ } else {
1340
+ return true;
1341
+ }
1342
+ }
1343
+ return false;
1344
+ };
1345
+
1346
+ // ../../node_modules/.pnpm/get-east-asian-width@1.6.0/node_modules/get-east-asian-width/lookup.js
1347
+ var commonCjkCodePoint = 19968;
1348
+ var [wideFastPathStart, wideFastPathEnd] = /* @__PURE__ */ findWideFastPathRange(wideRanges);
1349
+ function findWideFastPathRange(ranges) {
1350
+ let fastPathStart = ranges[0];
1351
+ let fastPathEnd = ranges[1];
1352
+ for (let index = 0; index < ranges.length; index += 2) {
1353
+ const start = ranges[index];
1354
+ const end = ranges[index + 1];
1355
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
1356
+ return [start, end];
1357
+ }
1358
+ if (end - start > fastPathEnd - fastPathStart) {
1359
+ fastPathStart = start;
1360
+ fastPathEnd = end;
1361
+ }
1362
+ }
1363
+ return [fastPathStart, fastPathEnd];
1364
+ }
1365
+ var isAmbiguous = (codePoint) => {
1366
+ if (codePoint < ambiguousMinimalCodePoint || codePoint > ambiguousMaximumCodePoint) {
1367
+ return false;
1368
+ }
1369
+ return isInRange(ambiguousRanges, codePoint);
1370
+ };
1371
+ var isFullWidth = (codePoint) => {
1372
+ if (codePoint < fullwidthMinimalCodePoint || codePoint > fullwidthMaximumCodePoint) {
1373
+ return false;
1374
+ }
1375
+ return isInRange(fullwidthRanges, codePoint);
1376
+ };
1377
+ var isWide = (codePoint) => {
1378
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
1379
+ return true;
1380
+ }
1381
+ if (codePoint < wideMinimalCodePoint || codePoint > wideMaximumCodePoint) {
1382
+ return false;
1383
+ }
1384
+ return isInRange(wideRanges, codePoint);
1385
+ };
1386
+
1387
+ // ../../node_modules/.pnpm/get-east-asian-width@1.6.0/node_modules/get-east-asian-width/index.js
1388
+ function validate(codePoint) {
1389
+ if (!Number.isSafeInteger(codePoint)) {
1390
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
1391
+ }
1392
+ }
1393
+ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
1394
+ validate(codePoint);
1395
+ if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
1396
+ return 2;
1397
+ }
1398
+ return 1;
1399
+ }
1400
+
1401
+ // ../../node_modules/.pnpm/emoji-regex@10.6.0/node_modules/emoji-regex/index.mjs
1402
+ var emoji_regex_default = () => {
1403
+ return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
1404
+ };
1405
+
1406
+ // ../../node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js
1407
+ var segmenter = new Intl.Segmenter();
1408
+ var defaultIgnorableCodePointRegex = new RegExp("^\\p{Default_Ignorable_Code_Point}$", "u");
1409
+ function stringWidth(string, options = {}) {
1410
+ if (typeof string !== "string" || string.length === 0) {
1411
+ return 0;
1412
+ }
1413
+ const {
1414
+ ambiguousIsNarrow = true,
1415
+ countAnsiEscapeCodes = false
1416
+ } = options;
1417
+ if (!countAnsiEscapeCodes) {
1418
+ string = stripAnsi(string);
1419
+ }
1420
+ if (string.length === 0) {
1421
+ return 0;
1422
+ }
1423
+ let width = 0;
1424
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
1425
+ for (const { segment: character } of segmenter.segment(string)) {
1426
+ const codePoint = character.codePointAt(0);
1427
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
1428
+ continue;
1429
+ }
1430
+ if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
1431
+ continue;
1432
+ }
1433
+ if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
1434
+ continue;
1435
+ }
1436
+ if (codePoint >= 55296 && codePoint <= 57343) {
1437
+ continue;
1438
+ }
1439
+ if (codePoint >= 65024 && codePoint <= 65039) {
1440
+ continue;
1441
+ }
1442
+ if (defaultIgnorableCodePointRegex.test(character)) {
1443
+ continue;
1444
+ }
1445
+ if (emoji_regex_default().test(character)) {
1446
+ width += 2;
1447
+ continue;
1448
+ }
1449
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
1450
+ }
1451
+ return width;
1452
+ }
1453
+
1454
+ // ../../node_modules/.pnpm/ansi-styles@6.2.3/node_modules/ansi-styles/index.js
1455
+ var ANSI_BACKGROUND_OFFSET = 10;
1456
+ var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
1457
+ var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
1458
+ var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
1459
+ var styles = {
1460
+ modifier: {
1461
+ reset: [0, 0],
1462
+ // 21 isn't widely supported and 22 does the same thing
1463
+ bold: [1, 22],
1464
+ dim: [2, 22],
1465
+ italic: [3, 23],
1466
+ underline: [4, 24],
1467
+ overline: [53, 55],
1468
+ inverse: [7, 27],
1469
+ hidden: [8, 28],
1470
+ strikethrough: [9, 29]
1471
+ },
1472
+ color: {
1473
+ black: [30, 39],
1474
+ red: [31, 39],
1475
+ green: [32, 39],
1476
+ yellow: [33, 39],
1477
+ blue: [34, 39],
1478
+ magenta: [35, 39],
1479
+ cyan: [36, 39],
1480
+ white: [37, 39],
1481
+ // Bright color
1482
+ blackBright: [90, 39],
1483
+ gray: [90, 39],
1484
+ // Alias of `blackBright`
1485
+ grey: [90, 39],
1486
+ // Alias of `blackBright`
1487
+ redBright: [91, 39],
1488
+ greenBright: [92, 39],
1489
+ yellowBright: [93, 39],
1490
+ blueBright: [94, 39],
1491
+ magentaBright: [95, 39],
1492
+ cyanBright: [96, 39],
1493
+ whiteBright: [97, 39]
1494
+ },
1495
+ bgColor: {
1496
+ bgBlack: [40, 49],
1497
+ bgRed: [41, 49],
1498
+ bgGreen: [42, 49],
1499
+ bgYellow: [43, 49],
1500
+ bgBlue: [44, 49],
1501
+ bgMagenta: [45, 49],
1502
+ bgCyan: [46, 49],
1503
+ bgWhite: [47, 49],
1504
+ // Bright color
1505
+ bgBlackBright: [100, 49],
1506
+ bgGray: [100, 49],
1507
+ // Alias of `bgBlackBright`
1508
+ bgGrey: [100, 49],
1509
+ // Alias of `bgBlackBright`
1510
+ bgRedBright: [101, 49],
1511
+ bgGreenBright: [102, 49],
1512
+ bgYellowBright: [103, 49],
1513
+ bgBlueBright: [104, 49],
1514
+ bgMagentaBright: [105, 49],
1515
+ bgCyanBright: [106, 49],
1516
+ bgWhiteBright: [107, 49]
1517
+ }
1518
+ };
1519
+ var modifierNames = Object.keys(styles.modifier);
1520
+ var foregroundColorNames = Object.keys(styles.color);
1521
+ var backgroundColorNames = Object.keys(styles.bgColor);
1522
+ var colorNames = [...foregroundColorNames, ...backgroundColorNames];
1523
+ function assembleStyles() {
1524
+ const codes = /* @__PURE__ */ new Map();
1525
+ for (const [groupName, group] of Object.entries(styles)) {
1526
+ for (const [styleName, style] of Object.entries(group)) {
1527
+ styles[styleName] = {
1528
+ open: `\x1B[${style[0]}m`,
1529
+ close: `\x1B[${style[1]}m`
1530
+ };
1531
+ group[styleName] = styles[styleName];
1532
+ codes.set(style[0], style[1]);
1533
+ }
1534
+ Object.defineProperty(styles, groupName, {
1535
+ value: group,
1536
+ enumerable: false
1537
+ });
1538
+ }
1539
+ Object.defineProperty(styles, "codes", {
1540
+ value: codes,
1541
+ enumerable: false
1542
+ });
1543
+ styles.color.close = "\x1B[39m";
1544
+ styles.bgColor.close = "\x1B[49m";
1545
+ styles.color.ansi = wrapAnsi16();
1546
+ styles.color.ansi256 = wrapAnsi256();
1547
+ styles.color.ansi16m = wrapAnsi16m();
1548
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
1549
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
1550
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
1551
+ Object.defineProperties(styles, {
1552
+ rgbToAnsi256: {
1553
+ value(red, green, blue) {
1554
+ if (red === green && green === blue) {
1555
+ if (red < 8) {
1556
+ return 16;
1557
+ }
1558
+ if (red > 248) {
1559
+ return 231;
1560
+ }
1561
+ return Math.round((red - 8) / 247 * 24) + 232;
1562
+ }
1563
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
1564
+ },
1565
+ enumerable: false
1566
+ },
1567
+ hexToRgb: {
1568
+ value(hex) {
1569
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
1570
+ if (!matches) {
1571
+ return [0, 0, 0];
1572
+ }
1573
+ let [colorString] = matches;
1574
+ if (colorString.length === 3) {
1575
+ colorString = [...colorString].map((character) => character + character).join("");
1576
+ }
1577
+ const integer = Number.parseInt(colorString, 16);
1578
+ return [
1579
+ /* eslint-disable no-bitwise */
1580
+ integer >> 16 & 255,
1581
+ integer >> 8 & 255,
1582
+ integer & 255
1583
+ /* eslint-enable no-bitwise */
1584
+ ];
1585
+ },
1586
+ enumerable: false
1587
+ },
1588
+ hexToAnsi256: {
1589
+ value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
1590
+ enumerable: false
1591
+ },
1592
+ ansi256ToAnsi: {
1593
+ value(code) {
1594
+ if (code < 8) {
1595
+ return 30 + code;
1596
+ }
1597
+ if (code < 16) {
1598
+ return 90 + (code - 8);
1599
+ }
1600
+ let red;
1601
+ let green;
1602
+ let blue;
1603
+ if (code >= 232) {
1604
+ red = ((code - 232) * 10 + 8) / 255;
1605
+ green = red;
1606
+ blue = red;
1607
+ } else {
1608
+ code -= 16;
1609
+ const remainder = code % 36;
1610
+ red = Math.floor(code / 36) / 5;
1611
+ green = Math.floor(remainder / 6) / 5;
1612
+ blue = remainder % 6 / 5;
1613
+ }
1614
+ const value = Math.max(red, green, blue) * 2;
1615
+ if (value === 0) {
1616
+ return 30;
1617
+ }
1618
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
1619
+ if (value === 2) {
1620
+ result += 60;
1621
+ }
1622
+ return result;
1623
+ },
1624
+ enumerable: false
1625
+ },
1626
+ rgbToAnsi: {
1627
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
1628
+ enumerable: false
1629
+ },
1630
+ hexToAnsi: {
1631
+ value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
1632
+ enumerable: false
1633
+ }
1634
+ });
1635
+ return styles;
1636
+ }
1637
+ var ansiStyles = assembleStyles();
1638
+ var ansi_styles_default = ansiStyles;
1639
+
1640
+ // ../../node_modules/.pnpm/wrap-ansi@9.0.2/node_modules/wrap-ansi/index.js
1641
+ var ESCAPES = /* @__PURE__ */ new Set([
1642
+ "\x1B",
1643
+ "\x9B"
1644
+ ]);
1645
+ var END_CODE = 39;
1646
+ var ANSI_ESCAPE_BELL = "\x07";
1647
+ var ANSI_CSI = "[";
1648
+ var ANSI_OSC = "]";
1649
+ var ANSI_SGR_TERMINATOR = "m";
1650
+ var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
1651
+ var wrapAnsiCode = (code) => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
1652
+ var wrapAnsiHyperlink = (url) => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;
1653
+ var wordLengths = (string) => string.split(" ").map((character) => stringWidth(character));
1654
+ var wrapWord = (rows, word, columns) => {
1655
+ const characters = [...word];
1656
+ let isInsideEscape = false;
1657
+ let isInsideLinkEscape = false;
1658
+ let visible = stringWidth(stripAnsi(rows.at(-1)));
1659
+ for (const [index, character] of characters.entries()) {
1660
+ const characterLength = stringWidth(character);
1661
+ if (visible + characterLength <= columns) {
1662
+ rows[rows.length - 1] += character;
1663
+ } else {
1664
+ rows.push(character);
1665
+ visible = 0;
1666
+ }
1667
+ if (ESCAPES.has(character)) {
1668
+ isInsideEscape = true;
1669
+ const ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join("");
1670
+ isInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;
1671
+ }
1672
+ if (isInsideEscape) {
1673
+ if (isInsideLinkEscape) {
1674
+ if (character === ANSI_ESCAPE_BELL) {
1675
+ isInsideEscape = false;
1676
+ isInsideLinkEscape = false;
1677
+ }
1678
+ } else if (character === ANSI_SGR_TERMINATOR) {
1679
+ isInsideEscape = false;
1680
+ }
1681
+ continue;
1682
+ }
1683
+ visible += characterLength;
1684
+ if (visible === columns && index < characters.length - 1) {
1685
+ rows.push("");
1686
+ visible = 0;
1687
+ }
1688
+ }
1689
+ if (!visible && rows.at(-1).length > 0 && rows.length > 1) {
1690
+ rows[rows.length - 2] += rows.pop();
1691
+ }
1692
+ };
1693
+ var stringVisibleTrimSpacesRight = (string) => {
1694
+ const words = string.split(" ");
1695
+ let last = words.length;
1696
+ while (last > 0) {
1697
+ if (stringWidth(words[last - 1]) > 0) {
1698
+ break;
1699
+ }
1700
+ last--;
1701
+ }
1702
+ if (last === words.length) {
1703
+ return string;
1704
+ }
1705
+ return words.slice(0, last).join(" ") + words.slice(last).join("");
1706
+ };
1707
+ var exec = (string, columns, options = {}) => {
1708
+ if (options.trim !== false && string.trim() === "") {
1709
+ return "";
1710
+ }
1711
+ let returnValue = "";
1712
+ let escapeCode;
1713
+ let escapeUrl;
1714
+ const lengths = wordLengths(string);
1715
+ let rows = [""];
1716
+ for (const [index, word] of string.split(" ").entries()) {
1717
+ if (options.trim !== false) {
1718
+ rows[rows.length - 1] = rows.at(-1).trimStart();
1719
+ }
1720
+ let rowLength = stringWidth(rows.at(-1));
1721
+ if (index !== 0) {
1722
+ if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
1723
+ rows.push("");
1724
+ rowLength = 0;
1725
+ }
1726
+ if (rowLength > 0 || options.trim === false) {
1727
+ rows[rows.length - 1] += " ";
1728
+ rowLength++;
1729
+ }
1730
+ }
1731
+ if (options.hard && lengths[index] > columns) {
1732
+ const remainingColumns = columns - rowLength;
1733
+ const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
1734
+ const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
1735
+ if (breaksStartingNextLine < breaksStartingThisLine) {
1736
+ rows.push("");
1737
+ }
1738
+ wrapWord(rows, word, columns);
1739
+ continue;
1740
+ }
1741
+ if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
1742
+ if (options.wordWrap === false && rowLength < columns) {
1743
+ wrapWord(rows, word, columns);
1744
+ continue;
1745
+ }
1746
+ rows.push("");
1747
+ }
1748
+ if (rowLength + lengths[index] > columns && options.wordWrap === false) {
1749
+ wrapWord(rows, word, columns);
1750
+ continue;
1751
+ }
1752
+ rows[rows.length - 1] += word;
1753
+ }
1754
+ if (options.trim !== false) {
1755
+ rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
1756
+ }
1757
+ const preString = rows.join("\n");
1758
+ const pre = [...preString];
1759
+ let preStringIndex = 0;
1760
+ for (const [index, character] of pre.entries()) {
1761
+ returnValue += character;
1762
+ if (ESCAPES.has(character)) {
1763
+ const { groups } = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || { groups: {} };
1764
+ if (groups.code !== void 0) {
1765
+ const code2 = Number.parseFloat(groups.code);
1766
+ escapeCode = code2 === END_CODE ? void 0 : code2;
1767
+ } else if (groups.uri !== void 0) {
1768
+ escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri;
1769
+ }
1770
+ }
1771
+ const code = ansi_styles_default.codes.get(Number(escapeCode));
1772
+ if (pre[index + 1] === "\n") {
1773
+ if (escapeUrl) {
1774
+ returnValue += wrapAnsiHyperlink("");
1775
+ }
1776
+ if (escapeCode && code) {
1777
+ returnValue += wrapAnsiCode(code);
1778
+ }
1779
+ } else if (character === "\n") {
1780
+ if (escapeCode && code) {
1781
+ returnValue += wrapAnsiCode(escapeCode);
1782
+ }
1783
+ if (escapeUrl) {
1784
+ returnValue += wrapAnsiHyperlink(escapeUrl);
1785
+ }
1786
+ }
1787
+ preStringIndex += character.length;
1788
+ }
1789
+ return returnValue;
1790
+ };
1791
+ function wrapAnsi(string, columns, options) {
1792
+ return String(string).normalize().replaceAll("\r\n", "\n").split("\n").map((line) => exec(line, columns, options)).join("\n");
1793
+ }
1794
+
1795
+ // ../../node_modules/.pnpm/cliui@9.0.1/node_modules/cliui/index.mjs
1796
+ function ui(opts) {
1797
+ return cliui(opts, {
1798
+ stringWidth,
1799
+ stripAnsi,
1800
+ wrap: wrapAnsi
1801
+ });
1802
+ }
1803
+
1804
+ // ../../node_modules/.pnpm/escalade@3.2.0/node_modules/escalade/sync/index.mjs
1805
+ import { dirname, resolve as resolve2 } from "path";
1806
+ import { readdirSync, statSync } from "fs";
1807
+ function sync_default(start, callback) {
1808
+ let dir = resolve2(".", start);
1809
+ let tmp, stats = statSync(dir);
1810
+ if (!stats.isDirectory()) {
1811
+ dir = dirname(dir);
1812
+ }
1813
+ while (true) {
1814
+ tmp = callback(dir, readdirSync(dir));
1815
+ if (tmp) return resolve2(dir, tmp);
1816
+ dir = dirname(tmp = dir);
1817
+ if (tmp === dir) break;
1818
+ }
1819
+ }
1820
+
1821
+ // ../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/lib/platform-shims/esm.mjs
1822
+ import { inspect } from "util";
1823
+ import { fileURLToPath } from "url";
1824
+ import { basename, dirname as dirname2, extname, relative, resolve as resolve4, join } from "path";
1825
+
1826
+ // ../../node_modules/.pnpm/string-width@8.2.2/node_modules/string-width/index.js
1827
+ var segmenter2 = new Intl.Segmenter();
1828
+ var zeroWidthClusterRegex = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Nonspacing_Mark}|\\p{Enclosing_Mark}|\\p{Surrogate})+$", "v");
1829
+ var leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]+", "v");
1830
+ var spacingMarkRegex = new RegExp("\\p{Spacing_Mark}", "v");
1831
+ var rgiEmojiRegex = new RegExp("^\\p{RGI_Emoji}$", "v");
1832
+ var unqualifiedKeycapRegex = /^[\d#*]\u20E3$/;
1833
+ var extendedPictographicRegex = new RegExp("\\p{Extended_Pictographic}", "gu");
1834
+ function isDoubleWidthNonRgiEmojiSequence(segment) {
1835
+ if (segment.length > 50) {
1836
+ return false;
1837
+ }
1838
+ if (unqualifiedKeycapRegex.test(segment)) {
1839
+ return true;
1840
+ }
1841
+ if (segment.includes("\u200D")) {
1842
+ const pictographics = segment.match(extendedPictographicRegex);
1843
+ return pictographics !== null && pictographics.length >= 2;
1844
+ }
1845
+ return false;
1846
+ }
1847
+ function baseVisible(segment) {
1848
+ return segment.replace(leadingNonPrintingRegex, "");
1849
+ }
1850
+ function isZeroWidthCluster(segment) {
1851
+ return zeroWidthClusterRegex.test(segment);
1852
+ }
1853
+ function isHangulLeadingJamo(codePoint) {
1854
+ return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 43360 && codePoint <= 43388;
1855
+ }
1856
+ function isHangulVowelJamo(codePoint) {
1857
+ return codePoint >= 4448 && codePoint <= 4519 || codePoint >= 55216 && codePoint <= 55238;
1858
+ }
1859
+ function isHangulTrailingJamo(codePoint) {
1860
+ return codePoint >= 4520 && codePoint <= 4607 || codePoint >= 55243 && codePoint <= 55291;
1861
+ }
1862
+ function isHangulJamo(codePoint) {
1863
+ return isHangulLeadingJamo(codePoint) || isHangulVowelJamo(codePoint) || isHangulTrailingJamo(codePoint);
1864
+ }
1865
+ function hangulClusterWidth(visibleSegment, eastAsianWidthOptions) {
1866
+ const codePoints = [];
1867
+ for (const character of visibleSegment) {
1868
+ if (zeroWidthClusterRegex.test(character)) {
1869
+ continue;
1870
+ }
1871
+ codePoints.push(character.codePointAt(0));
1872
+ }
1873
+ if (codePoints.length === 0) {
1874
+ return void 0;
1875
+ }
1876
+ let width = 0;
1877
+ for (let index = 0; index < codePoints.length; index++) {
1878
+ const codePoint = codePoints[index];
1879
+ if (!isHangulJamo(codePoint)) {
1880
+ if (width === 0) {
1881
+ return void 0;
1882
+ }
1883
+ for (let remaining = index; remaining < codePoints.length; remaining++) {
1884
+ width += eastAsianWidth(codePoints[remaining], eastAsianWidthOptions);
1885
+ }
1886
+ return width;
1887
+ }
1888
+ if (isHangulLeadingJamo(codePoint) && isHangulVowelJamo(codePoints[index + 1])) {
1889
+ width += 2;
1890
+ index += isHangulTrailingJamo(codePoints[index + 2]) ? 2 : 1;
1891
+ continue;
1892
+ }
1893
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
1894
+ }
1895
+ return width;
1896
+ }
1897
+ function trailingWidth(visibleSegment, eastAsianWidthOptions) {
1898
+ let extra = 0;
1899
+ let first = true;
1900
+ for (const character of visibleSegment) {
1901
+ if (first) {
1902
+ first = false;
1903
+ continue;
1904
+ }
1905
+ if (spacingMarkRegex.test(character) || character >= "\uFF00" && character <= "\uFFEF") {
1906
+ extra += eastAsianWidth(character.codePointAt(0), eastAsianWidthOptions);
1907
+ }
1908
+ }
1909
+ return extra;
1910
+ }
1911
+ function stringWidth2(input, options = {}) {
1912
+ if (typeof input !== "string" || input.length === 0) {
1913
+ return 0;
1914
+ }
1915
+ const {
1916
+ ambiguousIsNarrow = true,
1917
+ countAnsiEscapeCodes = false
1918
+ } = options;
1919
+ let string = input;
1920
+ if (!countAnsiEscapeCodes && (string.includes("\x1B") || string.includes("\x9B"))) {
1921
+ string = stripAnsi(string);
1922
+ }
1923
+ if (string.length === 0) {
1924
+ return 0;
1925
+ }
1926
+ if (/^[\u0020-\u007E]*$/.test(string)) {
1927
+ return string.length;
1928
+ }
1929
+ let width = 0;
1930
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
1931
+ for (const { segment } of segmenter2.segment(string)) {
1932
+ if (isZeroWidthCluster(segment)) {
1933
+ continue;
1934
+ }
1935
+ if (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {
1936
+ width += 2;
1937
+ continue;
1938
+ }
1939
+ const visibleSegment = baseVisible(segment);
1940
+ const hangulWidth = hangulClusterWidth(visibleSegment, eastAsianWidthOptions);
1941
+ if (hangulWidth !== void 0) {
1942
+ width += hangulWidth;
1943
+ continue;
1944
+ }
1945
+ const codePoint = visibleSegment.codePointAt(0);
1946
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
1947
+ width += trailingWidth(visibleSegment, eastAsianWidthOptions);
1948
+ }
1949
+ return width;
1950
+ }
1951
+
1952
+ // ../../node_modules/.pnpm/y18n@5.0.8/node_modules/y18n/build/lib/platform-shims/node.js
1953
+ import { readFileSync as readFileSync2, statSync as statSync2, writeFile } from "fs";
1954
+ import { format as format2 } from "util";
1955
+ import { resolve as resolve3 } from "path";
1956
+ var node_default = {
1957
+ fs: {
1958
+ readFileSync: readFileSync2,
1959
+ writeFile
1960
+ },
1961
+ format: format2,
1962
+ resolve: resolve3,
1963
+ exists: (file) => {
1964
+ try {
1965
+ return statSync2(file).isFile();
1966
+ } catch (err) {
1967
+ return false;
1968
+ }
1969
+ }
1970
+ };
1971
+
1972
+ // ../../node_modules/.pnpm/y18n@5.0.8/node_modules/y18n/build/lib/index.js
1973
+ var shim;
1974
+ var Y18N = class {
1975
+ constructor(opts) {
1976
+ opts = opts || {};
1977
+ this.directory = opts.directory || "./locales";
1978
+ this.updateFiles = typeof opts.updateFiles === "boolean" ? opts.updateFiles : true;
1979
+ this.locale = opts.locale || "en";
1980
+ this.fallbackToLanguage = typeof opts.fallbackToLanguage === "boolean" ? opts.fallbackToLanguage : true;
1981
+ this.cache = /* @__PURE__ */ Object.create(null);
1982
+ this.writeQueue = [];
1983
+ }
1984
+ __(...args) {
1985
+ if (typeof arguments[0] !== "string") {
1986
+ return this._taggedLiteral(arguments[0], ...arguments);
1987
+ }
1988
+ const str = args.shift();
1989
+ let cb = function() {
1990
+ };
1991
+ if (typeof args[args.length - 1] === "function")
1992
+ cb = args.pop();
1993
+ cb = cb || function() {
1994
+ };
1995
+ if (!this.cache[this.locale])
1996
+ this._readLocaleFile();
1997
+ if (!this.cache[this.locale][str] && this.updateFiles) {
1998
+ this.cache[this.locale][str] = str;
1999
+ this._enqueueWrite({
2000
+ directory: this.directory,
2001
+ locale: this.locale,
2002
+ cb
2003
+ });
2004
+ } else {
2005
+ cb();
2006
+ }
2007
+ return shim.format.apply(shim.format, [this.cache[this.locale][str] || str].concat(args));
2008
+ }
2009
+ __n() {
2010
+ const args = Array.prototype.slice.call(arguments);
2011
+ const singular = args.shift();
2012
+ const plural = args.shift();
2013
+ const quantity = args.shift();
2014
+ let cb = function() {
2015
+ };
2016
+ if (typeof args[args.length - 1] === "function")
2017
+ cb = args.pop();
2018
+ if (!this.cache[this.locale])
2019
+ this._readLocaleFile();
2020
+ let str = quantity === 1 ? singular : plural;
2021
+ if (this.cache[this.locale][singular]) {
2022
+ const entry = this.cache[this.locale][singular];
2023
+ str = entry[quantity === 1 ? "one" : "other"];
2024
+ }
2025
+ if (!this.cache[this.locale][singular] && this.updateFiles) {
2026
+ this.cache[this.locale][singular] = {
2027
+ one: singular,
2028
+ other: plural
2029
+ };
2030
+ this._enqueueWrite({
2031
+ directory: this.directory,
2032
+ locale: this.locale,
2033
+ cb
2034
+ });
2035
+ } else {
2036
+ cb();
2037
+ }
2038
+ const values = [str];
2039
+ if (~str.indexOf("%d"))
2040
+ values.push(quantity);
2041
+ return shim.format.apply(shim.format, values.concat(args));
2042
+ }
2043
+ setLocale(locale) {
2044
+ this.locale = locale;
2045
+ }
2046
+ getLocale() {
2047
+ return this.locale;
2048
+ }
2049
+ updateLocale(obj) {
2050
+ if (!this.cache[this.locale])
2051
+ this._readLocaleFile();
2052
+ for (const key in obj) {
2053
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
2054
+ this.cache[this.locale][key] = obj[key];
2055
+ }
2056
+ }
2057
+ }
2058
+ _taggedLiteral(parts, ...args) {
2059
+ let str = "";
2060
+ parts.forEach(function(part, i) {
2061
+ const arg = args[i + 1];
2062
+ str += part;
2063
+ if (typeof arg !== "undefined") {
2064
+ str += "%s";
2065
+ }
2066
+ });
2067
+ return this.__.apply(this, [str].concat([].slice.call(args, 1)));
2068
+ }
2069
+ _enqueueWrite(work) {
2070
+ this.writeQueue.push(work);
2071
+ if (this.writeQueue.length === 1)
2072
+ this._processWriteQueue();
2073
+ }
2074
+ _processWriteQueue() {
2075
+ const _this = this;
2076
+ const work = this.writeQueue[0];
2077
+ const directory = work.directory;
2078
+ const locale = work.locale;
2079
+ const cb = work.cb;
2080
+ const languageFile = this._resolveLocaleFile(directory, locale);
2081
+ const serializedLocale = JSON.stringify(this.cache[locale], null, 2);
2082
+ shim.fs.writeFile(languageFile, serializedLocale, "utf-8", function(err) {
2083
+ _this.writeQueue.shift();
2084
+ if (_this.writeQueue.length > 0)
2085
+ _this._processWriteQueue();
2086
+ cb(err);
2087
+ });
2088
+ }
2089
+ _readLocaleFile() {
2090
+ let localeLookup = {};
2091
+ const languageFile = this._resolveLocaleFile(this.directory, this.locale);
2092
+ try {
2093
+ if (shim.fs.readFileSync) {
2094
+ localeLookup = JSON.parse(shim.fs.readFileSync(languageFile, "utf-8"));
2095
+ }
2096
+ } catch (err) {
2097
+ if (err instanceof SyntaxError) {
2098
+ err.message = "syntax error in " + languageFile;
2099
+ }
2100
+ if (err.code === "ENOENT")
2101
+ localeLookup = {};
2102
+ else
2103
+ throw err;
2104
+ }
2105
+ this.cache[this.locale] = localeLookup;
2106
+ }
2107
+ _resolveLocaleFile(directory, locale) {
2108
+ let file = shim.resolve(directory, "./", locale + ".json");
2109
+ if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf("_")) {
2110
+ const languageFile = shim.resolve(directory, "./", locale.split("_")[0] + ".json");
2111
+ if (this._fileExistsSync(languageFile))
2112
+ file = languageFile;
2113
+ }
2114
+ return file;
2115
+ }
2116
+ _fileExistsSync(file) {
2117
+ return shim.exists(file);
2118
+ }
2119
+ };
2120
+ function y18n(opts, _shim) {
2121
+ shim = _shim;
2122
+ const y18n3 = new Y18N(opts);
2123
+ return {
2124
+ __: y18n3.__.bind(y18n3),
2125
+ __n: y18n3.__n.bind(y18n3),
2126
+ setLocale: y18n3.setLocale.bind(y18n3),
2127
+ getLocale: y18n3.getLocale.bind(y18n3),
2128
+ updateLocale: y18n3.updateLocale.bind(y18n3),
2129
+ locale: y18n3.locale
2130
+ };
2131
+ }
2132
+
2133
+ // ../../node_modules/.pnpm/y18n@5.0.8/node_modules/y18n/index.mjs
2134
+ var y18n2 = (opts) => {
2135
+ return y18n(opts, node_default);
2136
+ };
2137
+ var y18n_default = y18n2;
2138
+
2139
+ // ../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/lib/platform-shims/esm.mjs
2140
+ var import_get_caller_file = __toESM(require_get_caller_file(), 1);
2141
+ import { createRequire as createRequire2 } from "module";
2142
+ import { readFileSync as readFileSync3, readdirSync as readdirSync2 } from "fs";
2143
+ var __dirname = fileURLToPath(import.meta.url);
2144
+ var mainFilename = __dirname.substring(0, __dirname.lastIndexOf("node_modules"));
2145
+ var require3 = createRequire2(import.meta.url);
2146
+ var esm_default = {
2147
+ assert: {
2148
+ notStrictEqual,
2149
+ strictEqual
2150
+ },
2151
+ cliui: ui,
2152
+ findUp: sync_default,
2153
+ getEnv: (key) => {
2154
+ return process.env[key];
2155
+ },
2156
+ inspect,
2157
+ getProcessArgvBin,
2158
+ mainFilename: mainFilename || process.cwd(),
2159
+ Parser: lib_default,
2160
+ path: {
2161
+ basename,
2162
+ dirname: dirname2,
2163
+ extname,
2164
+ relative,
2165
+ resolve: resolve4,
2166
+ join
2167
+ },
2168
+ process: {
2169
+ argv: () => process.argv,
2170
+ cwd: process.cwd,
2171
+ emitWarning: (warning, type) => process.emitWarning(warning, type),
2172
+ execPath: () => process.execPath,
2173
+ exit: (code) => {
2174
+ process.exit(code);
2175
+ },
2176
+ nextTick: process.nextTick,
2177
+ stdColumns: typeof process.stdout.columns !== "undefined" ? process.stdout.columns : null
2178
+ },
2179
+ readFileSync: readFileSync3,
2180
+ readdirSync: readdirSync2,
2181
+ require: require3,
2182
+ getCallerFile: () => {
2183
+ const callerFile = (0, import_get_caller_file.default)(3);
2184
+ return callerFile.match(/^file:\/\//) ? fileURLToPath(callerFile) : callerFile;
2185
+ },
2186
+ stringWidth: stringWidth2,
2187
+ y18n: y18n_default({
2188
+ directory: resolve4(__dirname, "../../../locales"),
2189
+ updateFiles: false
2190
+ })
2191
+ };
2192
+
2193
+ // ../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/build/lib/yerror.js
2194
+ var YError = class _YError extends Error {
2195
+ constructor(msg) {
2196
+ super(msg || "yargs error");
2197
+ this.name = "YError";
2198
+ if (Error.captureStackTrace) {
2199
+ Error.captureStackTrace(this, _YError);
2200
+ }
2201
+ }
2202
+ };
2203
+
2204
+ // ../../node_modules/.pnpm/yargs@18.1.0/node_modules/yargs/build/lib/utils/apply-extends.js
2205
+ var previouslyVisitedConfigs = [];
2206
+ var shim2;
2207
+ function applyExtends(config, cwd, mergeExtends, _shim) {
2208
+ shim2 = _shim;
2209
+ let defaultConfig = {};
2210
+ if (Object.prototype.hasOwnProperty.call(config, "extends")) {
2211
+ if (typeof config.extends !== "string")
2212
+ return defaultConfig;
2213
+ const isPath = /\.json|\..*rc$/.test(config.extends);
2214
+ let pathToDefault = null;
2215
+ if (!isPath) {
2216
+ try {
2217
+ pathToDefault = import.meta.resolve(config.extends);
2218
+ } catch (_err) {
2219
+ return config;
2220
+ }
2221
+ } else {
2222
+ pathToDefault = getPathToDefaultConfig(cwd, config.extends);
2223
+ }
2224
+ checkForCircularExtends(pathToDefault);
2225
+ previouslyVisitedConfigs.push(pathToDefault);
2226
+ defaultConfig = isPath ? JSON.parse(shim2.readFileSync(pathToDefault, "utf8")) : _shim.require(config.extends);
2227
+ delete config.extends;
2228
+ defaultConfig = applyExtends(defaultConfig, shim2.path.dirname(pathToDefault), mergeExtends, shim2);
2229
+ }
2230
+ previouslyVisitedConfigs = [];
2231
+ return mergeExtends ? mergeDeep(defaultConfig, config) : Object.assign({}, defaultConfig, config);
2232
+ }
2233
+ function checkForCircularExtends(cfgPath) {
2234
+ if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {
2235
+ throw new YError(`Circular extended configurations: '${cfgPath}'.`);
2236
+ }
2237
+ }
2238
+ function getPathToDefaultConfig(cwd, pathToExtend) {
2239
+ return shim2.path.resolve(cwd, pathToExtend);
2240
+ }
2241
+ function mergeDeep(config1, config2) {
2242
+ const target = {};
2243
+ function isObject(obj) {
2244
+ return obj && typeof obj === "object" && !Array.isArray(obj);
2245
+ }
2246
+ Object.assign(target, config1);
2247
+ for (const key of Object.keys(config2)) {
2248
+ if (key === "__proto__")
2249
+ continue;
2250
+ if (isObject(config2[key]) && isObject(target[key])) {
2251
+ target[key] = mergeDeep(config1[key], config2[key]);
2252
+ } else {
2253
+ target[key] = config2[key];
2254
+ }
2255
+ }
2256
+ return target;
2257
+ }
2258
+
2259
+ export {
2260
+ lib_default,
2261
+ hideBin,
2262
+ esm_default,
2263
+ YError,
2264
+ applyExtends
2265
+ };
2266
+ /*! Bundled license information:
2267
+
2268
+ yargs-parser/build/lib/string-utils.js:
2269
+ yargs-parser/build/lib/tokenize-arg-string.js:
2270
+ yargs-parser/build/lib/yargs-parser-types.js:
2271
+ yargs-parser/build/lib/yargs-parser.js:
2272
+ (**
2273
+ * @license
2274
+ * Copyright (c) 2016, Contributors
2275
+ * SPDX-License-Identifier: ISC
2276
+ *)
2277
+
2278
+ yargs-parser/build/lib/index.js:
2279
+ (**
2280
+ * @fileoverview Main entrypoint for libraries using yargs-parser in Node.js
2281
+ *
2282
+ * @license
2283
+ * Copyright (c) 2016, Contributors
2284
+ * SPDX-License-Identifier: ISC
2285
+ *)
2286
+ */
2287
+ //# sourceMappingURL=chunk-V4BIHFVZ.js.map