nococli 1.0.0 → 1.0.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.
package/dist/uninstall.js CHANGED
@@ -46,495 +46,6 @@ var __export = (target, all) => {
46
46
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
47
47
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
48
48
 
49
- // node_modules/chalk/source/vendor/ansi-styles/index.js
50
- function assembleStyles() {
51
- const codes = new Map;
52
- for (const [groupName, group] of Object.entries(styles)) {
53
- for (const [styleName, style] of Object.entries(group)) {
54
- styles[styleName] = {
55
- open: `\x1B[${style[0]}m`,
56
- close: `\x1B[${style[1]}m`
57
- };
58
- group[styleName] = styles[styleName];
59
- codes.set(style[0], style[1]);
60
- }
61
- Object.defineProperty(styles, groupName, {
62
- value: group,
63
- enumerable: false
64
- });
65
- }
66
- Object.defineProperty(styles, "codes", {
67
- value: codes,
68
- enumerable: false
69
- });
70
- styles.color.close = "\x1B[39m";
71
- styles.bgColor.close = "\x1B[49m";
72
- styles.color.ansi = wrapAnsi16();
73
- styles.color.ansi256 = wrapAnsi256();
74
- styles.color.ansi16m = wrapAnsi16m();
75
- styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
76
- styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
77
- styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
78
- Object.defineProperties(styles, {
79
- rgbToAnsi256: {
80
- value(red, green, blue) {
81
- if (red === green && green === blue) {
82
- if (red < 8) {
83
- return 16;
84
- }
85
- if (red > 248) {
86
- return 231;
87
- }
88
- return Math.round((red - 8) / 247 * 24) + 232;
89
- }
90
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
91
- },
92
- enumerable: false
93
- },
94
- hexToRgb: {
95
- value(hex) {
96
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
97
- if (!matches) {
98
- return [0, 0, 0];
99
- }
100
- let [colorString] = matches;
101
- if (colorString.length === 3) {
102
- colorString = [...colorString].map((character) => character + character).join("");
103
- }
104
- const integer = Number.parseInt(colorString, 16);
105
- return [
106
- integer >> 16 & 255,
107
- integer >> 8 & 255,
108
- integer & 255
109
- ];
110
- },
111
- enumerable: false
112
- },
113
- hexToAnsi256: {
114
- value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
115
- enumerable: false
116
- },
117
- ansi256ToAnsi: {
118
- value(code) {
119
- if (code < 8) {
120
- return 30 + code;
121
- }
122
- if (code < 16) {
123
- return 90 + (code - 8);
124
- }
125
- let red;
126
- let green;
127
- let blue;
128
- if (code >= 232) {
129
- red = ((code - 232) * 10 + 8) / 255;
130
- green = red;
131
- blue = red;
132
- } else {
133
- code -= 16;
134
- const remainder = code % 36;
135
- red = Math.floor(code / 36) / 5;
136
- green = Math.floor(remainder / 6) / 5;
137
- blue = remainder % 6 / 5;
138
- }
139
- const value = Math.max(red, green, blue) * 2;
140
- if (value === 0) {
141
- return 30;
142
- }
143
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
144
- if (value === 2) {
145
- result += 60;
146
- }
147
- return result;
148
- },
149
- enumerable: false
150
- },
151
- rgbToAnsi: {
152
- value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
153
- enumerable: false
154
- },
155
- hexToAnsi: {
156
- value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
157
- enumerable: false
158
- }
159
- });
160
- return styles;
161
- }
162
- var ANSI_BACKGROUND_OFFSET = 10, wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`, wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, styles, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default;
163
- var init_ansi_styles = __esm(() => {
164
- styles = {
165
- modifier: {
166
- reset: [0, 0],
167
- bold: [1, 22],
168
- dim: [2, 22],
169
- italic: [3, 23],
170
- underline: [4, 24],
171
- overline: [53, 55],
172
- inverse: [7, 27],
173
- hidden: [8, 28],
174
- strikethrough: [9, 29]
175
- },
176
- color: {
177
- black: [30, 39],
178
- red: [31, 39],
179
- green: [32, 39],
180
- yellow: [33, 39],
181
- blue: [34, 39],
182
- magenta: [35, 39],
183
- cyan: [36, 39],
184
- white: [37, 39],
185
- blackBright: [90, 39],
186
- gray: [90, 39],
187
- grey: [90, 39],
188
- redBright: [91, 39],
189
- greenBright: [92, 39],
190
- yellowBright: [93, 39],
191
- blueBright: [94, 39],
192
- magentaBright: [95, 39],
193
- cyanBright: [96, 39],
194
- whiteBright: [97, 39]
195
- },
196
- bgColor: {
197
- bgBlack: [40, 49],
198
- bgRed: [41, 49],
199
- bgGreen: [42, 49],
200
- bgYellow: [43, 49],
201
- bgBlue: [44, 49],
202
- bgMagenta: [45, 49],
203
- bgCyan: [46, 49],
204
- bgWhite: [47, 49],
205
- bgBlackBright: [100, 49],
206
- bgGray: [100, 49],
207
- bgGrey: [100, 49],
208
- bgRedBright: [101, 49],
209
- bgGreenBright: [102, 49],
210
- bgYellowBright: [103, 49],
211
- bgBlueBright: [104, 49],
212
- bgMagentaBright: [105, 49],
213
- bgCyanBright: [106, 49],
214
- bgWhiteBright: [107, 49]
215
- }
216
- };
217
- modifierNames = Object.keys(styles.modifier);
218
- foregroundColorNames = Object.keys(styles.color);
219
- backgroundColorNames = Object.keys(styles.bgColor);
220
- colorNames = [...foregroundColorNames, ...backgroundColorNames];
221
- ansiStyles = assembleStyles();
222
- ansi_styles_default = ansiStyles;
223
- });
224
-
225
- // node_modules/chalk/source/vendor/supports-color/index.js
226
- import process2 from "node:process";
227
- import os from "node:os";
228
- import tty from "node:tty";
229
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
230
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
231
- const position = argv.indexOf(prefix + flag);
232
- const terminatorPosition = argv.indexOf("--");
233
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
234
- }
235
- function envForceColor() {
236
- if ("FORCE_COLOR" in env) {
237
- if (env.FORCE_COLOR === "true") {
238
- return 1;
239
- }
240
- if (env.FORCE_COLOR === "false") {
241
- return 0;
242
- }
243
- return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
244
- }
245
- }
246
- function translateLevel(level) {
247
- if (level === 0) {
248
- return false;
249
- }
250
- return {
251
- level,
252
- hasBasic: true,
253
- has256: level >= 2,
254
- has16m: level >= 3
255
- };
256
- }
257
- function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
258
- const noFlagForceColor = envForceColor();
259
- if (noFlagForceColor !== undefined) {
260
- flagForceColor = noFlagForceColor;
261
- }
262
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
263
- if (forceColor === 0) {
264
- return 0;
265
- }
266
- if (sniffFlags) {
267
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
268
- return 3;
269
- }
270
- if (hasFlag("color=256")) {
271
- return 2;
272
- }
273
- }
274
- if ("TF_BUILD" in env && "AGENT_NAME" in env) {
275
- return 1;
276
- }
277
- if (haveStream && !streamIsTTY && forceColor === undefined) {
278
- return 0;
279
- }
280
- const min = forceColor || 0;
281
- if (env.TERM === "dumb") {
282
- return min;
283
- }
284
- if (process2.platform === "win32") {
285
- const osRelease = os.release().split(".");
286
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
287
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
288
- }
289
- return 1;
290
- }
291
- if ("CI" in env) {
292
- if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
293
- return 3;
294
- }
295
- if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
296
- return 1;
297
- }
298
- return min;
299
- }
300
- if ("TEAMCITY_VERSION" in env) {
301
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
302
- }
303
- if (env.COLORTERM === "truecolor") {
304
- return 3;
305
- }
306
- if (env.TERM === "xterm-kitty") {
307
- return 3;
308
- }
309
- if (env.TERM === "xterm-ghostty") {
310
- return 3;
311
- }
312
- if (env.TERM === "wezterm") {
313
- return 3;
314
- }
315
- if ("TERM_PROGRAM" in env) {
316
- const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
317
- switch (env.TERM_PROGRAM) {
318
- case "iTerm.app": {
319
- return version >= 3 ? 3 : 2;
320
- }
321
- case "Apple_Terminal": {
322
- return 2;
323
- }
324
- }
325
- }
326
- if (/-256(color)?$/i.test(env.TERM)) {
327
- return 2;
328
- }
329
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
330
- return 1;
331
- }
332
- if ("COLORTERM" in env) {
333
- return 1;
334
- }
335
- return min;
336
- }
337
- function createSupportsColor(stream, options = {}) {
338
- const level = _supportsColor(stream, {
339
- streamIsTTY: stream && stream.isTTY,
340
- ...options
341
- });
342
- return translateLevel(level);
343
- }
344
- var env, flagForceColor, supportsColor, supports_color_default;
345
- var init_supports_color = __esm(() => {
346
- ({ env } = process2);
347
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
348
- flagForceColor = 0;
349
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
350
- flagForceColor = 1;
351
- }
352
- supportsColor = {
353
- stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
354
- stderr: createSupportsColor({ isTTY: tty.isatty(2) })
355
- };
356
- supports_color_default = supportsColor;
357
- });
358
-
359
- // node_modules/chalk/source/utilities.js
360
- function stringReplaceAll(string, substring, replacer) {
361
- let index = string.indexOf(substring);
362
- if (index === -1) {
363
- return string;
364
- }
365
- const substringLength = substring.length;
366
- let endIndex = 0;
367
- let returnValue = "";
368
- do {
369
- returnValue += string.slice(endIndex, index) + substring + replacer;
370
- endIndex = index + substringLength;
371
- index = string.indexOf(substring, endIndex);
372
- } while (index !== -1);
373
- returnValue += string.slice(endIndex);
374
- return returnValue;
375
- }
376
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
377
- let endIndex = 0;
378
- let returnValue = "";
379
- do {
380
- const gotCR = string[index - 1] === "\r";
381
- returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
382
- ` : `
383
- `) + postfix;
384
- endIndex = index + 1;
385
- index = string.indexOf(`
386
- `, endIndex);
387
- } while (index !== -1);
388
- returnValue += string.slice(endIndex);
389
- return returnValue;
390
- }
391
-
392
- // node_modules/chalk/source/index.js
393
- function createChalk(options) {
394
- return chalkFactory(options);
395
- }
396
- var stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles2, applyOptions = (object, options = {}) => {
397
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
398
- throw new Error("The `level` option should be an integer from 0 to 3");
399
- }
400
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
401
- object.level = options.level === undefined ? colorLevel : options.level;
402
- }, chalkFactory = (options) => {
403
- const chalk = (...strings) => strings.join(" ");
404
- applyOptions(chalk, options);
405
- Object.setPrototypeOf(chalk, createChalk.prototype);
406
- return chalk;
407
- }, getModelAnsi = (model, level, type, ...arguments_) => {
408
- if (model === "rgb") {
409
- if (level === "ansi16m") {
410
- return ansi_styles_default[type].ansi16m(...arguments_);
411
- }
412
- if (level === "ansi256") {
413
- return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
414
- }
415
- return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
416
- }
417
- if (model === "hex") {
418
- return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
419
- }
420
- return ansi_styles_default[type][model](...arguments_);
421
- }, usedModels, proto, createStyler = (open, close, parent) => {
422
- let openAll;
423
- let closeAll;
424
- if (parent === undefined) {
425
- openAll = open;
426
- closeAll = close;
427
- } else {
428
- openAll = parent.openAll + open;
429
- closeAll = close + parent.closeAll;
430
- }
431
- return {
432
- open,
433
- close,
434
- openAll,
435
- closeAll,
436
- parent
437
- };
438
- }, createBuilder = (self, _styler, _isEmpty) => {
439
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
440
- Object.setPrototypeOf(builder, proto);
441
- builder[GENERATOR] = self;
442
- builder[STYLER] = _styler;
443
- builder[IS_EMPTY] = _isEmpty;
444
- return builder;
445
- }, applyStyle = (self, string) => {
446
- if (self.level <= 0 || !string) {
447
- return self[IS_EMPTY] ? "" : string;
448
- }
449
- let styler = self[STYLER];
450
- if (styler === undefined) {
451
- return string;
452
- }
453
- const { openAll, closeAll } = styler;
454
- if (string.includes("\x1B")) {
455
- while (styler !== undefined) {
456
- string = stringReplaceAll(string, styler.close, styler.open);
457
- styler = styler.parent;
458
- }
459
- }
460
- const lfIndex = string.indexOf(`
461
- `);
462
- if (lfIndex !== -1) {
463
- string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
464
- }
465
- return openAll + string + closeAll;
466
- }, chalk, chalkStderr, source_default;
467
- var init_source = __esm(() => {
468
- init_ansi_styles();
469
- init_supports_color();
470
- ({ stdout: stdoutColor, stderr: stderrColor } = supports_color_default);
471
- GENERATOR = Symbol("GENERATOR");
472
- STYLER = Symbol("STYLER");
473
- IS_EMPTY = Symbol("IS_EMPTY");
474
- levelMapping = [
475
- "ansi",
476
- "ansi",
477
- "ansi256",
478
- "ansi16m"
479
- ];
480
- styles2 = Object.create(null);
481
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
482
- for (const [styleName, style] of Object.entries(ansi_styles_default)) {
483
- styles2[styleName] = {
484
- get() {
485
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
486
- Object.defineProperty(this, styleName, { value: builder });
487
- return builder;
488
- }
489
- };
490
- }
491
- styles2.visible = {
492
- get() {
493
- const builder = createBuilder(this, this[STYLER], true);
494
- Object.defineProperty(this, "visible", { value: builder });
495
- return builder;
496
- }
497
- };
498
- usedModels = ["rgb", "hex", "ansi256"];
499
- for (const model of usedModels) {
500
- styles2[model] = {
501
- get() {
502
- const { level } = this;
503
- return function(...arguments_) {
504
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
505
- return createBuilder(this, styler, this[IS_EMPTY]);
506
- };
507
- }
508
- };
509
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
510
- styles2[bgModel] = {
511
- get() {
512
- const { level } = this;
513
- return function(...arguments_) {
514
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
515
- return createBuilder(this, styler, this[IS_EMPTY]);
516
- };
517
- }
518
- };
519
- }
520
- proto = Object.defineProperties(() => {}, {
521
- ...styles2,
522
- level: {
523
- enumerable: true,
524
- get() {
525
- return this[GENERATOR].level;
526
- },
527
- set(level) {
528
- this[GENERATOR].level = level;
529
- }
530
- }
531
- });
532
- Object.defineProperties(createChalk.prototype, styles2);
533
- chalk = createChalk();
534
- chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
535
- source_default = chalk;
536
- });
537
-
538
49
  // node_modules/mimic-function/index.js
