generator-reshow 0.18.9 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +1 -1
  2. package/generators/app/index.js +2340 -43
  3. package/generators/app/templates/index.tpl +1 -1
  4. package/generators/babel-package-json/index.js +2294 -0
  5. package/generators/bun/index.js +2258 -0
  6. package/generators/bun/templates/README.md +16 -0
  7. package/generators/bun/templates/_gitignore +8 -0
  8. package/generators/bun/templates/src/index.js +7 -0
  9. package/generators/bun/templates/src/init.js +8 -0
  10. package/generators/bun/templates/tsconfig.json +34 -0
  11. package/generators/bun-package-json/index.js +2205 -0
  12. package/generators/compile-sh/index.js +2140 -8
  13. package/generators/docker/index.js +2172 -52
  14. package/generators/generator/index.js +2149 -46
  15. package/generators/gitlab-docker/index.js +2227 -42
  16. package/generators/hono/index.js +2297 -0
  17. package/generators/hono/templates/src/index.ts +10 -0
  18. package/generators/npm/index.js +2327 -49
  19. package/generators/package-json/index.js +2149 -92
  20. package/generators/package-json/templates/package.json +4 -28
  21. package/generators/types/app/__tests__/App.test.d.ts +8 -0
  22. package/generators/types/app/index.d.ts +32 -0
  23. package/generators/types/babel-package-json/__tests__/babel-package-json.test.d.ts +8 -0
  24. package/generators/types/babel-package-json/index.d.ts +8 -0
  25. package/generators/types/bun/__tests__/bun.test.d.ts +8 -0
  26. package/generators/types/bun/index.d.ts +27 -0
  27. package/generators/types/bun-package-json/__tests__/bun-package-json.test.d.ts +8 -0
  28. package/generators/types/bun-package-json/index.d.ts +8 -0
  29. package/generators/types/compile-sh/__tests__/compile-sh.test.d.ts +8 -0
  30. package/generators/types/compile-sh/index.d.ts +7 -0
  31. package/generators/types/docker/__tests__/docker.test.d.ts +8 -0
  32. package/generators/types/docker/commonDockerPrompt.d.ts +7 -0
  33. package/generators/types/docker/index.d.ts +27 -0
  34. package/generators/types/generator/__tests__/generator.test.d.ts +8 -0
  35. package/generators/types/generator/index.d.ts +27 -0
  36. package/generators/types/gitlab-docker/__tests__/gitlab-docker.test.d.ts +8 -0
  37. package/generators/types/gitlab-docker/index.d.ts +27 -0
  38. package/generators/types/hono/__tests__/hono.test.d.ts +8 -0
  39. package/generators/types/hono/index.d.ts +10 -0
  40. package/generators/types/npm/__tests__/npm.test.d.ts +8 -0
  41. package/generators/types/npm/index.d.ts +27 -0
  42. package/generators/types/package-json/__tests__/package-json.test.d.ts +8 -0
  43. package/generators/types/package-json/index.d.ts +7 -0
  44. package/generators/types/update-esm-export/__tests__/update-esm-export.test.d.ts +8 -0
  45. package/generators/types/update-esm-export/index.d.ts +27 -0
  46. package/generators/update-esm-export/index.js +2172 -67
  47. package/package.json +16 -11
  48. package/generators/app/README.md +0 -4
  49. package/generators/app/__tests__/TestApp.js +0 -43
  50. package/generators/compile-sh/README.md +0 -8
  51. package/generators/compile-sh/__tests__/Test.js +0 -43
  52. package/generators/docker/README.md +0 -24
  53. package/generators/docker/__tests__/Test.js +0 -42
  54. package/generators/docker/commonDockerPrompt.js +0 -24
  55. package/generators/generator/README.md +0 -9
  56. package/generators/generator/__tests__/TestGenerator.js +0 -42
  57. package/generators/gitlab-docker/README.md +0 -9
  58. package/generators/gitlab-docker/__tests__/Test.js +0 -44
  59. package/generators/npm/README.md +0 -9
  60. package/generators/npm/__tests__/Test.js +0 -46
  61. package/generators/package-json/README.md +0 -9
  62. package/generators/package-json/__tests__/Test.js +0 -45
  63. package/generators/update-esm-export/README.md +0 -9
  64. package/generators/update-esm-export/__tests__/Test.js +0 -43
  65. /package/generators/{package-json → babel-package-json}/templates/.yo +0 -0
