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/install.js CHANGED
@@ -46,509 +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
- // src/types.ts
50
- var DEFAULT_AI_PATTERNS;
51
- var init_types = __esm(() => {
52
- DEFAULT_AI_PATTERNS = [
53
- { name: "Claude Opus", pattern: "^Co-Authored-By: Claude Opus" },
54
- { name: "GitHub Copilot", pattern: "^Co-Authored-By: GitHub Copilot" },
55
- { name: "ChatGPT", pattern: "^Co-Authored-By: ChatGPT" },
56
- { name: "Anthropic", pattern: "^Co-Authored-By: Anthropic" },
57
- { name: "OpenAI", pattern: "^Co-Authored-By: OpenAI" },
58
- { name: "Cursor AI", pattern: "^Co-Authored-By: Cursor AI" },
59
- { name: "AI Assistant", pattern: "^Co-Authored-By: AI Assistant" }
60
- ];
61
- });
62
-
63
- // node_modules/chalk/source/vendor/ansi-styles/index.js
64
- function assembleStyles() {
65
- const codes = new Map;
66
- for (const [groupName, group] of Object.entries(styles)) {
67
- for (const [styleName, style] of Object.entries(group)) {
68
- styles[styleName] = {
69
- open: `\x1B[${style[0]}m`,
70
- close: `\x1B[${style[1]}m`
71
- };
72
- group[styleName] = styles[styleName];
73
- codes.set(style[0], style[1]);
74
- }
75
- Object.defineProperty(styles, groupName, {
76
- value: group,
77
- enumerable: false
78
- });
79
- }
80
- Object.defineProperty(styles, "codes", {
81
- value: codes,
82
- enumerable: false
83
- });
84
- styles.color.close = "\x1B[39m";
85
- styles.bgColor.close = "\x1B[49m";
86
- styles.color.ansi = wrapAnsi16();
87
- styles.color.ansi256 = wrapAnsi256();
88
- styles.color.ansi16m = wrapAnsi16m();
89
- styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
90
- styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
91
- styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
92
- Object.defineProperties(styles, {
93
- rgbToAnsi256: {
94
- value(red, green, blue) {
95
- if (red === green && green === blue) {
96
- if (red < 8) {
97
- return 16;
98
- }
99
- if (red > 248) {
100
- return 231;
101
- }
102
- return Math.round((red - 8) / 247 * 24) + 232;
103
- }
104
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
105
- },
106
- enumerable: false
107
- },
108
- hexToRgb: {
109
- value(hex) {
110
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
111
- if (!matches) {
112
- return [0, 0, 0];
113
- }
114
- let [colorString] = matches;
115
- if (colorString.length === 3) {
116
- colorString = [...colorString].map((character) => character + character).join("");
117
- }
118
- const integer = Number.parseInt(colorString, 16);
119
- return [
120
- integer >> 16 & 255,
121
- integer >> 8 & 255,
122
- integer & 255
123
- ];
124
- },
125
- enumerable: false
126
- },
127
- hexToAnsi256: {
128
- value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
129
- enumerable: false
130
- },
131
- ansi256ToAnsi: {
132
- value(code) {
133
- if (code < 8) {
134
- return 30 + code;
135
- }
136
- if (code < 16) {
137
- return 90 + (code - 8);
138
- }
139
- let red;
140
- let green;
141
- let blue;
142
- if (code >= 232) {
143
- red = ((code - 232) * 10 + 8) / 255;
144
- green = red;
145
- blue = red;
146
- } else {
147
- code -= 16;
148
- const remainder = code % 36;
149
- red = Math.floor(code / 36) / 5;
150
- green = Math.floor(remainder / 6) / 5;
151
- blue = remainder % 6 / 5;
152
- }
153
- const value = Math.max(red, green, blue) * 2;
154
- if (value === 0) {
155
- return 30;
156
- }
157
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
158
- if (value === 2) {
159
- result += 60;
160
- }
161
- return result;
162
- },
163
- enumerable: false
164
- },
165
- rgbToAnsi: {
166
- value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
167
- enumerable: false
168
- },
169
- hexToAnsi: {
170
- value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
171
- enumerable: false
172
- }
173
- });
174
- return styles;
175
- }
176
- 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;
177
- var init_ansi_styles = __esm(() => {
178
- styles = {
179
- modifier: {
180
- reset: [0, 0],
181
- bold: [1, 22],
182
- dim: [2, 22],
183
- italic: [3, 23],
184
- underline: [4, 24],
185
- overline: [53, 55],
186
- inverse: [7, 27],
187
- hidden: [8, 28],
188
- strikethrough: [9, 29]
189
- },
190
- color: {
191
- black: [30, 39],
192
- red: [31, 39],
193
- green: [32, 39],
194
- yellow: [33, 39],
195
- blue: [34, 39],
196
- magenta: [35, 39],
197
- cyan: [36, 39],
198
- white: [37, 39],
199
- blackBright: [90, 39],
200
- gray: [90, 39],
201
- grey: [90, 39],
202
- redBright: [91, 39],
203
- greenBright: [92, 39],
204
- yellowBright: [93, 39],
205
- blueBright: [94, 39],
206
- magentaBright: [95, 39],
207
- cyanBright: [96, 39],
208
- whiteBright: [97, 39]
209
- },
210
- bgColor: {
211
- bgBlack: [40, 49],
212
- bgRed: [41, 49],
213
- bgGreen: [42, 49],
214
- bgYellow: [43, 49],
215
- bgBlue: [44, 49],
216
- bgMagenta: [45, 49],
217
- bgCyan: [46, 49],
218
- bgWhite: [47, 49],
219
- bgBlackBright: [100, 49],
220
- bgGray: [100, 49],
221
- bgGrey: [100, 49],
222
- bgRedBright: [101, 49],
223
- bgGreenBright: [102, 49],
224
- bgYellowBright: [103, 49],
225
- bgBlueBright: [104, 49],
226
- bgMagentaBright: [105, 49],
227
- bgCyanBright: [106, 49],
228
- bgWhiteBright: [107, 49]
229
- }
230
- };
231
- modifierNames = Object.keys(styles.modifier);
232
- foregroundColorNames = Object.keys(styles.color);
233
- backgroundColorNames = Object.keys(styles.bgColor);
234
- colorNames = [...foregroundColorNames, ...backgroundColorNames];
235
- ansiStyles = assembleStyles();
236
- ansi_styles_default = ansiStyles;
237
- });
238
-
239
- // node_modules/chalk/source/vendor/supports-color/index.js
240
- import process2 from "node:process";
241
- import os from "node:os";
242
- import tty from "node:tty";
243
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
244
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
245
- const position = argv.indexOf(prefix + flag);
246
- const terminatorPosition = argv.indexOf("--");
247
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
248
- }
249
- function envForceColor() {
250
- if ("FORCE_COLOR" in env) {
251
- if (env.FORCE_COLOR === "true") {
252
- return 1;
253
- }
254
- if (env.FORCE_COLOR === "false") {
255
- return 0;
256
- }
257
- return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
258
- }
259
- }
260
- function translateLevel(level) {
261
- if (level === 0) {
262
- return false;
263
- }
264
- return {
265
- level,
266
- hasBasic: true,
267
- has256: level >= 2,
268
- has16m: level >= 3
269
- };
270
- }
271
- function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
272
- const noFlagForceColor = envForceColor();
273
- if (noFlagForceColor !== undefined) {
274
- flagForceColor = noFlagForceColor;
275
- }
276
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
277
- if (forceColor === 0) {
278
- return 0;
279
- }
280
- if (sniffFlags) {
281
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
282
- return 3;
283
- }
284
- if (hasFlag("color=256")) {
285
- return 2;
286
- }
287
- }
288
- if ("TF_BUILD" in env && "AGENT_NAME" in env) {
289
- return 1;
290
- }
291
- if (haveStream && !streamIsTTY && forceColor === undefined) {
292
- return 0;
293
- }
294
- const min = forceColor || 0;
295
- if (env.TERM === "dumb") {
296
- return min;
297
- }
298
- if (process2.platform === "win32") {
299
- const osRelease = os.release().split(".");
300
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
301
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
302
- }
303
- return 1;
304
- }
305
- if ("CI" in env) {
306
- if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
307
- return 3;
308
- }
309
- if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
310
- return 1;
311
- }
312
- return min;
313
- }
314
- if ("TEAMCITY_VERSION" in env) {
315
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
316
- }
317
- if (env.COLORTERM === "truecolor") {
318
- return 3;
319
- }
320
- if (env.TERM === "xterm-kitty") {
321
- return 3;
322
- }
323
- if (env.TERM === "xterm-ghostty") {
324
- return 3;
325
- }
326
- if (env.TERM === "wezterm") {
327
- return 3;
328
- }
329
- if ("TERM_PROGRAM" in env) {
330
- const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
331
- switch (env.TERM_PROGRAM) {
332
- case "iTerm.app": {
333
- return version >= 3 ? 3 : 2;
334
- }
335
- case "Apple_Terminal": {
336
- return 2;
337
- }
338
- }
339
- }
340
- if (/-256(color)?$/i.test(env.TERM)) {
341
- return 2;
342
- }
343
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
344
- return 1;
345
- }
346
- if ("COLORTERM" in env) {
347
- return 1;
348
- }
349
- return min;
350
- }
351
- function createSupportsColor(stream, options = {}) {
352
- const level = _supportsColor(stream, {
353
- streamIsTTY: stream && stream.isTTY,
354
- ...options
355
- });
356
- return translateLevel(level);
357
- }
358
- var env, flagForceColor, supportsColor, supports_color_default;
359
- var init_supports_color = __esm(() => {
360
- ({ env } = process2);
361
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
362
- flagForceColor = 0;
363
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
364
- flagForceColor = 1;
365
- }
366
- supportsColor = {
367
- stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
368
- stderr: createSupportsColor({ isTTY: tty.isatty(2) })
369
- };
370
- supports_color_default = supportsColor;
371
- });
372
-
373
- // node_modules/chalk/source/utilities.js
374
- function stringReplaceAll(string, substring, replacer) {
375
- let index = string.indexOf(substring);
376
- if (index === -1) {
377
- return string;
378
- }
379
- const substringLength = substring.length;
380
- let endIndex = 0;
381
- let returnValue = "";
382
- do {
383
- returnValue += string.slice(endIndex, index) + substring + replacer;
384
- endIndex = index + substringLength;
385
- index = string.indexOf(substring, endIndex);
386
- } while (index !== -1);
387
- returnValue += string.slice(endIndex);
388
- return returnValue;
389
- }
390
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
391
- let endIndex = 0;
392
- let returnValue = "";
393
- do {
394
- const gotCR = string[index - 1] === "\r";
395
- returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
396
- ` : `
397
- `) + postfix;
398
- endIndex = index + 1;
399
- index = string.indexOf(`
400
- `, endIndex);
401
- } while (index !== -1);
402
- returnValue += string.slice(endIndex);
403
- return returnValue;
404
- }
405
-
406
- // node_modules/chalk/source/index.js
407
- function createChalk(options) {
408
- return chalkFactory(options);
409
- }
410
- var stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles2, applyOptions = (object, options = {}) => {
411
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
412
- throw new Error("The `level` option should be an integer from 0 to 3");
413
- }
414
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
415
- object.level = options.level === undefined ? colorLevel : options.level;
416
- }, chalkFactory = (options) => {
417
- const chalk = (...strings) => strings.join(" ");
418
- applyOptions(chalk, options);
419
- Object.setPrototypeOf(chalk, createChalk.prototype);
420
- return chalk;
421
- }, getModelAnsi = (model, level, type, ...arguments_) => {
422
- if (model === "rgb") {
423
- if (level === "ansi16m") {
424
- return ansi_styles_default[type].ansi16m(...arguments_);
425
- }
426
- if (level === "ansi256") {
427
- return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
428
- }
429
- return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
430
- }
431
- if (model === "hex") {
432
- return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
433
- }
434
- return ansi_styles_default[type][model](...arguments_);
435
- }, usedModels, proto, createStyler = (open, close, parent) => {
436
- let openAll;
437
- let closeAll;
438
- if (parent === undefined) {
439
- openAll = open;
440
- closeAll = close;
441
- } else {
442
- openAll = parent.openAll + open;
443
- closeAll = close + parent.closeAll;
444
- }
445
- return {
446
- open,
447
- close,
448
- openAll,
449
- closeAll,
450
- parent
451
- };
452
- }, createBuilder = (self, _styler, _isEmpty) => {
453
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
454
- Object.setPrototypeOf(builder, proto);
455
- builder[GENERATOR] = self;
456
- builder[STYLER] = _styler;
457
- builder[IS_EMPTY] = _isEmpty;
458
- return builder;
459
- }, applyStyle = (self, string) => {
460
- if (self.level <= 0 || !string) {
461
- return self[IS_EMPTY] ? "" : string;
462
- }
463
- let styler = self[STYLER];
464
- if (styler === undefined) {
465
- return string;
466
- }
467
- const { openAll, closeAll } = styler;
468
- if (string.includes("\x1B")) {
469
- while (styler !== undefined) {
470
- string = stringReplaceAll(string, styler.close, styler.open);
471
- styler = styler.parent;
472
- }
473
- }
474
- const lfIndex = string.indexOf(`
475
- `);
476
- if (lfIndex !== -1) {
477
- string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
478
- }
479
- return openAll + string + closeAll;
480
- }, chalk, chalkStderr, source_default;
481
- var init_source = __esm(() => {
482
- init_ansi_styles();
483
- init_supports_color();
484
- ({ stdout: stdoutColor, stderr: stderrColor } = supports_color_default);
485
- GENERATOR = Symbol("GENERATOR");
486
- STYLER = Symbol("STYLER");
487
- IS_EMPTY = Symbol("IS_EMPTY");
488
- levelMapping = [
489
- "ansi",
490
- "ansi",
491
- "ansi256",
492
- "ansi16m"
493
- ];
494
- styles2 = Object.create(null);
495
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
496
- for (const [styleName, style] of Object.entries(ansi_styles_default)) {
497
- styles2[styleName] = {
498
- get() {
499
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
500
- Object.defineProperty(this, styleName, { value: builder });
501
- return builder;
502
- }
503
- };
504
- }
505
- styles2.visible = {
506
- get() {
507
- const builder = createBuilder(this, this[STYLER], true);
508
- Object.defineProperty(this, "visible", { value: builder });
509
- return builder;
510
- }
511
- };
512
- usedModels = ["rgb", "hex", "ansi256"];
513
- for (const model of usedModels) {
514
- styles2[model] = {
515
- get() {
516
- const { level } = this;
517
- return function(...arguments_) {
518
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
519
- return createBuilder(this, styler, this[IS_EMPTY]);
520
- };
521
- }
522
- };
523
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
524
- styles2[bgModel] = {
525
- get() {
526
- const { level } = this;
527
- return function(...arguments_) {
528
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
529
- return createBuilder(this, styler, this[IS_EMPTY]);
530
- };
531
- }
532
- };
533
- }
534
- proto = Object.defineProperties(() => {}, {
535
- ...styles2,
536
- level: {
537
- enumerable: true,
538
- get() {
539
- return this[GENERATOR].level;
540
- },
541
- set(level) {
542
- this[GENERATOR].level = level;
543
- }
544
- }
545
- });
546
- Object.defineProperties(createChalk.prototype, styles2);
547
- chalk = createChalk();
548
- chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
549
- source_default = chalk;
550
- });
551
-
552
49
  // node_modules/mimic-function/index.js
553
50
  function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
554
51
  const { name } = to;
@@ -593,7 +90,7 @@ var init_mimic_function = __esm(() => {
593
90
  toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
594
91
  });
595
92
 
596
- // node_modules/onetime/index.js
93
+ // node_modules/restore-cursor/node_modules/onetime/index.js
597
94
  var calledFunctions, onetime = (function_, options = {}) => {
598
95
  if (typeof function_ !== "function") {
599
96
  throw new TypeError("Expected a function");
@@ -627,7 +124,7 @@ var init_onetime = __esm(() => {
627
124
  onetime_default = onetime;
628
125
  });
629
126
 
630
- // node_modules/signal-exit/dist/mjs/signals.js
127
+ // node_modules/restore-cursor/node_modules/signal-exit/dist/mjs/signals.js
631
128
  var signals;
632
129
  var init_signals = __esm(() => {
633
130
  signals = [];
@@ -640,7 +137,7 @@ var init_signals = __esm(() => {
640
137
  }
641
138
  });
642
139
 
643
- // node_modules/signal-exit/dist/mjs/index.js
140
+ // node_modules/restore-cursor/node_modules/signal-exit/dist/mjs/index.js
644
141
  class Emitter {
645
142
  emitted = {
646
143
  afterExit: false,
@@ -2523,221 +2020,713 @@ var require_cli_spinners = __commonJS((exports, module) => {
2523
2020
  return spinners[spinnerName];
2524
2021
  }
2525
2022
  });
2526
- module.exports = spinners;
2527
- });
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;
2528
2384
 
2529
- // node_modules/log-symbols/node_modules/is-unicode-supported/index.js
2530
- import process6 from "node:process";
2531
- function isUnicodeSupported() {
2532
- if (process6.platform !== "win32") {
2533
- 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);
2534
2411
  }
2535
- 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";
2536
2412
  }
2537
- var init_is_unicode_supported = () => {};
2538
-
2539
- // node_modules/log-symbols/index.js
2540
- var main, fallback, logSymbols, log_symbols_default;
2541
- var init_log_symbols = __esm(() => {
2542
- init_source();
2543
- init_is_unicode_supported();
2544
- main = {
2545
- info: source_default.blue("ℹ"),
2546
- success: source_default.green("✔"),
2547
- warning: source_default.yellow("⚠"),
2548
- error: source_default.red("✖")
2549
- };
2550
- fallback = {
2551
- info: source_default.blue("i"),
2552
- success: source_default.green("√"),
2553
- warning: source_default.yellow("‼"),
2554
- 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
2555
2422
  };
2556
- logSymbols = isUnicodeSupported() ? main : fallback;
2557
- log_symbols_default = logSymbols;
2558
- });
2559
-
2560
- // node_modules/ansi-regex/index.js
2561
- function ansiRegex({ onlyFirst = false } = {}) {
2562
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
2563
- const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
2564
- const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
2565
- const pattern = `${osc}|${csi}`;
2566
- return new RegExp(pattern, onlyFirst ? undefined : "g");
2567
2423
  }
2568
-
2569
- // node_modules/strip-ansi/index.js
2570
- function stripAnsi(string) {
2571
- if (typeof string !== "string") {
2572
- 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;
2573
2428
  }
2574
- if (!string.includes("\x1B") && !string.includes("›")) {
2575
- return string;
2429
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
2430
+ if (forceColor === 0) {
2431
+ return 0;
2576
2432
  }
2577
- return string.replace(regex, "");
2578
- }
2579
- var regex;
2580
- var init_strip_ansi = __esm(() => {
2581
- regex = ansiRegex();
2582
- });
2583
-
2584
- // node_modules/get-east-asian-width/lookup-data.js
2585
- var ambiguousRanges, fullwidthRanges, halfwidthRanges, narrowRanges, wideRanges;
2586
- var init_lookup_data = __esm(() => {
2587
- 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];
2588
- fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
2589
- halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
2590
- narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
2591
- 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];
2592
- });
2593
-
2594
- // node_modules/get-east-asian-width/utilities.js
2595
- var isInRange = (ranges, codePoint) => {
2596
- let low = 0;
2597
- let high = Math.floor(ranges.length / 2) - 1;
2598
- while (low <= high) {
2599
- const mid = Math.floor((low + high) / 2);
2600
- const i = mid * 2;
2601
- if (codePoint < ranges[i]) {
2602
- high = mid - 1;
2603
- } else if (codePoint > ranges[i + 1]) {
2604
- low = mid + 1;
2605
- } else {
2606
- 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;
2607
2439
  }
2608
2440
  }
2609
- return false;
2610
- };
2611
-
2612
- // node_modules/get-east-asian-width/lookup.js
2613
- function findWideFastPathRange(ranges) {
2614
- let fastPathStart = ranges[0];
2615
- let fastPathEnd = ranges[1];
2616
- for (let index = 0;index < ranges.length; index += 2) {
2617
- const start = ranges[index];
2618
- const end = ranges[index + 1];
2619
- if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
2620
- 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;
2621
2455
  }
2622
- if (end - start > fastPathEnd - fastPathStart) {
2623
- fastPathStart = start;
2624
- 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;
2625
2464
  }
2465
+ return min;
2626
2466
  }
2627
- return [fastPathStart, fastPathEnd];
2628
- }
2629
- var minimumAmbiguousCodePoint, maximumAmbiguousCodePoint, minimumFullWidthCodePoint, maximumFullWidthCodePoint, minimumHalfWidthCodePoint, maximumHalfWidthCodePoint, minimumNarrowCodePoint, maximumNarrowCodePoint, minimumWideCodePoint, maximumWideCodePoint, commonCjkCodePoint = 19968, wideFastPathStart, wideFastPathEnd, isAmbiguous = (codePoint) => {
2630
- if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
2631
- return false;
2467
+ if ("TEAMCITY_VERSION" in env) {
2468
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
2632
2469
  }
2633
- return isInRange(ambiguousRanges, codePoint);
2634
- }, isFullWidth = (codePoint) => {
2635
- if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
2636
- return false;
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
+ }
2491
+ }
2637
2492
  }
2638
- return isInRange(fullwidthRanges, codePoint);
2639
- }, isWide = (codePoint) => {
2640
- if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
2641
- return true;
2493
+ if (/-256(color)?$/i.test(env.TERM)) {
2494
+ return 2;
2642
2495
  }
2643
- if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
2644
- return false;
2496
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
2497
+ return 1;
2645
2498
  }
2646
- return isInRange(wideRanges, codePoint);
2499
+ if ("COLORTERM" in env) {
2500
+ return 1;
2501
+ }
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) })
2647
2514
  };
2648
- var init_lookup = __esm(() => {
2649
- init_lookup_data();
2650
- minimumAmbiguousCodePoint = ambiguousRanges[0];
2651
- maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
2652
- minimumFullWidthCodePoint = fullwidthRanges[0];
2653
- maximumFullWidthCodePoint = fullwidthRanges.at(-1);
2654
- minimumHalfWidthCodePoint = halfwidthRanges[0];
2655
- maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
2656
- minimumNarrowCodePoint = narrowRanges[0];
2657
- maximumNarrowCodePoint = narrowRanges.at(-1);
2658
- minimumWideCodePoint = wideRanges[0];
2659
- maximumWideCodePoint = wideRanges.at(-1);
2660
- [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
2661
- });
2515
+ var supports_color_default = supportsColor;
2662
2516
 
2663
- // node_modules/get-east-asian-width/index.js
2664
- function validate(codePoint) {
2665
- if (!Number.isSafeInteger(codePoint)) {
2666
- 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;
2667
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;
2668
2533
  }
2669
- function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
2670
- validate(codePoint);
2671
- if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
2672
- return 2;
2673
- }
2674
- 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;
2675
2548
  }
2676
- var init_get_east_asian_width = __esm(() => {
2677
- init_lookup();
2678
- init_lookup();
2679
- });
2680
-
2681
- // node_modules/emoji-regex/index.js
2682
- var require_emoji_regex = __commonJS((exports, module) => {
2683
- module.exports = () => {
2684
- 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;
2685
- };
2686
- });
2687
2549
 
2688
- // node_modules/string-width/index.js
2689
- function stringWidth(string, options = {}) {
2690
- if (typeof string !== "string" || string.length === 0) {
2691
- return 0;
2692
- }
2693
- const {
2694
- ambiguousIsNarrow = true,
2695
- countAnsiEscapeCodes = false
2696
- } = options;
2697
- if (!countAnsiEscapeCodes) {
2698
- string = stripAnsi(string);
2699
- }
2700
- if (string.length === 0) {
2701
- 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");
2702
2565
  }
2703
- let width = 0;
2704
- const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
2705
- for (const { segment: character } of segmenter.segment(string)) {
2706
- const codePoint = character.codePointAt(0);
2707
- if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
2708
- 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;
2709
2585
  }
2710
- if (codePoint >= 8203 && codePoint <= 8207 || codePoint === 65279) {
2711
- 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_);
2712
2599
  }
2713
- if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
2714
- continue;
2600
+ if (level === "ansi256") {
2601
+ return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
2715
2602
  }
2716
- if (codePoint >= 55296 && codePoint <= 57343) {
2717
- 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
+ };
2718
2619
  }
2719
- if (codePoint >= 65024 && codePoint <= 65039) {
2720
- 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
+ };
2721
2629
  }
2722
- if (defaultIgnorableCodePointRegex.test(character)) {
2723
- 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;
2724
2641
  }
2725
- if (import_emoji_regex.default().test(character)) {
2726
- width += 2;
2727
- 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;
2728
2683
  }
2729
- width += eastAsianWidth(codePoint, eastAsianWidthOptions);
2730
2684
  }
2731
- 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";
2732
2709
  }
2733
- var import_emoji_regex, segmenter, defaultIgnorableCodePointRegex;
2734
- var init_string_width = __esm(() => {
2735
- init_strip_ansi();
2736
- init_get_east_asian_width();
2737
- import_emoji_regex = __toESM(require_emoji_regex(), 1);
2738
- segmenter = new Intl.Segmenter;
2739
- defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
2740
- });
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();
2741
2730
 
2742
2731
  // node_modules/is-interactive/index.js
2743
2732
  function isInteractive({ stream = process.stdout } = {}) {
@@ -2754,10 +2743,10 @@ function isUnicodeSupported2() {
2754
2743
  }
2755
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";
2756
2745
  }
2757
- var init_is_unicode_supported2 = () => {};
2758
2746
 
2759
2747
  // node_modules/stdin-discarder/index.js
2760
2748
  import process8 from "node:process";
2749
+ var ASCII_ETX_CODE = 3;
2761
2750
 
2762
2751
  class StdinDiscarder {
2763
2752
  #activeCount = 0;
@@ -2798,14 +2787,11 @@ class StdinDiscarder {
2798
2787
  }
2799
2788
  }
2800
2789
  }
2801
- var ASCII_ETX_CODE = 3, stdinDiscarder, stdin_discarder_default;
2802
- var init_stdin_discarder = __esm(() => {
2803
- stdinDiscarder = new StdinDiscarder;
2804
- stdin_discarder_default = stdinDiscarder;
2805
- });
2790
+ var stdinDiscarder = new StdinDiscarder;
2791
+ var stdin_discarder_default = stdinDiscarder;
2806
2792
 
2807
2793
  // node_modules/ora/index.js
2808
- import process9 from "node:process";
2794
+ var import_cli_spinners2 = __toESM(require_cli_spinners(), 1);
2809
2795
 
2810
2796
  class Ora {
2811
2797
  #linesToClear = 0;
@@ -3098,18 +3084,6 @@ class Ora {
3098
3084
  function ora(options) {
3099
3085
  return new Ora(options);
3100
3086
  }
3101
- var import_cli_spinners, import_cli_spinners2;
3102
- var init_ora = __esm(() => {
3103
- init_source();
3104
- init_cli_cursor();
3105
- init_log_symbols();
3106
- init_strip_ansi();
3107
- init_string_width();
3108
- init_is_unicode_supported2();
3109
- init_stdin_discarder();
3110
- import_cli_spinners = __toESM(require_cli_spinners(), 1);
3111
- import_cli_spinners2 = __toESM(require_cli_spinners(), 1);
3112
- });
3113
3087
 
3114
3088
  // src/utils/logger.ts
3115
3089
  class Logger {
@@ -3209,16 +3183,12 @@ class Logger {
3209
3183
  console.log("");
3210
3184
  }
3211
3185
  }
3212
- var logger;
3213
- var init_logger = __esm(() => {
3214
- init_source();
3215
- init_ora();
3216
- logger = new Logger;
3217
- });
3186
+ var logger = new Logger;
3218
3187
 
3219
3188
  // src/utils/paths.ts
3220
3189
  import path from "path";
3221
3190
  import os2 from "os";
3191
+ import fs from "fs/promises";
3222
3192
  function getHomeDir() {
3223
3193
  return os2.homedir();
3224
3194
  }
@@ -3236,7 +3206,23 @@ function getConfig() {
3236
3206
  function toGitPath(filePath) {
3237
3207
  return filePath.replace(/\\/g, "/");
3238
3208
  }
3239
- 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
+ }
3217
+
3218
+ // src/types.ts
3219
+ var AI_PATTERN_REGEX = "^Co-Authored-By: (Claude|GitHub Copilot|ChatGPT|Anthropic|OpenAI|Cursor AI|AI Assistant|Tabnine|CodeWhisperer|Codeium|Replit Ghostwriter|Sourcegraph Cody|Cody).*";
3220
+ var DEFAULT_AI_PATTERNS = [
3221
+ {
3222
+ name: "AI Co-Authors",
3223
+ pattern: AI_PATTERN_REGEX
3224
+ }
3225
+ ];
3240
3226
 
3241
3227
  // src/utils/hook.ts
3242
3228
  function generateHookContent(options = {}) {
@@ -3257,18 +3243,18 @@ ${sedCommands}
3257
3243
  sed -i -e :a -e '/^$/{$d;N;ba' -e '}' "$COMMIT_MSG_FILE"
3258
3244
  `;
3259
3245
  }