539
50
  function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
540
51
  const { name } = to;
@@ -579,7 +90,7 @@ var init_mimic_function = __esm(() => {
579
90
  toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
580
91
  });
581
92
 
582
- // node_modules/onetime/index.js
93
+ // node_modules/restore-cursor/node_modules/onetime/index.js
583
94
  var calledFunctions, onetime = (function_, options = {}) => {
584
95
  if (typeof function_ !== "function") {
585
96
  throw new TypeError("Expected a function");
@@ -613,7 +124,7 @@ var init_onetime = __esm(() => {
613
124
  onetime_default = onetime;
614
125
  });
615
126
 
616
- // node_modules/signal-exit/dist/mjs/signals.js
127
+ // node_modules/restore-cursor/node_modules/signal-exit/dist/mjs/signals.js
617
128
  var signals;
618
129
  var init_signals = __esm(() => {
619
130
  signals = [];
@@ -626,7 +137,7 @@ var init_signals = __esm(() => {
626
137
  }
627
138
  });
628
139
 
629
- // node_modules/signal-exit/dist/mjs/index.js
140
+ // node_modules/restore-cursor/node_modules/signal-exit/dist/mjs/index.js
630
141
  class Emitter {
631
142
  emitted = {
632
143
  afterExit: false,
@@ -2509,221 +2020,713 @@ var require_cli_spinners = __commonJS((exports, module) => {
2509
2020
  return spinners[spinnerName];
2510
2021
  }
2511
2022
  });
2512
- module.exports = spinners;
2513
- });
2023
+ module.exports = spinners;
2024
+ });
2025
+
2026
+ // node_modules/ansi-regex/index.js
2027
+ function ansiRegex({ onlyFirst = false } = {}) {
2028
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
2029
+ const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
2030
+ const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
2031
+ const pattern = `${osc}|${csi}`;
2032
+ return new RegExp(pattern, onlyFirst ? undefined : "g");
2033
+ }
2034
+
2035
+ // node_modules/strip-ansi/index.js
2036
+ function stripAnsi(string) {
2037
+ if (typeof string !== "string") {
2038
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
2039
+ }
2040
+ if (!string.includes("\x1B") && !string.includes("›")) {
2041
+ return string;
2042
+ }
2043
+ return string.replace(regex, "");
2044
+ }
2045
+ var regex;
2046
+ var init_strip_ansi = __esm(() => {
2047
+ regex = ansiRegex();
2048
+ });
2049
+
2050
+ // node_modules/get-east-asian-width/lookup-data.js
2051
+ var ambiguousRanges, fullwidthRanges, halfwidthRanges, narrowRanges, wideRanges;
2052
+ var init_lookup_data = __esm(() => {
2053
+ 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];
2054
+ fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
2055
+ halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
2056
+ narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
2057
+ 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];
2058
+ });
2059
+
2060
+ // node_modules/get-east-asian-width/utilities.js
2061
+ var isInRange = (ranges, codePoint) => {
2062
+ let low = 0;
2063
+ let high = Math.floor(ranges.length / 2) - 1;
2064
+ while (low <= high) {
2065
+ const mid = Math.floor((low + high) / 2);
2066
+ const i = mid * 2;
2067
+ if (codePoint < ranges[i]) {
2068
+ high = mid - 1;
2069
+ } else if (codePoint > ranges[i + 1]) {
2070
+ low = mid + 1;
2071
+ } else {
2072
+ return true;
2073
+ }
2074
+ }
2075
+ return false;
2076
+ };
2077
+
2078
+ // node_modules/get-east-asian-width/lookup.js
2079
+ function findWideFastPathRange(ranges) {
2080
+ let fastPathStart = ranges[0];
2081
+ let fastPathEnd = ranges[1];
2082
+ for (let index = 0;index < ranges.length; index += 2) {
2083
+ const start = ranges[index];
2084
+ const end = ranges[index + 1];
2085
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
2086
+ return [start, end];
2087
+ }
2088
+ if (end - start > fastPathEnd - fastPathStart) {
2089
+ fastPathStart = start;
2090
+ fastPathEnd = end;
2091
+ }
2092
+ }
2093
+ return [fastPathStart, fastPathEnd];
2094
+ }
2095
+ var minimumAmbiguousCodePoint, maximumAmbiguousCodePoint, minimumFullWidthCodePoint, maximumFullWidthCodePoint, minimumHalfWidthCodePoint, maximumHalfWidthCodePoint, minimumNarrowCodePoint, maximumNarrowCodePoint, minimumWideCodePoint, maximumWideCodePoint, commonCjkCodePoint = 19968, wideFastPathStart, wideFastPathEnd, isAmbiguous = (codePoint) => {
2096
+ if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
2097
+ return false;
2098
+ }
2099
+ return isInRange(ambiguousRanges, codePoint);
2100
+ }, isFullWidth = (codePoint) => {
2101
+ if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
2102
+ return false;
2103
+ }
2104
+ return isInRange(fullwidthRanges, codePoint);
2105
+ }, isWide = (codePoint) => {
2106
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
2107
+ return true;
2108
+ }
2109
+ if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
2110
+ return false;
2111
+ }
2112
+ return isInRange(wideRanges, codePoint);
2113
+ };
2114
+ var init_lookup = __esm(() => {
2115
+ init_lookup_data();
2116
+ minimumAmbiguousCodePoint = ambiguousRanges[0];
2117
+ maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
2118
+ minimumFullWidthCodePoint = fullwidthRanges[0];
2119
+ maximumFullWidthCodePoint = fullwidthRanges.at(-1);
2120
+ minimumHalfWidthCodePoint = halfwidthRanges[0];
2121
+ maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
2122
+ minimumNarrowCodePoint = narrowRanges[0];
2123
+ maximumNarrowCodePoint = narrowRanges.at(-1);
2124
+ minimumWideCodePoint = wideRanges[0];
2125
+ maximumWideCodePoint = wideRanges.at(-1);
2126
+ [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
2127
+ });
2128
+
2129
+ // node_modules/get-east-asian-width/index.js
2130
+ function validate(codePoint) {
2131
+ if (!Number.isSafeInteger(codePoint)) {
2132
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
2133
+ }
2134
+ }
2135
+ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
2136
+ validate(codePoint);
2137
+ if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
2138
+ return 2;
2139
+ }
2140
+ return 1;
2141
+ }
2142
+ var init_get_east_asian_width = __esm(() => {
2143
+ init_lookup();
2144
+ init_lookup();
2145
+ });
2146
+
2147
+ // node_modules/emoji-regex/index.js
2148
+ var require_emoji_regex = __commonJS((exports, module) => {
2149
+ module.exports = () => {
2150
+ 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;
2151
+ };
2152
+ });
2153
+
2154
+ // node_modules/string-width/index.js
2155
+ function stringWidth(string, options = {}) {
2156
+ if (typeof string !== "string" || string.length === 0) {
2157
+ return 0;
2158
+ }
2159
+ const {
2160
+ ambiguousIsNarrow = true,
2161
+ countAnsiEscapeCodes = false
2162
+ } = options;
2163
+ if (!countAnsiEscapeCodes) {
2164
+ string = stripAnsi(string);
2165
+ }
2166
+ if (string.length === 0) {
2167
+ return 0;
2168
+ }
2169
+ let width = 0;
2170
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
2171
+ for (const { segment: character } of segmenter.segment(string)) {
2172
+ const codePoint = character.codePointAt(0);
2173
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
2174
+ continue;
2175
+ }
2176
+ if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
2177
+ continue;
2178
+ }
2179
+ if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
2180
+ continue;
2181
+ }
2182
+ if (codePoint >= 55296 && codePoint <= 57343) {
2183
+ continue;
2184
+ }
2185
+ if (codePoint >= 65024 && codePoint <= 65039) {
2186
+ continue;
2187
+ }
2188
+ if (defaultIgnorableCodePointRegex.test(character)) {
2189
+ continue;
2190
+ }
2191
+ if (import_emoji_regex.default().test(character)) {
2192
+ width += 2;
2193
+ continue;
2194
+ }
2195
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
2196
+ }
2197
+ return width;
2198
+ }
2199
+ var import_emoji_regex, segmenter, defaultIgnorableCodePointRegex;
2200
+ var init_string_width = __esm(() => {
2201
+ init_strip_ansi();
2202
+ init_get_east_asian_width();
2203
+ import_emoji_regex = __toESM(require_emoji_regex(), 1);
2204
+ segmenter = new Intl.Segmenter;
2205
+ defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
2206
+ });
2207
+
2208
+ // node_modules/chalk/source/vendor/ansi-styles/index.js
2209
+ var ANSI_BACKGROUND_OFFSET = 10;
2210
+ var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
2211
+ var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
2212
+ var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
2213
+ var styles = {
2214
+ modifier: {
2215
+ reset: [0, 0],
2216
+ bold: [1, 22],
2217
+ dim: [2, 22],
2218
+ italic: [3, 23],
2219
+ underline: [4, 24],
2220
+ overline: [53, 55],
2221
+ inverse: [7, 27],
2222
+ hidden: [8, 28],
2223
+ strikethrough: [9, 29]
2224
+ },
2225
+ color: {
2226
+ black: [30, 39],
2227
+ red: [31, 39],
2228
+ green: [32, 39],
2229
+ yellow: [33, 39],
2230
+ blue: [34, 39],
2231
+ magenta: [35, 39],
2232
+ cyan: [36, 39],
2233
+ white: [37, 39],
2234
+ blackBright: [90, 39],
2235
+ gray: [90, 39],
2236
+ grey: [90, 39],
2237
+ redBright: [91, 39],
2238
+ greenBright: [92, 39],
2239
+ yellowBright: [93, 39],
2240
+ blueBright: [94, 39],
2241
+ magentaBright: [95, 39],
2242
+ cyanBright: [96, 39],
2243
+ whiteBright: [97, 39]
2244
+ },
2245
+ bgColor: {
2246
+ bgBlack: [40, 49],
2247
+ bgRed: [41, 49],
2248
+ bgGreen: [42, 49],
2249
+ bgYellow: [43, 49],
2250
+ bgBlue: [44, 49],
2251
+ bgMagenta: [45, 49],
2252
+ bgCyan: [46, 49],
2253
+ bgWhite: [47, 49],
2254
+ bgBlackBright: [100, 49],
2255
+ bgGray: [100, 49],
2256
+ bgGrey: [100, 49],
2257
+ bgRedBright: [101, 49],
2258
+ bgGreenBright: [102, 49],
2259
+ bgYellowBright: [103, 49],
2260
+ bgBlueBright: [104, 49],
2261
+ bgMagentaBright: [105, 49],
2262
+ bgCyanBright: [106, 49],
2263
+ bgWhiteBright: [107, 49]
2264
+ }
2265
+ };
2266
+ var modifierNames = Object.keys(styles.modifier);
2267
+ var foregroundColorNames = Object.keys(styles.color);
2268
+ var backgroundColorNames = Object.keys(styles.bgColor);
2269
+ var colorNames = [...foregroundColorNames, ...backgroundColorNames];
2270
+ function assembleStyles() {
2271
+ const codes = new Map;
2272
+ for (const [groupName, group] of Object.entries(styles)) {
2273
+ for (const [styleName, style] of Object.entries(group)) {
2274
+ styles[styleName] = {
2275
+ open: `\x1B[${style[0]}m`,
2276
+ close: `\x1B[${style[1]}m`
2277
+ };
2278
+ group[styleName] = styles[styleName];
2279
+ codes.set(style[0], style[1]);
2280
+ }
2281
+ Object.defineProperty(styles, groupName, {
2282
+ value: group,
2283
+ enumerable: false
2284
+ });
2285
+ }
2286
+ Object.defineProperty(styles, "codes", {
2287
+ value: codes,
2288
+ enumerable: false
2289
+ });
2290
+ styles.color.close = "\x1B[39m";
2291
+ styles.bgColor.close = "\x1B[49m";
2292
+ styles.color.ansi = wrapAnsi16();
2293
+ styles.color.ansi256 = wrapAnsi256();
2294
+ styles.color.ansi16m = wrapAnsi16m();
2295
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
2296
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
2297
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
2298
+ Object.defineProperties(styles, {
2299
+ rgbToAnsi256: {
2300
+ value(red, green, blue) {
2301
+ if (red === green && green === blue) {
2302
+ if (red < 8) {
2303
+ return 16;
2304
+ }
2305
+ if (red > 248) {
2306
+ return 231;
2307
+ }
2308
+ return Math.round((red - 8) / 247 * 24) + 232;
2309
+ }
2310
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
2311
+ },
2312
+ enumerable: false
2313
+ },
2314
+ hexToRgb: {
2315
+ value(hex) {
2316
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
2317
+ if (!matches) {
2318
+ return [0, 0, 0];
2319
+ }
2320
+ let [colorString] = matches;
2321
+ if (colorString.length === 3) {
2322
+ colorString = [...colorString].map((character) => character + character).join("");
2323
+ }
2324
+ const integer = Number.parseInt(colorString, 16);
2325
+ return [
2326
+ integer >> 16 & 255,
2327
+ integer >> 8 & 255,
2328
+ integer & 255
2329
+ ];
2330
+ },
2331
+ enumerable: false
2332
+ },
2333
+ hexToAnsi256: {
2334
+ value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
2335
+ enumerable: false
2336
+ },
2337
+ ansi256ToAnsi: {
2338
+ value(code) {
2339
+ if (code < 8) {
2340
+ return 30 + code;
2341
+ }
2342
+ if (code < 16) {
2343
+ return 90 + (code - 8);
2344
+ }
2345
+ let red;
2346
+ let green;
2347
+ let blue;
2348
+ if (code >= 232) {
2349
+ red = ((code - 232) * 10 + 8) / 255;
2350
+ green = red;
2351
+ blue = red;
2352
+ } else {
2353
+ code -= 16;
2354
+ const remainder = code % 36;
2355
+ red = Math.floor(code / 36) / 5;
2356
+ green = Math.floor(remainder / 6) / 5;
2357
+ blue = remainder % 6 / 5;
2358
+ }
2359
+ const value = Math.max(red, green, blue) * 2;
2360
+ if (value === 0) {
2361
+ return 30;
2362
+ }
2363
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
2364
+ if (value === 2) {
2365
+ result += 60;
2366
+ }
2367
+ return result;
2368
+ },
2369
+ enumerable: false
2370
+ },
2371
+ rgbToAnsi: {
2372
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
2373
+ enumerable: false
2374
+ },
2375
+ hexToAnsi: {
2376
+ value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
2377
+ enumerable: false
2378
+ }
2379
+ });
2380
+ return styles;
2381
+ }
2382
+ var ansiStyles = assembleStyles();
2383
+ var ansi_styles_default = ansiStyles;
2514
2384
 