@@ -0,0 +1,2205 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ function __accessProp(key) {
8
+ return this[key];
9
+ }
10
+ var __toESMCache_node;
11
+ var __toESMCache_esm;
12
+ var __toESM = (mod, isNodeMode, target) => {
13
+ var canCache = mod != null && typeof mod === "object";
14
+ if (canCache) {
15
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
16
+ var cached = cache.get(mod);
17
+ if (cached)
18
+ return cached;
19
+ }
20
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
21
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
+ for (let key of __getOwnPropNames(mod))
23
+ if (!__hasOwnProp.call(to, key))
24
+ __defProp(to, key, {
25
+ get: __accessProp.bind(mod, key),
26
+ enumerable: true
27
+ });
28
+ if (canCache)
29
+ cache.set(mod, to);
30
+ return to;
31
+ };
32
+ var __toCommonJS = (from) => {
33
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
34
+ if (entry)
35
+ return entry;
36
+ entry = __defProp({}, "__esModule", { value: true });
37
+ if (from && typeof from === "object" || typeof from === "function") {
38
+ for (var key of __getOwnPropNames(from))
39
+ if (!__hasOwnProp.call(entry, key))
40
+ __defProp(entry, key, {
41
+ get: __accessProp.bind(from, key),
42
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
43
+ });
44
+ }
45
+ __moduleCache.set(from, entry);
46
+ return entry;
47
+ };
48
+ var __moduleCache;
49
+ var __returnValue = (v) => v;
50
+ function __exportSetter(name, newValue) {
51
+ this[name] = __returnValue.bind(null, newValue);
52
+ }
53
+ var __export = (target, all) => {
54
+ for (var name in all)
55
+ __defProp(target, name, {
56
+ get: all[name],
57
+ enumerable: true,
58
+ configurable: true,
59
+ set: __exportSetter.bind(all, name)
60
+ });
61
+ };
62
+
63
+ // src/package-json/index.ts
64
+ var exports_package_json = {};
65
+ __export(exports_package_json, {
66
+ default: () => package_json_default
67
+ });
68
+ module.exports = __toCommonJS(exports_package_json);
69
+
70
+ // ../yo-reshow/dist/index.js
71
+ var import_node_module = require("node:module");
72
+ var import_yeoman_generator = __toESM(require("yeoman-generator"));
73
+ var PATH4 = __toESM(require("path"));
74
+ var PATH = __toESM(require("path"));
75
+ var FS = __toESM(require("fs"));
76
+ var FS2 = __toESM(require("fs"));
77
+ var FS3 = __toESM(require("fs"));
78
+ var import_node_process = __toESM(require("node:process"));
79
+ var import_node_os = __toESM(require("node:os"));
80
+ var import_node_tty = __toESM(require("node:tty"));
81
+ var import_path = require("path");
82
+ var import_fs = require("fs");
83
+ var import_path2 = require("path");
84
+ var import_path3 = require("path");
85
+ var import_path4 = require("path");
86
+ var import_fs2 = require("fs");
87
+ var FS4 = __toESM(require("fs"));
88
+ var PATH2 = __toESM(require("path"));
89
+ var PATH3 = __toESM(require("path"));
90
+ var OS = __toESM(require("os"));
91
+ var import_parse_ini_string = __toESM(require("parse-ini-string"));
92
+ var FS5 = __toESM(require("fs"));
93
+ var fs = __toESM(require("fs"));
94
+ var path = __toESM(require("path"));
95
+ var __create2 = Object.create;
96
+ var __getProtoOf2 = Object.getPrototypeOf;
97
+ var __defProp2 = Object.defineProperty;
98
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
99
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
100
+ function __accessProp2(key) {
101
+ return this[key];
102
+ }
103
+ var __toESMCache_node2;
104
+ var __toESMCache_esm2;
105
+ var __toESM2 = (mod, isNodeMode, target) => {
106
+ var canCache = mod != null && typeof mod === "object";
107
+ if (canCache) {
108
+ var cache = isNodeMode ? __toESMCache_node2 ??= new WeakMap : __toESMCache_esm2 ??= new WeakMap;
109
+ var cached = cache.get(mod);
110
+ if (cached)
111
+ return cached;
112
+ }
113
+ target = mod != null ? __create2(__getProtoOf2(mod)) : {};
114
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target;
115
+ for (let key of __getOwnPropNames2(mod))
116
+ if (!__hasOwnProp2.call(to, key))
117
+ __defProp2(to, key, {
118
+ get: __accessProp2.bind(mod, key),
119
+ enumerable: true
120
+ });
121
+ if (canCache)
122
+ cache.set(mod, to);
123
+ return to;
124
+ };
125
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
126
+ var __require = /* @__PURE__ */ import_node_module.createRequire("file:///Volumes/GoldenSnake/git/yo-modality/yo-reshow/dist/index.js");
127
+ var require_pad_component = __commonJS((exports2, module2) => {
128
+ exports2 = module2.exports = pad;
129
+ function pad(str, len, c) {
130
+ c = c || " ";
131
+ if (str.length >= len)
132
+ return str;
133
+ len = len - str.length;
134
+ var left = Array(Math.ceil(len / 2) + 1).join(c);
135
+ var right = Array(Math.floor(len / 2) + 1).join(c);
136
+ return left + str + right;
137
+ }
138
+ exports2.left = function(str, len, c) {
139
+ c = c || " ";
140
+ if (str.length >= len)
141
+ return str;
142
+ return Array(len - str.length + 1).join(c) + str;
143
+ };
144
+ exports2.right = function(str, len, c) {
145
+ c = c || " ";
146
+ if (str.length >= len)
147
+ return str;
148
+ return str + Array(len - str.length + 1).join(c);
149
+ };
150
+ });
151
+ var require_eastasianwidth = __commonJS((exports2, module2) => {
152
+ var eaw = {};
153
+ if (typeof module2 == "undefined") {
154
+ window.eastasianwidth = eaw;
155
+ } else {
156
+ module2.exports = eaw;
157
+ }
158
+ eaw.eastAsianWidth = function(character) {
159
+ var x = character.charCodeAt(0);
160
+ var y = character.length == 2 ? character.charCodeAt(1) : 0;
161
+ var codePoint = x;
162
+ if (55296 <= x && x <= 56319 && (56320 <= y && y <= 57343)) {
163
+ x &= 1023;
164
+ y &= 1023;
165
+ codePoint = x << 10 | y;
166
+ codePoint += 65536;
167
+ }
168
+ if (codePoint == 12288 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510) {
169
+ return "F";
170
+ }
171
+ if (codePoint == 8361 || 65377 <= codePoint && codePoint <= 65470 || 65474 <= codePoint && codePoint <= 65479 || 65482 <= codePoint && codePoint <= 65487 || 65490 <= codePoint && codePoint <= 65495 || 65498 <= codePoint && codePoint <= 65500 || 65512 <= codePoint && codePoint <= 65518) {
172
+ return "H";
173
+ }
174
+ if (4352 <= codePoint && codePoint <= 4447 || 4515 <= codePoint && codePoint <= 4519 || 4602 <= codePoint && codePoint <= 4607 || 9001 <= codePoint && codePoint <= 9002 || 11904 <= codePoint && codePoint <= 11929 || 11931 <= codePoint && codePoint <= 12019 || 12032 <= codePoint && codePoint <= 12245 || 12272 <= codePoint && codePoint <= 12283 || 12289 <= codePoint && codePoint <= 12350 || 12353 <= codePoint && codePoint <= 12438 || 12441 <= codePoint && codePoint <= 12543 || 12549 <= codePoint && codePoint <= 12589 || 12593 <= codePoint && codePoint <= 12686 || 12688 <= codePoint && codePoint <= 12730 || 12736 <= codePoint && codePoint <= 12771 || 12784 <= codePoint && codePoint <= 12830 || 12832 <= codePoint && codePoint <= 12871 || 12880 <= codePoint && codePoint <= 13054 || 13056 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42124 || 42128 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 55216 <= codePoint && codePoint <= 55238 || 55243 <= codePoint && codePoint <= 55291 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65106 || 65108 <= codePoint && codePoint <= 65126 || 65128 <= codePoint && codePoint <= 65131 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127490 || 127504 <= codePoint && codePoint <= 127546 || 127552 <= codePoint && codePoint <= 127560 || 127568 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 194367 || 177984 <= codePoint && codePoint <= 196605 || 196608 <= codePoint && codePoint <= 262141) {
175
+ return "W";
176
+ }
177
+ if (32 <= codePoint && codePoint <= 126 || 162 <= codePoint && codePoint <= 163 || 165 <= codePoint && codePoint <= 166 || codePoint == 172 || codePoint == 175 || 10214 <= codePoint && codePoint <= 10221 || 10629 <= codePoint && codePoint <= 10630) {
178
+ return "Na";
179
+ }
180
+ if (codePoint == 161 || codePoint == 164 || 167 <= codePoint && codePoint <= 168 || codePoint == 170 || 173 <= codePoint && codePoint <= 174 || 176 <= codePoint && codePoint <= 180 || 182 <= codePoint && codePoint <= 186 || 188 <= codePoint && codePoint <= 191 || codePoint == 198 || codePoint == 208 || 215 <= codePoint && codePoint <= 216 || 222 <= codePoint && codePoint <= 225 || codePoint == 230 || 232 <= codePoint && codePoint <= 234 || 236 <= codePoint && codePoint <= 237 || codePoint == 240 || 242 <= codePoint && codePoint <= 243 || 247 <= codePoint && codePoint <= 250 || codePoint == 252 || codePoint == 254 || codePoint == 257 || codePoint == 273 || codePoint == 275 || codePoint == 283 || 294 <= codePoint && codePoint <= 295 || codePoint == 299 || 305 <= codePoint && codePoint <= 307 || codePoint == 312 || 319 <= codePoint && codePoint <= 322 || codePoint == 324 || 328 <= codePoint && codePoint <= 331 || codePoint == 333 || 338 <= codePoint && codePoint <= 339 || 358 <= codePoint && codePoint <= 359 || codePoint == 363 || codePoint == 462 || codePoint == 464 || codePoint == 466 || codePoint == 468 || codePoint == 470 || codePoint == 472 || codePoint == 474 || codePoint == 476 || codePoint == 593 || codePoint == 609 || codePoint == 708 || codePoint == 711 || 713 <= codePoint && codePoint <= 715 || codePoint == 717 || codePoint == 720 || 728 <= codePoint && codePoint <= 731 || codePoint == 733 || codePoint == 735 || 768 <= codePoint && codePoint <= 879 || 913 <= codePoint && codePoint <= 929 || 931 <= codePoint && codePoint <= 937 || 945 <= codePoint && codePoint <= 961 || 963 <= codePoint && codePoint <= 969 || codePoint == 1025 || 1040 <= codePoint && codePoint <= 1103 || codePoint == 1105 || codePoint == 8208 || 8211 <= codePoint && codePoint <= 8214 || 8216 <= codePoint && codePoint <= 8217 || 8220 <= codePoint && codePoint <= 8221 || 8224 <= codePoint && codePoint <= 8226 || 8228 <= codePoint && codePoint <= 8231 || codePoint == 8240 || 8242 <= codePoint && codePoint <= 8243 || codePoint == 8245 || codePoint == 8251 || codePoint == 8254 || codePoint == 8308 || codePoint == 8319 || 8321 <= codePoint && codePoint <= 8324 || codePoint == 8364 || codePoint == 8451 || codePoint == 8453 || codePoint == 8457 || codePoint == 8467 || codePoint == 8470 || 8481 <= codePoint && codePoint <= 8482 || codePoint == 8486 || codePoint == 8491 || 8531 <= codePoint && codePoint <= 8532 || 8539 <= codePoint && codePoint <= 8542 || 8544 <= codePoint && codePoint <= 8555 || 8560 <= codePoint && codePoint <= 8569 || codePoint == 8585 || 8592 <= codePoint && codePoint <= 8601 || 8632 <= codePoint && codePoint <= 8633 || codePoint == 8658 || codePoint == 8660 || codePoint == 8679 || codePoint == 8704 || 8706 <= codePoint && codePoint <= 8707 || 8711 <= codePoint && codePoint <= 8712 || codePoint == 8715 || codePoint == 8719 || codePoint == 8721 || codePoint == 8725 || codePoint == 8730 || 8733 <= codePoint && codePoint <= 8736 || codePoint == 8739 || codePoint == 8741 || 8743 <= codePoint && codePoint <= 8748 || codePoint == 8750 || 8756 <= codePoint && codePoint <= 8759 || 8764 <= codePoint && codePoint <= 8765 || codePoint == 8776 || codePoint == 8780 || codePoint == 8786 || 8800 <= codePoint && codePoint <= 8801 || 8804 <= codePoint && codePoint <= 8807 || 8810 <= codePoint && codePoint <= 8811 || 8814 <= codePoint && codePoint <= 8815 || 8834 <= codePoint && codePoint <= 8835 || 8838 <= codePoint && codePoint <= 8839 || codePoint == 8853 || codePoint == 8857 || codePoint == 8869 || codePoint == 8895 || codePoint == 8978 || 9312 <= codePoint && codePoint <= 9449 || 9451 <= codePoint && codePoint <= 9547 || 9552 <= codePoint && codePoint <= 9587 || 9600 <= codePoint && codePoint <= 9615 || 9618 <= codePoint && codePoint <= 9621 || 9632 <= codePoint && codePoint <= 9633 || 9635 <= codePoint && codePoint <= 9641 || 9650 <= codePoint && codePoint <= 9651 || 9654 <= codePoint && codePoint <= 9655 || 9660 <= codePoint && codePoint <= 9661 || 9664 <= codePoint && codePoint <= 9665 || 9670 <= codePoint && codePoint <= 9672 || codePoint == 9675 || 9678 <= codePoint && codePoint <= 9681 || 9698 <= codePoint && codePoint <= 9701 || codePoint == 9711 || 9733 <= codePoint && codePoint <= 9734 || codePoint == 9737 || 9742 <= codePoint && codePoint <= 9743 || 9748 <= codePoint && codePoint <= 9749 || codePoint == 9756 || codePoint == 9758 || codePoint == 9792 || codePoint == 9794 || 9824 <= codePoint && codePoint <= 9825 || 9827 <= codePoint && codePoint <= 9829 || 9831 <= codePoint && codePoint <= 9834 || 9836 <= codePoint && codePoint <= 9837 || codePoint == 9839 || 9886 <= codePoint && codePoint <= 9887 || 9918 <= codePoint && codePoint <= 9919 || 9924 <= codePoint && codePoint <= 9933 || 9935 <= codePoint && codePoint <= 9953 || codePoint == 9955 || 9960 <= codePoint && codePoint <= 9983 || codePoint == 10045 || codePoint == 10071 || 10102 <= codePoint && codePoint <= 10111 || 11093 <= codePoint && codePoint <= 11097 || 12872 <= codePoint && codePoint <= 12879 || 57344 <= codePoint && codePoint <= 63743 || 65024 <= codePoint && codePoint <= 65039 || codePoint == 65533 || 127232 <= codePoint && codePoint <= 127242 || 127248 <= codePoint && codePoint <= 127277 || 127280 <= codePoint && codePoint <= 127337 || 127344 <= codePoint && codePoint <= 127386 || 917760 <= codePoint && codePoint <= 917999 || 983040 <= codePoint && codePoint <= 1048573 || 1048576 <= codePoint && codePoint <= 1114109) {
181
+ return "A";
182
+ }
183
+ return "N";
184
+ };
185
+ eaw.characterLength = function(character) {
186
+ var code = this.eastAsianWidth(character);
187
+ if (code == "F" || code == "W" || code == "A") {
188
+ return 2;
189
+ } else {
190
+ return 1;
191
+ }
192
+ };
193
+ function stringToArray(string) {
194
+ return string.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g) || [];
195
+ }
196
+ eaw.length = function(string) {
197
+ var characters = stringToArray(string);
198
+ var len = 0;
199
+ for (var i = 0;i < characters.length; i++) {
200
+ len = len + this.characterLength(characters[i]);
201
+ }
202
+ return len;
203
+ };
204
+ eaw.slice = function(text, start, end) {
205
+ textLen = eaw.length(text);
206
+ start = start ? start : 0;
207
+ end = end ? end : 1;
208
+ if (start < 0) {
209
+ start = textLen + start;
210
+ }
211
+ if (end < 0) {
212
+ end = textLen + end;
213
+ }
214
+ var result = "";
215
+ var eawLen = 0;
216
+ var chars = stringToArray(text);
217
+ for (var i = 0;i < chars.length; i++) {
218
+ var char = chars[i];
219
+ var charLen = eaw.length(char);
220
+ if (eawLen >= start - (charLen == 2 ? 1 : 0)) {
221
+ if (eawLen + charLen <= end) {
222
+ result += char;
223
+ } else {
224
+ break;
225
+ }
226
+ }
227
+ eawLen += charLen;
228
+ }
229
+ return result;
230
+ };
231
+ });
232
+ var require_emoji_regex = __commonJS((exports2, module2) => {
233
+ module2.exports = function() {
234
+ return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\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|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\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]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\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-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
235
+ };
236
+ });
237
+ var require_emoji_regex2 = __commonJS((exports2, module2) => {
238
+ module2.exports = () => {
239
+ 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;
240
+ };
241
+ });
242
+ var require_boxes = __commonJS((exports2, module2) => {
243
+ module2.exports = {
244
+ single: {
245
+ topLeft: "┌",
246
+ top: "─",
247
+ topRight: "┐",
248
+ right: "│",
249
+ bottomRight: "┘",
250
+ bottom: "─",
251
+ bottomLeft: "└",
252
+ left: "│"
253
+ },
254
+ double: {
255
+ topLeft: "╔",
256
+ top: "═",
257
+ topRight: "╗",
258
+ right: "║",
259
+ bottomRight: "╝",
260
+ bottom: "═",
261
+ bottomLeft: "╚",
262
+ left: "║"
263
+ },
264
+ round: {
265
+ topLeft: "╭",
266
+ top: "─",
267
+ topRight: "╮",
268
+ right: "│",
269
+ bottomRight: "╯",
270
+ bottom: "─",
271
+ bottomLeft: "╰",
272
+ left: "│"
273
+ },
274
+ bold: {
275
+ topLeft: "┏",
276
+ top: "━",
277
+ topRight: "┓",
278
+ right: "┃",
279
+ bottomRight: "┛",
280
+ bottom: "━",
281
+ bottomLeft: "┗",
282
+ left: "┃"
283
+ },
284
+ singleDouble: {
285
+ topLeft: "╓",
286
+ top: "─",
287
+ topRight: "╖",
288
+ right: "║",
289
+ bottomRight: "╜",
290
+ bottom: "─",
291
+ bottomLeft: "╙",
292
+ left: "║"
293
+ },
294
+ doubleSingle: {
295
+ topLeft: "╒",
296
+ top: "═",
297
+ topRight: "╕",
298
+ right: "│",
299
+ bottomRight: "╛",
300
+ bottom: "═",
301
+ bottomLeft: "╘",
302
+ left: "│"
303
+ },
304
+ classic: {
305
+ topLeft: "+",
306
+ top: "-",
307
+ topRight: "+",
308
+ right: "|",
309
+ bottomRight: "+",
310
+ bottom: "-",
311
+ bottomLeft: "+",
312
+ left: "|"
313
+ },
314
+ arrow: {
315
+ topLeft: "↘",
316
+ top: "↓",
317
+ topRight: "↙",
318
+ right: "←",
319
+ bottomRight: "↖",
320
+ bottom: "↑",
321
+ bottomLeft: "↗",
322
+ left: "→"
323
+ }
324
+ };
325
+ });
326
+ var require_cli_boxes = __commonJS((exports2, module2) => {
327
+ var cliBoxes = require_boxes();
328
+ module2.exports = cliBoxes;
329
+ module2.exports.default = cliBoxes;
330
+ });
331
+ var require_handleKeywords = __commonJS((exports2, module2) => {
332
+ var handleKeywords = (keyword, cb) => {
333
+ const keywordArr = keyword?.split(",");
334
+ if (keywordArr && keywordArr.length) {
335
+ cb(keywordArr.map((s) => s.trim()));
336
+ }
337
+ };
338
+ module2.exports = handleKeywords;
339
+ });
340
+ var YoGenerator_default = import_yeoman_generator.default;
341
+ var FUNCTION = "function";
342
+ var STRING = "string";
343
+ var UNDEFINED = "undefined";
344
+ var T_UNDEFINED = undefined;
345
+ var KEYS = Object.keys;
346
+ var OBJ_SIZE = function OBJ_SIZE2(o) {
347
+ return o ? KEYS(o).length : 0;
348
+ };
349
+ var getDestFolderName = (oGen) => PATH.basename(oGen.destinationRoot());
350
+ var getDestFolderName_default = getDestFolderName;
351
+ var fileExists = (f) => FS.existsSync(f);
352
+ var fileExists_default = fileExists;
353
+ var isDir = (f) => fileExists_default(f) && FS2.lstatSync(f).isDirectory();
354
+ var isDir_default = isDir;
355
+ var isFile = (f) => fileExists_default(f) && !isDir_default(f);
356
+ var isFile_default = isFile;
357
+ var isNodePkgExecute = () => process.env.npm_command === "exec";
358
+ var unlink = (f) => FS3.unlinkSync(f);
359
+ var unlink_default = unlink;
360
+ var ANSI_BACKGROUND_OFFSET = 10;
361
+ var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
362
+ var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
363
+ var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
364
+ var styles = {
365
+ modifier: {
366
+ reset: [0, 0],
367
+ bold: [1, 22],
368
+ dim: [2, 22],
369
+ italic: [3, 23],
370
+ underline: [4, 24],
371
+ overline: [53, 55],
372
+ inverse: [7, 27],
373
+ hidden: [8, 28],
374
+ strikethrough: [9, 29]
375
+ },
376
+ color: {
377
+ black: [30, 39],
378
+ red: [31, 39],
379
+ green: [32, 39],
380
+ yellow: [33, 39],
381
+ blue: [34, 39],
382
+ magenta: [35, 39],
383
+ cyan: [36, 39],
384
+ white: [37, 39],
385
+ blackBright: [90, 39],
386
+ gray: [90, 39],
387
+ grey: [90, 39],
388
+ redBright: [91, 39],
389
+ greenBright: [92, 39],
390
+ yellowBright: [93, 39],
391
+ blueBright: [94, 39],
392
+ magentaBright: [95, 39],
393
+ cyanBright: [96, 39],
394
+ whiteBright: [97, 39]
395
+ },
396
+ bgColor: {
397
+ bgBlack: [40, 49],
398
+ bgRed: [41, 49],
399
+ bgGreen: [42, 49],
400
+ bgYellow: [43, 49],
401
+ bgBlue: [44, 49],
402
+ bgMagenta: [45, 49],
403
+ bgCyan: [46, 49],
404
+ bgWhite: [47, 49],
405
+ bgBlackBright: [100, 49],
406
+ bgGray: [100, 49],
407
+ bgGrey: [100, 49],
408
+ bgRedBright: [101, 49],
409
+ bgGreenBright: [102, 49],
410
+ bgYellowBright: [103, 49],
411
+ bgBlueBright: [104, 49],
412
+ bgMagentaBright: [105, 49],
413
+ bgCyanBright: [106, 49],
414
+ bgWhiteBright: [107, 49]
415
+ }
416
+ };
417
+ var modifierNames = Object.keys(styles.modifier);
418
+ var foregroundColorNames = Object.keys(styles.color);
419
+ var backgroundColorNames = Object.keys(styles.bgColor);
420
+ var colorNames = [...foregroundColorNames, ...backgroundColorNames];
421
+ function assembleStyles() {
422
+ const codes = new Map;
423
+ for (const [groupName, group] of Object.entries(styles)) {
424
+ for (const [styleName, style] of Object.entries(group)) {
425
+ styles[styleName] = {
426
+ open: `\x1B[${style[0]}m`,
427
+ close: `\x1B[${style[1]}m`
428
+ };
429
+ group[styleName] = styles[styleName];
430
+ codes.set(style[0], style[1]);
431
+ }
432
+ Object.defineProperty(styles, groupName, {
433
+ value: group,
434
+ enumerable: false
435
+ });
436
+ }
437
+ Object.defineProperty(styles, "codes", {
438
+ value: codes,
439
+ enumerable: false
440
+ });
441
+ styles.color.close = "\x1B[39m";
442
+ styles.bgColor.close = "\x1B[49m";
443
+ styles.color.ansi = wrapAnsi16();
444
+ styles.color.ansi256 = wrapAnsi256();
445
+ styles.color.ansi16m = wrapAnsi16m();
446
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
447
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
448
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
449
+ Object.defineProperties(styles, {
450
+ rgbToAnsi256: {
451
+ value(red, green, blue) {
452
+ if (red === green && green === blue) {
453
+ if (red < 8) {
454
+ return 16;
455
+ }
456
+ if (red > 248) {
457
+ return 231;
458
+ }
459
+ return Math.round((red - 8) / 247 * 24) + 232;
460
+ }
461
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
462
+ },
463
+ enumerable: false
464
+ },
465
+ hexToRgb: {
466
+ value(hex) {
467
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
468
+ if (!matches) {
469
+ return [0, 0, 0];
470
+ }
471
+ let [colorString] = matches;
472
+ if (colorString.length === 3) {
473
+ colorString = [...colorString].map((character) => character + character).join("");
474
+ }
475
+ const integer = Number.parseInt(colorString, 16);
476
+ return [
477
+ integer >> 16 & 255,
478
+ integer >> 8 & 255,
479
+ integer & 255
480
+ ];
481
+ },
482
+ enumerable: false
483
+ },
484
+ hexToAnsi256: {
485
+ value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
486
+ enumerable: false
487
+ },
488
+ ansi256ToAnsi: {
489
+ value(code) {
490
+ if (code < 8) {
491
+ return 30 + code;
492
+ }
493
+ if (code < 16) {
494
+ return 90 + (code - 8);
495
+ }
496
+ let red;
497
+ let green;
498
+ let blue;
499
+ if (code >= 232) {
500
+ red = ((code - 232) * 10 + 8) / 255;
501
+ green = red;
502
+ blue = red;
503
+ } else {
504
+ code -= 16;
505
+ const remainder = code % 36;
506
+ red = Math.floor(code / 36) / 5;
507
+ green = Math.floor(remainder / 6) / 5;
508
+ blue = remainder % 6 / 5;
509
+ }
510
+ const value = Math.max(red, green, blue) * 2;
511
+ if (value === 0) {
512
+ return 30;
513
+ }
514
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
515
+ if (value === 2) {
516
+ result += 60;
517
+ }
518
+ return result;
519
+ },
520
+ enumerable: false
521
+ },
522
+ rgbToAnsi: {
523
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
524
+ enumerable: false
525
+ },
526
+ hexToAnsi: {
527
+ value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
528
+ enumerable: false
529
+ }
530
+ });
531
+ return styles;
532
+ }
533
+ var ansiStyles = assembleStyles();
534
+ var ansi_styles_default = ansiStyles;
535
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : import_node_process.default.argv) {
536
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
537
+ const position = argv.indexOf(prefix + flag);
538
+ const terminatorPosition = argv.indexOf("--");
539
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
540
+ }
541
+ var { env } = import_node_process.default;
542
+ var flagForceColor;
543
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
544
+ flagForceColor = 0;
545
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
546
+ flagForceColor = 1;
547
+ }
548
+ function envForceColor() {
549
+ if ("FORCE_COLOR" in env) {
550
+ if (env.FORCE_COLOR === "true") {
551
+ return 1;
552
+ }
553
+ if (env.FORCE_COLOR === "false") {
554
+ return 0;
555
+ }
556
+ return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
557
+ }
558
+ }
559
+ function translateLevel(level) {
560
+ if (level === 0) {
561
+ return false;
562
+ }
563
+ return {
564
+ level,
565
+ hasBasic: true,
566
+ has256: level >= 2,
567
+ has16m: level >= 3
568
+ };
569
+ }
570
+ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
571
+ const noFlagForceColor = envForceColor();
572
+ if (noFlagForceColor !== undefined) {
573
+ flagForceColor = noFlagForceColor;
574
+ }
575
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
576
+ if (forceColor === 0) {
577
+ return 0;
578
+ }
579
+ if (sniffFlags) {
580
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
581
+ return 3;
582
+ }
583
+ if (hasFlag("color=256")) {
584
+ return 2;
585
+ }
586
+ }
587
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
588
+ return 1;
589
+ }
590
+ if (haveStream && !streamIsTTY && forceColor === undefined) {
591
+ return 0;
592
+ }
593
+ const min = forceColor || 0;
594
+ if (env.TERM === "dumb") {
595
+ return min;
596
+ }
597
+ if (import_node_process.default.platform === "win32") {
598
+ const osRelease = import_node_os.default.release().split(".");
599
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
600
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
601
+ }
602
+ return 1;
603
+ }
604
+ if ("CI" in env) {
605
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
606
+ return 3;
607
+ }
608
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
609
+ return 1;
610
+ }
611
+ return min;
612
+ }
613
+ if ("TEAMCITY_VERSION" in env) {
614
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
615
+ }
616
+ if (env.COLORTERM === "truecolor") {
617
+ return 3;
618
+ }
619
+ if (env.TERM === "xterm-kitty") {
620
+ return 3;
621
+ }
622
+ if (env.TERM === "xterm-ghostty") {
623
+ return 3;
624
+ }
625
+ if (env.TERM === "wezterm") {
626
+ return 3;
627
+ }
628
+ if ("TERM_PROGRAM" in env) {
629
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
630
+ switch (env.TERM_PROGRAM) {
631
+ case "iTerm.app": {
632
+ return version >= 3 ? 3 : 2;
633
+ }
634
+ case "Apple_Terminal": {
635
+ return 2;
636
+ }
637
+ }
638
+ }
639
+ if (/-256(color)?$/i.test(env.TERM)) {
640
+ return 2;
641
+ }
642
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
643
+ return 1;
644
+ }
645
+ if ("COLORTERM" in env) {
646
+ return 1;
647
+ }
648
+ return min;
649
+ }
650
+ function createSupportsColor(stream, options = {}) {
651
+ const level = _supportsColor(stream, {
652
+ streamIsTTY: stream && stream.isTTY,
653
+ ...options
654
+ });
655
+ return translateLevel(level);
656
+ }
657
+ var supportsColor = {
658
+ stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }),
659
+ stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) })
660
+ };
661
+ var supports_color_default = supportsColor;
662
+ function stringReplaceAll(string, substring, replacer) {
663
+ let index = string.indexOf(substring);
664
+ if (index === -1) {
665
+ return string;
666
+ }
667
+ const substringLength = substring.length;
668
+ let endIndex = 0;
669
+ let returnValue = "";
670
+ do {
671
+ returnValue += string.slice(endIndex, index) + substring + replacer;
672
+ endIndex = index + substringLength;
673
+ index = string.indexOf(substring, endIndex);
674
+ } while (index !== -1);
675
+ returnValue += string.slice(endIndex);
676
+ return returnValue;
677
+ }
678
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
679
+ let endIndex = 0;
680
+ let returnValue = "";
681
+ do {
682
+ const gotCR = string[index - 1] === "\r";
683
+ returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
684
+ ` : `
685
+ `) + postfix;
686
+ endIndex = index + 1;
687
+ index = string.indexOf(`
688
+ `, endIndex);
689
+ } while (index !== -1);
690
+ returnValue += string.slice(endIndex);
691
+ return returnValue;
692
+ }
693
+ var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
694
+ var GENERATOR = Symbol("GENERATOR");
695
+ var STYLER = Symbol("STYLER");
696
+ var IS_EMPTY = Symbol("IS_EMPTY");
697
+ var levelMapping = [
698
+ "ansi",
699
+ "ansi",
700
+ "ansi256",
701
+ "ansi16m"
702
+ ];
703
+ var styles2 = Object.create(null);
704
+ var applyOptions = (object, options = {}) => {
705
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
706
+ throw new Error("The `level` option should be an integer from 0 to 3");
707
+ }
708
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
709
+ object.level = options.level === undefined ? colorLevel : options.level;
710
+ };
711
+ var chalkFactory = (options) => {
712
+ const chalk = (...strings) => strings.join(" ");
713
+ applyOptions(chalk, options);
714
+ Object.setPrototypeOf(chalk, createChalk.prototype);
715
+ return chalk;
716
+ };
717
+ function createChalk(options) {
718
+ return chalkFactory(options);
719
+ }
720
+ Object.setPrototypeOf(createChalk.prototype, Function.prototype);
721
+ for (const [styleName, style] of Object.entries(ansi_styles_default)) {
722
+ styles2[styleName] = {
723
+ get() {
724
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
725
+ Object.defineProperty(this, styleName, { value: builder });
726
+ return builder;
727
+ }
728
+ };
729
+ }
730
+ styles2.visible = {
731
+ get() {
732
+ const builder = createBuilder(this, this[STYLER], true);
733
+ Object.defineProperty(this, "visible", { value: builder });
734
+ return builder;
735
+ }
736
+ };
737
+ var getModelAnsi = (model, level, type, ...arguments_) => {
738
+ if (model === "rgb") {
739
+ if (level === "ansi16m") {
740
+ return ansi_styles_default[type].ansi16m(...arguments_);
741
+ }
742
+ if (level === "ansi256") {
743
+ return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
744
+ }
745
+ return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
746
+ }
747
+ if (model === "hex") {
748
+ return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
749
+ }
750
+ return ansi_styles_default[type][model](...arguments_);
751
+ };
752
+ var usedModels = ["rgb", "hex", "ansi256"];
753
+ for (const model of usedModels) {
754
+ styles2[model] = {
755
+ get() {
756
+ const { level } = this;
757
+ return function(...arguments_) {
758
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
759
+ return createBuilder(this, styler, this[IS_EMPTY]);
760
+ };
761
+ }
762
+ };
763
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
764
+ styles2[bgModel] = {
765
+ get() {
766
+ const { level } = this;
767
+ return function(...arguments_) {
768
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
769
+ return createBuilder(this, styler, this[IS_EMPTY]);
770
+ };
771
+ }
772
+ };
773
+ }
774
+ var proto = Object.defineProperties(() => {}, {
775
+ ...styles2,
776
+ level: {
777
+ enumerable: true,
778
+ get() {
779
+ return this[GENERATOR].level;
780
+ },
781
+ set(level) {
782
+ this[GENERATOR].level = level;
783
+ }
784
+ }
785
+ });
786
+ var createStyler = (open, close, parent) => {
787
+ let openAll;
788
+ let closeAll;
789
+ if (parent === undefined) {
790
+ openAll = open;
791
+ closeAll = close;
792
+ } else {
793
+ openAll = parent.openAll + open;
794
+ closeAll = close + parent.closeAll;
795
+ }
796
+ return {
797
+ open,
798
+ close,
799
+ openAll,
800
+ closeAll,
801
+ parent
802
+ };
803
+ };
804
+ var createBuilder = (self, _styler, _isEmpty) => {
805
+ const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
806
+ Object.setPrototypeOf(builder, proto);
807
+ builder[GENERATOR] = self;
808
+ builder[STYLER] = _styler;
809
+ builder[IS_EMPTY] = _isEmpty;
810
+ return builder;
811
+ };
812
+ var applyStyle = (self, string) => {
813
+ if (self.level <= 0 || !string) {
814
+ return self[IS_EMPTY] ? "" : string;
815
+ }
816
+ let styler = self[STYLER];
817
+ if (styler === undefined) {
818
+ return string;
819
+ }
820
+ const { openAll, closeAll } = styler;
821
+ if (string.includes("\x1B")) {
822
+ while (styler !== undefined) {
823
+ string = stringReplaceAll(string, styler.close, styler.open);
824
+ styler = styler.parent;
825
+ }
826
+ }
827
+ const lfIndex = string.indexOf(`
828
+ `);
829
+ if (lfIndex !== -1) {
830
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
831
+ }
832
+ return openAll + string + closeAll;
833
+ };
834
+ Object.defineProperties(createChalk.prototype, styles2);
835
+ var chalk = createChalk();
836
+ var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
837
+ var source_default = chalk;
838
+ var import_pad_component = __toESM2(require_pad_component(), 1);
839
+ function ansiRegex({ onlyFirst = false } = {}) {
840
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
841
+ const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
842
+ const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
843
+ const pattern = `${osc}|${csi}`;
844
+ return new RegExp(pattern, onlyFirst ? undefined : "g");
845
+ }
846
+ var regex = ansiRegex();
847
+ function stripAnsi(string) {
848
+ if (typeof string !== "string") {
849
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
850
+ }
851
+ return string.replace(regex, "");
852
+ }
853
+ var import_eastasianwidth = __toESM2(require_eastasianwidth(), 1);
854
+ var import_emoji_regex = __toESM2(require_emoji_regex(), 1);
855
+ function stringWidth(string, options = {}) {
856
+ if (typeof string !== "string" || string.length === 0) {
857
+ return 0;
858
+ }
859
+ options = {
860
+ ambiguousIsNarrow: true,
861
+ ...options
862
+ };
863
+ string = stripAnsi(string);
864
+ if (string.length === 0) {
865
+ return 0;
866
+ }
867
+ string = string.replace(import_emoji_regex.default(), " ");
868
+ const ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;
869
+ let width = 0;
870
+ for (const character of string) {
871
+ const codePoint = character.codePointAt(0);
872
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
873
+ continue;
874
+ }
875
+ if (codePoint >= 768 && codePoint <= 879) {
876
+ continue;
877
+ }
878
+ const code = import_eastasianwidth.default.eastAsianWidth(character);
879
+ switch (code) {
880
+ case "F":
881
+ case "W":
882
+ width += 2;
883
+ break;
884
+ case "A":
885
+ width += ambiguousCharacterWidth;
886
+ break;
887
+ default:
888
+ width += 1;
889
+ }
890
+ }
891
+ return width;
892
+ }
893
+ var ANSI_BACKGROUND_OFFSET2 = 10;
894
+ var wrapAnsi162 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
895
+ var wrapAnsi2562 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
896
+ var wrapAnsi16m2 = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
897
+ var styles3 = {
898
+ modifier: {
899
+ reset: [0, 0],
900
+ bold: [1, 22],
901
+ dim: [2, 22],
902
+ italic: [3, 23],
903
+ underline: [4, 24],
904
+ overline: [53, 55],
905
+ inverse: [7, 27],
906
+ hidden: [8, 28],
907
+ strikethrough: [9, 29]
908
+ },
909
+ color: {
910
+ black: [30, 39],
911
+ red: [31, 39],
912
+ green: [32, 39],
913
+ yellow: [33, 39],
914
+ blue: [34, 39],
915
+ magenta: [35, 39],
916
+ cyan: [36, 39],
917
+ white: [37, 39],
918
+ blackBright: [90, 39],
919
+ gray: [90, 39],
920
+ grey: [90, 39],
921
+ redBright: [91, 39],
922
+ greenBright: [92, 39],
923
+ yellowBright: [93, 39],
924
+ blueBright: [94, 39],
925
+ magentaBright: [95, 39],
926
+ cyanBright: [96, 39],
927
+ whiteBright: [97, 39]
928
+ },
929
+ bgColor: {
930
+ bgBlack: [40, 49],
931
+ bgRed: [41, 49],
932
+ bgGreen: [42, 49],
933
+ bgYellow: [43, 49],
934
+ bgBlue: [44, 49],
935
+ bgMagenta: [45, 49],
936
+ bgCyan: [46, 49],
937
+ bgWhite: [47, 49],
938
+ bgBlackBright: [100, 49],
939
+ bgGray: [100, 49],
940
+ bgGrey: [100, 49],
941
+ bgRedBright: [101, 49],
942
+ bgGreenBright: [102, 49],
943
+ bgYellowBright: [103, 49],
944
+ bgBlueBright: [104, 49],
945
+ bgMagentaBright: [105, 49],
946
+ bgCyanBright: [106, 49],
947
+ bgWhiteBright: [107, 49]
948
+ }
949
+ };
950
+ var modifierNames2 = Object.keys(styles3.modifier);
951
+ var foregroundColorNames2 = Object.keys(styles3.color);
952
+ var backgroundColorNames2 = Object.keys(styles3.bgColor);
953
+ var colorNames2 = [...foregroundColorNames2, ...backgroundColorNames2];
954
+ function assembleStyles2() {
955
+ const codes = new Map;
956
+ for (const [groupName, group] of Object.entries(styles3)) {
957
+ for (const [styleName, style] of Object.entries(group)) {
958
+ styles3[styleName] = {
959
+ open: `\x1B[${style[0]}m`,
960
+ close: `\x1B[${style[1]}m`
961
+ };
962
+ group[styleName] = styles3[styleName];
963
+ codes.set(style[0], style[1]);
964
+ }
965
+ Object.defineProperty(styles3, groupName, {
966
+ value: group,
967
+ enumerable: false
968
+ });
969
+ }
970
+ Object.defineProperty(styles3, "codes", {
971
+ value: codes,
972
+ enumerable: false
973
+ });
974
+ styles3.color.close = "\x1B[39m";
975
+ styles3.bgColor.close = "\x1B[49m";
976
+ styles3.color.ansi = wrapAnsi162();
977
+ styles3.color.ansi256 = wrapAnsi2562();
978
+ styles3.color.ansi16m = wrapAnsi16m2();
979
+ styles3.bgColor.ansi = wrapAnsi162(ANSI_BACKGROUND_OFFSET2);
980
+ styles3.bgColor.ansi256 = wrapAnsi2562(ANSI_BACKGROUND_OFFSET2);
981
+ styles3.bgColor.ansi16m = wrapAnsi16m2(ANSI_BACKGROUND_OFFSET2);
982
+ Object.defineProperties(styles3, {
983
+ rgbToAnsi256: {
984
+ value(red, green, blue) {
985
+ if (red === green && green === blue) {
986
+ if (red < 8) {
987
+ return 16;
988
+ }
989
+ if (red > 248) {
990
+ return 231;
991
+ }
992
+ return Math.round((red - 8) / 247 * 24) + 232;
993
+ }
994
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
995
+ },
996
+ enumerable: false
997
+ },
998
+ hexToRgb: {
999
+ value(hex) {
1000
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
1001
+ if (!matches) {
1002
+ return [0, 0, 0];
1003
+ }
1004
+ let [colorString] = matches;
1005
+ if (colorString.length === 3) {
1006
+ colorString = [...colorString].map((character) => character + character).join("");
1007
+ }
1008
+ const integer = Number.parseInt(colorString, 16);
1009
+ return [
1010
+ integer >> 16 & 255,
1011
+ integer >> 8 & 255,
1012
+ integer & 255
1013
+ ];
1014
+ },
1015
+ enumerable: false
1016
+ },
1017
+ hexToAnsi256: {
1018
+ value: (hex) => styles3.rgbToAnsi256(...styles3.hexToRgb(hex)),
1019
+ enumerable: false
1020
+ },
1021
+ ansi256ToAnsi: {
1022
+ value(code) {
1023
+ if (code < 8) {
1024
+ return 30 + code;
1025
+ }
1026
+ if (code < 16) {
1027
+ return 90 + (code - 8);
1028
+ }
1029
+ let red;
1030
+ let green;
1031
+ let blue;
1032
+ if (code >= 232) {
1033
+ red = ((code - 232) * 10 + 8) / 255;
1034
+ green = red;
1035
+ blue = red;
1036
+ } else {
1037
+ code -= 16;
1038
+ const remainder = code % 36;
1039
+ red = Math.floor(code / 36) / 5;
1040
+ green = Math.floor(remainder / 6) / 5;
1041
+ blue = remainder % 6 / 5;
1042
+ }
1043
+ const value = Math.max(red, green, blue) * 2;
1044
+ if (value === 0) {
1045
+ return 30;
1046
+ }
1047
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
1048
+ if (value === 2) {
1049
+ result += 60;
1050
+ }
1051
+ return result;
1052
+ },
1053
+ enumerable: false
1054
+ },
1055
+ rgbToAnsi: {
1056
+ value: (red, green, blue) => styles3.ansi256ToAnsi(styles3.rgbToAnsi256(red, green, blue)),
1057
+ enumerable: false
1058
+ },
1059
+ hexToAnsi: {
1060
+ value: (hex) => styles3.ansi256ToAnsi(styles3.hexToAnsi256(hex)),
1061
+ enumerable: false
1062
+ }
1063
+ });
1064
+ return styles3;
1065
+ }
1066
+ var ansiStyles2 = assembleStyles2();
1067
+ var ansi_styles_default2 = ansiStyles2;
1068
+ var ESCAPES = new Set([
1069
+ "\x1B",
1070
+ "›"
1071
+ ]);
1072
+ var END_CODE = 39;
1073
+ var ANSI_ESCAPE_BELL = "\x07";
1074
+ var ANSI_CSI = "[";
1075
+ var ANSI_OSC = "]";
1076
+ var ANSI_SGR_TERMINATOR = "m";
1077
+ var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
1078
+ var wrapAnsiCode = (code) => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
1079
+ var wrapAnsiHyperlink = (uri) => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${uri}${ANSI_ESCAPE_BELL}`;
1080
+ var wordLengths = (string) => string.split(" ").map((character) => stringWidth(character));
1081
+ var wrapWord = (rows, word, columns) => {
1082
+ const characters = [...word];
1083
+ let isInsideEscape = false;
1084
+ let isInsideLinkEscape = false;
1085
+ let visible = stringWidth(stripAnsi(rows[rows.length - 1]));
1086
+ for (const [index, character] of characters.entries()) {
1087
+ const characterLength = stringWidth(character);
1088
+ if (visible + characterLength <= columns) {
1089
+ rows[rows.length - 1] += character;
1090
+ } else {
1091
+ rows.push(character);
1092
+ visible = 0;
1093
+ }
1094
+ if (ESCAPES.has(character)) {
1095
+ isInsideEscape = true;
1096
+ isInsideLinkEscape = characters.slice(index + 1).join("").startsWith(ANSI_ESCAPE_LINK);
1097
+ }
1098
+ if (isInsideEscape) {
1099
+ if (isInsideLinkEscape) {
1100
+ if (character === ANSI_ESCAPE_BELL) {
1101
+ isInsideEscape = false;
1102
+ isInsideLinkEscape = false;
1103
+ }
1104
+ } else if (character === ANSI_SGR_TERMINATOR) {
1105
+ isInsideEscape = false;
1106
+ }
1107
+ continue;
1108
+ }
1109
+ visible += characterLength;
1110
+ if (visible === columns && index < characters.length - 1) {
1111
+ rows.push("");
1112
+ visible = 0;
1113
+ }
1114
+ }
1115
+ if (!visible && rows[rows.length - 1].length > 0 && rows.length > 1) {
1116
+ rows[rows.length - 2] += rows.pop();
1117
+ }
1118
+ };
1119
+ var stringVisibleTrimSpacesRight = (string) => {
1120
+ const words = string.split(" ");
1121
+ let last = words.length;
1122
+ while (last > 0) {
1123
+ if (stringWidth(words[last - 1]) > 0) {
1124
+ break;
1125
+ }
1126
+ last--;
1127
+ }
1128
+ if (last === words.length) {
1129
+ return string;
1130
+ }
1131
+ return words.slice(0, last).join(" ") + words.slice(last).join("");
1132
+ };
1133
+ var exec = (string, columns, options = {}) => {
1134
+ if (options.trim !== false && string.trim() === "") {
1135
+ return "";
1136
+ }
1137
+ let returnValue = "";
1138
+ let escapeCode;
1139
+ let escapeUrl;
1140
+ const lengths = wordLengths(string);
1141
+ let rows = [""];
1142
+ for (const [index, word] of string.split(" ").entries()) {
1143
+ if (options.trim !== false) {
1144
+ rows[rows.length - 1] = rows[rows.length - 1].trimStart();
1145
+ }
1146
+ let rowLength = stringWidth(rows[rows.length - 1]);
1147
+ if (index !== 0) {
1148
+ if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
1149
+ rows.push("");
1150
+ rowLength = 0;
1151
+ }
1152
+ if (rowLength > 0 || options.trim === false) {
1153
+ rows[rows.length - 1] += " ";
1154
+ rowLength++;
1155
+ }
1156
+ }
1157
+ if (options.hard && lengths[index] > columns) {
1158
+ const remainingColumns = columns - rowLength;
1159
+ const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
1160
+ const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
1161
+ if (breaksStartingNextLine < breaksStartingThisLine) {
1162
+ rows.push("");
1163
+ }
1164
+ wrapWord(rows, word, columns);
1165
+ continue;
1166
+ }
1167
+ if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
1168
+ if (options.wordWrap === false && rowLength < columns) {
1169
+ wrapWord(rows, word, columns);
1170
+ continue;
1171
+ }
1172
+ rows.push("");
1173
+ }
1174
+ if (rowLength + lengths[index] > columns && options.wordWrap === false) {
1175
+ wrapWord(rows, word, columns);
1176
+ continue;
1177
+ }
1178
+ rows[rows.length - 1] += word;
1179
+ }
1180
+ if (options.trim !== false) {
1181
+ rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
1182
+ }
1183
+ const pre = [...rows.join(`
1184
+ `)];
1185
+ for (const [index, character] of pre.entries()) {
1186
+ returnValue += character;
1187
+ if (ESCAPES.has(character)) {
1188
+ const { groups } = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(pre.slice(index).join("")) || { groups: {} };
1189
+ if (groups.code !== undefined) {
1190
+ const code2 = Number.parseFloat(groups.code);
1191
+ escapeCode = code2 === END_CODE ? undefined : code2;
1192
+ } else if (groups.uri !== undefined) {
1193
+ escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;
1194
+ }
1195
+ }
1196
+ const code = ansi_styles_default2.codes.get(Number(escapeCode));
1197
+ if (pre[index + 1] === `
1198
+ `) {
1199
+ if (escapeUrl) {
1200
+ returnValue += wrapAnsiHyperlink("");
1201
+ }
1202
+ if (escapeCode && code) {
1203
+ returnValue += wrapAnsiCode(code);
1204
+ }
1205
+ } else if (character === `
1206
+ `) {
1207
+ if (escapeCode && code) {
1208
+ returnValue += wrapAnsiCode(escapeCode);
1209
+ }
1210
+ if (escapeUrl) {
1211
+ returnValue += wrapAnsiHyperlink(escapeUrl);
1212
+ }
1213
+ }
1214
+ }
1215
+ return returnValue;
1216
+ };
1217
+ function wrapAnsi(string, columns, options) {
1218
+ return String(string).normalize().replace(/\r\n/g, `
1219
+ `).split(`
1220
+ `).map((line) => exec(line, columns, options)).join(`
1221
+ `);
1222
+ }
1223
+ var import_eastasianwidth2 = __toESM2(require_eastasianwidth(), 1);
1224
+ var import_emoji_regex2 = __toESM2(require_emoji_regex2(), 1);
1225
+ function stringWidth2(string, options) {
1226
+ if (typeof string !== "string" || string.length === 0) {
1227
+ return 0;
1228
+ }
1229
+ options = {
1230
+ ambiguousIsNarrow: true,
1231
+ countAnsiEscapeCodes: false,
1232
+ ...options
1233
+ };
1234
+ if (!options.countAnsiEscapeCodes) {
1235
+ string = stripAnsi(string);
1236
+ }
1237
+ if (string.length === 0) {
1238
+ return 0;
1239
+ }
1240
+ const ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;
1241
+ let width = 0;
1242
+ for (const { segment: character } of new Intl.Segmenter().segment(string)) {
1243
+ const codePoint = character.codePointAt(0);
1244
+ if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
1245
+ continue;
1246
+ }
1247
+ if (codePoint >= 768 && codePoint <= 879) {
1248
+ continue;
1249
+ }
1250
+ if (import_emoji_regex2.default().test(character)) {
1251
+ width += 2;
1252
+ continue;
1253
+ }
1254
+ const code = import_eastasianwidth2.default.eastAsianWidth(character);
1255
+ switch (code) {
1256
+ case "F":
1257
+ case "W": {
1258
+ width += 2;
1259
+ break;
1260
+ }
1261
+ case "A": {
1262
+ width += ambiguousCharacterWidth;
1263
+ break;
1264
+ }
1265
+ default: {
1266
+ width += 1;
1267
+ }
1268
+ }
1269
+ }
1270
+ return width;
1271
+ }
1272
+ var import_cli_boxes = __toESM2(require_cli_boxes(), 1);
1273
+ var border = import_cli_boxes.default.round;
1274
+ var leftOffset = 17;
1275
+ var defaultGreeting = `
1276
+ _-----_ ` + `
1277
+ | | ` + `
1278
+ |` + source_default.red("--(o)--") + "| " + "\n `---------´ " + `
1279
+ ` + source_default.yellow("(") + " _" + source_default.yellow("´U`") + "_ " + source_default.yellow(")") + " " + `
1280
+ /___A___\\ /` + `
1281
+ ` + source_default.yellow("| ~ |") + " " + `
1282
+ __` + source_default.yellow("'.___.'") + "__ " + `
1283
+ ´ ` + source_default.red("` |") + "° " + source_default.red("´ Y") + " ` ";
1284
+ function yosay(message, options = {}) {
1285
+ message = (message ?? "Welcome to Yeoman, ladies and gentlemen!").trim();
1286
+ const styledIndexes = {};
1287
+ let maxLength = 24;
1288
+ let topOffset = 4;
1289
+ let completedString = "";
1290
+ const YEOMAN_CHARACTER_WIDTH = 17;
1291
+ const DEFAULT_TOP_FRAME_WIDTH = 28;
1292
+ const MAX_MESSAGE_LINES_BEFORE_OVERFLOW = 7;
1293
+ let TOTAL_CHARACTERS_PER_LINE = YEOMAN_CHARACTER_WIDTH + DEFAULT_TOP_FRAME_WIDTH;
1294
+ if (options.maxLength) {
1295
+ maxLength = stripAnsi(message).toLowerCase().split(" ").sort()[0].length;
1296
+ if (maxLength < options.maxLength) {
1297
+ maxLength = options.maxLength;
1298
+ TOTAL_CHARACTERS_PER_LINE = maxLength + YEOMAN_CHARACTER_WIDTH + topOffset;
1299
+ }
1300
+ }
1301
+ const regexNewline = new RegExp(`\\s{${maxLength}}`);
1302
+ const borderHorizontal = border.top.repeat(maxLength + 2);
1303
+ const frame = {
1304
+ top: border.topLeft + borderHorizontal + border.topRight,
1305
+ side: ansi_styles_default2.reset.open + border.left + ansi_styles_default2.reset.open,
1306
+ bottom: ansi_styles_default2.reset.open + border.bottomLeft + borderHorizontal + border.bottomRight
1307
+ };
1308
+ message.replace(ansiRegex(), (match, offset) => {
1309
+ for (const value of Object.values(styledIndexes)) {
1310
+ offset -= value.length;
1311
+ }
1312
+ styledIndexes[offset] = styledIndexes[offset] ? styledIndexes[offset] + match : match;
1313
+ });
1314
+ const strippedMessage = stripAnsi(message);
1315
+ const spacesIndex = [];
1316
+ strippedMessage.split(" ").reduce((accumulator, currentValue) => {
1317
+ spacesIndex.push(accumulator + currentValue.length);
1318
+ return spacesIndex.at(-1) + 1;
1319
+ }, 0);
1320
+ return wrapAnsi(strippedMessage, maxLength, { hard: true }).split(/\n/).reduce((greeting, string_, index, array) => {
1321
+ if (!regexNewline.test(string_)) {
1322
+ string_ = string_.trim();
1323
+ }
1324
+ completedString += string_;
1325
+ let offset = 0;
1326
+ for (const element of spacesIndex) {
1327
+ const character = completedString[element - offset];
1328
+ if (character) {
1329
+ if (character !== " ") {
1330
+ offset += 1;
1331
+ }
1332
+ } else {
1333
+ break;
1334
+ }
1335
+ }
1336
+ string_ = completedString.slice(completedString.length - string_.length).replaceAll(/./g, (character, characterIndex) => {
1337
+ characterIndex += completedString.length - string_.length + offset;
1338
+ let hasContinuedStyle = 0;
1339
+ let continuedStyle;
1340
+ for (const offset2 of Object.keys(styledIndexes)) {
1341
+ if (characterIndex > offset2) {
1342
+ hasContinuedStyle++;
1343
+ continuedStyle = styledIndexes[offset2];
1344
+ }
1345
+ if (hasContinuedStyle === 1 && characterIndex < offset2) {
1346
+ hasContinuedStyle++;
1347
+ }
1348
+ }
1349
+ if (styledIndexes[characterIndex]) {
1350
+ return styledIndexes[characterIndex] + character;
1351
+ }
1352
+ if (hasContinuedStyle >= 2) {
1353
+ return continuedStyle + character;
1354
+ }
1355
+ return character;
1356
+ }).trim();
1357
+ const paddedString = import_pad_component.default({
1358
+ length: stringWidth2(string_),
1359
+ valueOf() {
1360
+ return ansi_styles_default2.reset.open + string_ + ansi_styles_default2.reset.open;
1361
+ }
1362
+ }, maxLength);
1363
+ if (index === 0) {
1364
+ if (array.length === 2) {
1365
+ topOffset -= 1;
1366
+ }
1367
+ if (array.length >= 3) {
1368
+ topOffset -= 2;
1369
+ }
1370
+ if (array.length > MAX_MESSAGE_LINES_BEFORE_OVERFLOW) {
1371
+ const emptyLines = Math.ceil((array.length - MAX_MESSAGE_LINES_BEFORE_OVERFLOW) / 2);
1372
+ for (let i = 0;i < emptyLines; i++) {
1373
+ greeting.unshift("");
1374
+ }
1375
+ frame.top = import_pad_component.default.left(frame.top, TOTAL_CHARACTERS_PER_LINE);
1376
+ }
1377
+ greeting[topOffset - 1] += frame.top;
1378
+ }
1379
+ greeting[index + topOffset] = (greeting[index + topOffset] || import_pad_component.default.left("", leftOffset)) + frame.side + " " + paddedString + " " + frame.side;
1380
+ if (array.length === index + 1) {
1381
+ greeting[index + topOffset + 1] = (greeting[index + topOffset + 1] || import_pad_component.default.left("", leftOffset)) + frame.bottom;
1382
+ }
1383
+ return greeting;
1384
+ }, defaultGreeting.split(/\n/)).join(`
1385
+ `) + `
1386
+ `;
1387
+ }
1388
+ var optsArg = (opts) => {
1389
+ if (!opts) {
1390
+ opts = { mode: 511 };
1391
+ } else if (typeof opts === "object") {
1392
+ opts = { mode: 511, ...opts };
1393
+ } else if (typeof opts === "number") {
1394
+ opts = { mode: opts };
1395
+ } else if (typeof opts === "string") {
1396
+ opts = { mode: parseInt(opts, 8) };
1397
+ } else {
1398
+ throw new TypeError("invalid options argument");
1399
+ }
1400
+ const resolved = opts;
1401
+ const optsFs = opts.fs || {};
1402
+ opts.mkdir = opts.mkdir || optsFs.mkdir || import_fs.mkdir;
1403
+ opts.mkdirAsync = opts.mkdirAsync ? opts.mkdirAsync : async (path2, options) => {
1404
+ return new Promise((res, rej) => resolved.mkdir(path2, options, (er, made) => er ? rej(er) : res(made)));
1405
+ };
1406
+ opts.stat = opts.stat || optsFs.stat || import_fs.stat;
1407
+ opts.statAsync = opts.statAsync ? opts.statAsync : async (path2) => new Promise((res, rej) => resolved.stat(path2, (err, stats) => err ? rej(err) : res(stats)));
1408
+ opts.statSync = opts.statSync || optsFs.statSync || import_fs.statSync;
1409
+ opts.mkdirSync = opts.mkdirSync || optsFs.mkdirSync || import_fs.mkdirSync;
1410
+ return resolved;
1411
+ };
1412
+ var mkdirpManualSync = (path2, options, made) => {
1413
+ const parent = import_path.dirname(path2);
1414
+ const opts = { ...optsArg(options), recursive: false };
1415
+ if (parent === path2) {
1416
+ try {
1417
+ return opts.mkdirSync(path2, opts);
1418
+ } catch (er) {
1419
+ const fer = er;
1420
+ if (fer && fer.code !== "EISDIR") {
1421
+ throw er;
1422
+ }
1423
+ return;
1424
+ }
1425
+ }
1426
+ try {
1427
+ opts.mkdirSync(path2, opts);
1428
+ return made || path2;
1429
+ } catch (er) {
1430
+ const fer = er;
1431
+ if (fer && fer.code === "ENOENT") {
1432
+ return mkdirpManualSync(path2, opts, mkdirpManualSync(parent, opts, made));
1433
+ }
1434
+ if (fer && fer.code !== "EEXIST" && fer && fer.code !== "EROFS") {
1435
+ throw er;
1436
+ }
1437
+ try {
1438
+ if (!opts.statSync(path2).isDirectory())
1439
+ throw er;
1440
+ } catch (_) {
1441
+ throw er;
1442
+ }
1443
+ }
1444
+ };
1445
+ var mkdirpManual = Object.assign(async (path2, options, made) => {
1446
+ const opts = optsArg(options);
1447
+ opts.recursive = false;
1448
+ const parent = import_path.dirname(path2);
1449
+ if (parent === path2) {
1450
+ return opts.mkdirAsync(path2, opts).catch((er) => {
1451
+ const fer = er;
1452
+ if (fer && fer.code !== "EISDIR") {
1453
+ throw er;
1454
+ }
1455
+ });
1456
+ }
1457
+ return opts.mkdirAsync(path2, opts).then(() => made || path2, async (er) => {
1458
+ const fer = er;
1459
+ if (fer && fer.code === "ENOENT") {
1460
+ return mkdirpManual(parent, opts).then((made2) => mkdirpManual(path2, opts, made2));
1461
+ }
1462
+ if (fer && fer.code !== "EEXIST" && fer.code !== "EROFS") {
1463
+ throw er;
1464
+ }
1465
+ return opts.statAsync(path2).then((st) => {
1466
+ if (st.isDirectory()) {
1467
+ return made;
1468
+ } else {
1469
+ throw er;
1470
+ }
1471
+ }, () => {
1472
+ throw er;
1473
+ });
1474
+ });
1475
+ }, { sync: mkdirpManualSync });
1476
+ var findMade = async (opts, parent, path2) => {
1477
+ if (path2 === parent) {
1478
+ return;
1479
+ }
1480
+ return opts.statAsync(parent).then((st) => st.isDirectory() ? path2 : undefined, (er) => {
1481
+ const fer = er;
1482
+ return fer && fer.code === "ENOENT" ? findMade(opts, import_path3.dirname(parent), parent) : undefined;
1483
+ });
1484
+ };
1485
+ var findMadeSync = (opts, parent, path2) => {
1486
+ if (path2 === parent) {
1487
+ return;
1488
+ }
1489
+ try {
1490
+ return opts.statSync(parent).isDirectory() ? path2 : undefined;
1491
+ } catch (er) {
1492
+ const fer = er;
1493
+ return fer && fer.code === "ENOENT" ? findMadeSync(opts, import_path3.dirname(parent), parent) : undefined;
1494
+ }
1495
+ };
1496
+ var mkdirpNativeSync = (path2, options) => {
1497
+ const opts = optsArg(options);
1498
+ opts.recursive = true;
1499
+ const parent = import_path2.dirname(path2);
1500
+ if (parent === path2) {
1501
+ return opts.mkdirSync(path2, opts);
1502
+ }
1503
+ const made = findMadeSync(opts, path2);
1504
+ try {
1505
+ opts.mkdirSync(path2, opts);
1506
+ return made;
1507
+ } catch (er) {
1508
+ const fer = er;
1509
+ if (fer && fer.code === "ENOENT") {
1510
+ return mkdirpManualSync(path2, opts);
1511
+ } else {
1512
+ throw er;
1513
+ }
1514
+ }
1515
+ };
1516
+ var mkdirpNative = Object.assign(async (path2, options) => {
1517
+ const opts = { ...optsArg(options), recursive: true };
1518
+ const parent = import_path2.dirname(path2);
1519
+ if (parent === path2) {
1520
+ return await opts.mkdirAsync(path2, opts);
1521
+ }
1522
+ return findMade(opts, path2).then((made) => opts.mkdirAsync(path2, opts).then((m) => made || m).catch((er) => {
1523
+ const fer = er;
1524
+ if (fer && fer.code === "ENOENT") {
1525
+ return mkdirpManual(path2, opts);
1526
+ } else {
1527
+ throw er;
1528
+ }
1529
+ }));
1530
+ }, { sync: mkdirpNativeSync });
1531
+ var platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
1532
+ var pathArg = (path2) => {
1533
+ if (/\0/.test(path2)) {
1534
+ throw Object.assign(new TypeError("path must be a string without null bytes"), {
1535
+ path: path2,
1536
+ code: "ERR_INVALID_ARG_VALUE"
1537
+ });
1538
+ }
1539
+ path2 = import_path4.resolve(path2);
1540
+ if (platform === "win32") {
1541
+ const badWinChars = /[*|"<>?:]/;
1542
+ const { root } = import_path4.parse(path2);
1543
+ if (badWinChars.test(path2.substring(root.length))) {
1544
+ throw Object.assign(new Error("Illegal characters in path."), {
1545
+ path: path2,
1546
+ code: "EINVAL"
1547
+ });
1548
+ }
1549
+ }
1550
+ return path2;
1551
+ };
1552
+ var version = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
1553
+ var versArr = version.replace(/^v/, "").split(".");
1554
+ var hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12;
1555
+ var useNativeSync = !hasNative ? () => false : (opts) => optsArg(opts).mkdirSync === import_fs2.mkdirSync;
1556
+ var useNative = Object.assign(!hasNative ? () => false : (opts) => optsArg(opts).mkdir === import_fs2.mkdir, {
1557
+ sync: useNativeSync
1558
+ });
1559
+ var mkdirpSync = (path2, opts) => {
1560
+ path2 = pathArg(path2);
1561
+ const resolved = optsArg(opts);
1562
+ return useNativeSync(resolved) ? mkdirpNativeSync(path2, resolved) : mkdirpManualSync(path2, resolved);
1563
+ };
1564
+ var mkdirp = Object.assign(async (path2, opts) => {
1565
+ path2 = pathArg(path2);
1566
+ const resolved = optsArg(opts);
1567
+ return useNative(resolved) ? mkdirpNative(path2, resolved) : mkdirpManual(path2, resolved);
1568
+ }, {
1569
+ mkdirpSync,
1570
+ mkdirpNative,
1571
+ mkdirpNativeSync,
1572
+ mkdirpManual,
1573
+ mkdirpManualSync,
1574
+ sync: mkdirpSync,
1575
+ native: mkdirpNative,
1576
+ nativeSync: mkdirpNativeSync,
1577
+ manual: mkdirpManual,
1578
+ manualSync: mkdirpManualSync,
1579
+ useNative,
1580
+ useNativeSync
1581
+ });
1582
+ var globSync = (folderPath, callback, firstLevelOnly) => {
1583
+ const fileArr = FS4.readdirSync(folderPath);
1584
+ while (fileArr.length !== 0) {
1585
+ const relativePath = fileArr.shift();
1586
+ const fullPath = PATH2.join(folderPath, relativePath);
1587
+ if (FS4.statSync(fullPath).isDirectory()) {
1588
+ if (!firstLevelOnly) {
1589
+ fileArr.push(...FS4.readdirSync(fullPath).map((v) => PATH2.join(relativePath, v)));
1590
+ }
1591
+ } else {
1592
+ const extname2 = PATH2.extname(relativePath);
1593
+ callback({
1594
+ fullPath,
1595
+ relativePath,
1596
+ extname: extname2,
1597
+ filename: PATH2.basename(relativePath, extname2),
1598
+ basename: PATH2.basename(relativePath),
1599
+ dirname: PATH2.dirname(relativePath)
1600
+ });
1601
+ }
1602
+ }
1603
+ };
1604
+ var globSync_default = globSync;
1605
+ var handleRepository = (oGen) => {
1606
+ const { payload } = oGen;
1607
+ if (!payload.repositoryName) {
1608
+ payload.repositoryName = payload.mainName;
1609
+ }
1610
+ const url = `https://github.com/${payload.repositoryOrgName ? payload.repositoryOrgName + "/" : ""}${payload.repositoryName}`;
1611
+ const gitUrl = `git+${url}`;
1612
+ payload.repository = { type: "git", url: gitUrl };
1613
+ payload.repositoryUrl = url;
1614
+ if (payload.babelRootMode) {
1615
+ let pkgPath = `packages/${payload.mainName}`;
1616
+ if (payload.repositoryName) {
1617
+ const destFolder = oGen.destinationRoot();
1618
+ const findRepositoryName = destFolder.lastIndexOf(payload.repositoryName);
1619
+ if (findRepositoryName !== -1) {
1620
+ pkgPath = destFolder.substring(findRepositoryName + payload.repositoryName.length + 1);
1621
+ }
1622
+ }
1623
+ payload.repository.directory = pkgPath;
1624
+ payload.repositoryHomepage = `${url}/tree/main/${pkgPath}`;
1625
+ } else {
1626
+ payload.repositoryHomepage = url;
1627
+ }
1628
+ };
1629
+ var handleAnswers = (oGen) => (answers, cb = () => {}) => {
1630
+ const { mainName, isUseWebpack } = answers;
1631
+ oGen.mainName = mainName;
1632
+ oGen.payload = {
1633
+ ...answers,
1634
+ description: answers.description || "TODO: description",
1635
+ keyword: answers.keyword || mainName,
1636
+ npmDependencies: {},
1637
+ babelRootMode: "",
1638
+ webpackEnabled: ""
1639
+ };
1640
+ if (answers.babelRootMode) {
1641
+ oGen.payload.babelRootMode = " --root-mode upward";
1642
+ }
1643
+ if (isUseWebpack) {
1644
+ oGen.payload.webpackEnabled = "on";
1645
+ oGen.payload.npmDependencies["reshow-app"] = "*";
1646
+ }
1647
+ handleRepository(oGen);
1648
+ cb(oGen.payload);
1649
+ };
1650
+ var handleAnswers_default = handleAnswers;
1651
+ var import_handleKeywords = __toESM2(require_handleKeywords(), 1);
1652
+ var isPrototypePolluted = function isPrototypePolluted2(arrPath) {
1653
+ var joinPath = "|" + arrPath.join("|") + "|";
1654
+ return ["__proto__", "constructor", "prototype"].some(function(key) {
1655
+ return joinPath.indexOf("|" + key + "|") !== -1;
1656
+ });
1657
+ };
1658
+ var replaceValue = function replaceValue2(obj, arrPath, val, isAppend, unSafe) {
1659
+ if (!unSafe && isPrototypePolluted(arrPath)) {
1660
+ throw "Contain un-safe key.";
1661
+ }
1662
+ var last = arrPath.pop();
1663
+ var linkObj = obj;
1664
+ arrPath.forEach(function(k) {
1665
+ var _linkObj$k;
1666
+ linkObj[k] = (_linkObj$k = linkObj[k]) !== null && _linkObj$k !== undefined ? _linkObj$k : Object.create(null);
1667
+ linkObj = linkObj[k];
1668
+ });
1669
+ if (isAppend && (!linkObj[last] || !linkObj[last].push)) {
1670
+ if (!linkObj[last]) {
1671
+ linkObj[last] = [val];
1672
+ } else {
1673
+ linkObj[last] = [linkObj[last], val];
1674
+ }
1675
+ } else if (isAppend && linkObj[last].push) {
1676
+ linkObj[last].push(val);
1677
+ } else {
1678
+ linkObj[last] = val;
1679
+ }
1680
+ };
1681
+ var src_default = replaceValue;
1682
+ var nest = function nest2(a, delimiter) {
1683
+ delimiter = delimiter || ".";
1684
+ var tree = {};
1685
+ KEYS(a).forEach(function(k) {
1686
+ if (k.indexOf(delimiter) === -1) {
1687
+ tree[k] = a[k];
1688
+ return;
1689
+ }
1690
+ var subKeys = k.split(delimiter);
1691
+ src_default(tree, subKeys, a[k]);
1692
+ });
1693
+ return tree;
1694
+ };
1695
+ var nest_default = nest;
1696
+ var fileGetContents = (f) => isFile_default(f) && FS5.readFileSync(f, "utf8");
1697
+ var fileGetContents_default = fileGetContents;
1698
+ var searchDotYo = (path2, isRoot) => {
1699
+ const dirs = path2.split("/");
1700
+ if (isRoot) {
1701
+ dirs.pop();
1702
+ }
1703
+ while (dirs.length !== 0) {
1704
+ const curDotYo = "/" + PATH3.join(...dirs, ".yo");
1705
+ if (isFile_default(curDotYo)) {
1706
+ return curDotYo;
1707
+ }
1708
+ dirs.pop();
1709
+ }
1710
+ return;
1711
+ };
1712
+ var getIni = (f) => nest_default(import_parse_ini_string.default(fileGetContents_default(f)), "_");
1713
+ var getDotYo = ({ bGetHomeYo = true, pwd = process.cwd() } = {}) => {
1714
+ const homeYo = PATH3.join(OS.homedir(), ".yo");
1715
+ let homeData;
1716
+ if (isFile_default(homeYo) && bGetHomeYo) {
1717
+ homeData = getIni(homeYo);
1718
+ }
1719
+ const rootYo = searchDotYo(pwd, true);
1720
+ let rootData;
1721
+ if (rootYo && isFile_default(rootYo)) {
1722
+ rootData = getIni(rootYo);
1723
+ }
1724
+ const dotYo = searchDotYo(pwd);
1725
+ const data = dotYo ? getIni(dotYo) : {};
1726
+ return {
1727
+ ...homeData,
1728
+ ...rootData,
1729
+ ...data
1730
+ };
1731
+ };
1732
+ var promptResetDefault = (prompts, yoData = getDotYo()) => {
1733
+ prompts.forEach((oPrompt) => {
1734
+ const hasYoData = yoData[oPrompt.name];
1735
+ if (hasYoData != null) {
1736
+ oPrompt.default = hasYoData;
1737
+ }
1738
+ });
1739
+ return prompts;
1740
+ };
1741
+ var promptFilterByOptions = (prompts, yoData = getDotYo()) => {
1742
+ const nextAnswer = {};
1743
+ const nextPrompts = prompts.filter((oPrompt) => {
1744
+ const hasYoData = yoData[oPrompt.name];
1745
+ if (hasYoData != null) {
1746
+ nextAnswer[oPrompt.name] = hasYoData;
1747
+ return false;
1748
+ } else {
1749
+ return true;
1750
+ }
1751
+ });
1752
+ return { nextAnswer, nextPrompts };
1753
+ };
1754
+ var lastAns = { current: {} };
1755
+ var exitCb = { current: null };
1756
+ var onExit = (cb) => cb && (exitCb.current = cb);
1757
+ process.once("exit", () => {
1758
+ if (FUNCTION === typeof exitCb.current && exitCb.current !== null) {
1759
+ exitCb.current();
1760
+ }
1761
+ process.exit(0);
1762
+ });
1763
+ var RUN_CP = (oGen) => (src, dest, options, bOverwrite) => {
1764
+ const oGenFs = oGen.fs;
1765
+ const action = options ? oGenFs.copyTpl : oGenFs.copy;
1766
+ let actualSrc;
1767
+ if (!isFile_default(src) || isFile_default(oGen.templatePath(src))) {
1768
+ dest = dest || (isDir_default(src) ? PATH4.basename(src) : src);
1769
+ actualSrc = oGen.templatePath(src);
1770
+ } else {
1771
+ dest = dest || PATH4.basename(src);
1772
+ actualSrc = src;
1773
+ }
1774
+ try {
1775
+ const realDestFile = oGen.destinationPath(dest);
1776
+ if (!isFile_default(realDestFile) || bOverwrite) {
1777
+ if (isFile_default(realDestFile) && bOverwrite) {
1778
+ unlink_default(realDestFile);
1779
+ }
1780
+ action.call(oGenFs, actualSrc, realDestFile, options);
1781
+ }
1782
+ } catch (e) {
1783
+ throw e;
1784
+ }
1785
+ return dest;
1786
+ };
1787
+ var RUN_SAY = (oGen) => (message, options = { maxLength: 30 }) => {
1788
+ if (STRING !== typeof message) {
1789
+ oGen.log(JSON.stringify(message, null, "\t"));
1790
+ } else {
1791
+ oGen.log(yosay(message, options));
1792
+ }
1793
+ };
1794
+ var promptChainLocator = (prompts) => () => prompts.shift();
1795
+ var YoHelper = (oGen) => {
1796
+ const mkdir3 = (dir) => mkdirp(oGen.destinationPath(dir));
1797
+ const chdir = (dir) => oGen.destinationRoot(dir);
1798
+ const cp = RUN_CP(oGen);
1799
+ const say = RUN_SAY(oGen);
1800
+ if (!exitCb.current) {
1801
+ onExit(() => say(`Bye from us!
1802
+ Chat soon.`));
1803
+ }
1804
+ const promptChain = (promptLocator, cb, nextAnswer = {}) => {
1805
+ cb = cb || (() => true);
1806
+ let i = 0;
1807
+ lastAns.current = nextAnswer;
1808
+ const go = (thisPrompt) => {
1809
+ return thisPrompt ? oGen.prompt(thisPrompt).then((props) => {
1810
+ lastAns.current = { ...lastAns.current, ...props };
1811
+ const isContinue = cb(lastAns.current);
1812
+ if (isContinue) {
1813
+ i++;
1814
+ return go(promptLocator(i, lastAns.current));
1815
+ } else {
1816
+ return oGen.prompt([]);
1817
+ }
1818
+ }) : OBJ_SIZE(lastAns.current) ? lastAns.current : oGen.prompt([]);
1819
+ };
1820
+ return go(promptLocator(i, lastAns));
1821
+ };
1822
+ const chainUtil = {
1823
+ mergePromptOrOption: (prompts, cb = (nextPrompts, nextAnswer) => promptChain(promptChainLocator(nextPrompts), undefined, nextAnswer)) => {
1824
+ const options = {
1825
+ ...oGen.options,
1826
+ ...getDotYo(oGen.options)
1827
+ };
1828
+ const { nextAnswer, nextPrompts } = promptFilterByOptions(prompts, options);
1829
+ if (isNodePkgExecute()) {
1830
+ nextPrompts.forEach((p) => {
1831
+ if (p.name && p.default !== undefined) {
1832
+ nextAnswer[p.name] = typeof p.default === "function" ? p.default() : p.default;
1833
+ }
1834
+ });
1835
+ return Promise.resolve(nextAnswer);
1836
+ }
1837
+ return cb(nextPrompts, nextAnswer).then((props) => ({
1838
+ ...props,
1839
+ ...nextAnswer
1840
+ }));
1841
+ },
1842
+ promptChainLocator,
1843
+ promptChain
1844
+ };
1845
+ const syncJSON = (src, dest, options, cb) => {
1846
+ if (src != null) {
1847
+ dest = cp(src, dest, options);
1848
+ }
1849
+ cb = cb || ((json2) => json2);
1850
+ const json = oGen.readDestinationJSON(dest);
1851
+ const nextJson = cb(json, options);
1852
+ if (nextJson && dest != null) {
1853
+ return { json: nextJson, dest };
1854
+ }
1855
+ return;
1856
+ };
1857
+ const updateDestJSON = (dest, options, cb) => {
1858
+ const json = oGen.readDestinationJSON(dest);
1859
+ cb = cb || ((json2) => json2);
1860
+ const nextJson = cb(json, options);
1861
+ if (nextJson) {
1862
+ oGen.writeDestinationJSON(dest, json);
1863
+ return { json };
1864
+ }
1865
+ return;
1866
+ };
1867
+ return {
1868
+ say,
1869
+ cp,
1870
+ mkdir: mkdir3,
1871
+ getDestFolderName: () => getDestFolderName_default(oGen),
1872
+ chdir,
1873
+ chMainName: (name = oGen.mainName) => {
1874
+ if (name !== getDestFolderName_default(oGen)) {
1875
+ chdir(name);
1876
+ }
1877
+ },
1878
+ syncJSON,
1879
+ updateDestJSON,
1880
+ updateJSON: (src, dest, options, cb) => {
1881
+ const result = syncJSON(src, dest, options, cb);
1882
+ if (result) {
1883
+ const { json, dest: resolvedDest } = result;
1884
+ oGen.writeDestinationJSON(resolvedDest, json);
1885
+ return { json };
1886
+ }
1887
+ return;
1888
+ },
1889
+ onExit,
1890
+ exit: (cb, statusCode = 0) => {
1891
+ onExit(cb);
1892
+ process.exit(statusCode);
1893
+ },
1894
+ getDotYo,
1895
+ isFile: (f) => {
1896
+ const destPath = oGen.destinationPath(f);
1897
+ if (isFile_default(destPath)) {
1898
+ return destPath;
1899
+ } else {
1900
+ return false;
1901
+ }
1902
+ },
1903
+ glob: (srcPath, ...p) => {
1904
+ const actualSrc = isDir_default(srcPath) ? srcPath : oGen.templatePath(srcPath || "");
1905
+ globSync_default(actualSrc, p[0], p[1]);
1906
+ },
1907
+ promptResetDefault,
1908
+ ...chainUtil,
1909
+ promptChainAll: (prompts, {
1910
+ locator = chainUtil.promptChainLocator,
1911
+ callback
1912
+ } = {}) => {
1913
+ return chainUtil.mergePromptOrOption(prompts, (nextPrompts, nextAnswer) => {
1914
+ return chainUtil.promptChain(locator(nextPrompts), callback, nextAnswer);
1915
+ });
1916
+ },
1917
+ getAllAns: (customAns) => {
1918
+ return { ...customAns, ...lastAns.current };
1919
+ },
1920
+ handleAnswers: handleAnswers_default(oGen),
1921
+ handleKeywords: import_handleKeywords.default,
1922
+ composeWithBefore: (generatorPath, options) => {
1923
+ const ALL_PHASES = [
1924
+ "initializing",
1925
+ "prompting",
1926
+ "configuring",
1927
+ "default",
1928
+ "writing",
1929
+ "conflicts",
1930
+ "install",
1931
+ "end"
1932
+ ];
1933
+ const resolvedPath = __require.resolve(generatorPath);
1934
+ const GenClass = __require(resolvedPath);
1935
+ const ChildClass = GenClass.default || GenClass;
1936
+ const child = new ChildClass([], {
1937
+ ...oGen.options,
1938
+ ...options,
1939
+ env: oGen.env,
1940
+ resolved: resolvedPath
1941
+ });
1942
+ const runLoop = oGen.env.runLoop;
1943
+ ALL_PHASES.forEach((phase) => {
1944
+ const childFn = child[phase];
1945
+ if (typeof childFn !== "function")
1946
+ return;
1947
+ const subQueue = `before:${phase}`;
1948
+ runLoop.addSubQueue(subQueue, phase);
1949
+ runLoop.add(subQueue, (done) => {
1950
+ Promise.resolve(childFn.call(child)).then(done);
1951
+ });
1952
+ });
1953
+ }
1954
+ };
1955
+ };
1956
+ var YoHelper_default = YoHelper;
1957
+ var callFunc = function callFunc2(maybeFunc, functionArguments, scope, defaultReturns) {
1958
+ if (functionArguments === undefined) {
1959
+ functionArguments = [];
1960
+ }
1961
+ if (scope === undefined) {
1962
+ scope = T_UNDEFINED;
1963
+ }
1964
+ if (defaultReturns === undefined) {
1965
+ defaultReturns = T_UNDEFINED;
1966
+ }
1967
+ return FUNCTION === typeof maybeFunc ? maybeFunc.apply(scope, functionArguments) : UNDEFINED !== typeof defaultReturns ? defaultReturns : maybeFunc;
1968
+ };
1969
+ var callfunc_default = callFunc;
1970
+ var defaultI18n = {
1971
+ tip: ({ namespace }) => `Generate "${namespace}"
1972
+
1973
+ !!
1974
+
1975
+ You need create folder
1976
+ by yourself.`,
1977
+ isReady: ({ destFolderName }) => `We will put files to [${destFolderName}], do you confirm it?`,
1978
+ notReady: "Exit for not ready to create folder.",
1979
+ mainName: "Please confirm your naming? Or rename it."
1980
+ };
1981
+ var mainNamePrompt = (oGen, i18n) => {
1982
+ const { say, getDestFolderName: getDestFolderName2, getAllAns, exit } = YoHelper_default(oGen);
1983
+ const mergedI18n = { ...defaultI18n, ...i18n };
1984
+ oGen.argument("argMainName", { type: String, required: false });
1985
+ const { argMainName, namespace } = oGen.options;
1986
+ oGen.options.subGeneratorName = namespace.split(":")[1];
1987
+ const prompts = [];
1988
+ if (!argMainName) {
1989
+ say(callfunc_default(mergedI18n.tip, [{ namespace }]));
1990
+ prompts.push({
1991
+ type: "confirm",
1992
+ name: "isReady",
1993
+ message: callfunc_default(mergedI18n.isReady, [
1994
+ { destFolderName: getDestFolderName2() }
1995
+ ]),
1996
+ default: isNodePkgExecute()
1997
+ }, {
1998
+ when: (response) => {
1999
+ const allAns = getAllAns(response);
2000
+ if (!allAns.isReady) {
2001
+ exit(() => say(callfunc_default(mergedI18n.notReady)));
2002
+ }
2003
+ }
2004
+ });
2005
+ }
2006
+ prompts.push({
2007
+ type: "input",
2008
+ name: "mainName",
2009
+ message: callfunc_default(mergedI18n.mainName),
2010
+ default: argMainName || getDestFolderName2()
2011
+ });
2012
+ return prompts;
2013
+ };
2014
+ var mainNamePrompt_default = mainNamePrompt;
2015
+ var commonPrompt = {
2016
+ mainName: mainNamePrompt_default,
2017
+ desc: (oGen, { keyword = true } = {}) => {
2018
+ const nextPrompts = [
2019
+ {
2020
+ type: "input",
2021
+ name: "description",
2022
+ message: "Please input this description?",
2023
+ default: ""
2024
+ }
2025
+ ];
2026
+ if (keyword) {
2027
+ nextPrompts.push({
2028
+ type: "input",
2029
+ name: "keyword",
2030
+ message: "Please input keyword?",
2031
+ default: ""
2032
+ });
2033
+ }
2034
+ return nextPrompts;
2035
+ },
2036
+ author: (oGen) => [
2037
+ {
2038
+ type: "input",
2039
+ name: "authorName",
2040
+ message: "Please input author Name?",
2041
+ default: ""
2042
+ },
2043
+ {
2044
+ type: "input",
2045
+ name: "authorEmail",
2046
+ message: "Please input author Email?",
2047
+ default: ""
2048
+ }
2049
+ ],
2050
+ repository: (oGen, { defaultRepositoryName, defaultRepositoryOrgName } = {}) => [
2051
+ {
2052
+ type: "input",
2053
+ name: "repositoryName",
2054
+ message: "Please input code repository name ?",
2055
+ default: defaultRepositoryName
2056
+ },
2057
+ {
2058
+ type: "input",
2059
+ name: "repositoryOrgName",
2060
+ message: "Please input code repository organization name ?",
2061
+ default: defaultRepositoryOrgName
2062
+ }
2063
+ ],
2064
+ babel: (oGen) => [
2065
+ {
2066
+ type: "confirm",
2067
+ name: "isUseBabel",
2068
+ message: "Do you plan use babel ?",
2069
+ default: true
2070
+ },
2071
+ {
2072
+ type: "confirm",
2073
+ name: "babelRootMode",
2074
+ message: "will you push this under a monorepo (sub-package) ?",
2075
+ default: false,
2076
+ when: (response) => {
2077
+ const { getAllAns } = YoHelper_default(oGen);
2078
+ const allAns = getAllAns(response);
2079
+ if (allAns.isUseBabel) {
2080
+ return true;
2081
+ }
2082
+ return;
2083
+ }
2084
+ },
2085
+ {
2086
+ type: "confirm",
2087
+ name: "isUseBabelUI",
2088
+ message: "Is is a babel UI library?",
2089
+ default: false,
2090
+ when: (response) => {
2091
+ const { getAllAns } = YoHelper_default(oGen);
2092
+ const allAns = getAllAns(response);
2093
+ if (allAns.isUseBabel) {
2094
+ return true;
2095
+ }
2096
+ return;
2097
+ }
2098
+ },
2099
+ {
2100
+ type: "confirm",
2101
+ name: "isUseWebpack",
2102
+ message: "Do you use webpack ?",
2103
+ default: false
2104
+ }
2105
+ ]
2106
+ };
2107
+ var commonPrompt_default = commonPrompt;
2108
+ var getSubGenerators = (generatorsDir, exclude) => fs.readdirSync(generatorsDir).filter((name) => name !== exclude && fs.statSync(path.join(generatorsDir, name)).isDirectory()).sort();
2109
+ var isDirectInvocation = () => process.argv.some((arg) => arg.includes(":"));
2110
+ var promptSubGenerator = async (oGen, {
2111
+ currentDir,
2112
+ exclude = "app",
2113
+ first = "app"
2114
+ }) => {
2115
+ if (isDirectInvocation()) {
2116
+ return null;
2117
+ }
2118
+ const generatorsDir = path.resolve(currentDir, "..");
2119
+ const subGenerators = getSubGenerators(generatorsDir, exclude);
2120
+ const { generator: selected } = await oGen.prompt([
2121
+ {
2122
+ type: "list",
2123
+ name: "generator",
2124
+ message: "Which generator would you like to run?",
2125
+ choices: [first, ...subGenerators]
2126
+ }
2127
+ ]);
2128
+ if (selected && selected !== first) {
2129
+ oGen.composeWith(__require.resolve(path.join(generatorsDir, selected)), {
2130
+ ...oGen.options
2131
+ });
2132
+ return selected;
2133
+ }
2134
+ return null;
2135
+ };
2136
+
2137
+ // src/package-json/index.ts
2138
+ class package_json_default extends YoGenerator_default {
2139
+ writing() {
2140
+ const { getDotYo: getDotYo2, handleKeywords, updateJSON } = YoHelper_default(this);
2141
+ const payload = {
2142
+ mainName: "",
2143
+ description: "",
2144
+ babelRootMode: "",
2145
+ authorName: "",
2146
+ authorEmail: "",
2147
+ ...this.payload,
2148
+ ...this.options,
2149
+ ...getDotYo2(this.options)
2150
+ };
2151
+ updateJSON("package.json", null, payload, (data, {
2152
+ keyword,
2153
+ repository,
2154
+ repositoryHomepage
2155
+ }) => {
2156
+ handleKeywords(keyword, (arr) => data.keywords = arr);
2157
+ data.repository = repository;
2158
+ data.homepage = repositoryHomepage;
2159
+ return data;
2160
+ });
2161
+ }
2162
+ }
2163
+
2164
+ // src/bun-package-json/index.ts
2165
+ var exports_bun_package_json = {};
2166
+ __export(exports_bun_package_json, {
2167
+ default: () => bun_package_json_default
2168
+ });
2169
+ module.exports = __toCommonJS(exports_bun_package_json);
2170
+ var defaultPackageJSON = {
2171
+ devDependencies: {
2172
+ typescript: "*"
2173
+ },
2174
+ scripts: {},
2175
+ files: ["dist", "package.json", "README.md"]
2176
+ };
2177
+
2178
+ class bun_package_json_default extends YoGenerator_default {
2179
+ default() {
2180
+ const { getDotYo: getDotYo2, composeWithBefore } = YoHelper_default(this);
2181
+ this.payload = {
2182
+ mainName: "",
2183
+ description: "",
2184
+ authorName: "",
2185
+ authorEmail: "",
2186
+ ...this.payload,
2187
+ ...this.options,
2188
+ ...getDotYo2(this.options)
2189
+ };
2190
+ composeWithBefore(require.resolve("../package-json"), this.payload);
2191
+ }
2192
+ writing() {
2193
+ const { handleKeywords, updateDestJSON } = YoHelper_default(this);
2194
+ const payload = this.payload;
2195
+ updateDestJSON("package.json", payload, (data = {}, { keyword, repository, repositoryHomepage }) => {
2196
+ handleKeywords(keyword, (arr) => data.keywords = arr);
2197
+ const { scripts: defaultScripts, ...restDefaults } = defaultPackageJSON;
2198
+ Object.assign(data, restDefaults);
2199
+ data.scripts = { ...defaultScripts, ...data.scripts };
2200
+ data.repository = repository;
2201
+ data.homepage = repositoryHomepage;
2202
+ return data;
2203
+ });
2204
+ }
2205
+ }