3246
+ function getDefaultPatterns() {
3247
+ return DEFAULT_AI_PATTERNS;
3248
+ }
3260
3249
  function getPatternNames() {
3261
3250
  return DEFAULT_AI_PATTERNS.map((p) => p.name);
3262
3251
  }
3263
- var init_hook = __esm(() => {
3264
- init_types();
3265
- });
3266
3252
 
3267
3253
  // src/utils/git.ts
3268
- import { execSync } from "child_process";
3254
+ import { execFileSync } from "child_process";
3269
3255
  function getGitConfig(key) {
3270
3256
  try {
3271
- const value = execSync(`git config --global ${key}`, {
3257
+ const value = execFileSync("git", ["config", "--global", key], {
3272
3258
  encoding: "utf-8",
3273
3259
  stdio: ["pipe", "pipe", "ignore"]
3274
3260
  }).trim();
@@ -3278,14 +3264,14 @@ function getGitConfig(key) {
3278
3264
  }
3279
3265
  }
3280
3266
  function setGitConfig(key, value) {
3281
- execSync(`git config --global ${key} '${value}'`, {
3267
+ execFileSync("git", ["config", "--global", key, value], {
3282
3268
  encoding: "utf-8",
3283
3269
  stdio: ["pipe", "pipe", "ignore"]
3284
3270
  });
3285
3271
  }
3286
3272
  function unsetGitConfig(key) {
3287
3273
  try {
3288
- execSync(`git config --global --unset ${key}`, {
3274
+ execFileSync("git", ["config", "--global", "--unset", key], {
3289
3275
  encoding: "utf-8",
3290
3276
  stdio: ["pipe", "pipe", "ignore"]
3291
3277
  });
@@ -3298,25 +3284,17 @@ function setTemplateDir(templatePath) {
3298
3284
  const gitPath = toGitPath(templatePath);
3299
3285
  setGitConfig("init.templatedir", gitPath);
3300
3286
  }
3301
- var init_git = __esm(() => {
3302
- init_paths();
3303
- });
3304
3287
 
3305
3288
  // src/install.ts
3306
- var exports_install = {};
3307
- __export(exports_install, {
3308
- main: () => main2,
3309
- install: () => install
3310
- });
3311
- import fs from "fs/promises";
3289
+ import fs2 from "fs/promises";
3312
3290
  async function install(options = {}) {
3313
3291
  const logger2 = new Logger(options.silent);
3314
3292
  const config = getConfig();
3315
3293
  try {
3316
3294
  logger2.start("Creating git templates directory...");
3317
- await fs.mkdir(config.hooksDir, { recursive: true });
3295
+ await fs2.mkdir(config.hooksDir, { recursive: true });
3318
3296
  const hookContent = generateHookContent();
3319
- await fs.writeFile(config.hookFile, hookContent, { mode: 493 });
3297
+ await fs2.writeFile(config.hookFile, hookContent, { mode: 493 });
3320
3298
  logger2.succeed(`Hook created at ${config.hookFile}`);
3321
3299
  logger2.start("Configuring git templates...");
3322
3300
  const currentTemplate = getTemplateDir();
@@ -3381,14 +3359,6 @@ async function main2() {
3381
3359
  process.exit(1);
3382
3360
  }
3383
3361
  }
3384
- var init_install = __esm(() => {
3385
- init_logger();
3386
- init_paths();
3387
- init_hook();
3388
- init_git();
3389
- });
3390
- init_install();
3391
-
3392
3362
  export {
3393
3363
  main2 as main,
3394
3364
  install