2515
- // node_modules/log-symbols/node_modules/is-unicode-supported/index.js
2516
- import process6 from "node:process";
2517
- function isUnicodeSupported() {
2518
- if (process6.platform !== "win32") {
2519
- return process6.env.TERM !== "linux";
2385
+ // node_modules/chalk/source/vendor/supports-color/index.js
2386
+ import process2 from "node:process";
2387
+ import os from "node:os";
2388
+ import tty from "node:tty";
2389
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
2390
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
2391
+ const position = argv.indexOf(prefix + flag);
2392
+ const terminatorPosition = argv.indexOf("--");
2393
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
2394
+ }
2395
+ var { env } = process2;
2396
+ var flagForceColor;
2397
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
2398
+ flagForceColor = 0;
2399
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
2400
+ flagForceColor = 1;
2401
+ }
2402
+ function envForceColor() {
2403
+ if ("FORCE_COLOR" in env) {
2404
+ if (env.FORCE_COLOR === "true") {
2405
+ return 1;
2406
+ }
2407
+ if (env.FORCE_COLOR === "false") {
2408
+ return 0;
2409
+ }
2410
+ return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
2520
2411
  }
2521
- return Boolean(process6.env.CI) || Boolean(process6.env.WT_SESSION) || Boolean(process6.env.TERMINUS_SUBLIME) || process6.env.ConEmuTask === "{cmd::Cmder}" || process6.env.TERM_PROGRAM === "Terminus-Sublime" || process6.env.TERM_PROGRAM === "vscode" || process6.env.TERM === "xterm-256color" || process6.env.TERM === "alacritty" || process6.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
2522
2412
  }
2523
- var init_is_unicode_supported = () => {};
2524
-
2525
- // node_modules/log-symbols/index.js
2526
- var main, fallback, logSymbols, log_symbols_default;
2527
- var init_log_symbols = __esm(() => {
2528
- init_source();
2529
- init_is_unicode_supported();
2530
- main = {
2531
- info: source_default.blue("ℹ"),
2532
- success: source_default.green("✔"),
2533
- warning: source_default.yellow("⚠"),
2534
- error: source_default.red("✖")
2535
- };
2536
- fallback = {
2537
- info: source_default.blue("i"),
2538
- success: source_default.green("√"),
2539
- warning: source_default.yellow("‼"),
2540
- error: source_default.red("×")
2413
+ function translateLevel(level) {
2414
+ if (level === 0) {
2415
+ return false;
2416
+ }
2417
+ return {
2418
+ level,
2419
+ hasBasic: true,
2420
+ has256: level >= 2,
2421
+ has16m: level >= 3
2541
2422
  };
2542
- logSymbols = isUnicodeSupported() ? main : fallback;
2543
- log_symbols_default = logSymbols;
2544
- });
2545
-
2546
- // node_modules/ansi-regex/index.js
2547
- function ansiRegex({ onlyFirst = false } = {}) {
2548
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
2549
- const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
2550
- const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
2551
- const pattern = `${osc}|${csi}`;
2552
- return new RegExp(pattern, onlyFirst ? undefined : "g");
2553
2423
  }
2554
-
2555
- // node_modules/strip-ansi/index.js
2556
- function stripAnsi(string) {
2557
- if (typeof string !== "string") {
2558
- throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
2424
+ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
2425
+ const noFlagForceColor = envForceColor();
2426
+ if (noFlagForceColor !== undefined) {
2427
+ flagForceColor = noFlagForceColor;
2559
2428
  }
2560
- if (!string.includes("\x1B") && !string.includes("›")) {
2561
- return string;
2429
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
2430
+ if (forceColor === 0) {
2431
+ return 0;
2562
2432
  }
2563
- return string.replace(regex, "");
2564
- }
2565
- var regex;
2566
- var init_strip_ansi = __esm(() => {
2567
- regex = ansiRegex();
2568
- });
2569
-
2570
- // node_modules/get-east-asian-width/lookup-data.js
2571
- var ambiguousRanges, fullwidthRanges, halfwidthRanges, narrowRanges, wideRanges;
2572
- var init_lookup_data = __esm(() => {
2573
- 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];
2574
- fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
2575
- halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
2576
- narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
2577
- 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];
2578
- });
2579
-
2580
- // node_modules/get-east-asian-width/utilities.js
2581
- var isInRange = (ranges, codePoint) => {
2582
- let low = 0;
2583
- let high = Math.floor(ranges.length / 2) - 1;
2584
- while (low <= high) {
2585
- const mid = Math.floor((low + high) / 2);
2586
- const i = mid * 2;
2587
- if (codePoint < ranges[i]) {
2588
- high = mid - 1;
2589
- } else if (codePoint > ranges[i + 1]) {
2590
- low = mid + 1;
2591
- } else {
2592
- return true;
2433
+ if (sniffFlags) {
2434
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
2435
+ return 3;
2436
+ }
2437
+ if (hasFlag("color=256")) {
2438
+ return 2;
2593
2439
  }
2594
2440
  }
2595
- return false;
2596
- };
2597
-
2598
- // node_modules/get-east-asian-width/lookup.js
2599
- function findWideFastPathRange(ranges) {
2600
- let fastPathStart = ranges[0];
2601
- let fastPathEnd = ranges[1];
2602
- for (let index = 0;index < ranges.length; index += 2) {
2603
- const start = ranges[index];
2604
- const end = ranges[index + 1];
2605
- if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
2606
- return [start, end];
2441
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
2442
+ return 1;
2443
+ }
2444
+ if (haveStream && !streamIsTTY && forceColor === undefined) {
2445
+ return 0;
2446
+ }
2447
+ const min = forceColor || 0;
2448
+ if (env.TERM === "dumb") {
2449
+ return min;
2450
+ }
2451
+ if (process2.platform === "win32") {
2452
+ const osRelease = os.release().split(".");
2453
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
2454
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
2607
2455
  }
2608
- if (end - start > fastPathEnd - fastPathStart) {
2609
- fastPathStart = start;
2610
- fastPathEnd = end;
2456
+ return 1;
2457
+ }
2458
+ if ("CI" in env) {
2459
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
2460
+ return 3;
2461
+ }
2462
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
2463
+ return 1;
2464
+ }
2465
+ return min;
2466
+ }
2467
+ if ("TEAMCITY_VERSION" in env) {
2468
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
2469
+ }
2470
+ if (env.COLORTERM === "truecolor") {
2471
+ return 3;
2472
+ }
2473
+ if (env.TERM === "xterm-kitty") {
2474
+ return 3;
2475
+ }
2476
+ if (env.TERM === "xterm-ghostty") {
2477
+ return 3;
2478
+ }
2479
+ if (env.TERM === "wezterm") {
2480
+ return 3;
2481
+ }
2482
+ if ("TERM_PROGRAM" in env) {
2483
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
2484
+ switch (env.TERM_PROGRAM) {
2485
+ case "iTerm.app": {
2486
+ return version >= 3 ? 3 : 2;
2487
+ }
2488
+ case "Apple_Terminal": {
2489
+ return 2;
2490
+ }
2611
2491
  }
2612
2492
  }
2613
- return [fastPathStart, fastPathEnd];
2614
- }
2615
- var minimumAmbiguousCodePoint, maximumAmbiguousCodePoint, minimumFullWidthCodePoint, maximumFullWidthCodePoint, minimumHalfWidthCodePoint, maximumHalfWidthCodePoint, minimumNarrowCodePoint, maximumNarrowCodePoint, minimumWideCodePoint, maximumWideCodePoint, commonCjkCodePoint = 19968, wideFastPathStart, wideFastPathEnd, isAmbiguous = (codePoint) => {
2616
- if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
2617
- return false;
2618
- }
2619
- return isInRange(ambiguousRanges, codePoint);
2620
- }, isFullWidth = (codePoint) => {
2621
- if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
2622
- return false;
2493
+ if (/-256(color)?$/i.test(env.TERM)) {
2494
+ return 2;
2623
2495
  }
2624
- return isInRange(fullwidthRanges, codePoint);
2625
- }, isWide = (codePoint) => {
2626
- if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
2627
- return true;
2496
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
2497
+ return 1;
2628
2498
  }
2629
- if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
2630
- return false;
2499
+ if ("COLORTERM" in env) {
2500
+ return 1;
2631
2501
  }
2632
- return isInRange(wideRanges, codePoint);
2502
+ return min;
2503
+ }
2504
+ function createSupportsColor(stream, options = {}) {
2505
+ const level = _supportsColor(stream, {
2506
+ streamIsTTY: stream && stream.isTTY,
2507
+ ...options
2508
+ });
2509
+ return translateLevel(level);
2510
+ }
2511
+ var supportsColor = {
2512
+ stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
2513
+ stderr: createSupportsColor({ isTTY: tty.isatty(2) })
2633
2514
  };
2634
- var init_lookup = __esm(() => {
2635
- init_lookup_data();
2636
- minimumAmbiguousCodePoint = ambiguousRanges[0];
2637
- maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
2638
- minimumFullWidthCodePoint = fullwidthRanges[0];
2639
- maximumFullWidthCodePoint = fullwidthRanges.at(-1);
2640
- minimumHalfWidthCodePoint = halfwidthRanges[0];
2641
- maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
2642
- minimumNarrowCodePoint = narrowRanges[0];
2643
- maximumNarrowCodePoint = narrowRanges.at(-1);
2644
- minimumWideCodePoint = wideRanges[0];
2645
- maximumWideCodePoint = wideRanges.at(-1);
2646
- [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
2647
- });
2515
+ var supports_color_default = supportsColor;
2648
2516
 
2649
- // node_modules/get-east-asian-width/index.js
2650
- function validate(codePoint) {
2651
- if (!Number.isSafeInteger(codePoint)) {
2652
- throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
2517
+ // node_modules/chalk/source/utilities.js
2518
+ function stringReplaceAll(string, substring, replacer) {
2519
+ let index = string.indexOf(substring);
2520
+ if (index === -1) {
2521
+ return string;
2653
2522
  }
2523
+ const substringLength = substring.length;
2524
+ let endIndex = 0;
2525
+ let returnValue = "";
2526
+ do {
2527
+ returnValue += string.slice(endIndex, index) + substring + replacer;
2528
+ endIndex = index + substringLength;
2529
+ index = string.indexOf(substring, endIndex);
2530
+ } while (index !== -1);
2531
+ returnValue += string.slice(endIndex);
2532
+ return returnValue;
2654
2533
  }
2655
- function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
2656
- validate(codePoint);
2657
- if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
2658
- return 2;
2659
- }
2660
- return 1;
2534
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
2535
+ let endIndex = 0;
2536
+ let returnValue = "";
2537
+ do {
2538
+ const gotCR = string[index - 1] === "\r";
2539
+ returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
2540
+ ` : `
2541
+ `) + postfix;
2542
+ endIndex = index + 1;
2543
+ index = string.indexOf(`
2544
+ `, endIndex);
2545
+ } while (index !== -1);
2546
+ returnValue += string.slice(endIndex);
2547
+ return returnValue;
2661
2548
  }
2662
- var init_get_east_asian_width = __esm(() => {
2663
- init_lookup();
2664
- init_lookup();
2665
- });
2666
-
2667
- // node_modules/emoji-regex/index.js
2668
- var require_emoji_regex = __commonJS((exports, module) => {
2669
- module.exports = () => {
2670
- 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;
2671
- };
2672
- });
2673
2549
 
2674
- // node_modules/string-width/index.js
2675
- function stringWidth(string, options = {}) {
2676
- if (typeof string !== "string" || string.length === 0) {
2677
- return 0;
2678
- }
2679
- const {
2680
- ambiguousIsNarrow = true,
2681
- countAnsiEscapeCodes = false
2682
- } = options;
2683
- if (!countAnsiEscapeCodes) {
2684
- string = stripAnsi(string);
2685
- }
2686
- if (string.length === 0) {
2687
- return 0;
2550
+ // node_modules/chalk/source/index.js
2551
+ var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
2552
+ var GENERATOR = Symbol("GENERATOR");
2553
+ var STYLER = Symbol("STYLER");
2554
+ var IS_EMPTY = Symbol("IS_EMPTY");
2555
+ var levelMapping = [
2556
+ "ansi",
2557
+ "ansi",
2558
+ "ansi256",
2559
+ "ansi16m"
2560
+ ];
2561
+ var styles2 = Object.create(null);
2562
+ var applyOptions = (object, options = {}) => {
2563
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
2564
+ throw new Error("The `level` option should be an integer from 0 to 3");
2688
2565
  }
2689
- let width = 0;
2690
- const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
2691
- for (const { segment: character } of segmenter.segment(string)) {
2692
- const codePoint = character.codePointAt(0);
2693
- if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
2694
- continue;
2566
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
2567
+ object.level = options.level === undefined ? colorLevel : options.level;
2568
+ };
2569
+ var chalkFactory = (options) => {
2570
+ const chalk = (...strings) => strings.join(" ");
2571
+ applyOptions(chalk, options);
2572
+ Object.setPrototypeOf(chalk, createChalk.prototype);
2573
+ return chalk;
2574
+ };
2575
+ function createChalk(options) {
2576
+ return chalkFactory(options);
2577
+ }
2578
+ Object.setPrototypeOf(createChalk.prototype, Function.prototype);
2579
+ for (const [styleName, style] of Object.entries(ansi_styles_default)) {
2580
+ styles2[styleName] = {
2581
+ get() {
2582
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
2583
+ Object.defineProperty(this, styleName, { value: builder });
2584
+ return builder;
2695
2585
  }
2696
- if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
2697
- continue;
2586
+ };
2587
+ }
2588
+ styles2.visible = {
2589
+ get() {
2590
+ const builder = createBuilder(this, this[STYLER], true);
2591
+ Object.defineProperty(this, "visible", { value: builder });
2592
+ return builder;
2593
+ }
2594
+ };
2595
+ var getModelAnsi = (model, level, type, ...arguments_) => {
2596
+ if (model === "rgb") {
2597
+ if (level === "ansi16m") {
2598
+ return ansi_styles_default[type].ansi16m(...arguments_);
2698
2599
  }
2699
- if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
2700
- continue;
2600
+ if (level === "ansi256") {
2601
+ return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
2701
2602
  }
2702
- if (codePoint >= 55296 && codePoint <= 57343) {
2703
- continue;
2603
+ return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
2604
+ }
2605
+ if (model === "hex") {
2606
+ return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
2607
+ }
2608
+ return ansi_styles_default[type][model](...arguments_);
2609
+ };
2610
+ var usedModels = ["rgb", "hex", "ansi256"];
2611
+ for (const model of usedModels) {
2612
+ styles2[model] = {
2613
+ get() {
2614
+ const { level } = this;
2615
+ return function(...arguments_) {
2616
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
2617
+ return createBuilder(this, styler, this[IS_EMPTY]);
2618
+ };
2704
2619
  }
2705
- if (codePoint >= 65024 && codePoint <= 65039) {
2706
- continue;
2620
+ };
2621
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
2622
+ styles2[bgModel] = {
2623
+ get() {
2624
+ const { level } = this;
2625
+ return function(...arguments_) {
2626
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
2627
+ return createBuilder(this, styler, this[IS_EMPTY]);
2628
+ };
2707
2629
  }
2708
- if (defaultIgnorableCodePointRegex.test(character)) {
2709
- continue;
2630
+ };
2631
+ }
2632
+ var proto = Object.defineProperties(() => {}, {
2633
+ ...styles2,
2634
+ level: {
2635
+ enumerable: true,
2636
+ get() {
2637
+ return this[GENERATOR].level;
2638
+ },
2639
+ set(level) {
2640
+ this[GENERATOR].level = level;
2710
2641
  }
2711
- if (import_emoji_regex.default().test(character)) {
2712
- width += 2;
2713
- continue;
2642
+ }
2643
+ });
2644
+ var createStyler = (open, close, parent) => {
2645
+ let openAll;
2646
+ let closeAll;
2647
+ if (parent === undefined) {
2648
+ openAll = open;
2649
+ closeAll = close;
2650
+ } else {
2651
+ openAll = parent.openAll + open;
2652
+ closeAll = close + parent.closeAll;
2653
+ }
2654
+ return {
2655
+ open,
2656
+ close,
2657
+ openAll,
2658
+ closeAll,
2659
+ parent
2660
+ };
2661
+ };
2662
+ var createBuilder = (self, _styler, _isEmpty) => {
2663
+ const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
2664
+ Object.setPrototypeOf(builder, proto);
2665
+ builder[GENERATOR] = self;
2666
+ builder[STYLER] = _styler;
2667
+ builder[IS_EMPTY] = _isEmpty;
2668
+ return builder;
2669
+ };
2670
+ var applyStyle = (self, string) => {
2671
+ if (self.level <= 0 || !string) {
2672
+ return self[IS_EMPTY] ? "" : string;
2673
+ }
2674
+ let styler = self[STYLER];
2675
+ if (styler === undefined) {
2676
+ return string;
2677
+ }
2678
+ const { openAll, closeAll } = styler;
2679
+ if (string.includes("\x1B")) {
2680
+ while (styler !== undefined) {
2681
+ string = stringReplaceAll(string, styler.close, styler.open);
2682
+ styler = styler.parent;
2714
2683
  }
2715
- width += eastAsianWidth(codePoint, eastAsianWidthOptions);
2716
2684
  }
2717
- return width;
2685
+ const lfIndex = string.indexOf(`
2686
+ `);
2687
+ if (lfIndex !== -1) {
2688
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
2689
+ }
2690
+ return openAll + string + closeAll;
2691
+ };
2692
+ Object.defineProperties(createChalk.prototype, styles2);
2693
+ var chalk = createChalk();
2694
+ var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
2695
+ var source_default = chalk;
2696
+
2697
+ // node_modules/ora/index.js
2698
+ import process9 from "node:process";
2699
+ init_cli_cursor();
2700
+ var import_cli_spinners = __toESM(require_cli_spinners(), 1);
2701
+
2702
+ // node_modules/log-symbols/node_modules/is-unicode-supported/index.js
2703
+ import process6 from "node:process";
2704
+ function isUnicodeSupported() {
2705
+ if (process6.platform !== "win32") {
2706
+ return process6.env.TERM !== "linux";
2707
+ }
2708
+ return Boolean(process6.env.CI) || Boolean(process6.env.WT_SESSION) || Boolean(process6.env.TERMINUS_SUBLIME) || process6.env.ConEmuTask === "{cmd::Cmder}" || process6.env.TERM_PROGRAM === "Terminus-Sublime" || process6.env.TERM_PROGRAM === "vscode" || process6.env.TERM === "xterm-256color" || process6.env.TERM === "alacritty" || process6.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
2718
2709
  }
2719
- var import_emoji_regex, segmenter, defaultIgnorableCodePointRegex;
2720
- var init_string_width = __esm(() => {
2721
- init_strip_ansi();
2722
- init_get_east_asian_width();
2723
- import_emoji_regex = __toESM(require_emoji_regex(), 1);
2724
- segmenter = new Intl.Segmenter;
2725
- defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
2726
- });
2710
+
2711
+ // node_modules/log-symbols/index.js
2712
+ var main = {
2713
+ info: source_default.blue("ℹ"),
2714
+ success: source_default.green("✔"),
2715
+ warning: source_default.yellow("⚠"),
2716
+ error: source_default.red("✖")
2717
+ };
2718
+ var fallback = {
2719
+ info: source_default.blue("i"),
2720
+ success: source_default.green("√"),
2721
+ warning: source_default.yellow("‼"),
2722
+ error: source_default.red("×")
2723
+ };
2724
+ var logSymbols = isUnicodeSupported() ? main : fallback;
2725
+ var log_symbols_default = logSymbols;
2726
+
2727
+ // node_modules/ora/index.js
2728
+ init_strip_ansi();
2729
+ init_string_width();
2727
2730
 
2728
2731
  // node_modules/is-interactive/index.js
2729
2732
  function isInteractive({ stream = process.stdout } = {}) {
@@ -2740,10 +2743,10 @@ function isUnicodeSupported2() {
2740
2743
  }
2741
2744
  return Boolean(env2.WT_SESSION) || Boolean(env2.TERMINUS_SUBLIME) || env2.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env2.TERMINAL_EMULATOR === "JetBrains-JediTerm";
2742
2745
  }
2743
- var init_is_unicode_supported2 = () => {};
2744
2746
 
2745
2747
  // node_modules/stdin-discarder/index.js
2746
2748
  import process8 from "node:process";
2749
+ var ASCII_ETX_CODE = 3;
2747
2750
 
2748
2751
  class StdinDiscarder {
2749
2752
  #activeCount = 0;
@@ -2784,14 +2787,11 @@ class StdinDiscarder {
2784
2787
  }
2785
2788
  }
2786
2789
  }
2787
- var ASCII_ETX_CODE = 3, stdinDiscarder, stdin_discarder_default;
2788
- var init_stdin_discarder = __esm(() => {
2789
- stdinDiscarder = new StdinDiscarder;
2790
- stdin_discarder_default = stdinDiscarder;
2791
- });
2790
+ var stdinDiscarder = new StdinDiscarder;
2791
+ var stdin_discarder_default = stdinDiscarder;
2792
2792
 
2793
2793
  // node_modules/ora/index.js
2794
- import process9 from "node:process";
2794
+ var import_cli_spinners2 = __toESM(require_cli_spinners(), 1);
2795
2795
 
2796
2796
  class Ora {
2797
2797
  #linesToClear = 0;
@@ -3084,18 +3084,6 @@ class Ora {
3084
3084
  function ora(options) {
3085
3085
  return new Ora(options);
3086
3086
  }
3087
- var import_cli_spinners, import_cli_spinners2;
3088
- var init_ora = __esm(() => {
3089
- init_source();
3090
- init_cli_cursor();
3091
- init_log_symbols();
3092
- init_strip_ansi();
3093
- init_string_width();
3094
- init_is_unicode_supported2();
3095
- init_stdin_discarder();
3096
- import_cli_spinners = __toESM(require_cli_spinners(), 1);
3097
- import_cli_spinners2 = __toESM(require_cli_spinners(), 1);
3098
- });
3099
3087
 
3100
3088
  // src/utils/logger.ts
3101
3089
  class Logger {
@@ -3195,16 +3183,12 @@ class Logger {
3195
3183
  console.log("");
3196
3184
  }
3197
3185
  }
3198
- var logger;
3199
- var init_logger = __esm(() => {
3200
- init_source();
3201
- init_ora();
3202
- logger = new Logger;
3203
- });
3186
+ var logger = new Logger;
3204
3187
 
3205
3188
  // src/utils/paths.ts
3206
3189
  import path from "path";
3207
3190
  import os2 from "os";
3191
+ import fs from "fs/promises";
3208
3192
  function getHomeDir() {
3209
3193
  return os2.homedir();
3210
3194
  }
@@ -3222,13 +3206,20 @@ function getConfig() {
3222
3206
  function toGitPath(filePath) {
3223
3207
  return filePath.replace(/\\/g, "/");
3224
3208
  }
3225
- var init_paths = () => {};
3209
+ async function pathExists(filePath) {
3210
+ try {
3211
+ await fs.promises.access(filePath);
3212
+ return true;
3213
+ } catch {
3214
+ return false;
3215
+ }
3216
+ }
3226
3217
 
3227
3218
  // src/utils/git.ts
3228
- import { execSync } from "child_process";
3219
+ import { execFileSync } from "child_process";
3229
3220
  function getGitConfig(key) {
3230
3221
  try {
3231
- const value = execSync(`git config --global ${key}`, {
3222
+ const value = execFileSync("git", ["config", "--global", key], {
3232
3223
  encoding: "utf-8",
3233
3224
  stdio: ["pipe", "pipe", "ignore"]
3234
3225
  }).trim();
@@ -3238,14 +3229,14 @@ function getGitConfig(key) {
3238
3229
  }
3239
3230
  }
3240
3231
  function setGitConfig(key, value) {
3241
- execSync(`git config --global ${key} '${value}'`, {
3232
+ execFileSync("git", ["config", "--global", key, value], {
3242
3233
  encoding: "utf-8",
3243
3234
  stdio: ["pipe", "pipe", "ignore"]
3244
3235
  });
3245
3236
  }
3246
3237
  function unsetGitConfig(key) {
3247
3238
  try {
3248
- execSync(`git config --global --unset ${key}`, {
3239
+ execFileSync("git", ["config", "--global", "--unset", key], {
3249
3240
  encoding: "utf-8",
3250
3241
  stdio: ["pipe", "pipe", "ignore"]
3251
3242
  });
@@ -3258,15 +3249,9 @@ function setTemplateDir(templatePath) {
3258
3249
  const gitPath = toGitPath(templatePath);
3259
3250
  setGitConfig("init.templatedir", gitPath);
3260
3251
  }
3261
- var init_git = __esm(() => {
3262
- init_paths();
3263
- });
3264
3252
 
3265
3253
  // src/uninstall.ts
3266
- init_logger();
3267
- init_paths();
3268
- init_git();
3269
- import fs from "fs/promises";
3254
+ import fs2 from "fs/promises";
3270
3255
  async function uninstall(options = {}) {
3271
3256
  const logger2 = new Logger(options.silent);
3272
3257
  const config = getConfig();
@@ -3274,25 +3259,25 @@ async function uninstall(options = {}) {
3274
3259
  try {
3275
3260
  logger2.start("Removing hook file...");
3276
3261
  try {
3277
- await fs.unlink(config.hookFile);
3262
+ await fs2.unlink(config.hookFile);
3278
3263
  logger2.succeed(`Removed ${config.hookFile}`);
3279
3264
  } catch {
3280
3265
  logger2.info("Hook file not found (already removed?)");
3281
3266
  }
3282
3267
  try {
3283
- const hooksExists = await fs.access(config.hooksDir).then(() => true).catch(() => false);
3268
+ const hooksExists = await fs2.access(config.hooksDir).then(() => true).catch(() => false);
3284
3269
  if (hooksExists) {
3285
- const files = await fs.readdir(config.hooksDir);
3270
+ const files = await fs2.readdir(config.hooksDir);
3286
3271
  if (files.length === 0) {
3287
- await fs.rmdir(config.hooksDir);
3272
+ await fs2.rmdir(config.hooksDir);
3288
3273
  logger2.info("Removed empty hooks directory");
3289
3274
  }
3290
3275
  }
3291
- const templateExists = await fs.access(config.templateDir).then(() => true).catch(() => false);
3276
+ const templateExists = await fs2.access(config.templateDir).then(() => true).catch(() => false);
3292
3277
  if (templateExists) {
3293
- const files = await fs.readdir(config.templateDir);
3278
+ const files = await fs2.readdir(config.templateDir);
3294
3279
  if (files.length === 0) {
3295
- await fs.rmdir(config.templateDir);
3280
+ await fs2.rmdir(config.templateDir);
3296
3281
  logger2.info("Removed empty templates directory");
3297
3282
  }
3298
3283
  }