@shopify/cli 3.88.1 → 3.90.0

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 (96) hide show
  1. package/dist/acorn-45LE5Z2A.js +3016 -0
  2. package/dist/angular-Z5FPQPLR.js +2791 -0
  3. package/dist/babel-TRRZ6QQY.js +7173 -0
  4. package/dist/{chunk-MBL5HIUY.js → chunk-3AY5VBOI.js} +6 -6
  5. package/dist/{chunk-WEFPJFSC.js → chunk-3OKBQXPB.js} +5 -5
  6. package/dist/{chunk-FM5O5ML5.js → chunk-4K7TRR4V.js} +4 -4
  7. package/dist/{chunk-L6RKBI62.js → chunk-5MLYI7UO.js} +4 -4
  8. package/dist/{chunk-SKMKK4HY.js → chunk-5OJ67VLD.js} +38 -13
  9. package/dist/{chunk-GTQOY34I.js → chunk-66SSN4NK.js} +2 -2
  10. package/dist/{chunk-OOFJXO66.js → chunk-6DIWINGB.js} +3 -3
  11. package/dist/{chunk-YHMVT4MX.js → chunk-6OAKJOUE.js} +6 -6
  12. package/dist/{chunk-KY3DY3JB.js → chunk-A2DCUFP3.js} +2 -2
  13. package/dist/{chunk-EBGZZ7WC.js → chunk-A7QWFDBY.js} +2 -2
  14. package/dist/{chunk-YRMUH267.js → chunk-AJVHCUVQ.js} +4 -4
  15. package/dist/{chunk-EXVAVPLH.js → chunk-B2EZE3X5.js} +3 -3
  16. package/dist/{chunk-HFXVR5DX.js → chunk-BDQNCT7P.js} +3 -3
  17. package/dist/{chunk-PLB4SUD2.js → chunk-ELXP2SNA.js} +4 -4
  18. package/dist/{chunk-G7LVOLJB.js → chunk-ERCZ3NEG.js} +2 -2
  19. package/dist/{chunk-4JKPZ3VQ.js → chunk-FPXVU77M.js} +3 -3
  20. package/dist/{chunk-ARNI43Y7.js → chunk-GH4DMIMI.js} +3 -3
  21. package/dist/{chunk-DOGBHIKU.js → chunk-GY37RRX5.js} +4 -4
  22. package/dist/{chunk-SXCTF3GA.js → chunk-HVSHUE2B.js} +5 -5
  23. package/dist/{chunk-A2XFK3DK.js → chunk-ITXKKYMN.js} +3 -3
  24. package/dist/{chunk-J7IE6I2Z.js → chunk-K2EOH7QQ.js} +3 -3
  25. package/dist/{chunk-ZICCE4RM.js → chunk-L5BSIB4A.js} +3 -3
  26. package/dist/{chunk-HJSZAWSQ.js → chunk-LKMGT2DW.js} +2091 -2215
  27. package/dist/{chunk-O66HZU2K.js → chunk-LSGITB3O.js} +5 -5
  28. package/dist/{chunk-KV7DPDLS.js → chunk-MZX7G4LN.js} +3 -3
  29. package/dist/{chunk-47RUNUR4.js → chunk-O74JPOMN.js} +6 -6
  30. package/dist/{chunk-OIOM46UG.js → chunk-QHDQYVAG.js} +2 -2
  31. package/dist/{chunk-S2JA5KN5.js → chunk-R2VQQFNU.js} +2 -2
  32. package/dist/{chunk-2CKTOMXL.js → chunk-RYFPG44L.js} +2 -2
  33. package/dist/{chunk-4B34L27W.js → chunk-SE3EASHO.js} +8 -8
  34. package/dist/{chunk-R35DWLU3.js → chunk-U52M2SBG.js} +7 -6
  35. package/dist/{chunk-G35J5BJH.js → chunk-UISDI2NJ.js} +3 -3
  36. package/dist/{chunk-VLBE545G.js → chunk-WC5EDB4Z.js} +4 -4
  37. package/dist/{chunk-2IQA6YOH.js → chunk-XUHEOC7Y.js} +7 -7
  38. package/dist/cli/commands/auth/login.js +10 -10
  39. package/dist/cli/commands/auth/login.test.js +11 -11
  40. package/dist/cli/commands/auth/logout.js +10 -10
  41. package/dist/cli/commands/auth/logout.test.js +11 -11
  42. package/dist/cli/commands/cache/clear.js +10 -10
  43. package/dist/cli/commands/debug/command-flags.js +10 -10
  44. package/dist/cli/commands/docs/generate.js +10 -10
  45. package/dist/cli/commands/docs/generate.test.js +10 -10
  46. package/dist/cli/commands/help.js +10 -10
  47. package/dist/cli/commands/kitchen-sink/async.js +11 -11
  48. package/dist/cli/commands/kitchen-sink/async.test.js +11 -11
  49. package/dist/cli/commands/kitchen-sink/index.js +13 -13
  50. package/dist/cli/commands/kitchen-sink/index.test.js +13 -13
  51. package/dist/cli/commands/kitchen-sink/prompts.js +11 -11
  52. package/dist/cli/commands/kitchen-sink/prompts.test.js +11 -11
  53. package/dist/cli/commands/kitchen-sink/static.js +11 -11
  54. package/dist/cli/commands/kitchen-sink/static.test.js +11 -11
  55. package/dist/cli/commands/notifications/generate.js +11 -11
  56. package/dist/cli/commands/notifications/list.js +11 -11
  57. package/dist/cli/commands/search.js +11 -11
  58. package/dist/cli/commands/upgrade.js +11 -11
  59. package/dist/cli/commands/version.js +11 -11
  60. package/dist/cli/commands/version.test.js +11 -11
  61. package/dist/cli/services/commands/notifications.js +8 -8
  62. package/dist/cli/services/commands/search.js +4 -4
  63. package/dist/cli/services/commands/search.test.js +4 -4
  64. package/dist/cli/services/commands/version.js +5 -5
  65. package/dist/cli/services/commands/version.test.js +6 -6
  66. package/dist/cli/services/kitchen-sink/async.js +4 -4
  67. package/dist/cli/services/kitchen-sink/prompts.js +4 -4
  68. package/dist/cli/services/kitchen-sink/static.js +4 -4
  69. package/dist/cli/services/upgrade.js +5 -5
  70. package/dist/cli/services/upgrade.test.js +6 -6
  71. package/dist/{custom-oclif-loader-32S55IZR.js → custom-oclif-loader-H4CDTFND.js} +4 -4
  72. package/dist/{devtools-EVCDECOU.js → devtools-2SG3BFWJ.js} +4 -4
  73. package/dist/{devtools-LDCSRUXB.js → devtools-D47L6HIC.js} +7 -7
  74. package/dist/{error-handler-5ISTZ76A.js → error-handler-JLUD7HQX.js} +8 -8
  75. package/dist/estree-PY6WKTNG.js +4490 -0
  76. package/dist/flow-YN54TSCB.js +27513 -0
  77. package/dist/glimmer-RMPUUUDS.js +2781 -0
  78. package/dist/graphql-PPLVYWBL.js +1225 -0
  79. package/dist/hooks/postrun.js +7 -7
  80. package/dist/hooks/prerun.js +8 -8
  81. package/dist/html-3U6QZZZ4.js +2768 -0
  82. package/dist/index.js +9407 -4248
  83. package/dist/{lib-G7Q5M6VX.js → lib-XGN4IWQ3.js} +3 -3
  84. package/dist/{local-WDXJW24L.js → local-Q5P3JTHB.js} +6 -4
  85. package/dist/markdown-RHRQTUMC.js +3269 -0
  86. package/dist/meriyah-7MIMHTWQ.js +2645 -0
  87. package/dist/{node-package-manager-2LA6ZOEW.js → node-package-manager-JQCYAVNE.js} +5 -5
  88. package/dist/postcss-MSOPGY7M.js +4796 -0
  89. package/dist/prettier-2ITB6I34.js +13861 -0
  90. package/dist/tsconfig.tsbuildinfo +1 -1
  91. package/dist/typescript-ZSZVUJZX.js +13034 -0
  92. package/dist/{ui-ROMDLTEP.js → ui-2P2WEBXY.js} +4 -4
  93. package/dist/{workerd-J7UDCFYZ.js → workerd-5QLA2QUA.js} +11 -11
  94. package/dist/yaml-6GALFXQY.js +4077 -0
  95. package/oclif.manifest.json +408 -19
  96. package/package.json +6 -6
@@ -0,0 +1,4490 @@
1
+ import {
2
+ __esm,
3
+ init_cjs_shims
4
+ } from "./chunk-PKR7KJ6P.js";
5
+
6
+ // ../../node_modules/.pnpm/prettier@3.7.4/node_modules/prettier/plugins/estree.mjs
7
+ function ka(e) {
8
+ return this[e < 0 ? this.length + e : e];
9
+ }
10
+ function La(e) {
11
+ return e !== null && typeof e == "object";
12
+ }
13
+ function* Oa(e, t) {
14
+ let { getVisitorKeys: r, filter: n = () => !0 } = t, s = (i) => Lr(i) && n(i);
15
+ for (let i of r(e)) {
16
+ let o = e[i];
17
+ if (Array.isArray(o)) for (let u of o) s(u) && (yield u);
18
+ else s(o) && (yield o);
19
+ }
20
+ }
21
+ function* wa(e, t) {
22
+ let r = [e];
23
+ for (let n = 0; n < r.length; n++) {
24
+ let s = r[n];
25
+ for (let i of Oa(s, t)) yield i, r.push(i);
26
+ }
27
+ }
28
+ function zs(e, { getVisitorKeys: t, predicate: r }) {
29
+ for (let n of wa(e, { getVisitorKeys: t })) if (r(n)) return !0;
30
+ return !1;
31
+ }
32
+ function vn(e) {
33
+ return e === 12288 || e >= 65281 && e <= 65376 || e >= 65504 && e <= 65510;
34
+ }
35
+ function Rn(e) {
36
+ return e >= 4352 && e <= 4447 || e === 8986 || e === 8987 || e === 9001 || e === 9002 || e >= 9193 && e <= 9196 || e === 9200 || e === 9203 || e === 9725 || e === 9726 || e === 9748 || e === 9749 || e >= 9776 && e <= 9783 || e >= 9800 && e <= 9811 || e === 9855 || e >= 9866 && e <= 9871 || e === 9875 || e === 9889 || e === 9898 || e === 9899 || e === 9917 || e === 9918 || e === 9924 || e === 9925 || e === 9934 || e === 9940 || e === 9962 || e === 9970 || e === 9971 || e === 9973 || e === 9978 || e === 9981 || e === 9989 || e === 9994 || e === 9995 || e === 10024 || e === 10060 || e === 10062 || e >= 10067 && e <= 10069 || e === 10071 || e >= 10133 && e <= 10135 || e === 10160 || e === 10175 || e === 11035 || e === 11036 || e === 11088 || e === 11093 || e >= 11904 && e <= 11929 || e >= 11931 && e <= 12019 || e >= 12032 && e <= 12245 || e >= 12272 && e <= 12287 || e >= 12289 && e <= 12350 || e >= 12353 && e <= 12438 || e >= 12441 && e <= 12543 || e >= 12549 && e <= 12591 || e >= 12593 && e <= 12686 || e >= 12688 && e <= 12773 || e >= 12783 && e <= 12830 || e >= 12832 && e <= 12871 || e >= 12880 && e <= 42124 || e >= 42128 && e <= 42182 || e >= 43360 && e <= 43388 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65040 && e <= 65049 || e >= 65072 && e <= 65106 || e >= 65108 && e <= 65126 || e >= 65128 && e <= 65131 || e >= 94176 && e <= 94180 || e >= 94192 && e <= 94198 || e >= 94208 && e <= 101589 || e >= 101631 && e <= 101662 || e >= 101760 && e <= 101874 || e >= 110576 && e <= 110579 || e >= 110581 && e <= 110587 || e === 110589 || e === 110590 || e >= 110592 && e <= 110882 || e === 110898 || e >= 110928 && e <= 110930 || e === 110933 || e >= 110948 && e <= 110951 || e >= 110960 && e <= 111355 || e >= 119552 && e <= 119638 || e >= 119648 && e <= 119670 || e === 126980 || e === 127183 || e === 127374 || e >= 127377 && e <= 127386 || e >= 127488 && e <= 127490 || e >= 127504 && e <= 127547 || e >= 127552 && e <= 127560 || e === 127568 || e === 127569 || e >= 127584 && e <= 127589 || e >= 127744 && e <= 127776 || e >= 127789 && e <= 127797 || e >= 127799 && e <= 127868 || e >= 127870 && e <= 127891 || e >= 127904 && e <= 127946 || e >= 127951 && e <= 127955 || e >= 127968 && e <= 127984 || e === 127988 || e >= 127992 && e <= 128062 || e === 128064 || e >= 128066 && e <= 128252 || e >= 128255 && e <= 128317 || e >= 128331 && e <= 128334 || e >= 128336 && e <= 128359 || e === 128378 || e === 128405 || e === 128406 || e === 128420 || e >= 128507 && e <= 128591 || e >= 128640 && e <= 128709 || e === 128716 || e >= 128720 && e <= 128722 || e >= 128725 && e <= 128728 || e >= 128732 && e <= 128735 || e === 128747 || e === 128748 || e >= 128756 && e <= 128764 || e >= 128992 && e <= 129003 || e === 129008 || e >= 129292 && e <= 129338 || e >= 129340 && e <= 129349 || e >= 129351 && e <= 129535 || e >= 129648 && e <= 129660 || e >= 129664 && e <= 129674 || e >= 129678 && e <= 129734 || e === 129736 || e >= 129741 && e <= 129756 || e >= 129759 && e <= 129770 || e >= 129775 && e <= 129784 || e >= 131072 && e <= 196605 || e >= 196608 && e <= 262141;
37
+ }
38
+ function Na(e) {
39
+ if (!e) return 0;
40
+ if (!_a.test(e)) return e.length;
41
+ e = e.replace(Zs(), (r) => Ma.has(r) ? " " : " ");
42
+ let t = 0;
43
+ for (let r of e) {
44
+ let n = r.codePointAt(0);
45
+ n <= 31 || n >= 127 && n <= 159 || n >= 768 && n <= 879 || n >= 65024 && n <= 65039 || (t += vn(n) || Rn(n) ? 2 : 1);
46
+ }
47
+ return t;
48
+ }
49
+ function Or(e) {
50
+ return (t, r, n) => {
51
+ let s = !!n?.backwards;
52
+ if (r === !1) return !1;
53
+ let { length: i } = t, o = r;
54
+ for (; o >= 0 && o < i; ) {
55
+ let u = t.charAt(o);
56
+ if (e instanceof RegExp) {
57
+ if (!e.test(u)) return o;
58
+ } else if (!e.includes(u)) return o;
59
+ s ? o-- : o++;
60
+ }
61
+ return o === -1 || o === i ? o : !1;
62
+ };
63
+ }
64
+ function ja(e, t, r) {
65
+ let n = !!r?.backwards;
66
+ if (t === !1) return !1;
67
+ let s = e.charAt(t);
68
+ if (n) {
69
+ if (e.charAt(t - 1) === "\r" && s === `
70
+ `) return t - 2;
71
+ if (ni(s)) return t - 1;
72
+ } else {
73
+ if (s === "\r" && e.charAt(t + 1) === `
74
+ `) return t + 2;
75
+ if (ni(s)) return t + 1;
76
+ }
77
+ return t;
78
+ }
79
+ function va(e, t, r = {}) {
80
+ let n = ze(e, r.backwards ? t - 1 : t, r), s = Ze(e, n, r);
81
+ return n !== s;
82
+ }
83
+ function Ra(e, t) {
84
+ if (t === !1) return !1;
85
+ if (e.charAt(t) === "/" && e.charAt(t + 1) === "*") {
86
+ for (let r = t + 2; r < e.length; ++r) if (e.charAt(r) === "*" && e.charAt(r + 1) === "/") return r + 2;
87
+ }
88
+ return t;
89
+ }
90
+ function Ja(e, t) {
91
+ return t === !1 ? !1 : e.charAt(t) === "/" && e.charAt(t + 1) === "/" ? ri(e, t) : t;
92
+ }
93
+ function Ga(e, t) {
94
+ let r = null, n = t;
95
+ for (; n !== r; ) r = n, n = ti(e, n), n = qt(e, n), n = ze(e, n);
96
+ return n = Ut(e, n), n = Ze(e, n), n !== !1 && Z(e, n);
97
+ }
98
+ function Wa(e) {
99
+ return Array.isArray(e) && e.length > 0;
100
+ }
101
+ function Ha(e, t) {
102
+ let { preferred: r, alternate: n } = t === !0 || t === "'" ? Ua : Ya, { length: s } = e, i = 0, o = 0;
103
+ for (let u = 0; u < s; u++) {
104
+ let p = e.charCodeAt(u);
105
+ p === r.codePoint ? i++ : p === n.codePoint && o++;
106
+ }
107
+ return (i > o ? n : r).character;
108
+ }
109
+ function Va(e, t) {
110
+ let r = t === '"' ? "'" : '"', n = W(0, e, Xa, (s, i, o) => i ? i === r ? r : s : o === t ? "\\" + o : o);
111
+ return t + n + t;
112
+ }
113
+ function $a(e, t) {
114
+ Le(/^(?<quote>["']).*\k<quote>$/su.test(e));
115
+ let r = e.slice(1, -1), n = t.parser === "json" || t.parser === "jsonc" || t.parser === "json5" && t.quoteProps === "preserve" && !t.singleQuote ? '"' : t.__isInHtmlAttribute ? "'" : wr(r, t.singleQuote);
116
+ return e.charAt(0) === n ? e : oi(r, n);
117
+ }
118
+ function w(e) {
119
+ let t = e.range?.[0] ?? e.start, r = (e.declaration?.decorators ?? e.decorators)?.[0];
120
+ return r ? Math.min(w(r), t) : t;
121
+ }
122
+ function I(e) {
123
+ return e.range?.[1] ?? e.end;
124
+ }
125
+ function bt(e, t) {
126
+ let r = w(e);
127
+ return ui(r) && r === w(t);
128
+ }
129
+ function Ka(e, t) {
130
+ let r = I(e);
131
+ return ui(r) && r === I(t);
132
+ }
133
+ function ai(e, t) {
134
+ return bt(e, t) && Ka(e, t);
135
+ }
136
+ function fr(e) {
137
+ if (Dr !== null && typeof Dr.property) {
138
+ let t = Dr;
139
+ return Dr = fr.prototype = null, t;
140
+ }
141
+ return Dr = fr.prototype = e ?? /* @__PURE__ */ Object.create(null), new fr();
142
+ }
143
+ function Gn(e) {
144
+ return fr(e);
145
+ }
146
+ function za(e, t = "type") {
147
+ Gn(e);
148
+ function r(n) {
149
+ let s = n[t], i = e[s];
150
+ if (!Array.isArray(i)) throw Object.assign(new Error(`Missing visitor keys for '${s}'.`), { node: n });
151
+ return i;
152
+ }
153
+ return r;
154
+ }
155
+ function ep(e) {
156
+ let t = new Set(e);
157
+ return (r) => t.has(r?.type);
158
+ }
159
+ function tp(e) {
160
+ return e.extra?.raw ?? e.raw;
161
+ }
162
+ function ip(e, t) {
163
+ let r = t.split(".");
164
+ for (let n = r.length - 1; n >= 0; n--) {
165
+ let s = r[n];
166
+ if (n === 0) return e.type === "Identifier" && e.name === s;
167
+ if (n === 1 && e.type === "MetaProperty" && e.property.type === "Identifier" && e.property.name === s) {
168
+ e = e.meta;
169
+ continue;
170
+ }
171
+ if (e.type === "MemberExpression" && !e.optional && !e.computed && e.property.type === "Identifier" && e.property.name === s) {
172
+ e = e.object;
173
+ continue;
174
+ }
175
+ return !1;
176
+ }
177
+ }
178
+ function op(e, t) {
179
+ return t.some((r) => ip(e, r));
180
+ }
181
+ function up({ type: e }) {
182
+ return e.startsWith("TS") && e.endsWith("Keyword");
183
+ }
184
+ function ap({ node: e, parent: t }) {
185
+ return e?.type !== "EmptyStatement" ? !1 : t.type === "IfStatement" ? t.consequent === e || t.alternate === e : t.type === "DoWhileStatement" || t.type === "ForInStatement" || t.type === "ForOfStatement" || t.type === "ForStatement" || t.type === "LabeledStatement" || t.type === "WithStatement" || t.type === "WhileStatement" ? t.body === e : !1;
186
+ }
187
+ function Er(e, t) {
188
+ return t(e) || zs(e, { getVisitorKeys: Mr, predicate: t });
189
+ }
190
+ function Xt(e) {
191
+ return e.type === "AssignmentExpression" || e.type === "BinaryExpression" || e.type === "LogicalExpression" || e.type === "NGPipeExpression" || e.type === "ConditionalExpression" || M(e) || J(e) || e.type === "SequenceExpression" || e.type === "TaggedTemplateExpression" || e.type === "BindExpression" || e.type === "UpdateExpression" && !e.prefix || Ae(e) || e.type === "TSNonNullExpression" || e.type === "ChainExpression";
192
+ }
193
+ function mi(e) {
194
+ return e.expressions ? e.expressions[0] : e.left ?? e.test ?? e.callee ?? e.object ?? e.tag ?? e.argument ?? e.expression;
195
+ }
196
+ function Rr(e) {
197
+ if (e.expressions) return ["expressions", 0];
198
+ if (e.left) return ["left"];
199
+ if (e.test) return ["test"];
200
+ if (e.object) return ["object"];
201
+ if (e.callee) return ["callee"];
202
+ if (e.tag) return ["tag"];
203
+ if (e.argument) return ["argument"];
204
+ if (e.expression) return ["expression"];
205
+ throw new Error("Unexpected node has no left side.");
206
+ }
207
+ function fi(e) {
208
+ return e.type === "LogicalExpression" && e.operator === "??";
209
+ }
210
+ function Ce(e) {
211
+ return e.type === "NumericLiteral" || e.type === "Literal" && typeof e.value == "number";
212
+ }
213
+ function yi(e) {
214
+ return e.type === "BooleanLiteral" || e.type === "Literal" && typeof e.value == "boolean";
215
+ }
216
+ function Hn(e) {
217
+ return e.type === "UnaryExpression" && (e.operator === "+" || e.operator === "-") && Ce(e.argument);
218
+ }
219
+ function V(e) {
220
+ return !!(e && (e.type === "StringLiteral" || e.type === "Literal" && typeof e.value == "string"));
221
+ }
222
+ function Xn(e) {
223
+ return e.type === "RegExpLiteral" || e.type === "Literal" && !!e.regex;
224
+ }
225
+ function cp(e) {
226
+ return e.type === "FunctionExpression" || e.type === "ArrowFunctionExpression" && e.body.type === "BlockStatement";
227
+ }
228
+ function Wn(e) {
229
+ return M(e) && e.callee.type === "Identifier" && ["async", "inject", "fakeAsync", "waitForAsync"].includes(e.callee.name);
230
+ }
231
+ function mt(e) {
232
+ return e.method && e.kind === "init" || e.kind === "get" || e.kind === "set";
233
+ }
234
+ function Gr(e) {
235
+ return (e.type === "ObjectTypeProperty" || e.type === "ObjectTypeInternalSlot") && !e.static && !e.method && e.kind !== "get" && e.kind !== "set" && e.value.type === "FunctionTypeAnnotation";
236
+ }
237
+ function Ei(e) {
238
+ return (e.type === "TypeAnnotation" || e.type === "TSTypeAnnotation") && e.typeAnnotation.type === "FunctionTypeAnnotation" && !e.static && !bt(e, e.typeAnnotation);
239
+ }
240
+ function Tt(e) {
241
+ return J(e) || e.type === "BindExpression" && !!e.object;
242
+ }
243
+ function Vt(e) {
244
+ return jr(e) || Nr(e) || lp(e) || e.type === "GenericTypeAnnotation" && !e.typeParameters || e.type === "TSTypeReference" && !e.typeArguments;
245
+ }
246
+ function mp(e) {
247
+ return e.type === "Identifier" && (e.name === "beforeEach" || e.name === "beforeAll" || e.name === "afterEach" || e.name === "afterAll");
248
+ }
249
+ function fp(e) {
250
+ return Pt(e, Dp);
251
+ }
252
+ function It(e, t) {
253
+ if (e?.type !== "CallExpression" || e.optional) return !1;
254
+ let r = le(e);
255
+ if (r.length === 1) {
256
+ if (Wn(e) && It(t)) return Ht(r[0]);
257
+ if (mp(e.callee)) return Wn(r[0]);
258
+ } else if ((r.length === 2 || r.length === 3) && (r[0].type === "TemplateLiteral" || V(r[0])) && fp(e.callee)) return r[2] && !Ce(r[2]) ? !1 : (r.length === 2 ? Ht(r[1]) : cp(r[1]) && K(r[1]).length <= 1) || Wn(r[1]);
259
+ return !1;
260
+ }
261
+ function Vn(e, t = 5) {
262
+ return di(e, t) <= t;
263
+ }
264
+ function di(e, t) {
265
+ let r = 0;
266
+ for (let n in e) {
267
+ let s = e[n];
268
+ if (Lr(s) && typeof s.type == "string" && (r++, r += di(s, t - r)), r > t) return r;
269
+ }
270
+ return r;
271
+ }
272
+ function Fr(e, t) {
273
+ let { printWidth: r } = t;
274
+ if (T(e)) return !1;
275
+ let n = r * yp;
276
+ if (e.type === "ThisExpression" || e.type === "Identifier" && e.name.length <= n || Hn(e) && !T(e.argument)) return !0;
277
+ let s = e.type === "Literal" && "regex" in e && e.regex.pattern || e.type === "RegExpLiteral" && e.pattern;
278
+ return s ? s.length <= n : V(e) ? ut(pe(e), t).length <= n : e.type === "TemplateLiteral" ? e.expressions.length === 0 && e.quasis[0].value.raw.length <= n && !e.quasis[0].value.raw.includes(`
279
+ `) : e.type === "UnaryExpression" ? Fr(e.argument, { printWidth: r }) : e.type === "CallExpression" && e.arguments.length === 0 && e.callee.type === "Identifier" ? e.callee.name.length <= n - 2 : Jr(e);
280
+ }
281
+ function Ee(e, t) {
282
+ return H(t) ? Ot(t) : T(t, x.Leading, (r) => Z(e, I(r)));
283
+ }
284
+ function ci(e) {
285
+ return e.quasis.some((t) => t.value.raw.includes(`
286
+ `));
287
+ }
288
+ function Wr(e, t) {
289
+ return (e.type === "TemplateLiteral" && ci(e) || e.type === "TaggedTemplateExpression" && ci(e.quasi)) && !Z(t, w(e), { backwards: !0 });
290
+ }
291
+ function qr(e) {
292
+ if (!T(e)) return !1;
293
+ let t = N(0, et(e, x.Dangling), -1);
294
+ return t && !ce(t);
295
+ }
296
+ function Ci(e) {
297
+ if (e.length <= 1) return !1;
298
+ let t = 0;
299
+ for (let r of e) if (Ht(r)) {
300
+ if (t += 1, t > 1) return !0;
301
+ } else if (M(r)) {
302
+ for (let n of le(r)) if (Ht(n)) return !0;
303
+ }
304
+ return !1;
305
+ }
306
+ function Ur(e) {
307
+ let { node: t, parent: r, key: n } = e;
308
+ return n === "callee" && M(t) && M(r) && r.arguments.length > 0 && t.arguments.length > r.arguments.length;
309
+ }
310
+ function Re(e, t = 2) {
311
+ if (t <= 0) return !1;
312
+ if (e.type === "ChainExpression" || e.type === "TSNonNullExpression") return Re(e.expression, t);
313
+ let r = (n) => Re(n, t - 1);
314
+ if (Xn(e)) return ot(e.pattern ?? e.regex.pattern) <= 5;
315
+ if (Jr(e) || pp(e) || e.type === "ArgumentPlaceholder") return !0;
316
+ if (e.type === "TemplateLiteral") return e.quasis.every((n) => !n.value.raw.includes(`
317
+ `)) && e.expressions.every(r);
318
+ if (se(e)) return e.properties.every((n) => !n.computed && (n.shorthand || n.value && r(n.value)));
319
+ if (q(e)) return e.elements.every((n) => n === null || r(n));
320
+ if (Dt(e)) {
321
+ if (e.type === "ImportExpression" || Re(e.callee, t)) {
322
+ let n = le(e);
323
+ return n.length <= t && n.every(r);
324
+ }
325
+ return !1;
326
+ }
327
+ return J(e) ? Re(e.object, t) && Re(e.property, t) : e.type === "UnaryExpression" && Ep.has(e.operator) || e.type === "UpdateExpression" ? Re(e.argument, t) : !1;
328
+ }
329
+ function ie(e, t = "es5") {
330
+ return e.trailingComma === "es5" && t === "es5" || e.trailingComma === "all" && (t === "all" || t === "es5");
331
+ }
332
+ function ye(e, t) {
333
+ switch (e.type) {
334
+ case "BinaryExpression":
335
+ case "LogicalExpression":
336
+ case "AssignmentExpression":
337
+ case "NGPipeExpression":
338
+ return ye(e.left, t);
339
+ case "MemberExpression":
340
+ case "OptionalMemberExpression":
341
+ return ye(e.object, t);
342
+ case "TaggedTemplateExpression":
343
+ return e.tag.type === "FunctionExpression" ? !1 : ye(e.tag, t);
344
+ case "CallExpression":
345
+ case "OptionalCallExpression":
346
+ return e.callee.type === "FunctionExpression" ? !1 : ye(e.callee, t);
347
+ case "ConditionalExpression":
348
+ return ye(e.test, t);
349
+ case "UpdateExpression":
350
+ return !e.prefix && ye(e.argument, t);
351
+ case "BindExpression":
352
+ return e.object && ye(e.object, t);
353
+ case "SequenceExpression":
354
+ return ye(e.expressions[0], t);
355
+ case "ChainExpression":
356
+ case "TSSatisfiesExpression":
357
+ case "TSAsExpression":
358
+ case "TSNonNullExpression":
359
+ case "AsExpression":
360
+ case "AsConstExpression":
361
+ case "SatisfiesExpression":
362
+ return ye(e.expression, t);
363
+ default:
364
+ return t(e);
365
+ }
366
+ }
367
+ function dr(e, t) {
368
+ return !(yr(t) !== yr(e) || e === "**" || li[e] && li[t] || t === "%" && vr[e] || e === "%" && vr[t] || t !== e && vr[t] && vr[e] || Yn[e] && Yn[t]);
369
+ }
370
+ function yr(e) {
371
+ return Fp.get(e);
372
+ }
373
+ function Ai(e) {
374
+ return !!Yn[e] || e === "|" || e === "^" || e === "&";
375
+ }
376
+ function Ti(e) {
377
+ if (e.rest) return !0;
378
+ let t = K(e);
379
+ return N(0, t, -1)?.type === "RestElement";
380
+ }
381
+ function K(e) {
382
+ if (qn.has(e)) return qn.get(e);
383
+ let t = [];
384
+ return e.this && t.push(e.this), t.push(...e.params), e.rest && t.push(e.rest), qn.set(e, t), t;
385
+ }
386
+ function xi(e, t) {
387
+ let { node: r } = e, n = 0, s = () => t(e, n++);
388
+ r.this && e.call(s, "this"), e.each(s, "params"), r.rest && e.call(s, "rest");
389
+ }
390
+ function le(e) {
391
+ if (Un.has(e)) return Un.get(e);
392
+ if (e.type === "ChainExpression") return le(e.expression);
393
+ let t;
394
+ return e.type === "ImportExpression" || e.type === "TSImportType" ? (t = [e.source], e.options && t.push(e.options)) : e.type === "TSExternalModuleReference" ? t = [e.expression] : t = e.arguments, Un.set(e, t), t;
395
+ }
396
+ function $t(e, t) {
397
+ let { node: r } = e;
398
+ if (r.type === "ChainExpression") return e.call(() => $t(e, t), "expression");
399
+ r.type === "ImportExpression" || r.type === "TSImportType" ? (e.call(() => t(e, 0), "source"), r.options && e.call(() => t(e, 1), "options")) : r.type === "TSExternalModuleReference" ? e.call(() => t(e, 0), "expression") : e.each(t, "arguments");
400
+ }
401
+ function $n(e, t) {
402
+ let r = [];
403
+ if (e.type === "ChainExpression" && (e = e.expression, r.push("expression")), e.type === "ImportExpression" || e.type === "TSImportType") {
404
+ if (t === 0 || t === (e.options ? -2 : -1)) return [...r, "source"];
405
+ if (e.options && (t === 1 || t === -1)) return [...r, "options"];
406
+ throw new RangeError("Invalid argument index");
407
+ } else if (e.type === "TSExternalModuleReference") {
408
+ if (t === 0 || t === -1) return [...r, "expression"];
409
+ } else if (t < 0 && (t = e.arguments.length + t), t >= 0 && t < e.arguments.length) return [...r, "arguments", t];
410
+ throw new RangeError("Invalid argument index");
411
+ }
412
+ function Lt(e) {
413
+ return e.value.trim() === "prettier-ignore" && !e.unignore;
414
+ }
415
+ function Ot(e) {
416
+ return e?.prettierIgnore || T(e, x.PrettierIgnore);
417
+ }
418
+ function T(e, t, r) {
419
+ if (!R(e?.comments)) return !1;
420
+ let n = gi(t, r);
421
+ return n ? e.comments.some(n) : !0;
422
+ }
423
+ function et(e, t, r) {
424
+ if (!Array.isArray(e?.comments)) return [];
425
+ let n = gi(t, r);
426
+ return n ? e.comments.filter(n) : e.comments;
427
+ }
428
+ function Dt(e) {
429
+ return M(e) || e.type === "NewExpression" || e.type === "ImportExpression";
430
+ }
431
+ function Oe(e) {
432
+ return e && (e.type === "ObjectProperty" || e.type === "Property" && !mt(e));
433
+ }
434
+ function Yr({ key: e, parent: t }) {
435
+ return !(e === "types" && Se(t) || e === "types" && xt(t));
436
+ }
437
+ function Si(e, t, r) {
438
+ if (e.type === "Program" && delete t.sourceType, (e.type === "BigIntLiteral" || e.type === "Literal") && e.bigint && (t.bigint = e.bigint.toLowerCase()), e.type === "EmptyStatement" && !kt({ node: e, parent: r }) || e.type === "JSXText" || e.type === "JSXExpressionContainer" && (e.expression.type === "Literal" || e.expression.type === "StringLiteral") && e.expression.value === " ") return null;
439
+ if ((e.type === "Property" || e.type === "ObjectProperty" || e.type === "MethodDefinition" || e.type === "ClassProperty" || e.type === "ClassMethod" || e.type === "PropertyDefinition" || e.type === "TSDeclareMethod" || e.type === "TSPropertySignature" || e.type === "ObjectTypeProperty" || e.type === "ImportAttribute") && e.key && !e.computed) {
440
+ let { key: s } = e;
441
+ V(s) || Ce(s) ? t.key = String(s.value) : s.type === "Identifier" && (t.key = s.name);
442
+ }
443
+ if (e.type === "JSXElement" && e.openingElement.name.name === "style" && e.openingElement.attributes.some((s) => s.type === "JSXAttribute" && s.name.name === "jsx")) for (let { type: s, expression: i } of t.children) s === "JSXExpressionContainer" && i.type === "TemplateLiteral" && Kt(i);
444
+ e.type === "JSXAttribute" && e.name.name === "css" && e.value.type === "JSXExpressionContainer" && e.value.expression.type === "TemplateLiteral" && Kt(t.value.expression), e.type === "JSXAttribute" && e.value?.type === "Literal" && /["']|&quot;|&apos;/u.test(e.value.value) && (t.value.value = W(0, e.value.value, /["']|&quot;|&apos;/gu, '"'));
445
+ let n = e.expression || e.callee;
446
+ if (e.type === "Decorator" && n.type === "CallExpression" && n.callee.name === "Component" && n.arguments.length === 1) {
447
+ let s = e.expression.arguments[0].properties;
448
+ for (let [i, o] of t.expression.arguments[0].properties.entries()) switch (s[i].key.name) {
449
+ case "styles":
450
+ q(o.value) && Kt(o.value.elements[0]);
451
+ break;
452
+ case "template":
453
+ o.value.type === "TemplateLiteral" && Kt(o.value);
454
+ break;
455
+ }
456
+ }
457
+ e.type === "TaggedTemplateExpression" && (e.tag.type === "MemberExpression" || e.tag.type === "Identifier" && (e.tag.name === "gql" || e.tag.name === "graphql" || e.tag.name === "css" || e.tag.name === "md" || e.tag.name === "markdown" || e.tag.name === "html") || e.tag.type === "CallExpression") && Kt(t.quasi), e.type === "TemplateLiteral" && Kt(t), e.type === "ChainExpression" && e.expression.type === "TSNonNullExpression" && (t.type = "TSNonNullExpression", t.expression.type = "ChainExpression");
458
+ }
459
+ function gp(e, t) {
460
+ return Cp(e) || Ap(e, t) || Tp(e, t) ? !1 : e.type === "EmptyStatement" ? kt({ node: e, parent: t[0] }) : !(xp(e, t) || e.type === "TSTypeAnnotation" && t[0].type === "TSPropertySignature");
461
+ }
462
+ function hp(e) {
463
+ let t = e.type || e.kind || "(unknown type)", r = String(e.name || e.id && (typeof e.id == "object" ? e.id.name : e.id) || e.key && (typeof e.key == "object" ? e.key.name : e.key) || e.value && (typeof e.value == "object" ? "" : String(e.value)) || e.operator || "");
464
+ return r.length > 20 && (r = r.slice(0, 19) + "\u2026"), t + (r ? " " + r : "");
465
+ }
466
+ function Kn(e, t) {
467
+ (e.comments ?? (e.comments = [])).push(t), t.printed = !1, t.nodeDescription = hp(e);
468
+ }
469
+ function te(e, t) {
470
+ t.leading = !0, t.trailing = !1, Kn(e, t);
471
+ }
472
+ function we(e, t, r) {
473
+ t.leading = !1, t.trailing = !1, r && (t.marker = r), Kn(e, t);
474
+ }
475
+ function $(e, t) {
476
+ t.leading = !1, t.trailing = !0, Kn(e, t);
477
+ }
478
+ function Sp(e, t) {
479
+ let r = null, n = t;
480
+ for (; n !== r; ) r = n, n = ze(e, n), n = qt(e, n), n = Ut(e, n), n = Ze(e, n);
481
+ return n;
482
+ }
483
+ function Bp(e, t) {
484
+ let r = at(e, t);
485
+ return r === !1 ? "" : e.charAt(r);
486
+ }
487
+ function bp(e, t, r) {
488
+ for (let n = t; n < r; ++n) if (e.charAt(n) === `
489
+ `) return !0;
490
+ return !1;
491
+ }
492
+ function Pp(e) {
493
+ return Qn.has(e) || Qn.set(e, ce(e) && e.value[0] === "*" && /@(?:type|satisfies)\b/u.test(e.value)), Qn.get(e);
494
+ }
495
+ function kp(e) {
496
+ return [ji, Ii, _i, Jp, wp, es, ts, ki, Li, Yp, Wp, qp, ns, Ni, Hp, Oi, Mi, rs, _p, Zp, vi, ss].some((t) => t(e));
497
+ }
498
+ function Ip(e) {
499
+ return [Op, _i, Ii, Ni, es, ts, ki, Li, Mi, Gp, Up, ns, $p, rs, Qp, zp, ec, vi, rc, tc, ss].some((t) => t(e));
500
+ }
501
+ function Lp(e) {
502
+ return [ji, es, ts, Rp, Oi, ns, vp, jp, rs, Kp, ss].some((t) => t(e));
503
+ }
504
+ function wt(e, t) {
505
+ let r = (e.body || e.properties).find(({ type: n }) => n !== "EmptyStatement");
506
+ r ? te(r, t) : we(e, t);
507
+ }
508
+ function zn(e, t) {
509
+ e.type === "BlockStatement" ? wt(e, t) : te(e, t);
510
+ }
511
+ function Op({ comment: e, followingNode: t }) {
512
+ return t && Hr(e) ? (te(t, e), !0) : !1;
513
+ }
514
+ function es({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n, text: s }) {
515
+ if (r?.type !== "IfStatement" || !n) return !1;
516
+ if (_e(s, I(e)) === ")") return $(t, e), !0;
517
+ if (n.type === "BlockStatement" && n === r.consequent && w(e) >= I(t) && I(e) <= w(n)) return te(n, e), !0;
518
+ if (t === r.consequent && n === r.alternate) {
519
+ let o = at(s, I(r.consequent));
520
+ if (n.type === "BlockStatement" && w(e) >= o && I(e) <= w(n)) return te(n, e), !0;
521
+ if (w(e) < o || r.alternate.type === "BlockStatement") return t.type === "BlockStatement" || Zn(e, s) && !ue(s, w(t), w(e)) ? ($(t, e), !0) : (we(r, e), !0);
522
+ }
523
+ return n.type === "BlockStatement" ? (wt(n, e), !0) : n.type === "IfStatement" ? (zn(n.consequent, e), !0) : r.consequent === n ? (te(n, e), !0) : !1;
524
+ }
525
+ function ts({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n, text: s }) {
526
+ return r?.type !== "WhileStatement" || !n ? !1 : _e(s, I(e)) === ")" ? ($(t, e), !0) : n.type === "BlockStatement" ? (wt(n, e), !0) : r.body === n ? (te(n, e), !0) : !1;
527
+ }
528
+ function ki({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n }) {
529
+ return r?.type !== "TryStatement" && r?.type !== "CatchClause" || !n ? !1 : r.type === "CatchClause" && t ? ($(t, e), !0) : n.type === "BlockStatement" ? (wt(n, e), !0) : n.type === "TryStatement" ? (zn(n.finalizer, e), !0) : n.type === "CatchClause" ? (zn(n.body, e), !0) : !1;
530
+ }
531
+ function wp({ comment: e, enclosingNode: t, followingNode: r }) {
532
+ return J(t) && r?.type === "Identifier" ? (te(t, e), !0) : !1;
533
+ }
534
+ function _p({ comment: e, enclosingNode: t, followingNode: r, options: n }) {
535
+ return !n.experimentalTernaries || !(t?.type === "ConditionalExpression" || Ue(t)) ? !1 : r?.type === "ConditionalExpression" || Ue(r) ? (we(t, e), !0) : !1;
536
+ }
537
+ function Ii({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n, text: s, options: i }) {
538
+ let o = t && !ue(s, I(t), w(e));
539
+ return (!t || !o) && (r?.type === "ConditionalExpression" || Ue(r)) && n ? i.experimentalTernaries && r.alternate === n && !(ce(e) && !ue(i.originalText, w(e), I(e))) ? (we(r, e), !0) : (te(n, e), !0) : !1;
540
+ }
541
+ function Li({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n }) {
542
+ if (Mp(r)) {
543
+ if (R(r.decorators) && n?.type !== "Decorator") return $(N(0, r.decorators, -1), e), !0;
544
+ if (r.body && n === r.body) return wt(r.body, e), !0;
545
+ if (n) {
546
+ if (r.superClass && n === r.superClass && t && (t === r.id || t === r.typeParameters)) return $(t, e), !0;
547
+ for (let s of ["implements", "extends", "mixins"]) if (r[s] && n === r[s][0]) return t && (t === r.id || t === r.typeParameters || t === r.superClass) ? $(t, e) : we(r, e, s), !0;
548
+ }
549
+ }
550
+ return !1;
551
+ }
552
+ function Oi({ comment: e, precedingNode: t, enclosingNode: r, text: n }) {
553
+ return r && t && _e(n, I(e)) === "(" && (r.type === "Property" || r.type === "TSDeclareMethod" || r.type === "TSAbstractMethodDefinition") && t.type === "Identifier" && r.key === t && _e(n, I(t)) !== ":" || t?.type === "Decorator" && Np(r) && (At(e) || e.placement === "ownLine") ? ($(t, e), !0) : !1;
554
+ }
555
+ function jp({ comment: e, precedingNode: t, enclosingNode: r, text: n }) {
556
+ return _e(n, I(e)) !== "(" ? !1 : t && wi(r) ? ($(t, e), !0) : !1;
557
+ }
558
+ function vp({ comment: e, enclosingNode: t, text: r }) {
559
+ if (t?.type !== "ArrowFunctionExpression") return !1;
560
+ let n = at(r, I(e));
561
+ return n !== !1 && r.slice(n, n + 2) === "=>" ? (we(t, e), !0) : !1;
562
+ }
563
+ function Rp({ comment: e, enclosingNode: t, text: r }) {
564
+ return _e(r, I(e)) !== ")" ? !1 : t && (Ri(t) && K(t).length === 0 || Dt(t) && le(t).length === 0) ? (we(t, e), !0) : (t?.type === "MethodDefinition" || t?.type === "TSAbstractMethodDefinition") && K(t.value).length === 0 ? (we(t.value, e), !0) : !1;
565
+ }
566
+ function Jp({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n, text: s }) {
567
+ return t?.type === "ComponentTypeParameter" && (r?.type === "DeclareComponent" || r?.type === "ComponentTypeAnnotation") && n?.type !== "ComponentTypeParameter" || (t?.type === "ComponentParameter" || t?.type === "RestElement") && r?.type === "ComponentDeclaration" && _e(s, I(e)) === ")" ? ($(t, e), !0) : !1;
568
+ }
569
+ function _i({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n, text: s }) {
570
+ return t?.type === "FunctionTypeParam" && r?.type === "FunctionTypeAnnotation" && n?.type !== "FunctionTypeParam" || (t?.type === "Identifier" || t?.type === "AssignmentPattern" || t?.type === "ObjectPattern" || t?.type === "ArrayPattern" || t?.type === "RestElement" || t?.type === "TSParameterProperty") && Ri(r) && _e(s, I(e)) === ")" ? ($(t, e), !0) : !ce(e) && n?.type === "BlockStatement" && wi(r) && (r.type === "MethodDefinition" ? r.value.body : r.body) === n && at(s, I(e)) === w(n) ? (wt(n, e), !0) : !1;
571
+ }
572
+ function Mi({ comment: e, enclosingNode: t }) {
573
+ return t?.type === "LabeledStatement" ? (te(t, e), !0) : !1;
574
+ }
575
+ function rs({ comment: e, enclosingNode: t }) {
576
+ return (t?.type === "ContinueStatement" || t?.type === "BreakStatement") && !t.label ? ($(t, e), !0) : !1;
577
+ }
578
+ function Gp({ comment: e, precedingNode: t, enclosingNode: r }) {
579
+ return M(r) && t && r.callee === t && r.arguments.length > 0 ? (te(r.arguments[0], e), !0) : !1;
580
+ }
581
+ function Wp({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n }) {
582
+ return Se(r) ? (Lt(e) && (n.prettierIgnore = !0, e.unignore = !0), t ? ($(t, e), !0) : !1) : (Se(n) && Lt(e) && (n.types[0].prettierIgnore = !0, e.unignore = !0), !1);
583
+ }
584
+ function qp({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n }) {
585
+ return r && r.type === "MatchOrPattern" ? (Lt(e) && (n.prettierIgnore = !0, e.unignore = !0), t ? ($(t, e), !0) : !1) : (n && n.type === "MatchOrPattern" && Lt(e) && (n.types[0].prettierIgnore = !0, e.unignore = !0), !1);
586
+ }
587
+ function Up({ comment: e, enclosingNode: t }) {
588
+ return Oe(t) ? (te(t, e), !0) : !1;
589
+ }
590
+ function ns({ comment: e, enclosingNode: t, ast: r, isLastComment: n }) {
591
+ return r?.body?.length === 0 ? (n ? we(r, e) : te(r, e), !0) : t?.type === "Program" && t.body.length === 0 && !R(t.directives) ? (n ? we(t, e) : te(t, e), !0) : !1;
592
+ }
593
+ function Yp({ comment: e, enclosingNode: t, followingNode: r }) {
594
+ return (t?.type === "ForInStatement" || t?.type === "ForOfStatement") && r !== t.body ? (te(t, e), !0) : !1;
595
+ }
596
+ function Ni({ comment: e, precedingNode: t, enclosingNode: r, text: n }) {
597
+ if (r?.type === "ImportSpecifier" || r?.type === "ExportSpecifier") return te(r, e), !0;
598
+ let s = t?.type === "ImportSpecifier" && r?.type === "ImportDeclaration", i = t?.type === "ExportSpecifier" && r?.type === "ExportNamedDeclaration";
599
+ return (s || i) && Z(n, I(e)) ? ($(t, e), !0) : !1;
600
+ }
601
+ function Hp({ comment: e, enclosingNode: t }) {
602
+ return t?.type === "AssignmentPattern" ? (te(t, e), !0) : !1;
603
+ }
604
+ function $p({ comment: e, enclosingNode: t, followingNode: r }) {
605
+ return Xp(t) && r && (Vp(r) || ce(e)) ? (te(r, e), !0) : !1;
606
+ }
607
+ function Kp({ comment: e, enclosingNode: t, precedingNode: r, followingNode: n, text: s }) {
608
+ return !n && (t?.type === "TSMethodSignature" || t?.type === "TSDeclareFunction" || t?.type === "TSAbstractMethodDefinition") && (!r || r !== t.returnType) && _e(s, I(e)) === ";" ? ($(t, e), !0) : !1;
609
+ }
610
+ function ji({ comment: e, enclosingNode: t, followingNode: r }) {
611
+ if (Lt(e) && t?.type === "TSMappedType" && r === t.key) return t.prettierIgnore = !0, e.unignore = !0, !0;
612
+ }
613
+ function vi({ comment: e, precedingNode: t, enclosingNode: r }) {
614
+ if (r?.type === "TSMappedType" && !t) return we(r, e), !0;
615
+ }
616
+ function Qp({ comment: e, enclosingNode: t, followingNode: r }) {
617
+ return !t || t.type !== "SwitchCase" || t.test || !r || r !== t.consequent[0] ? !1 : (r.type === "BlockStatement" && At(e) ? wt(r, e) : we(t, e), !0);
618
+ }
619
+ function zp({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n }) {
620
+ return Se(t) && ((r.type === "TSArrayType" || r.type === "ArrayTypeAnnotation") && !n || xt(r)) ? ($(N(0, t.types, -1), e), !0) : !1;
621
+ }
622
+ function Zp({ comment: e, enclosingNode: t, precedingNode: r, followingNode: n }) {
623
+ if ((t?.type === "ObjectPattern" || t?.type === "ArrayPattern") && n?.type === "TSTypeAnnotation") return r ? $(r, e) : we(t, e), !0;
624
+ }
625
+ function ec({ comment: e, precedingNode: t, enclosingNode: r, followingNode: n, text: s }) {
626
+ return !n && r?.type === "UnaryExpression" && (t?.type === "LogicalExpression" || t?.type === "BinaryExpression") && ue(s, w(r.argument), w(t.right)) && Zn(e, s) && !ue(s, w(t.right), w(e)) ? ($(t.right, e), !0) : !1;
627
+ }
628
+ function tc({ enclosingNode: e, followingNode: t, comment: r }) {
629
+ if (e && (e.type === "TSPropertySignature" || e.type === "ObjectTypeProperty") && (Se(t) || xt(t))) return te(t, r), !0;
630
+ }
631
+ function ss({ enclosingNode: e, precedingNode: t, followingNode: r, comment: n, text: s }) {
632
+ if (Ae(e) && t === e.expression && !Zn(n, s)) return r ? te(r, n) : $(e, n), !0;
633
+ }
634
+ function rc({ comment: e, enclosingNode: t, followingNode: r, precedingNode: n }) {
635
+ return t && r && n && t.type === "ArrowFunctionExpression" && t.returnType === n && (n.type === "TSTypeAnnotation" || n.type === "TypeAnnotation") ? (te(r, e), !0) : !1;
636
+ }
637
+ function sc(e, { parser: t }) {
638
+ if (t === "flow" || t === "hermes" || t === "babel-flow") return e = W(0, e, /[\s(]/gu, ""), e === "" || e === "/*" || e === "/*::";
639
+ }
640
+ function oc(e) {
641
+ let { key: t, parent: r } = e;
642
+ if (t === "types" && Se(r) || t === "argument" && r.type === "JSXSpreadAttribute" || t === "expression" && r.type === "JSXSpreadChild" || t === "superClass" && (r.type === "ClassDeclaration" || r.type === "ClassExpression") || (t === "id" || t === "typeParameters") && ic(r) || t === "patterns" && r.type === "MatchOrPattern") return !0;
643
+ let { node: n } = e;
644
+ return Ot(n) ? !1 : Se(n) ? Yr(e) : !!H(n);
645
+ }
646
+ function uc(e) {
647
+ if (typeof e == "string") return Ye;
648
+ if (Array.isArray(e)) return Be;
649
+ if (!e) return;
650
+ let { type: t } = e;
651
+ if (Xr.has(t)) return t;
652
+ }
653
+ function pc(e) {
654
+ let t = e === null ? "null" : typeof e;
655
+ if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
656
+ Expected it to be 'string' or 'object'.`;
657
+ if (We(e)) throw new Error("doc is valid.");
658
+ let r = Object.prototype.toString.call(e);
659
+ if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
660
+ let n = ac([...Xr].map((s) => `'${s}'`));
661
+ return `Unexpected doc.type '${e.type}'.
662
+ Expected it to be ${n}.`;
663
+ }
664
+ function cc(e, t, r, n) {
665
+ let s = [e];
666
+ for (; s.length > 0; ) {
667
+ let i = s.pop();
668
+ if (i === qi) {
669
+ r(s.pop());
670
+ continue;
671
+ }
672
+ r && s.push(i, qi);
673
+ let o = We(i);
674
+ if (!o) throw new gt(i);
675
+ if (t?.(i) !== !1) switch (o) {
676
+ case Be:
677
+ case Me: {
678
+ let u = o === Be ? i : i.parts;
679
+ for (let p = u.length, c = p - 1; c >= 0; --c) s.push(u[c]);
680
+ break;
681
+ }
682
+ case be:
683
+ s.push(i.flatContents, i.breakContents);
684
+ break;
685
+ case Fe:
686
+ if (n && i.expandedStates) for (let u = i.expandedStates.length, p = u - 1; p >= 0; --p) s.push(i.expandedStates[p]);
687
+ else s.push(i.contents);
688
+ break;
689
+ case Xe:
690
+ case He:
691
+ case Ve:
692
+ case Pe:
693
+ case $e:
694
+ s.push(i.contents);
695
+ break;
696
+ case Ye:
697
+ case tt:
698
+ case rt:
699
+ case Ge:
700
+ case me:
701
+ case Ne:
702
+ break;
703
+ default:
704
+ throw new gt(i);
705
+ }
706
+ }
707
+ }
708
+ function ft(e, t) {
709
+ if (typeof e == "string") return t(e);
710
+ let r = /* @__PURE__ */ new Map();
711
+ return n(e);
712
+ function n(i) {
713
+ if (r.has(i)) return r.get(i);
714
+ let o = s(i);
715
+ return r.set(i, o), o;
716
+ }
717
+ function s(i) {
718
+ switch (We(i)) {
719
+ case Be:
720
+ return t(i.map(n));
721
+ case Me:
722
+ return t({ ...i, parts: i.parts.map(n) });
723
+ case be:
724
+ return t({ ...i, breakContents: n(i.breakContents), flatContents: n(i.flatContents) });
725
+ case Fe: {
726
+ let { expandedStates: o, contents: u } = i;
727
+ return o ? (o = o.map(n), u = o[0]) : u = n(u), t({ ...i, contents: u, expandedStates: o });
728
+ }
729
+ case Xe:
730
+ case He:
731
+ case Ve:
732
+ case Pe:
733
+ case $e:
734
+ return t({ ...i, contents: n(i.contents) });
735
+ case Ye:
736
+ case tt:
737
+ case rt:
738
+ case Ge:
739
+ case me:
740
+ case Ne:
741
+ return t(i);
742
+ default:
743
+ throw new gt(i);
744
+ }
745
+ }
746
+ }
747
+ function Yi(e, t, r) {
748
+ let n = r, s = !1;
749
+ function i(o) {
750
+ if (s) return !1;
751
+ let u = t(o);
752
+ u !== void 0 && (s = !0, n = u);
753
+ }
754
+ return Vr(e, i), n;
755
+ }
756
+ function lc(e) {
757
+ if (e.type === Fe && e.break || e.type === me && e.hard || e.type === Ne) return !0;
758
+ }
759
+ function ne(e) {
760
+ return Yi(e, lc, !1);
761
+ }
762
+ function Ui(e) {
763
+ if (e.length > 0) {
764
+ let t = N(0, e, -1);
765
+ !t.expandedStates && !t.break && (t.break = "propagated");
766
+ }
767
+ return null;
768
+ }
769
+ function Hi(e) {
770
+ let t = /* @__PURE__ */ new Set(), r = [];
771
+ function n(i) {
772
+ if (i.type === Ne && Ui(r), i.type === Fe) {
773
+ if (r.push(i), t.has(i)) return !1;
774
+ t.add(i);
775
+ }
776
+ }
777
+ function s(i) {
778
+ i.type === Fe && r.pop().break && Ui(r);
779
+ }
780
+ Vr(e, n, s, !0);
781
+ }
782
+ function mc(e) {
783
+ return e.type === me && !e.hard ? e.soft ? "" : " " : e.type === be ? e.flatContents : e;
784
+ }
785
+ function _t(e) {
786
+ return ft(e, mc);
787
+ }
788
+ function Dc(e) {
789
+ switch (We(e)) {
790
+ case Me:
791
+ if (e.parts.every((t) => t === "")) return "";
792
+ break;
793
+ case Fe:
794
+ if (!e.contents && !e.id && !e.break && !e.expandedStates) return "";
795
+ if (e.contents.type === Fe && e.contents.id === e.id && e.contents.break === e.break && e.contents.expandedStates === e.expandedStates) return e.contents;
796
+ break;
797
+ case Xe:
798
+ case He:
799
+ case Ve:
800
+ case $e:
801
+ if (!e.contents) return "";
802
+ break;
803
+ case be:
804
+ if (!e.flatContents && !e.breakContents) return "";
805
+ break;
806
+ case Be: {
807
+ let t = [];
808
+ for (let r of e) {
809
+ if (!r) continue;
810
+ let [n, ...s] = Array.isArray(r) ? r : [r];
811
+ typeof n == "string" && typeof N(0, t, -1) == "string" ? t[t.length - 1] += n : t.push(n), t.push(...s);
812
+ }
813
+ return t.length === 0 ? "" : t.length === 1 ? t[0] : t;
814
+ }
815
+ case Ye:
816
+ case tt:
817
+ case rt:
818
+ case Ge:
819
+ case me:
820
+ case Pe:
821
+ case Ne:
822
+ break;
823
+ default:
824
+ throw new gt(e);
825
+ }
826
+ return e;
827
+ }
828
+ function Qt(e) {
829
+ return ft(e, (t) => Dc(t));
830
+ }
831
+ function qe(e, t = $r) {
832
+ return ft(e, (r) => typeof r == "string" ? L(t, r.split(`
833
+ `)) : r);
834
+ }
835
+ function fc(e) {
836
+ if (e.type === me) return !0;
837
+ }
838
+ function Xi(e) {
839
+ return Yi(e, fc, !1);
840
+ }
841
+ function Ar(e, t) {
842
+ return e.type === Pe ? { ...e, contents: t(e.contents) } : t(e);
843
+ }
844
+ function Vi(e) {
845
+ let t = !0;
846
+ return Vr(e, (r) => {
847
+ switch (We(r)) {
848
+ case Ye:
849
+ if (r === "") break;
850
+ case rt:
851
+ case Ge:
852
+ case me:
853
+ case Ne:
854
+ return t = !1, !1;
855
+ }
856
+ }), t;
857
+ }
858
+ function m(e) {
859
+ return de(e), { type: He, contents: e };
860
+ }
861
+ function xe(e, t) {
862
+ return Ki(e), de(t), { type: Xe, contents: t, n: e };
863
+ }
864
+ function Qi(e) {
865
+ return xe(Number.NEGATIVE_INFINITY, e);
866
+ }
867
+ function Qr(e) {
868
+ return xe(-1, e);
869
+ }
870
+ function zi(e, t, r) {
871
+ de(e);
872
+ let n = e;
873
+ if (t > 0) {
874
+ for (let s = 0; s < Math.floor(t / r); ++s) n = m(n);
875
+ n = xe(t % r, n), n = xe(Number.NEGATIVE_INFINITY, n);
876
+ }
877
+ return n;
878
+ }
879
+ function zr(e) {
880
+ return $i(e), { type: Me, parts: e };
881
+ }
882
+ function l(e, t = {}) {
883
+ return de(e), Kr(t.expandedStates, !0), { type: Fe, id: t.id, contents: e, break: !!t.shouldBreak, expandedStates: t.expandedStates };
884
+ }
885
+ function nt(e, t) {
886
+ return l(e[0], { ...t, expandedStates: e });
887
+ }
888
+ function P(e, t = "", r = {}) {
889
+ return de(e), t !== "" && de(t), { type: be, breakContents: e, flatContents: t, groupId: r.groupId };
890
+ }
891
+ function yt(e, t) {
892
+ return de(e), { type: Ve, contents: e, groupId: t.groupId, negate: t.negate };
893
+ }
894
+ function L(e, t) {
895
+ de(e), Kr(t);
896
+ let r = [];
897
+ for (let n = 0; n < t.length; n++) n !== 0 && r.push(e), r.push(t[n]);
898
+ return r;
899
+ }
900
+ function pt(e, t) {
901
+ return de(t), e ? { type: Pe, label: e, contents: t } : t;
902
+ }
903
+ function us(e) {
904
+ return de(e), { type: $e, contents: e };
905
+ }
906
+ function Zi(e) {
907
+ return e === Ec ? dc : e === Fc ? Cc : Tc;
908
+ }
909
+ function eo(e, t, r) {
910
+ let n = t.type === 1 ? e.queue.slice(0, -1) : [...e.queue, t], s = "", i = 0, o = 0, u = 0;
911
+ for (let d of n) switch (d.type) {
912
+ case 0:
913
+ y(), r.useTabs ? p(1) : c(r.tabWidth);
914
+ break;
915
+ case 3: {
916
+ let { string: b } = d;
917
+ y(), s += b, i += b.length;
918
+ break;
919
+ }
920
+ case 2: {
921
+ let { width: b } = d;
922
+ o += 1, u += b;
923
+ break;
924
+ }
925
+ default:
926
+ throw new Error(`Unexpected indent comment '${d.type}'.`);
927
+ }
928
+ return F(), { ...e, value: s, length: i, queue: n };
929
+ function p(d) {
930
+ s += " ".repeat(d), i += r.tabWidth * d;
931
+ }
932
+ function c(d) {
933
+ s += " ".repeat(d), i += d;
934
+ }
935
+ function y() {
936
+ r.useTabs ? D() : F();
937
+ }
938
+ function D() {
939
+ o > 0 && p(o), C();
940
+ }
941
+ function F() {
942
+ u > 0 && c(u), C();
943
+ }
944
+ function C() {
945
+ o = 0, u = 0;
946
+ }
947
+ }
948
+ function to(e, t, r) {
949
+ if (!t) return e;
950
+ if (t.type === "root") return { ...e, root: e };
951
+ if (t === Number.NEGATIVE_INFINITY) return e.root;
952
+ let n;
953
+ return typeof t == "number" ? t < 0 ? n = gc : n = { type: 2, width: t } : n = { type: 3, string: t }, eo(e, n, r);
954
+ }
955
+ function ro(e, t) {
956
+ return eo(e, xc, t);
957
+ }
958
+ function hc(e) {
959
+ let t = 0;
960
+ for (let r = e.length - 1; r >= 0; r--) {
961
+ let n = e[r];
962
+ if (n === " " || n === " ") t++;
963
+ else break;
964
+ }
965
+ return t;
966
+ }
967
+ function ps(e) {
968
+ let t = hc(e);
969
+ return { text: t === 0 ? e : e.slice(0, e.length - t), count: t };
970
+ }
971
+ function Zr(e, t, r, n, s, i) {
972
+ if (r === Number.POSITIVE_INFINITY) return !0;
973
+ let o = t.length, u = !1, p = [e], c = "";
974
+ for (; r >= 0; ) {
975
+ if (p.length === 0) {
976
+ if (o === 0) return !0;
977
+ p.push(t[--o]);
978
+ continue;
979
+ }
980
+ let { mode: y, doc: D } = p.pop(), F = We(D);
981
+ switch (F) {
982
+ case Ye:
983
+ D && (u && (c += " ", r -= 1, u = !1), c += D, r -= ot(D));
984
+ break;
985
+ case Be:
986
+ case Me: {
987
+ let C = F === Be ? D : D.parts, d = D[cs] ?? 0;
988
+ for (let b = C.length - 1; b >= d; b--) p.push({ mode: y, doc: C[b] });
989
+ break;
990
+ }
991
+ case He:
992
+ case Xe:
993
+ case Ve:
994
+ case Pe:
995
+ p.push({ mode: y, doc: D.contents });
996
+ break;
997
+ case rt: {
998
+ let { text: C, count: d } = ps(c);
999
+ c = C, r += d;
1000
+ break;
1001
+ }
1002
+ case Fe: {
1003
+ if (i && D.break) return !1;
1004
+ let C = D.break ? ve : y, d = D.expandedStates && C === ve ? N(0, D.expandedStates, -1) : D.contents;
1005
+ p.push({ mode: C, doc: d });
1006
+ break;
1007
+ }
1008
+ case be: {
1009
+ let d = (D.groupId ? s[D.groupId] || ct : y) === ve ? D.breakContents : D.flatContents;
1010
+ d && p.push({ mode: y, doc: d });
1011
+ break;
1012
+ }
1013
+ case me:
1014
+ if (y === ve || D.hard) return !0;
1015
+ D.soft || (u = !0);
1016
+ break;
1017
+ case $e:
1018
+ n = !0;
1019
+ break;
1020
+ case Ge:
1021
+ if (n) return !1;
1022
+ break;
1023
+ }
1024
+ }
1025
+ return !1;
1026
+ }
1027
+ function ls(e, t) {
1028
+ let r = /* @__PURE__ */ Object.create(null), n = t.printWidth, s = Zi(t.endOfLine), i = 0, o = [{ indent: as, mode: ve, doc: e }], u = "", p = !1, c = [], y = [], D = [], F = [], C = 0;
1029
+ for (Hi(e); o.length > 0; ) {
1030
+ let { indent: h, mode: g, doc: S } = o.pop();
1031
+ switch (We(S)) {
1032
+ case Ye: {
1033
+ let j = s !== `
1034
+ ` ? W(0, S, `
1035
+ `, s) : S;
1036
+ j && (u += j, o.length > 0 && (i += ot(j)));
1037
+ break;
1038
+ }
1039
+ case Be:
1040
+ for (let j = S.length - 1; j >= 0; j--) o.push({ indent: h, mode: g, doc: S[j] });
1041
+ break;
1042
+ case tt:
1043
+ if (y.length >= 2) throw new Error("There are too many 'cursor' in doc.");
1044
+ y.push(C + u.length);
1045
+ break;
1046
+ case He:
1047
+ o.push({ indent: ro(h, t), mode: g, doc: S.contents });
1048
+ break;
1049
+ case Xe:
1050
+ o.push({ indent: to(h, S.n, t), mode: g, doc: S.contents });
1051
+ break;
1052
+ case rt:
1053
+ O();
1054
+ break;
1055
+ case Fe:
1056
+ switch (g) {
1057
+ case ct:
1058
+ if (!p) {
1059
+ o.push({ indent: h, mode: S.break ? ve : ct, doc: S.contents });
1060
+ break;
1061
+ }
1062
+ case ve: {
1063
+ p = !1;
1064
+ let j = { indent: h, mode: ct, doc: S.contents }, U = n - i, fe = c.length > 0;
1065
+ if (!S.break && Zr(j, o, U, fe, r)) o.push(j);
1066
+ else if (S.expandedStates) {
1067
+ let Y = N(0, S.expandedStates, -1);
1068
+ if (S.break) {
1069
+ o.push({ indent: h, mode: ve, doc: Y });
1070
+ break;
1071
+ } else for (let z = 1; z < S.expandedStates.length + 1; z++) if (z >= S.expandedStates.length) {
1072
+ o.push({ indent: h, mode: ve, doc: Y });
1073
+ break;
1074
+ } else {
1075
+ let ee = S.expandedStates[z], Ie = { indent: h, mode: ct, doc: ee };
1076
+ if (Zr(Ie, o, U, fe, r)) {
1077
+ o.push(Ie);
1078
+ break;
1079
+ }
1080
+ }
1081
+ } else o.push({ indent: h, mode: ve, doc: S.contents });
1082
+ break;
1083
+ }
1084
+ }
1085
+ S.id && (r[S.id] = N(0, o, -1).mode);
1086
+ break;
1087
+ case Me: {
1088
+ let j = n - i, U = S[cs] ?? 0, { parts: fe } = S, Y = fe.length - U;
1089
+ if (Y === 0) break;
1090
+ let z = fe[U + 0], ee = fe[U + 1], Ie = { indent: h, mode: ct, doc: z }, st = { indent: h, mode: ve, doc: z }, _ = Zr(Ie, [], j, c.length > 0, r, !0);
1091
+ if (Y === 1) {
1092
+ _ ? o.push(Ie) : o.push(st);
1093
+ break;
1094
+ }
1095
+ let re = { indent: h, mode: ct, doc: ee }, ae = { indent: h, mode: ve, doc: ee };
1096
+ if (Y === 2) {
1097
+ _ ? o.push(re, Ie) : o.push(ae, st);
1098
+ break;
1099
+ }
1100
+ let it = fe[U + 2], Bt = { indent: h, mode: g, doc: { ...S, [cs]: U + 2 } }, Pr = Zr({ indent: h, mode: ct, doc: [z, ee, it] }, [], j, c.length > 0, r, !0);
1101
+ o.push(Bt), Pr ? o.push(re, Ie) : _ ? o.push(ae, Ie) : o.push(ae, st);
1102
+ break;
1103
+ }
1104
+ case be:
1105
+ case Ve: {
1106
+ let j = S.groupId ? r[S.groupId] : g;
1107
+ if (j === ve) {
1108
+ let U = S.type === be ? S.breakContents : S.negate ? S.contents : m(S.contents);
1109
+ U && o.push({ indent: h, mode: g, doc: U });
1110
+ }
1111
+ if (j === ct) {
1112
+ let U = S.type === be ? S.flatContents : S.negate ? m(S.contents) : S.contents;
1113
+ U && o.push({ indent: h, mode: g, doc: U });
1114
+ }
1115
+ break;
1116
+ }
1117
+ case $e:
1118
+ c.push({ indent: h, mode: g, doc: S.contents });
1119
+ break;
1120
+ case Ge:
1121
+ c.length > 0 && o.push({ indent: h, mode: g, doc: os });
1122
+ break;
1123
+ case me:
1124
+ switch (g) {
1125
+ case ct:
1126
+ if (S.hard) p = !0;
1127
+ else {
1128
+ S.soft || (u += " ", i += 1);
1129
+ break;
1130
+ }
1131
+ case ve:
1132
+ if (c.length > 0) {
1133
+ o.push({ indent: h, mode: g, doc: S }, ...c.reverse()), c.length = 0;
1134
+ break;
1135
+ }
1136
+ S.literal ? (u += s, i = 0, h.root && (h.root.value && (u += h.root.value), i = h.root.length)) : (O(), u += s + h.value, i = h.length);
1137
+ break;
1138
+ }
1139
+ break;
1140
+ case Pe:
1141
+ o.push({ indent: h, mode: g, doc: S.contents });
1142
+ break;
1143
+ case Ne:
1144
+ break;
1145
+ default:
1146
+ throw new gt(S);
1147
+ }
1148
+ o.length === 0 && c.length > 0 && (o.push(...c.reverse()), c.length = 0);
1149
+ }
1150
+ let d = D.join("") + u, b = [...F, ...y];
1151
+ if (b.length !== 2) return { formatted: d };
1152
+ let B = b[0];
1153
+ return { formatted: d, cursorNodeStart: B, cursorNodeText: d.slice(B, N(0, b, -1)) };
1154
+ function O() {
1155
+ let { text: h, count: g } = ps(u);
1156
+ h && (D.push(h), C += h.length), u = "", i -= g, y.length > 0 && (F.push(...y.map((S) => Math.min(S, C))), y.length = 0);
1157
+ }
1158
+ }
1159
+ function Sc(e, t, r = 0) {
1160
+ let n = 0;
1161
+ for (let s = r; s < e.length; ++s) e[s] === " " ? n = n + t - n % t : n++;
1162
+ return n;
1163
+ }
1164
+ function Bc(e, t) {
1165
+ let r = e.lastIndexOf(`
1166
+ `);
1167
+ return r === -1 ? 0 : no(e.slice(r + 1).match(/^[\t ]*/u)[0], t);
1168
+ }
1169
+ function en(e, t, r) {
1170
+ let { node: n } = e;
1171
+ if (n.type === "TemplateLiteral" && kc(e)) {
1172
+ let c = bc(e, t, r);
1173
+ if (c) return c;
1174
+ }
1175
+ let i = "expressions";
1176
+ n.type === "TSTemplateLiteralType" && (i = "types");
1177
+ let o = [], u = e.map(r, i);
1178
+ o.push(je, "`");
1179
+ let p = 0;
1180
+ return e.each(({ index: c, node: y }) => {
1181
+ if (o.push(r()), y.tail) return;
1182
+ let { tabWidth: D } = t, F = y.value.raw, C = F.includes(`
1183
+ `) ? so(F, D) : p;
1184
+ p = C;
1185
+ let d = u[c], b = n[i][c], B = ue(t.originalText, I(y), w(n.quasis[c + 1]));
1186
+ if (!B) {
1187
+ let h = ls(d, { ...t, printWidth: Number.POSITIVE_INFINITY }).formatted;
1188
+ h.includes(`
1189
+ `) ? B = !0 : d = h;
1190
+ }
1191
+ B && (T(b) || b.type === "Identifier" || J(b) || b.type === "ConditionalExpression" || b.type === "SequenceExpression" || Ae(b) || Te(b)) && (d = [m([f, d]), f]);
1192
+ let O = C === 0 && F.endsWith(`
1193
+ `) ? xe(Number.NEGATIVE_INFINITY, d) : zi(d, C, D);
1194
+ o.push(l(["${", O, je, "}"]));
1195
+ }, "quasis"), o.push("`"), o;
1196
+ }
1197
+ function io(e, t, r) {
1198
+ let n = r("quasi"), { node: s } = e, i = "", o = et(s.quasi, x.Leading)[0];
1199
+ return o && (ue(t.originalText, I(s.typeArguments ?? s.tag), w(o)) ? i = f : i = " "), pt(n.label && { tagged: !0, ...n.label }, [r("tag"), r("typeArguments"), i, je, n]);
1200
+ }
1201
+ function bc(e, t, r) {
1202
+ let { node: n } = e, s = n.quasis[0].value.raw.trim().split(/\s*\|\s*/u);
1203
+ if (s.length > 1 || s.some((i) => i.length > 0)) {
1204
+ t.__inJestEach = !0;
1205
+ let i = e.map(r, "expressions");
1206
+ t.__inJestEach = !1;
1207
+ let o = i.map((D) => "${" + ls(D, { ...t, printWidth: Number.POSITIVE_INFINITY, endOfLine: "lf" }).formatted + "}"), u = [{ hasLineBreak: !1, cells: [] }];
1208
+ for (let D = 1; D < n.quasis.length; D++) {
1209
+ let F = N(0, u, -1), C = o[D - 1];
1210
+ F.cells.push(C), C.includes(`
1211
+ `) && (F.hasLineBreak = !0), n.quasis[D].value.raw.includes(`
1212
+ `) && u.push({ hasLineBreak: !1, cells: [] });
1213
+ }
1214
+ let p = Math.max(s.length, ...u.map((D) => D.cells.length)), c = Array.from({ length: p }).fill(0), y = [{ cells: s }, ...u.filter((D) => D.cells.length > 0)];
1215
+ for (let { cells: D } of y.filter((F) => !F.hasLineBreak)) for (let [F, C] of D.entries()) c[F] = Math.max(c[F], ot(C));
1216
+ return [je, "`", m([E, L(E, y.map((D) => L(" | ", D.cells.map((F, C) => D.hasLineBreak ? F : F + " ".repeat(c[C] - ot(F))))))]), E, "`"];
1217
+ }
1218
+ }
1219
+ function Pc(e, t) {
1220
+ let { node: r } = e, n = t();
1221
+ return T(r) && (n = l([m([f, n]), f])), ["${", n, je, "}"];
1222
+ }
1223
+ function zt(e, t) {
1224
+ return e.map(() => Pc(e, t), "expressions");
1225
+ }
1226
+ function tn(e, t) {
1227
+ return ft(e, (r) => typeof r == "string" ? t ? W(0, r, /(\\*)`/gu, "$1$1\\`") : ms(r) : r);
1228
+ }
1229
+ function ms(e) {
1230
+ return W(0, e, /([\\`]|\$\{)/gu, "\\$1");
1231
+ }
1232
+ function kc({ node: e, parent: t }) {
1233
+ let r = /^[fx]?(?:describe|it|test)$/u;
1234
+ return t.type === "TaggedTemplateExpression" && t.quasi === e && t.tag.type === "MemberExpression" && t.tag.property.type === "Identifier" && t.tag.property.name === "each" && (t.tag.object.type === "Identifier" && r.test(t.tag.object.name) || t.tag.object.type === "MemberExpression" && t.tag.object.property.type === "Identifier" && (t.tag.object.property.name === "only" || t.tag.object.property.name === "skip") && t.tag.object.object.type === "Identifier" && r.test(t.tag.object.object.name));
1235
+ }
1236
+ function oo(e) {
1237
+ let t = (n) => n.type === "TemplateLiteral", r = (n, s) => Oe(n) && !n.computed && n.key.type === "Identifier" && n.key.name === "styles" && s === "value";
1238
+ return e.match(t, (n, s) => q(n) && s === "elements", r, ...fs) || e.match(t, r, ...fs);
1239
+ }
1240
+ function ys(e) {
1241
+ return e.match((t) => t.type === "TemplateLiteral", (t, r) => Oe(t) && !t.computed && t.key.type === "Identifier" && t.key.name === "template" && r === "value", ...fs);
1242
+ }
1243
+ function Ds(e, t) {
1244
+ return T(e, x.Block | x.Leading, ({ value: r }) => r === ` ${t} `);
1245
+ }
1246
+ function rn({ node: e, parent: t }, r) {
1247
+ return Ds(e, r) || Ic(t) && Ds(t, r) || t.type === "ExpressionStatement" && Ds(t, r);
1248
+ }
1249
+ function Ic(e) {
1250
+ return e.type === "AsConstExpression" || e.type === "TSAsExpression" && e.typeAnnotation.type === "TSTypeReference" && e.typeAnnotation.typeName.type === "Identifier" && e.typeAnnotation.typeName.name === "const";
1251
+ }
1252
+ async function ao(e, t, r) {
1253
+ let { node: n } = r, s = "";
1254
+ for (let [p, c] of n.quasis.entries()) {
1255
+ let { raw: y } = c.value;
1256
+ p > 0 && (s += "@prettier-placeholder-" + (p - 1) + "-id"), s += y;
1257
+ }
1258
+ let i = await e(s, { parser: "scss" }), o = zt(r, t), u = Lc(i, o);
1259
+ if (!u) throw new Error("Couldn't insert all the expressions");
1260
+ return ["`", m([E, u]), f, "`"];
1261
+ }
1262
+ function Lc(e, t) {
1263
+ if (!R(t)) return e;
1264
+ let r = 0, n = ft(Qt(e), (s) => typeof s != "string" || !s.includes("@prettier-placeholder") ? s : s.split(/@prettier-placeholder-(\d+)-id/u).map((i, o) => o % 2 === 0 ? qe(i) : (r++, t[i])));
1265
+ return t.length === r ? n : null;
1266
+ }
1267
+ function Oc(e) {
1268
+ return e.match(void 0, (t, r) => r === "quasi" && t.type === "TaggedTemplateExpression" && Pt(t.tag, ["css", "css.global", "css.resolve"])) || e.match(void 0, (t, r) => r === "expression" && t.type === "JSXExpressionContainer", (t, r) => r === "children" && t.type === "JSXElement" && t.openingElement.name.type === "JSXIdentifier" && t.openingElement.name.name === "style" && t.openingElement.attributes.some((n) => n.type === "JSXAttribute" && n.name.type === "JSXIdentifier" && n.name.name === "jsx"));
1269
+ }
1270
+ function nn(e) {
1271
+ return e.type === "Identifier" && e.name === "styled";
1272
+ }
1273
+ function uo(e) {
1274
+ return /^[A-Z]/u.test(e.object.name) && e.property.name === "extend";
1275
+ }
1276
+ function wc({ parent: e }) {
1277
+ if (!e || e.type !== "TaggedTemplateExpression") return !1;
1278
+ let t = e.tag.type === "ParenthesizedExpression" ? e.tag.expression : e.tag;
1279
+ switch (t.type) {
1280
+ case "MemberExpression":
1281
+ return nn(t.object) || uo(t);
1282
+ case "CallExpression":
1283
+ return nn(t.callee) || t.callee.type === "MemberExpression" && (t.callee.object.type === "MemberExpression" && (nn(t.callee.object.object) || uo(t.callee.object)) || t.callee.object.type === "CallExpression" && nn(t.callee.object.callee));
1284
+ case "Identifier":
1285
+ return t.name === "css";
1286
+ default:
1287
+ return !1;
1288
+ }
1289
+ }
1290
+ function _c({ parent: e, grandparent: t }) {
1291
+ return t?.type === "JSXAttribute" && e.type === "JSXExpressionContainer" && t.name.type === "JSXIdentifier" && t.name.name === "css";
1292
+ }
1293
+ async function co(e, t, r) {
1294
+ let { node: n } = r, s = n.quasis.length, i = zt(r, t), o = [];
1295
+ for (let u = 0; u < s; u++) {
1296
+ let p = n.quasis[u], c = u === 0, y = u === s - 1, D = p.value.cooked, F = D.split(`
1297
+ `), C = F.length, d = i[u], b = C > 2 && F[0].trim() === "" && F[1].trim() === "", B = C > 2 && F[C - 1].trim() === "" && F[C - 2].trim() === "", O = F.every((g) => /^\s*(?:#[^\n\r]*)?$/u.test(g));
1298
+ if (!y && /#[^\n\r]*$/u.test(F[C - 1])) return null;
1299
+ let h = null;
1300
+ O ? h = Mc(F) : h = await e(D, { parser: "graphql" }), h ? (h = tn(h, !1), !c && b && o.push(""), o.push(h), !y && B && o.push("")) : !c && !y && b && o.push(""), d && o.push(d);
1301
+ }
1302
+ return ["`", m([E, L(E, o)]), E, "`"];
1303
+ }
1304
+ function Mc(e) {
1305
+ let t = [], r = !1, n = e.map((s) => s.trim());
1306
+ for (let [s, i] of n.entries()) i !== "" && (n[s - 1] === "" && r ? t.push([E, i]) : t.push(i), r = !0);
1307
+ return t.length === 0 ? null : L(E, t);
1308
+ }
1309
+ function lo({ node: e, parent: t }) {
1310
+ return rn({ node: e, parent: t }, "GraphQL") || t && (t.type === "TaggedTemplateExpression" && (t.tag.type === "MemberExpression" && t.tag.object.name === "graphql" && t.tag.property.name === "experimental" || t.tag.type === "Identifier" && (t.tag.name === "gql" || t.tag.name === "graphql")) || t.type === "CallExpression" && t.callee.type === "Identifier" && t.callee.name === "graphql");
1311
+ }
1312
+ async function mo(e, t, r, n, s) {
1313
+ let { node: i } = n, o = Es;
1314
+ Es = Es + 1 >>> 0;
1315
+ let u = (O) => `PRETTIER_HTML_PLACEHOLDER_${O}_${o}_IN_JS`, p = i.quasis.map((O, h, g) => h === g.length - 1 ? O.value.cooked : O.value.cooked + u(h)).join(""), c = zt(n, r), y = new RegExp(u("(\\d+)"), "gu"), D = 0, F = await t(p, { parser: e, __onHtmlRoot(O) {
1316
+ D = O.children.length;
1317
+ } }), C = ft(F, (O) => {
1318
+ if (typeof O != "string") return O;
1319
+ let h = [], g = O.split(y);
1320
+ for (let S = 0; S < g.length; S++) {
1321
+ let j = g[S];
1322
+ if (S % 2 === 0) {
1323
+ j && (j = ms(j), s.__embeddedInHtml && (j = W(0, j, /<\/(?=script\b)/giu, "<\\/")), h.push(j));
1324
+ continue;
1325
+ }
1326
+ let U = Number(j);
1327
+ h.push(c[U]);
1328
+ }
1329
+ return h;
1330
+ }), d = /^\s/u.test(p) ? " " : "", b = /\s$/u.test(p) ? " " : "", B = s.htmlWhitespaceSensitivity === "ignore" ? E : d && b ? A : null;
1331
+ return B ? l(["`", m([B, l(C)]), B, "`"]) : pt({ hug: !1 }, l(["`", d, D > 1 ? m(l(C)) : l(C), b, "`"]));
1332
+ }
1333
+ function Do(e) {
1334
+ return rn(e, "HTML") || e.match((t) => t.type === "TemplateLiteral", (t, r) => t.type === "TaggedTemplateExpression" && t.tag.type === "Identifier" && t.tag.name === "html" && r === "quasi");
1335
+ }
1336
+ async function Eo(e, t, r) {
1337
+ let { node: n } = r, s = W(0, n.quasis[0].value.raw, /((?:\\\\)*)\\`/gu, (p, c) => "\\".repeat(c.length / 2) + "`"), i = Nc(s), o = i !== "";
1338
+ o && (s = W(0, s, new RegExp(`^${i}`, "gmu"), ""));
1339
+ let u = tn(await e(s, { parser: "markdown", __inJsTemplate: !0 }), !0);
1340
+ return ["`", o ? m([f, u]) : [$r, Qi(u)], f, "`"];
1341
+ }
1342
+ function Nc(e) {
1343
+ let t = e.match(/^([^\S\n]*)\S/mu);
1344
+ return t === null ? "" : t[1];
1345
+ }
1346
+ function Fo({ node: e, parent: t }) {
1347
+ return t?.type === "TaggedTemplateExpression" && e.quasis.length === 1 && t.tag.type === "Identifier" && (t.tag.name === "md" || t.tag.name === "markdown");
1348
+ }
1349
+ function vc(e) {
1350
+ let { node: t } = e;
1351
+ if (t.type !== "TemplateLiteral" || Jc(t)) return;
1352
+ let r = jc.find(({ test: n }) => n(e));
1353
+ if (r) return t.quasis.length === 1 && t.quasis[0].value.raw.trim() === "" ? "``" : r.print;
1354
+ }
1355
+ function Rc(e) {
1356
+ return async (...t) => {
1357
+ let r = await e(...t);
1358
+ return r && pt({ embed: !0, ...r.label }, r);
1359
+ };
1360
+ }
1361
+ function Jc({ quasis: e }) {
1362
+ return e.some(({ value: { cooked: t } }) => t === null);
1363
+ }
1364
+ function So(e) {
1365
+ let t = e.match(go);
1366
+ return t ? t[0].trimStart() : "";
1367
+ }
1368
+ function Bo(e) {
1369
+ let r = e.match(go)?.[0];
1370
+ return r == null ? e : e.slice(r.length);
1371
+ }
1372
+ function bo(e) {
1373
+ e = W(0, e.replace(Wc, "").replace(Gc, ""), Yc, "$1");
1374
+ let r = "";
1375
+ for (; r !== e; ) r = e, e = W(0, e, Uc, `
1376
+ $1 $2
1377
+ `);
1378
+ e = e.replace(Ao, "").trimEnd();
1379
+ let n = /* @__PURE__ */ Object.create(null), s = W(0, e, To, "").replace(Ao, "").trimEnd(), i;
1380
+ for (; i = To.exec(e); ) {
1381
+ let o = W(0, i[2], qc, "");
1382
+ if (typeof n[i[1]] == "string" || Array.isArray(n[i[1]])) {
1383
+ let u = n[i[1]];
1384
+ n[i[1]] = [...ho, ...Array.isArray(u) ? u : [u], o];
1385
+ } else n[i[1]] = o;
1386
+ }
1387
+ return { comments: s, pragmas: n };
1388
+ }
1389
+ function Po({ comments: e = "", pragmas: t = {} }) {
1390
+ let o = Object.keys(t), u = o.flatMap((c) => xo(c, t[c])).map((c) => ` * ${c}
1391
+ `).join("");
1392
+ if (!e) {
1393
+ if (o.length === 0) return "";
1394
+ if (o.length === 1 && !Array.isArray(t[o[0]])) {
1395
+ let c = t[o[0]];
1396
+ return `/** ${xo(o[0], c)[0]} */`;
1397
+ }
1398
+ }
1399
+ let p = e.split(`
1400
+ `).map((c) => ` * ${c}`).join(`
1401
+ `) + `
1402
+ `;
1403
+ return `/**
1404
+ ` + (e ? p : "") + (e && o.length > 0 ? ` *
1405
+ ` : "") + u + " */";
1406
+ }
1407
+ function xo(e, t) {
1408
+ return [...ho, ...Array.isArray(t) ? t : [t]].map((r) => `@${e} ${r}`.trim());
1409
+ }
1410
+ function Hc(e) {
1411
+ if (!e.startsWith("#!")) return "";
1412
+ let t = e.indexOf(`
1413
+ `);
1414
+ return t === -1 ? e : e.slice(0, t);
1415
+ }
1416
+ function Xc(e) {
1417
+ let t = Io(e);
1418
+ t && (e = e.slice(t.length + 1));
1419
+ let r = So(e), { pragmas: n, comments: s } = bo(r);
1420
+ return { shebang: t, text: e, pragmas: n, comments: s };
1421
+ }
1422
+ function Lo(e) {
1423
+ let { shebang: t, text: r, pragmas: n, comments: s } = Xc(e), i = Bo(r), o = Po({ pragmas: { [ko]: "", ...n }, comments: s.trimStart() });
1424
+ return (t ? `${t}
1425
+ ` : "") + o + (i.startsWith(`
1426
+ `) ? `
1427
+ ` : `
1428
+
1429
+ `) + i;
1430
+ }
1431
+ function Vc(e) {
1432
+ if (!ce(e)) return !1;
1433
+ let t = `*${e.value}*`.split(`
1434
+ `);
1435
+ return t.length > 1 && t.every((r) => r.trimStart()[0] === "*");
1436
+ }
1437
+ function $c(e) {
1438
+ return Fs.has(e) || Fs.set(e, Vc(e)), Fs.get(e);
1439
+ }
1440
+ function wo(e, t) {
1441
+ let r = e.node;
1442
+ if (At(r)) return t.originalText.slice(w(r), I(r)).trimEnd();
1443
+ if (Oo(r)) return Kc(r);
1444
+ if (ce(r)) return ["/*", qe(r.value), "*/"];
1445
+ throw new Error("Not a comment: " + JSON.stringify(r));
1446
+ }
1447
+ function Kc(e) {
1448
+ let t = e.value.split(`
1449
+ `);
1450
+ return ["/*", L(E, t.map((r, n) => n === 0 ? r.trimEnd() : " " + (n < t.length - 1 ? r.trim() : r.trimStart()))), "*/"];
1451
+ }
1452
+ function ds(e, t) {
1453
+ if (e.isRoot) return !1;
1454
+ let { node: r, key: n, parent: s } = e;
1455
+ if (t.__isInHtmlInterpolation && !t.bracketSpacing && el(r) && xr(e)) return !0;
1456
+ if (Qc(r)) return !1;
1457
+ if (r.type === "Identifier") {
1458
+ if (r.extra?.parenthesized && /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(r.name) || n === "left" && (r.name === "async" && !s.await || r.name === "let") && s.type === "ForOfStatement") return !0;
1459
+ if (r.name === "let") {
1460
+ let i = e.findAncestor((o) => o.type === "ForOfStatement")?.left;
1461
+ if (i && ye(i, (o) => o === r)) return !0;
1462
+ }
1463
+ if (n === "object" && r.name === "let" && s.type === "MemberExpression" && s.computed && !s.optional) {
1464
+ let i = e.findAncestor((u) => u.type === "ExpressionStatement" || u.type === "ForStatement" || u.type === "ForInStatement"), o = i ? i.type === "ExpressionStatement" ? i.expression : i.type === "ForStatement" ? i.init : i.left : void 0;
1465
+ if (o && ye(o, (u) => u === r)) return !0;
1466
+ }
1467
+ if (n === "expression") switch (r.name) {
1468
+ case "await":
1469
+ case "interface":
1470
+ case "module":
1471
+ case "using":
1472
+ case "yield":
1473
+ case "let":
1474
+ case "component":
1475
+ case "hook":
1476
+ case "type": {
1477
+ let i = e.findAncestor((o) => !Ae(o));
1478
+ if (i !== s && i.type === "ExpressionStatement") return !0;
1479
+ }
1480
+ }
1481
+ return !1;
1482
+ }
1483
+ if (r.type === "ObjectExpression" || r.type === "FunctionExpression" || r.type === "ClassExpression" || r.type === "DoExpression") {
1484
+ let i = e.findAncestor((o) => o.type === "ExpressionStatement")?.expression;
1485
+ if (i && ye(i, (o) => o === r)) return !0;
1486
+ }
1487
+ if (r.type === "ObjectExpression") {
1488
+ let i = e.findAncestor((o) => o.type === "ArrowFunctionExpression")?.body;
1489
+ if (i && i.type !== "SequenceExpression" && i.type !== "AssignmentExpression" && ye(i, (o) => o === r)) return !0;
1490
+ }
1491
+ switch (s.type) {
1492
+ case "ParenthesizedExpression":
1493
+ return !1;
1494
+ case "ClassDeclaration":
1495
+ case "ClassExpression":
1496
+ if (n === "superClass" && (r.type === "ArrowFunctionExpression" || r.type === "AssignmentExpression" || r.type === "AwaitExpression" || r.type === "BinaryExpression" || r.type === "ConditionalExpression" || r.type === "LogicalExpression" || r.type === "NewExpression" || r.type === "ObjectExpression" || r.type === "SequenceExpression" || r.type === "TaggedTemplateExpression" || r.type === "UnaryExpression" || r.type === "UpdateExpression" || r.type === "YieldExpression" || r.type === "TSNonNullExpression" || r.type === "ClassExpression" && R(r.decorators))) return !0;
1497
+ break;
1498
+ case "ExportDefaultDeclaration":
1499
+ return _o(e, t) || r.type === "SequenceExpression";
1500
+ case "Decorator":
1501
+ if (n === "expression" && !rl(r)) return !0;
1502
+ break;
1503
+ case "TypeAnnotation":
1504
+ if (e.match(void 0, void 0, (i, o) => o === "returnType" && i.type === "ArrowFunctionExpression") && Zc(r)) return !0;
1505
+ break;
1506
+ case "BinaryExpression":
1507
+ if (n === "left" && (s.operator === "in" || s.operator === "instanceof") && r.type === "UnaryExpression") return !0;
1508
+ break;
1509
+ case "VariableDeclarator":
1510
+ if (n === "init" && e.match(void 0, void 0, (i, o) => o === "declarations" && i.type === "VariableDeclaration", (i, o) => o === "left" && i.type === "ForInStatement")) return !0;
1511
+ break;
1512
+ }
1513
+ switch (r.type) {
1514
+ case "UpdateExpression":
1515
+ if (s.type === "UnaryExpression") return r.prefix && (r.operator === "++" && s.operator === "+" || r.operator === "--" && s.operator === "-");
1516
+ case "UnaryExpression":
1517
+ switch (s.type) {
1518
+ case "UnaryExpression":
1519
+ return r.operator === s.operator && (r.operator === "+" || r.operator === "-");
1520
+ case "BindExpression":
1521
+ return !0;
1522
+ case "MemberExpression":
1523
+ case "OptionalMemberExpression":
1524
+ return n === "object";
1525
+ case "TaggedTemplateExpression":
1526
+ return !0;
1527
+ case "NewExpression":
1528
+ case "CallExpression":
1529
+ case "OptionalCallExpression":
1530
+ return n === "callee";
1531
+ case "BinaryExpression":
1532
+ return n === "left" && s.operator === "**";
1533
+ case "TSNonNullExpression":
1534
+ return !0;
1535
+ default:
1536
+ return !1;
1537
+ }
1538
+ case "BinaryExpression":
1539
+ if (s.type === "UpdateExpression" || r.operator === "in" && zc(e)) return !0;
1540
+ if (r.operator === "|>" && r.extra?.parenthesized) {
1541
+ let i = e.grandparent;
1542
+ if (i.type === "BinaryExpression" && i.operator === "|>") return !0;
1543
+ }
1544
+ case "TSTypeAssertion":
1545
+ case "TSAsExpression":
1546
+ case "TSSatisfiesExpression":
1547
+ case "AsExpression":
1548
+ case "AsConstExpression":
1549
+ case "SatisfiesExpression":
1550
+ case "LogicalExpression":
1551
+ switch (s.type) {
1552
+ case "TSAsExpression":
1553
+ case "TSSatisfiesExpression":
1554
+ case "AsExpression":
1555
+ case "AsConstExpression":
1556
+ case "SatisfiesExpression":
1557
+ return !Ae(r);
1558
+ case "ConditionalExpression":
1559
+ return Ae(r) || fi(r);
1560
+ case "CallExpression":
1561
+ case "NewExpression":
1562
+ case "OptionalCallExpression":
1563
+ return n === "callee";
1564
+ case "ClassExpression":
1565
+ case "ClassDeclaration":
1566
+ return n === "superClass";
1567
+ case "TSTypeAssertion":
1568
+ case "TaggedTemplateExpression":
1569
+ case "UnaryExpression":
1570
+ case "JSXSpreadAttribute":
1571
+ case "SpreadElement":
1572
+ case "BindExpression":
1573
+ case "AwaitExpression":
1574
+ case "TSNonNullExpression":
1575
+ case "UpdateExpression":
1576
+ return !0;
1577
+ case "MemberExpression":
1578
+ case "OptionalMemberExpression":
1579
+ return n === "object";
1580
+ case "AssignmentExpression":
1581
+ case "AssignmentPattern":
1582
+ return n === "left" && (r.type === "TSTypeAssertion" || Ae(r));
1583
+ case "LogicalExpression":
1584
+ if (r.type === "LogicalExpression") return s.operator !== r.operator;
1585
+ case "BinaryExpression": {
1586
+ let { operator: i, type: o } = r;
1587
+ if (!i && o !== "TSTypeAssertion") return !0;
1588
+ let u = yr(i), p = s.operator, c = yr(p);
1589
+ return !!(c > u || n === "right" && c === u || c === u && !dr(p, i) || c < u && i === "%" && (p === "+" || p === "-") || Ai(p));
1590
+ }
1591
+ default:
1592
+ return !1;
1593
+ }
1594
+ case "SequenceExpression":
1595
+ return s.type !== "ForStatement";
1596
+ case "YieldExpression":
1597
+ if (s.type === "AwaitExpression" || s.type === "TSTypeAssertion") return !0;
1598
+ case "AwaitExpression":
1599
+ switch (s.type) {
1600
+ case "TaggedTemplateExpression":
1601
+ case "UnaryExpression":
1602
+ case "LogicalExpression":
1603
+ case "SpreadElement":
1604
+ case "TSAsExpression":
1605
+ case "TSSatisfiesExpression":
1606
+ case "TSNonNullExpression":
1607
+ case "AsExpression":
1608
+ case "AsConstExpression":
1609
+ case "SatisfiesExpression":
1610
+ case "BindExpression":
1611
+ return !0;
1612
+ case "MemberExpression":
1613
+ case "OptionalMemberExpression":
1614
+ return n === "object";
1615
+ case "NewExpression":
1616
+ case "CallExpression":
1617
+ case "OptionalCallExpression":
1618
+ return n === "callee";
1619
+ case "ConditionalExpression":
1620
+ return n === "test";
1621
+ case "BinaryExpression":
1622
+ return !(!r.argument && s.operator === "|>");
1623
+ default:
1624
+ return !1;
1625
+ }
1626
+ case "TSFunctionType":
1627
+ if (e.match((i) => i.type === "TSFunctionType", (i, o) => o === "typeAnnotation" && i.type === "TSTypeAnnotation", (i, o) => o === "returnType" && i.type === "ArrowFunctionExpression")) return !0;
1628
+ case "TSConditionalType":
1629
+ case "TSConstructorType":
1630
+ case "ConditionalTypeAnnotation":
1631
+ if (n === "extendsType" && Ue(r) && s.type === r.type || n === "checkType" && Ue(s)) return !0;
1632
+ if (n === "extendsType" && s.type === "TSConditionalType") {
1633
+ let { typeAnnotation: i } = r.returnType || r.typeAnnotation;
1634
+ if (i.type === "TSTypePredicate" && i.typeAnnotation && (i = i.typeAnnotation.typeAnnotation), i.type === "TSInferType" && i.typeParameter.constraint) return !0;
1635
+ }
1636
+ case "TSUnionType":
1637
+ case "TSIntersectionType":
1638
+ if (Se(s) || xt(s)) return !0;
1639
+ case "TSInferType":
1640
+ if (r.type === "TSInferType") {
1641
+ if (s.type === "TSRestType") return !1;
1642
+ if (n === "types" && (s.type === "TSUnionType" || s.type === "TSIntersectionType") && r.typeParameter.type === "TSTypeParameter" && r.typeParameter.constraint) return !0;
1643
+ }
1644
+ case "TSTypeOperator":
1645
+ return s.type === "TSArrayType" || s.type === "TSOptionalType" || s.type === "TSRestType" || n === "objectType" && s.type === "TSIndexedAccessType" || s.type === "TSTypeOperator" || s.type === "TSTypeAnnotation" && e.grandparent.type.startsWith("TSJSDoc");
1646
+ case "TSTypeQuery":
1647
+ return n === "objectType" && s.type === "TSIndexedAccessType" || n === "elementType" && s.type === "TSArrayType";
1648
+ case "TypeOperator":
1649
+ return s.type === "ArrayTypeAnnotation" || s.type === "NullableTypeAnnotation" || n === "objectType" && (s.type === "IndexedAccessType" || s.type === "OptionalIndexedAccessType") || s.type === "TypeOperator";
1650
+ case "TypeofTypeAnnotation":
1651
+ return n === "objectType" && (s.type === "IndexedAccessType" || s.type === "OptionalIndexedAccessType") || n === "elementType" && s.type === "ArrayTypeAnnotation";
1652
+ case "ArrayTypeAnnotation":
1653
+ return s.type === "NullableTypeAnnotation";
1654
+ case "IntersectionTypeAnnotation":
1655
+ case "UnionTypeAnnotation":
1656
+ return s.type === "TypeOperator" || s.type === "KeyofTypeAnnotation" || s.type === "ArrayTypeAnnotation" || s.type === "NullableTypeAnnotation" || s.type === "IntersectionTypeAnnotation" || s.type === "UnionTypeAnnotation" || n === "objectType" && (s.type === "IndexedAccessType" || s.type === "OptionalIndexedAccessType");
1657
+ case "InferTypeAnnotation":
1658
+ case "NullableTypeAnnotation":
1659
+ return s.type === "ArrayTypeAnnotation" || n === "objectType" && (s.type === "IndexedAccessType" || s.type === "OptionalIndexedAccessType");
1660
+ case "ComponentTypeAnnotation":
1661
+ case "FunctionTypeAnnotation": {
1662
+ if (r.type === "ComponentTypeAnnotation" && (r.rendersType === null || r.rendersType === void 0)) return !1;
1663
+ if (e.match(void 0, (o, u) => u === "typeAnnotation" && o.type === "TypeAnnotation", (o, u) => u === "returnType" && o.type === "ArrowFunctionExpression") || e.match(void 0, (o, u) => u === "typeAnnotation" && o.type === "TypePredicate", (o, u) => u === "typeAnnotation" && o.type === "TypeAnnotation", (o, u) => u === "returnType" && o.type === "ArrowFunctionExpression")) return !0;
1664
+ let i = s.type === "NullableTypeAnnotation" ? e.grandparent : s;
1665
+ return i.type === "UnionTypeAnnotation" || i.type === "IntersectionTypeAnnotation" || i.type === "ArrayTypeAnnotation" || n === "objectType" && (i.type === "IndexedAccessType" || i.type === "OptionalIndexedAccessType") || n === "checkType" && s.type === "ConditionalTypeAnnotation" || n === "extendsType" && s.type === "ConditionalTypeAnnotation" && r.returnType?.type === "InferTypeAnnotation" && r.returnType?.typeParameter.bound || i.type === "NullableTypeAnnotation" || s.type === "FunctionTypeParam" && s.name === null && K(r).some((o) => o.typeAnnotation?.type === "NullableTypeAnnotation");
1666
+ }
1667
+ case "OptionalIndexedAccessType":
1668
+ return n === "objectType" && s.type === "IndexedAccessType";
1669
+ case "StringLiteral":
1670
+ case "NumericLiteral":
1671
+ case "Literal":
1672
+ if (typeof r.value == "string" && s.type === "ExpressionStatement" && typeof s.directive != "string") {
1673
+ let i = e.grandparent;
1674
+ return i.type === "Program" || i.type === "BlockStatement";
1675
+ }
1676
+ return n === "object" && J(s) && Ce(r);
1677
+ case "AssignmentExpression":
1678
+ return !((n === "init" || n === "update") && s.type === "ForStatement" || n === "expression" && r.left.type !== "ObjectPattern" && s.type === "ExpressionStatement" || n === "key" && s.type === "TSPropertySignature" || s.type === "AssignmentExpression" || n === "expressions" && s.type === "SequenceExpression" && e.match(void 0, void 0, (i, o) => (o === "init" || o === "update") && i.type === "ForStatement") || n === "value" && s.type === "Property" && e.match(void 0, void 0, (i, o) => o === "properties" && i.type === "ObjectPattern") || s.type === "NGChainedExpression" || n === "node" && s.type === "JsExpressionRoot");
1679
+ case "ConditionalExpression":
1680
+ switch (s.type) {
1681
+ case "TaggedTemplateExpression":
1682
+ case "UnaryExpression":
1683
+ case "SpreadElement":
1684
+ case "BinaryExpression":
1685
+ case "LogicalExpression":
1686
+ case "NGPipeExpression":
1687
+ case "ExportDefaultDeclaration":
1688
+ case "AwaitExpression":
1689
+ case "JSXSpreadAttribute":
1690
+ case "TSTypeAssertion":
1691
+ case "TypeCastExpression":
1692
+ case "TSAsExpression":
1693
+ case "TSSatisfiesExpression":
1694
+ case "AsExpression":
1695
+ case "AsConstExpression":
1696
+ case "SatisfiesExpression":
1697
+ case "TSNonNullExpression":
1698
+ return !0;
1699
+ case "NewExpression":
1700
+ case "CallExpression":
1701
+ case "OptionalCallExpression":
1702
+ return n === "callee";
1703
+ case "ConditionalExpression":
1704
+ return t.experimentalTernaries ? !1 : n === "test";
1705
+ case "MemberExpression":
1706
+ case "OptionalMemberExpression":
1707
+ return n === "object";
1708
+ default:
1709
+ return !1;
1710
+ }
1711
+ case "FunctionExpression":
1712
+ switch (s.type) {
1713
+ case "NewExpression":
1714
+ case "CallExpression":
1715
+ case "OptionalCallExpression":
1716
+ return n === "callee";
1717
+ case "TaggedTemplateExpression":
1718
+ return !0;
1719
+ default:
1720
+ return !1;
1721
+ }
1722
+ case "ArrowFunctionExpression":
1723
+ switch (s.type) {
1724
+ case "BinaryExpression":
1725
+ return s.operator !== "|>" || r.extra?.parenthesized;
1726
+ case "NewExpression":
1727
+ case "CallExpression":
1728
+ case "OptionalCallExpression":
1729
+ return n === "callee";
1730
+ case "MemberExpression":
1731
+ case "OptionalMemberExpression":
1732
+ return n === "object";
1733
+ case "TSAsExpression":
1734
+ case "TSSatisfiesExpression":
1735
+ case "AsExpression":
1736
+ case "AsConstExpression":
1737
+ case "SatisfiesExpression":
1738
+ case "TSNonNullExpression":
1739
+ case "BindExpression":
1740
+ case "TaggedTemplateExpression":
1741
+ case "UnaryExpression":
1742
+ case "LogicalExpression":
1743
+ case "AwaitExpression":
1744
+ case "TSTypeAssertion":
1745
+ case "MatchExpressionCase":
1746
+ return !0;
1747
+ case "TSInstantiationExpression":
1748
+ return n === "expression";
1749
+ case "ConditionalExpression":
1750
+ return n === "test";
1751
+ default:
1752
+ return !1;
1753
+ }
1754
+ case "ClassExpression":
1755
+ switch (s.type) {
1756
+ case "NewExpression":
1757
+ return n === "callee";
1758
+ default:
1759
+ return !1;
1760
+ }
1761
+ case "OptionalMemberExpression":
1762
+ case "OptionalCallExpression":
1763
+ case "CallExpression":
1764
+ case "MemberExpression":
1765
+ if (tl(e)) return !0;
1766
+ case "TaggedTemplateExpression":
1767
+ case "TSNonNullExpression":
1768
+ if (n === "callee" && (s.type === "BindExpression" || s.type === "NewExpression")) {
1769
+ let i = r;
1770
+ for (; i; ) switch (i.type) {
1771
+ case "CallExpression":
1772
+ case "OptionalCallExpression":
1773
+ return !0;
1774
+ case "MemberExpression":
1775
+ case "OptionalMemberExpression":
1776
+ case "BindExpression":
1777
+ i = i.object;
1778
+ break;
1779
+ case "TaggedTemplateExpression":
1780
+ i = i.tag;
1781
+ break;
1782
+ case "TSNonNullExpression":
1783
+ i = i.expression;
1784
+ break;
1785
+ default:
1786
+ return !1;
1787
+ }
1788
+ }
1789
+ return !1;
1790
+ case "BindExpression":
1791
+ return n === "callee" && (s.type === "BindExpression" || s.type === "NewExpression") || n === "object" && J(s);
1792
+ case "NGPipeExpression":
1793
+ return !(s.type === "NGRoot" || s.type === "NGMicrosyntaxExpression" || s.type === "ObjectProperty" && !r.extra?.parenthesized || q(s) || n === "arguments" && M(s) || n === "right" && s.type === "NGPipeExpression" || n === "property" && s.type === "MemberExpression" || s.type === "AssignmentExpression");
1794
+ case "JSXFragment":
1795
+ case "JSXElement":
1796
+ return n === "callee" || n === "left" && s.type === "BinaryExpression" && s.operator === "<" || !q(s) && s.type !== "ArrowFunctionExpression" && s.type !== "AssignmentExpression" && s.type !== "AssignmentPattern" && s.type !== "BinaryExpression" && s.type !== "NewExpression" && s.type !== "ConditionalExpression" && s.type !== "ExpressionStatement" && s.type !== "JsExpressionRoot" && s.type !== "JSXAttribute" && s.type !== "JSXElement" && s.type !== "JSXExpressionContainer" && s.type !== "JSXFragment" && s.type !== "LogicalExpression" && !M(s) && !Oe(s) && s.type !== "ReturnStatement" && s.type !== "ThrowStatement" && s.type !== "TypeCastExpression" && s.type !== "VariableDeclarator" && s.type !== "YieldExpression" && s.type !== "MatchExpressionCase";
1797
+ case "TSInstantiationExpression":
1798
+ return n === "object" && J(s);
1799
+ case "MatchOrPattern":
1800
+ return s.type === "MatchAsPattern";
1801
+ }
1802
+ return !1;
1803
+ }
1804
+ function zc(e) {
1805
+ let t = 0, { node: r } = e;
1806
+ for (; r; ) {
1807
+ let n = e.getParentNode(t++);
1808
+ if (n?.type === "ForStatement" && n.init === r) return !0;
1809
+ r = n;
1810
+ }
1811
+ return !1;
1812
+ }
1813
+ function Zc(e) {
1814
+ return Er(e, (t) => t.type === "ObjectTypeAnnotation" && Er(t, (r) => r.type === "FunctionTypeAnnotation"));
1815
+ }
1816
+ function el(e) {
1817
+ return se(e);
1818
+ }
1819
+ function xr(e) {
1820
+ let { parent: t, key: r } = e;
1821
+ switch (t.type) {
1822
+ case "NGPipeExpression":
1823
+ if (r === "arguments" && e.isLast) return e.callParent(xr);
1824
+ break;
1825
+ case "ObjectProperty":
1826
+ if (r === "value") return e.callParent(() => e.key === "properties" && e.isLast);
1827
+ break;
1828
+ case "BinaryExpression":
1829
+ case "LogicalExpression":
1830
+ if (r === "right") return e.callParent(xr);
1831
+ break;
1832
+ case "ConditionalExpression":
1833
+ if (r === "alternate") return e.callParent(xr);
1834
+ break;
1835
+ case "UnaryExpression":
1836
+ if (t.prefix) return e.callParent(xr);
1837
+ break;
1838
+ }
1839
+ return !1;
1840
+ }
1841
+ function _o(e, t) {
1842
+ let { node: r, parent: n } = e;
1843
+ return r.type === "FunctionExpression" || r.type === "ClassExpression" ? n.type === "ExportDefaultDeclaration" || !ds(e, t) : !Xt(r) || n.type !== "ExportDefaultDeclaration" && ds(e, t) ? !1 : e.call(() => _o(e, t), ...Rr(r));
1844
+ }
1845
+ function tl(e) {
1846
+ return !!(e.match(void 0, (t, r) => r === "expression" && t.type === "ChainExpression", (t, r) => r === "tag" && t.type === "TaggedTemplateExpression") || e.match((t) => t.type === "OptionalCallExpression" || t.type === "OptionalMemberExpression", (t, r) => r === "tag" && t.type === "TaggedTemplateExpression") || e.match((t) => t.type === "OptionalCallExpression" || t.type === "OptionalMemberExpression", (t, r) => r === "expression" && t.type === "TSNonNullExpression", (t, r) => r === "tag" && t.type === "TaggedTemplateExpression") || e.match(void 0, (t, r) => r === "expression" && t.type === "ChainExpression", (t, r) => r === "expression" && t.type === "TSNonNullExpression", (t, r) => r === "tag" && t.type === "TaggedTemplateExpression") || e.match(void 0, (t, r) => r === "expression" && t.type === "TSNonNullExpression", (t, r) => r === "expression" && t.type === "ChainExpression", (t, r) => r === "tag" && t.type === "TaggedTemplateExpression") || e.match((t) => t.type === "OptionalMemberExpression" || t.type === "OptionalCallExpression", (t, r) => r === "object" && t.type === "MemberExpression" || r === "callee" && (t.type === "CallExpression" || t.type === "NewExpression")) || e.match((t) => t.type === "OptionalMemberExpression" || t.type === "OptionalCallExpression", (t, r) => r === "expression" && t.type === "TSNonNullExpression", (t, r) => r === "object" && t.type === "MemberExpression" || r === "callee" && t.type === "CallExpression") || e.match((t) => t.type === "CallExpression" || t.type === "MemberExpression", (t, r) => r === "expression" && t.type === "ChainExpression") && (e.match(void 0, void 0, (t, r) => r === "callee" && (t.type === "CallExpression" && !t.optional || t.type === "NewExpression") || r === "object" && t.type === "MemberExpression" && !t.optional) || e.match(void 0, void 0, (t, r) => r === "expression" && t.type === "TSNonNullExpression", (t, r) => r === "object" && t.type === "MemberExpression" || r === "callee" && t.type === "CallExpression")) || e.match((t) => t.type === "CallExpression" || t.type === "MemberExpression", (t, r) => r === "expression" && t.type === "TSNonNullExpression", (t, r) => r === "expression" && t.type === "ChainExpression", (t, r) => r === "object" && t.type === "MemberExpression" || r === "callee" && t.type === "CallExpression"));
1847
+ }
1848
+ function Cs(e) {
1849
+ return e.type === "Identifier" ? !0 : J(e) ? !e.computed && !e.optional && e.property.type === "Identifier" && Cs(e.object) : !1;
1850
+ }
1851
+ function rl(e) {
1852
+ return e.type === "ChainExpression" && (e = e.expression), Cs(e) || M(e) && !e.optional && Cs(e.callee);
1853
+ }
1854
+ function nl(e, t) {
1855
+ let r = t - 1;
1856
+ r = ze(e, r, { backwards: !0 }), r = Ze(e, r, { backwards: !0 }), r = ze(e, r, { backwards: !0 });
1857
+ let n = Ze(e, r, { backwards: !0 });
1858
+ return r !== n;
1859
+ }
1860
+ function As(e, t) {
1861
+ let r = e.node;
1862
+ return r.printed = !0, t.printer.printComment(e, t);
1863
+ }
1864
+ function il(e, t) {
1865
+ let r = e.node, n = [As(e, t)], { printer: s, originalText: i, locStart: o, locEnd: u } = t;
1866
+ if (s.isBlockComment?.(r)) {
1867
+ let y = Z(i, u(r)) ? Z(i, o(r), { backwards: !0 }) ? E : A : " ";
1868
+ n.push(y);
1869
+ } else n.push(E);
1870
+ let c = Ze(i, ze(i, u(r)));
1871
+ return c !== !1 && Z(i, c) && n.push(E), n;
1872
+ }
1873
+ function ol(e, t, r) {
1874
+ let n = e.node, s = As(e, t), { printer: i, originalText: o, locStart: u } = t, p = i.isBlockComment?.(n);
1875
+ if (r?.hasLineSuffix && !r?.isBlock || Z(o, u(n), { backwards: !0 })) {
1876
+ let c = Mo(o, u(n));
1877
+ return { doc: us([E, c ? E : "", s]), isBlock: p, hasLineSuffix: !0 };
1878
+ }
1879
+ return !p || r?.hasLineSuffix ? { doc: [us([" ", s]), ke], isBlock: p, hasLineSuffix: !0 } : { doc: [" ", s], isBlock: p, hasLineSuffix: !1 };
1880
+ }
1881
+ function v(e, t, r = {}) {
1882
+ let { node: n } = e;
1883
+ if (!R(n?.comments)) return "";
1884
+ let { indent: s = !1, marker: i, filter: o = sl } = r, u = [];
1885
+ if (e.each(({ node: c }) => {
1886
+ c.leading || c.trailing || c.marker !== i || !o(c) || u.push(As(e, t));
1887
+ }, "comments"), u.length === 0) return "";
1888
+ let p = L(E, u);
1889
+ return s ? m([E, p]) : p;
1890
+ }
1891
+ function Mt(e, t) {
1892
+ let r = e.node;
1893
+ if (!r) return {};
1894
+ let n = t[Symbol.for("printedComments")];
1895
+ if ((r.comments || []).filter((p) => !n.has(p)).length === 0) return { leading: "", trailing: "" };
1896
+ let i = [], o = [], u;
1897
+ return e.each(() => {
1898
+ let p = e.node;
1899
+ if (n?.has(p)) return;
1900
+ let { leading: c, trailing: y } = p;
1901
+ c ? i.push(il(e, t)) : y && (u = ol(e, t, u), o.push(u.doc));
1902
+ }, "comments"), { leading: i, trailing: o };
1903
+ }
1904
+ function De(e, t, r) {
1905
+ let { leading: n, trailing: s } = Mt(e, r);
1906
+ return !n && !s ? t : Ar(t, (i) => [n, i, s]);
1907
+ }
1908
+ function Ke(e, t, r, n, s) {
1909
+ let i = e.node, o = K(i), u = s && i.typeParameters ? r("typeParameters") : "";
1910
+ if (o.length === 0) return [u, "(", v(e, t, { filter: (d) => _e(t.originalText, I(d)) === ")" }), ")"];
1911
+ let { parent: p } = e, c = It(p), y = No(i), D = [];
1912
+ if (xi(e, (d, b) => {
1913
+ let B = b === o.length - 1;
1914
+ B && i.rest && D.push("..."), D.push(r()), !B && (D.push(","), c || y ? D.push(" ") : oe(o[b], t) ? D.push(E, E) : D.push(A));
1915
+ }), n && !al(e)) {
1916
+ if (ne(u) || ne(D)) throw new Et();
1917
+ return l([_t(u), "(", _t(D), ")"]);
1918
+ }
1919
+ let F = o.every((d) => !R(d.decorators));
1920
+ return y && F ? [u, "(", ...D, ")"] : c ? [u, "(", ...D, ")"] : (Gr(p) || Ei(p) || p.type === "TypeAlias" || p.type === "UnionTypeAnnotation" || p.type === "IntersectionTypeAnnotation" || p.type === "FunctionTypeAnnotation" && p.returnType === i) && o.length === 1 && o[0].name === null && i.this !== o[0] && o[0].typeAnnotation && i.typeParameters === null && Vt(o[0].typeAnnotation) && !i.rest ? t.arrowParens === "always" || i.type === "HookTypeAnnotation" ? ["(", ...D, ")"] : D : [u, "(", m([f, ...D]), P(!Ti(i) && ie(t, "all") ? "," : ""), f, ")"];
1921
+ }
1922
+ function No(e) {
1923
+ if (!e) return !1;
1924
+ let t = K(e);
1925
+ if (t.length !== 1) return !1;
1926
+ let [r] = t;
1927
+ return !T(r) && (r.type === "ObjectPattern" || r.type === "ArrayPattern" || r.type === "Identifier" && r.typeAnnotation && (r.typeAnnotation.type === "TypeAnnotation" || r.typeAnnotation.type === "TSTypeAnnotation") && Je(r.typeAnnotation.typeAnnotation) || r.type === "FunctionTypeParam" && Je(r.typeAnnotation) && r !== e.rest || r.type === "AssignmentPattern" && (r.left.type === "ObjectPattern" || r.left.type === "ArrayPattern") && (r.right.type === "Identifier" || se(r.right) && r.right.properties.length === 0 || q(r.right) && r.right.elements.length === 0));
1928
+ }
1929
+ function ul(e) {
1930
+ let t;
1931
+ return e.returnType ? (t = e.returnType, t.typeAnnotation && (t = t.typeAnnotation)) : e.typeAnnotation && (t = e.typeAnnotation), t;
1932
+ }
1933
+ function lt(e, t) {
1934
+ let r = ul(e);
1935
+ if (!r) return !1;
1936
+ let n = e.typeParameters?.params;
1937
+ if (n) {
1938
+ if (n.length > 1) return !1;
1939
+ if (n.length === 1) {
1940
+ let s = n[0];
1941
+ if (s.constraint || s.default) return !1;
1942
+ }
1943
+ }
1944
+ return K(e).length === 1 && (Je(r) || ne(t));
1945
+ }
1946
+ function al(e) {
1947
+ return e.match((t) => t.type === "ArrowFunctionExpression" && t.body.type === "BlockStatement", (t, r) => {
1948
+ if (t.type === "CallExpression" && r === "arguments" && t.arguments.length === 1 && t.callee.type === "CallExpression") {
1949
+ let n = t.callee.callee;
1950
+ return n.type === "Identifier" || n.type === "MemberExpression" && !n.computed && n.object.type === "Identifier" && n.property.type === "Identifier";
1951
+ }
1952
+ return !1;
1953
+ }, (t, r) => t.type === "VariableDeclarator" && r === "init" || t.type === "ExportDefaultDeclaration" && r === "declaration" || t.type === "TSExportAssignment" && r === "expression" || t.type === "AssignmentExpression" && r === "right" && t.left.type === "MemberExpression" && t.left.object.type === "Identifier" && t.left.object.name === "module" && t.left.property.type === "Identifier" && t.left.property.name === "exports", (t) => t.type !== "VariableDeclaration" || t.kind === "const" && t.declarations.length === 1);
1954
+ }
1955
+ function jo(e) {
1956
+ let t = K(e);
1957
+ return t.length > 1 && t.some((r) => r.type === "TSParameterProperty");
1958
+ }
1959
+ function Nt(e, t) {
1960
+ return (t === "params" || t === "this" || t === "rest") && No(e);
1961
+ }
1962
+ function X(e) {
1963
+ let { node: t } = e;
1964
+ return !t.optional || t.type === "Identifier" && t === e.parent.key ? "" : M(t) || J(t) && t.computed || t.type === "OptionalIndexedAccessType" ? "?." : "?";
1965
+ }
1966
+ function sn(e) {
1967
+ return e.node.definite || e.match(void 0, (t, r) => r === "id" && t.type === "VariableDeclarator" && t.definite) ? "!" : "";
1968
+ }
1969
+ function Q(e) {
1970
+ let { node: t } = e;
1971
+ return t.declare || pl(t) && e.parent.type !== "DeclareExportDeclaration" ? "declare " : "";
1972
+ }
1973
+ function Zt({ node: e }) {
1974
+ return e.abstract || cl(e) ? "abstract " : "";
1975
+ }
1976
+ function Ft(e, t, r) {
1977
+ return e.type === "EmptyStatement" ? T(e, x.Leading) ? [" ", t] : t : e.type === "BlockStatement" || r ? [" ", t] : m([A, t]);
1978
+ }
1979
+ function jt(e) {
1980
+ return e.accessibility ? e.accessibility + " " : "";
1981
+ }
1982
+ function Dl(e) {
1983
+ return e.length === 1 ? e : e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/u, "$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/u, "$1").replace(/^([+-])?\./u, "$10.").replace(/(\.\d+?)0+(?=e|$)/u, "$1").replace(/\.(?=e|$)/u, "");
1984
+ }
1985
+ function on(e, t, r) {
1986
+ let { node: n, parent: s, grandparent: i, key: o } = e, u = o !== "body" && (s.type === "IfStatement" || s.type === "WhileStatement" || s.type === "SwitchStatement" || s.type === "DoWhileStatement"), p = n.operator === "|>" && e.root.extra?.__isUsingHackPipeline, c = Ts(e, t, r, !1, u);
1987
+ if (u) return c;
1988
+ if (p) return l(c);
1989
+ if (o === "callee" && (M(s) || s.type === "NewExpression") || s.type === "UnaryExpression" || J(s) && !s.computed) return l([m([f, ...c]), f]);
1990
+ let y = s.type === "ReturnStatement" || s.type === "ThrowStatement" || s.type === "JSXExpressionContainer" && i.type === "JSXAttribute" || n.operator !== "|" && s.type === "JsExpressionRoot" || n.type !== "NGPipeExpression" && (s.type === "NGRoot" && t.parser === "__ng_binding" || s.type === "NGMicrosyntaxExpression" && i.type === "NGMicrosyntax" && i.body.length === 1) || n === s.body && s.type === "ArrowFunctionExpression" || n !== s.body && s.type === "ForStatement" || s.type === "ConditionalExpression" && i.type !== "ReturnStatement" && i.type !== "ThrowStatement" && !M(i) && i.type !== "NewExpression" || s.type === "TemplateLiteral" || El(e), D = s.type === "AssignmentExpression" || s.type === "VariableDeclarator" || s.type === "ClassProperty" || s.type === "PropertyDefinition" || s.type === "TSAbstractPropertyDefinition" || s.type === "ClassPrivateProperty" || Oe(s), F = Te(n.left) && dr(n.operator, n.left.operator);
1991
+ if (y || er(n) && !F || !er(n) && D) return l(c);
1992
+ if (c.length === 0) return "";
1993
+ let C = H(n.right), d = c.findIndex((S) => typeof S != "string" && !Array.isArray(S) && S.type === Fe), b = c.slice(0, d === -1 ? 1 : d + 1), B = c.slice(b.length, C ? -1 : void 0), O = Symbol("logicalChain-" + ++fl), h = l([...b, m(B)], { id: O });
1994
+ if (!C) return h;
1995
+ let g = N(0, c, -1);
1996
+ return l([h, yt(g, { groupId: O })]);
1997
+ }
1998
+ function Ts(e, t, r, n, s) {
1999
+ let { node: i } = e;
2000
+ if (!Te(i)) return [l(r())];
2001
+ let o = [];
2002
+ dr(i.operator, i.left.operator) ? o = e.call(() => Ts(e, t, r, !0, s), "left") : o.push(l(r("left")));
2003
+ let u = er(i), p = i.right.type === "ChainExpression" ? i.right.expression : i.right, c = (i.operator === "|>" || i.type === "NGPipeExpression" || yl(e, t)) && !Ee(t.originalText, p), D = !T(p, x.Leading, Hr) && Ee(t.originalText, p), F = i.type === "NGPipeExpression" ? "|" : i.operator, C = i.type === "NGPipeExpression" && i.arguments.length > 0 ? l(m([f, ": ", L([A, ": "], e.map(() => xe(2, l(r())), "arguments"))])) : "", d;
2004
+ if (u) d = [F, Ee(t.originalText, p) ? m([A, r("right"), C]) : [" ", r("right"), C]];
2005
+ else {
2006
+ let g = F === "|>" && e.root.extra?.__isUsingHackPipeline ? e.call(() => Ts(e, t, r, !0, s), "right") : r("right");
2007
+ if (t.experimentalOperatorPosition === "start") {
2008
+ let S = "";
2009
+ if (D) switch (We(g)) {
2010
+ case Be:
2011
+ S = g.splice(0, 1)[0];
2012
+ break;
2013
+ case Pe:
2014
+ S = g.contents.splice(0, 1)[0];
2015
+ break;
2016
+ }
2017
+ d = [A, S, F, " ", g, C];
2018
+ } else d = [c ? A : "", F, c ? " " : A, g, C];
2019
+ }
2020
+ let { parent: b } = e, B = T(i.left, x.Trailing | x.Line);
2021
+ if ((B || !(s && i.type === "LogicalExpression") && b.type !== i.type && i.left.type !== i.type && i.right.type !== i.type) && (d = l(d, { shouldBreak: B })), t.experimentalOperatorPosition === "start" ? o.push(u || D ? " " : "", d) : o.push(c ? "" : " ", d), n && T(i)) {
2022
+ let h = Qt(De(e, o, t));
2023
+ return h.type === Me ? h.parts : Array.isArray(h) ? h : [h];
2024
+ }
2025
+ return o;
2026
+ }
2027
+ function er(e) {
2028
+ return e.type !== "LogicalExpression" ? !1 : !!(se(e.right) && e.right.properties.length > 0 || q(e.right) && e.right.elements.length > 0 || H(e.right));
2029
+ }
2030
+ function yl(e, t) {
2031
+ return (t.parser === "__vue_expression" || t.parser === "__vue_ts_expression") && Ro(e.node) && !e.hasAncestor((r) => !Ro(r) && r.type !== "JsExpressionRoot");
2032
+ }
2033
+ function El(e) {
2034
+ if (e.key !== "arguments") return !1;
2035
+ let { parent: t } = e;
2036
+ if (!(M(t) && !t.optional && t.arguments.length === 1)) return !1;
2037
+ let { callee: r } = t;
2038
+ return r.type === "Identifier" && r.name === "Boolean";
2039
+ }
2040
+ function un(e, t, r) {
2041
+ let { node: n } = e, { parent: s } = e, i = s.type !== "TypeParameterInstantiation" && (!Ue(s) || !t.experimentalTernaries) && s.type !== "TSTypeParameterInstantiation" && s.type !== "GenericTypeAnnotation" && s.type !== "TSTypeReference" && s.type !== "TSTypeAssertion" && s.type !== "TupleTypeAnnotation" && s.type !== "TSTupleType" && !(s.type === "FunctionTypeParam" && !s.name && e.grandparent.this !== s) && !((Cr(s) || s.type === "VariableDeclarator") && Ee(t.originalText, n)) && !(Cr(s) && T(s.id, x.Trailing | x.Line)), o = xs(n), u = e.map(() => {
2042
+ let C = r();
2043
+ return o || (C = xe(2, C)), De(e, C, t);
2044
+ }, "types"), p = "", c = "";
2045
+ if (Yr(e) && ({ leading: p, trailing: c } = Mt(e, t)), o) return [p, L(" | ", u), c];
2046
+ let y = i && !Ee(t.originalText, n), D = [P([y ? A : "", "| "]), L([A, "| "], u)];
2047
+ if (ge(e, t)) return [p, l([m(D), f]), c];
2048
+ let F = [p, l(D)];
2049
+ return (s.type === "TupleTypeAnnotation" || s.type === "TSTupleType") && s[s.type === "TupleTypeAnnotation" && s.types ? "types" : "elementTypes"].length > 1 ? [l([m([P(["(", f]), F]), f, P(")")]), c] : [l(i ? m(F) : F), c];
2050
+ }
2051
+ function xs(e) {
2052
+ let { types: t } = e;
2053
+ if (t.some((n) => T(n))) return !1;
2054
+ let r = t.find((n) => dl(n));
2055
+ return r ? t.every((n) => n === r || Fl(n)) : !1;
2056
+ }
2057
+ function Jo(e) {
2058
+ return Vt(e) || Je(e) ? !0 : Se(e) ? xs(e) : !1;
2059
+ }
2060
+ function G(e, t, r = "typeAnnotation") {
2061
+ let { node: { [r]: n } } = e;
2062
+ if (!n) return "";
2063
+ let s = !1;
2064
+ if (n.type === "TSTypeAnnotation" || n.type === "TypeAnnotation") {
2065
+ let i = e.call(Go, r);
2066
+ (i === "=>" || i === ":" && T(n, x.Leading)) && (s = !0), Cl.add(n);
2067
+ }
2068
+ return s ? [" ", t(r)] : t(r);
2069
+ }
2070
+ function an(e, t, r) {
2071
+ let n = Go(e);
2072
+ return n ? [n, " ", r("typeAnnotation")] : r("typeAnnotation");
2073
+ }
2074
+ function Al(e, t, r, n) {
2075
+ let { node: s } = e, i = s.inexact ? "..." : "";
2076
+ return T(s, x.Dangling) ? l([r, i, v(e, t, { indent: !0 }), f, n]) : [r, i, n];
2077
+ }
2078
+ function tr(e, t, r) {
2079
+ let { node: n } = e, s = [], i = "[", o = "]", u = n.type === "TupleTypeAnnotation" && n.types ? "types" : n.type === "TSTupleType" || n.type === "TupleTypeAnnotation" ? "elementTypes" : "elements", p = n[u];
2080
+ if (p.length === 0) s.push(Al(e, t, i, o));
2081
+ else {
2082
+ let c = N(0, p, -1), y = c?.type !== "RestElement" && !n.inexact, D = c === null, F = Symbol("array"), C = !t.__inJestEach && p.length > 1 && p.every((B, O, h) => {
2083
+ let g = B?.type;
2084
+ if (!q(B) && !se(B)) return !1;
2085
+ let S = h[O + 1];
2086
+ if (S && g !== S.type) return !1;
2087
+ let j = q(B) ? "elements" : "properties";
2088
+ return B[j] && B[j].length > 1;
2089
+ }), d = gs(n, t), b = y ? D ? "," : ie(t) ? d ? P(",", "", { groupId: F }) : P(",") : "" : "";
2090
+ s.push(l([i, m([f, d ? xl(e, t, r, b) : [Tl(e, t, r, u, n.inexact), b], v(e, t)]), f, o], { shouldBreak: C, id: F }));
2091
+ }
2092
+ return s.push(X(e), G(e, r)), s;
2093
+ }
2094
+ function gs(e, t) {
2095
+ return q(e) && e.elements.length > 0 && e.elements.every((r) => r && (Ce(r) || Hn(r) && !T(r.argument)) && !T(r, x.Trailing | x.Line, (n) => !Z(t.originalText, w(n), { backwards: !0 })));
2096
+ }
2097
+ function Wo({ node: e }, { originalText: t }) {
2098
+ let r = I(e);
2099
+ if (r === w(e)) return !1;
2100
+ let { length: n } = t;
2101
+ for (; r < n && t[r] !== ","; ) r = qt(t, Ut(t, r + 1));
2102
+ return Yt(t, r);
2103
+ }
2104
+ function Tl(e, t, r, n, s) {
2105
+ let i = [];
2106
+ return e.each(({ node: o, isLast: u }) => {
2107
+ i.push(o ? l(r()) : ""), (!u || s) && i.push([",", A, o && Wo(e, t) ? f : ""]);
2108
+ }, n), s && i.push("..."), i;
2109
+ }
2110
+ function xl(e, t, r, n) {
2111
+ let s = [];
2112
+ return e.each(({ isLast: i, next: o }) => {
2113
+ s.push([r(), i ? n : ","]), i || s.push(Wo(e, t) ? [E, E] : T(o, x.Leading | x.Line) ? E : A);
2114
+ }, "elements"), zr(s);
2115
+ }
2116
+ function gl(e, t, r) {
2117
+ let { node: n } = e, s = le(n);
2118
+ if (s.length === 0) return ["(", v(e, t), ")"];
2119
+ let i = s.length - 1;
2120
+ if (Bl(s)) {
2121
+ let D = ["("];
2122
+ return $t(e, (F, C) => {
2123
+ D.push(r()), C !== i && D.push(", ");
2124
+ }), D.push(")"), D;
2125
+ }
2126
+ let o = !1, u = [];
2127
+ $t(e, ({ node: D }, F) => {
2128
+ let C = r();
2129
+ F === i || (oe(D, t) ? (o = !0, C = [C, ",", E, E]) : C = [C, ",", A]), u.push(C);
2130
+ });
2131
+ let p = !t.parser.startsWith("__ng_") && n.type !== "ImportExpression" && n.type !== "TSImportType" && n.type !== "TSExternalModuleReference" && ie(t, "all") ? "," : "";
2132
+ function c() {
2133
+ return l(["(", m([A, ...u]), p, A, ")"], { shouldBreak: !0 });
2134
+ }
2135
+ if (o || e.parent.type !== "Decorator" && Ci(s)) return c();
2136
+ if (Sl(s)) {
2137
+ let D = u.slice(1);
2138
+ if (D.some(ne)) return c();
2139
+ let F;
2140
+ try {
2141
+ F = r($n(n, 0), { expandFirstArg: !0 });
2142
+ } catch (C) {
2143
+ if (C instanceof Et) return c();
2144
+ throw C;
2145
+ }
2146
+ return ne(F) ? [ke, nt([["(", l(F, { shouldBreak: !0 }), ", ", ...D, ")"], c()])] : nt([["(", F, ", ", ...D, ")"], ["(", l(F, { shouldBreak: !0 }), ", ", ...D, ")"], c()]);
2147
+ }
2148
+ if (hl(s, u, t)) {
2149
+ let D = u.slice(0, -1);
2150
+ if (D.some(ne)) return c();
2151
+ let F;
2152
+ try {
2153
+ F = r($n(n, -1), { expandLastArg: !0 });
2154
+ } catch (C) {
2155
+ if (C instanceof Et) return c();
2156
+ throw C;
2157
+ }
2158
+ return ne(F) ? [ke, nt([["(", ...D, l(F, { shouldBreak: !0 }), ")"], c()])] : nt([["(", ...D, F, ")"], ["(", ...D, l(F, { shouldBreak: !0 }), ")"], c()]);
2159
+ }
2160
+ let y = ["(", m([f, ...u]), P(p), f, ")"];
2161
+ return Ur(e) ? y : l(y, { shouldBreak: u.some(ne) || o });
2162
+ }
2163
+ function gr(e, t = !1) {
2164
+ return se(e) && (e.properties.length > 0 || T(e)) || q(e) && (e.elements.length > 0 || T(e)) || e.type === "TSTypeAssertion" && gr(e.expression) || Ae(e) && gr(e.expression) || e.type === "FunctionExpression" || e.type === "ArrowFunctionExpression" && (!e.returnType || !e.returnType.typeAnnotation || e.returnType.typeAnnotation.type !== "TSTypeReference" || bl(e.body)) && (e.body.type === "BlockStatement" || e.body.type === "ArrowFunctionExpression" && gr(e.body, !0) || se(e.body) || q(e.body) || !t && (M(e.body) || e.body.type === "ConditionalExpression") || H(e.body)) || e.type === "DoExpression" || e.type === "ModuleExpression";
2165
+ }
2166
+ function hl(e, t, r) {
2167
+ let n = N(0, e, -1);
2168
+ if (e.length === 1) {
2169
+ let i = N(0, t, -1);
2170
+ if (i.label?.embed && i.label?.hug !== !1) return !0;
2171
+ }
2172
+ let s = N(0, e, -2);
2173
+ return !T(n, x.Leading) && !T(n, x.Trailing) && gr(n) && (!s || s.type !== n.type) && (e.length !== 2 || s.type !== "ArrowFunctionExpression" || !q(n)) && !(e.length > 1 && gs(n, r));
2174
+ }
2175
+ function Sl(e) {
2176
+ if (e.length !== 2) return !1;
2177
+ let [t, r] = e;
2178
+ return t.type === "ModuleExpression" && Pl(r) ? !0 : !T(t) && (t.type === "FunctionExpression" || t.type === "ArrowFunctionExpression" && t.body.type === "BlockStatement") && r.type !== "FunctionExpression" && r.type !== "ArrowFunctionExpression" && r.type !== "ConditionalExpression" && Uo(r) && !gr(r);
2179
+ }
2180
+ function Uo(e) {
2181
+ if (e.type === "ParenthesizedExpression") return Uo(e.expression);
2182
+ if (Ae(e) || e.type === "TypeCastExpression") {
2183
+ let { typeAnnotation: t } = e;
2184
+ if (t.type === "TypeAnnotation" && (t = t.typeAnnotation), t.type === "TSArrayType" && (t = t.elementType, t.type === "TSArrayType" && (t = t.elementType)), t.type === "GenericTypeAnnotation" || t.type === "TSTypeReference") {
2185
+ let r = t.type === "GenericTypeAnnotation" ? t.typeParameters : t.typeArguments;
2186
+ r?.params.length === 1 && (t = r.params[0]);
2187
+ }
2188
+ return Vt(t) && Re(e.expression, 1);
2189
+ }
2190
+ return Dt(e) && le(e).length > 1 ? !1 : Te(e) ? Re(e.left, 1) && Re(e.right, 1) : Xn(e) || Re(e);
2191
+ }
2192
+ function Bl(e) {
2193
+ return e.length === 2 ? qo(e, 0) : e.length === 3 ? e[0].type === "Identifier" && qo(e, 1) : !1;
2194
+ }
2195
+ function qo(e, t) {
2196
+ let r = e[t], n = e[t + 1];
2197
+ return r.type === "ArrowFunctionExpression" && K(r).length === 0 && r.body.type === "BlockStatement" && n.type === "ArrayExpression" && !e.some((s) => T(s));
2198
+ }
2199
+ function bl(e) {
2200
+ return e.type === "BlockStatement" && (e.body.some((t) => t.type !== "EmptyStatement") || T(e, x.Dangling));
2201
+ }
2202
+ function Pl(e) {
2203
+ if (!(e.type === "ObjectExpression" && e.properties.length === 1)) return !1;
2204
+ let [t] = e.properties;
2205
+ return Oe(t) ? !t.computed && (t.key.type === "Identifier" && t.key.name === "type" || V(t.key) && t.key.value === "type") && V(t.value) && t.value.value === "module" : !1;
2206
+ }
2207
+ function Yo(e, t, r) {
2208
+ return [r("object"), l(m([f, hs(e, t, r)]))];
2209
+ }
2210
+ function hs(e, t, r) {
2211
+ return ["::", r("callee")];
2212
+ }
2213
+ function Il(e) {
2214
+ let { node: t, ancestors: r } = e;
2215
+ for (let n of r) {
2216
+ if (!(J(n) && n.object === t || n.type === "TSNonNullExpression" && n.expression === t)) return n.type === "NewExpression" && n.callee === t;
2217
+ t = n;
2218
+ }
2219
+ return !1;
2220
+ }
2221
+ function Ho(e, t, r) {
2222
+ let n = r("object"), s = Ss(e, t, r), { node: i } = e, o = e.findAncestor((c) => !(J(c) || c.type === "TSNonNullExpression")), u = e.findAncestor((c) => !(c.type === "ChainExpression" || c.type === "TSNonNullExpression")), p = o.type === "BindExpression" || o.type === "AssignmentExpression" && o.left.type !== "Identifier" || Il(e) || i.computed || i.object.type === "Identifier" && i.property.type === "Identifier" && !J(u) || (u.type === "AssignmentExpression" || u.type === "VariableDeclarator") && (kl(i.object) || n.label?.memberChain);
2223
+ return pt(n.label, [n, p ? s : l(m([f, s]))]);
2224
+ }
2225
+ function Ss(e, t, r) {
2226
+ let n = r("property"), { node: s } = e, i = X(e);
2227
+ return s.computed ? !s.property || Ce(s.property) ? [i, "[", n, "]"] : l([i, "[", m([f, n]), f, "]"]) : [i, ".", n];
2228
+ }
2229
+ function Xo(e, t, r) {
2230
+ if (e.node.type === "ChainExpression") return e.call(() => Xo(e, t, r), "expression");
2231
+ let n = (e.parent.type === "ChainExpression" ? e.grandparent : e.parent).type === "ExpressionStatement", s = [];
2232
+ function i(_) {
2233
+ let { originalText: re } = t, ae = at(re, I(_));
2234
+ return re.charAt(ae) === ")" ? ae !== !1 && Yt(re, ae + 1) : oe(_, t);
2235
+ }
2236
+ function o() {
2237
+ let { node: _ } = e;
2238
+ if (_.type === "ChainExpression") return e.call(o, "expression");
2239
+ if (M(_) && (Tt(_.callee) || M(_.callee))) {
2240
+ let re = i(_);
2241
+ s.unshift({ node: _, hasTrailingEmptyLine: re, printed: [De(e, [X(e), r("typeArguments"), hr(e, t, r)], t), re ? E : ""] }), e.call(o, "callee");
2242
+ } else Tt(_) ? (s.unshift({ node: _, needsParens: ge(e, t), printed: De(e, J(_) ? Ss(e, t, r) : hs(e, t, r), t) }), e.call(o, "object")) : _.type === "TSNonNullExpression" ? (s.unshift({ node: _, printed: De(e, "!", t) }), e.call(o, "expression")) : s.unshift({ node: _, printed: r() });
2243
+ }
2244
+ let { node: u } = e;
2245
+ s.unshift({ node: u, printed: [X(e), r("typeArguments"), hr(e, t, r)] }), u.callee && e.call(o, "callee");
2246
+ let p = [], c = [s[0]], y = 1;
2247
+ for (; y < s.length && (s[y].node.type === "TSNonNullExpression" || M(s[y].node) || J(s[y].node) && s[y].node.computed && Ce(s[y].node.property)); ++y) c.push(s[y]);
2248
+ if (!M(s[0].node)) for (; y + 1 < s.length && Tt(s[y].node) && Tt(s[y + 1].node); ++y) c.push(s[y]);
2249
+ p.push(c), c = [];
2250
+ let D = !1;
2251
+ for (; y < s.length; ++y) {
2252
+ if (D && Tt(s[y].node)) {
2253
+ if (s[y].node.computed && Ce(s[y].node.property)) {
2254
+ c.push(s[y]);
2255
+ continue;
2256
+ }
2257
+ p.push(c), c = [], D = !1;
2258
+ }
2259
+ (M(s[y].node) || s[y].node.type === "ImportExpression") && (D = !0), c.push(s[y]), T(s[y].node, x.Trailing) && (p.push(c), c = [], D = !1);
2260
+ }
2261
+ c.length > 0 && p.push(c);
2262
+ function F(_) {
2263
+ return /^[A-Z]|^[$_]+$/u.test(_);
2264
+ }
2265
+ function C(_) {
2266
+ return _.length <= t.tabWidth;
2267
+ }
2268
+ function d(_) {
2269
+ let re = _[1][0]?.node.computed;
2270
+ if (_[0].length === 1) {
2271
+ let it = _[0][0].node;
2272
+ return it.type === "ThisExpression" || it.type === "Identifier" && (F(it.name) || n && C(it.name) || re);
2273
+ }
2274
+ let ae = N(0, _[0], -1).node;
2275
+ return J(ae) && ae.property.type === "Identifier" && (F(ae.property.name) || re);
2276
+ }
2277
+ let b = p.length >= 2 && !T(p[1][0].node) && d(p);
2278
+ function B(_) {
2279
+ let re = _.map((ae) => ae.printed);
2280
+ return _.length > 0 && N(0, _, -1).needsParens ? ["(", ...re, ")"] : re;
2281
+ }
2282
+ function O(_) {
2283
+ return _.length === 0 ? "" : m([E, L(E, _.map(B))]);
2284
+ }
2285
+ let h = p.map(B), g = h, S = b ? 3 : 2, j = p.flat(), U = j.slice(1, -1).some((_) => T(_.node, x.Leading)) || j.slice(0, -1).some((_) => T(_.node, x.Trailing)) || p[S] && T(p[S][0].node, x.Leading);
2286
+ if (p.length <= S && !U && !p.some((_) => N(0, _, -1).hasTrailingEmptyLine)) return Ur(e) ? g : l(g);
2287
+ let fe = N(0, p[b ? 1 : 0], -1).node, Y = !M(fe) && i(fe), z = [B(p[0]), b ? p.slice(1, 2).map(B) : "", Y ? E : "", O(p.slice(b ? 2 : 1))], ee = s.map(({ node: _ }) => _).filter(M);
2288
+ function Ie() {
2289
+ let _ = N(0, N(0, p, -1), -1).node, re = N(0, h, -1);
2290
+ return M(_) && ne(re) && ee.slice(0, -1).some((ae) => ae.arguments.some(Ht));
2291
+ }
2292
+ let st;
2293
+ return U || ee.length > 2 && ee.some((_) => !_.arguments.every((re) => Re(re))) || h.slice(0, -1).some(ne) || Ie() ? st = l(z) : st = [ne(g) || Y ? ke : "", nt([g, z])], pt({ memberChain: !0 }, st);
2294
+ }
2295
+ function vt(e, t, r) {
2296
+ let { node: n } = e, s = n.type === "NewExpression", i = X(e), o = le(n), u = n.type !== "TSImportType" && n.typeArguments ? r("typeArguments") : "", p = o.length === 1 && Wr(o[0], t.originalText);
2297
+ if (p || Ol(e) || wl(e) || It(n, e.parent)) {
2298
+ let D = [];
2299
+ if ($t(e, () => {
2300
+ D.push(r());
2301
+ }), !(p && D[0].label?.embed)) return [s ? "new " : "", $o(e, r), i, u, "(", L(", ", D), ")"];
2302
+ }
2303
+ let c = n.type === "ImportExpression" || n.type === "TSImportType" || n.type === "TSExternalModuleReference";
2304
+ if (!c && !s && Tt(n.callee) && !e.call(() => ge(e, t), "callee", ...n.callee.type === "ChainExpression" ? ["expression"] : [])) return Vo(e, t, r);
2305
+ let y = [s ? "new " : "", $o(e, r), i, u, hr(e, t, r)];
2306
+ return c || M(n.callee) ? l(y) : y;
2307
+ }
2308
+ function $o(e, t) {
2309
+ let { node: r } = e;
2310
+ return r.type === "ImportExpression" ? `import${r.phase ? `.${r.phase}` : ""}` : r.type === "TSImportType" ? "import" : r.type === "TSExternalModuleReference" ? "require" : t("callee");
2311
+ }
2312
+ function Ol(e) {
2313
+ let { node: t } = e;
2314
+ if (!(t.type === "ImportExpression" || t.type === "TSImportType" || t.type === "TSExternalModuleReference" || t.type === "CallExpression" && !t.optional && Pt(t.callee, Ll))) return !1;
2315
+ let r = le(t);
2316
+ return r.length === 1 && V(r[0]) && !T(r[0]);
2317
+ }
2318
+ function wl(e) {
2319
+ let { node: t } = e;
2320
+ if (t.type !== "CallExpression" || t.optional || t.callee.type !== "Identifier") return !1;
2321
+ let r = le(t);
2322
+ return t.callee.name === "require" ? (r.length === 1 && V(r[0]) || r.length > 1) && !T(r[0]) : t.callee.name === "define" && e.parent.type === "ExpressionStatement" ? r.length === 1 || r.length === 2 && r[0].type === "ArrayExpression" || r.length === 3 && V(r[0]) && r[1].type === "ArrayExpression" : !1;
2323
+ }
2324
+ function ht(e, t, r, n, s, i) {
2325
+ let o = _l(e, t, r, n, i), u = i ? r(i, { assignmentLayout: o }) : "";
2326
+ switch (o) {
2327
+ case "break-after-operator":
2328
+ return l([l(n), s, l(m([A, u]))]);
2329
+ case "never-break-after-operator":
2330
+ return l([l(n), s, " ", u]);
2331
+ case "fluid": {
2332
+ let p = Symbol("assignment");
2333
+ return l([l(n), s, l(m(A), { id: p }), je, yt(u, { groupId: p })]);
2334
+ }
2335
+ case "break-lhs":
2336
+ return l([n, s, " ", l(u)]);
2337
+ case "chain":
2338
+ return [l(n), s, A, u];
2339
+ case "chain-tail":
2340
+ return [l(n), s, m([A, u])];
2341
+ case "chain-tail-arrow-chain":
2342
+ return [l(n), s, u];
2343
+ case "only-left":
2344
+ return n;
2345
+ }
2346
+ }
2347
+ function zo(e, t, r) {
2348
+ let { node: n } = e;
2349
+ return ht(e, t, r, r("left"), [" ", n.operator], "right");
2350
+ }
2351
+ function Zo(e, t, r) {
2352
+ return ht(e, t, r, r("id"), " =", "init");
2353
+ }
2354
+ function _l(e, t, r, n, s) {
2355
+ let { node: i } = e, o = i[s];
2356
+ if (!o) return "only-left";
2357
+ let u = !pn(o);
2358
+ if (e.match(pn, eu, (F) => !u || F.type !== "ExpressionStatement" && F.type !== "VariableDeclaration")) return u ? o.type === "ArrowFunctionExpression" && o.body.type === "ArrowFunctionExpression" ? "chain-tail-arrow-chain" : "chain-tail" : "chain";
2359
+ if (!u && pn(o.right) || Ee(t.originalText, o)) return "break-after-operator";
2360
+ if (i.type === "ImportAttribute" || o.type === "CallExpression" && o.callee.name === "require" || t.parser === "json5" || t.parser === "jsonc" || t.parser === "json") return "never-break-after-operator";
2361
+ let y = Xi(n);
2362
+ if (Nl(i) || Rl(i) || Bs(i) && y) return "break-lhs";
2363
+ let D = Jl(i, n, t);
2364
+ return e.call(() => Ml(e, t, r, D), s) ? "break-after-operator" : jl(i) ? "break-lhs" : !y && (D || o.type === "TemplateLiteral" || o.type === "TaggedTemplateExpression" || yi(o) || Ce(o) || o.type === "ClassExpression") ? "never-break-after-operator" : "fluid";
2365
+ }
2366
+ function Ml(e, t, r, n) {
2367
+ let s = e.node;
2368
+ if (Te(s) && !er(s)) return !0;
2369
+ switch (s.type) {
2370
+ case "StringLiteralTypeAnnotation":
2371
+ case "SequenceExpression":
2372
+ return !0;
2373
+ case "TSConditionalType":
2374
+ case "ConditionalTypeAnnotation":
2375
+ if (!t.experimentalTernaries && !ql(s)) break;
2376
+ return !0;
2377
+ case "ConditionalExpression": {
2378
+ if (!t.experimentalTernaries) {
2379
+ let { test: c } = s;
2380
+ return Te(c) && !er(c);
2381
+ }
2382
+ let { consequent: u, alternate: p } = s;
2383
+ return u.type === "ConditionalExpression" || p.type === "ConditionalExpression";
2384
+ }
2385
+ case "ClassExpression":
2386
+ return R(s.decorators);
2387
+ }
2388
+ if (n) return !1;
2389
+ let i = s, o = [];
2390
+ for (; ; ) if (i.type === "UnaryExpression" || i.type === "AwaitExpression" || i.type === "YieldExpression" && i.argument !== null) i = i.argument, o.push("argument");
2391
+ else if (i.type === "TSNonNullExpression") i = i.expression, o.push("expression");
2392
+ else break;
2393
+ return !!(V(i) || e.call(() => tu(e, t, r), ...o));
2394
+ }
2395
+ function Nl(e) {
2396
+ if (eu(e)) {
2397
+ let t = e.left || e.id;
2398
+ return t.type === "ObjectPattern" && t.properties.length > 2 && t.properties.some((r) => Oe(r) && (!r.shorthand || r.value?.type === "AssignmentPattern"));
2399
+ }
2400
+ return !1;
2401
+ }
2402
+ function pn(e) {
2403
+ return e.type === "AssignmentExpression";
2404
+ }
2405
+ function eu(e) {
2406
+ return pn(e) || e.type === "VariableDeclarator";
2407
+ }
2408
+ function jl(e) {
2409
+ let t = vl(e);
2410
+ if (R(t)) {
2411
+ let r = e.type === "TSTypeAliasDeclaration" ? "constraint" : "bound";
2412
+ if (t.length > 1 && t.some((n) => n[r] || n.default)) return !0;
2413
+ }
2414
+ return !1;
2415
+ }
2416
+ function vl(e) {
2417
+ if (Cr(e)) return e.typeParameters?.params;
2418
+ }
2419
+ function Rl(e) {
2420
+ if (e.type !== "VariableDeclarator") return !1;
2421
+ let { typeAnnotation: t } = e.id;
2422
+ if (!t || !t.typeAnnotation) return !1;
2423
+ let r = Ko(t.typeAnnotation);
2424
+ return R(r) && r.length > 1 && r.some((n) => R(Ko(n)) || n.type === "TSConditionalType");
2425
+ }
2426
+ function Bs(e) {
2427
+ return e.type === "VariableDeclarator" && e.init?.type === "ArrowFunctionExpression";
2428
+ }
2429
+ function Ko(e) {
2430
+ let t;
2431
+ switch (e.type) {
2432
+ case "GenericTypeAnnotation":
2433
+ t = e.typeParameters;
2434
+ break;
2435
+ case "TSTypeReference":
2436
+ t = e.typeArguments;
2437
+ break;
2438
+ }
2439
+ return t?.params;
2440
+ }
2441
+ function tu(e, t, r, n = !1) {
2442
+ let { node: s } = e, i = () => tu(e, t, r, !0);
2443
+ if (s.type === "ChainExpression" || s.type === "TSNonNullExpression") return e.call(i, "expression");
2444
+ if (M(s)) {
2445
+ if (vt(e, t, r).label?.memberChain) return !1;
2446
+ let u = le(s);
2447
+ return !(u.length === 0 || u.length === 1 && Fr(u[0], t)) || Gl(s, r) ? !1 : e.call(i, "callee");
2448
+ }
2449
+ return J(s) ? e.call(i, "object") : n && (s.type === "Identifier" || s.type === "ThisExpression");
2450
+ }
2451
+ function Jl(e, t, r) {
2452
+ return Oe(e) ? (t = Qt(t), typeof t == "string" && ot(t) < r.tabWidth + 3) : !1;
2453
+ }
2454
+ function Gl(e, t) {
2455
+ let r = Wl(e);
2456
+ if (R(r)) {
2457
+ if (r.length > 1) return !0;
2458
+ if (r.length === 1) {
2459
+ let s = r[0];
2460
+ if (Se(s) || xt(s) || s.type === "TSTypeLiteral" || s.type === "ObjectTypeAnnotation") return !0;
2461
+ }
2462
+ let n = e.typeParameters ? "typeParameters" : "typeArguments";
2463
+ if (ne(t(n))) return !0;
2464
+ }
2465
+ return !1;
2466
+ }
2467
+ function Wl(e) {
2468
+ return (e.typeParameters ?? e.typeArguments)?.params;
2469
+ }
2470
+ function Qo(e) {
2471
+ switch (e.type) {
2472
+ case "FunctionTypeAnnotation":
2473
+ case "GenericTypeAnnotation":
2474
+ case "TSFunctionType":
2475
+ return !!e.typeParameters;
2476
+ case "TSTypeReference":
2477
+ return !!e.typeArguments;
2478
+ default:
2479
+ return !1;
2480
+ }
2481
+ }
2482
+ function ql(e) {
2483
+ return Qo(e.checkType) || Qo(e.extendsType);
2484
+ }
2485
+ function nu(e) {
2486
+ return /^(?:\d+|\d+\.\d+)$/u.test(e);
2487
+ }
2488
+ function ru(e, t) {
2489
+ return t.parser === "json" || t.parser === "jsonc" || !V(e.key) || ut(pe(e.key), t).slice(1, -1) !== e.key.value ? !1 : !!(vo(e.key.value) && !(t.parser === "babel-ts" && e.type === "ClassProperty" || (t.parser === "typescript" || t.parser === "oxc-ts") && e.type === "PropertyDefinition") || nu(e.key.value) && String(Number(e.key.value)) === e.key.value && e.type !== "ImportAttribute" && (t.parser === "babel" || t.parser === "acorn" || t.parser === "oxc" || t.parser === "espree" || t.parser === "meriyah" || t.parser === "__babel_estree"));
2490
+ }
2491
+ function Ul(e, t) {
2492
+ let { key: r } = e.node;
2493
+ return (r.type === "Identifier" || Ce(r) && nu(dt(pe(r))) && String(r.value) === dt(pe(r)) && !(t.parser === "typescript" || t.parser === "babel-ts" || t.parser === "oxc-ts")) && (t.parser === "json" || t.parser === "jsonc" || t.quoteProps === "consistent" && cn.get(e.parent));
2494
+ }
2495
+ function Ct(e, t, r) {
2496
+ let { node: n } = e;
2497
+ if (n.computed) return ["[", r("key"), "]"];
2498
+ let { parent: s } = e, { key: i } = n;
2499
+ if (t.quoteProps === "consistent" && !cn.has(s)) {
2500
+ let o = e.siblings.some((u) => !u.computed && V(u.key) && !ru(u, t));
2501
+ cn.set(s, o);
2502
+ }
2503
+ if (Ul(e, t)) {
2504
+ let o = ut(JSON.stringify(i.type === "Identifier" ? i.name : i.value.toString()), t);
2505
+ return e.call(() => De(e, o, t), "key");
2506
+ }
2507
+ return ru(n, t) && (t.quoteProps === "as-needed" || t.quoteProps === "consistent" && !cn.get(s)) ? e.call(() => De(e, /^\d/u.test(i.value) ? dt(i.value) : i.value, t), "key") : r("key");
2508
+ }
2509
+ function ln(e, t, r) {
2510
+ let { node: n } = e;
2511
+ return n.shorthand ? r("value") : ht(e, t, r, Ct(e, t, r), ":", "value");
2512
+ }
2513
+ function mn(e, t, r, n) {
2514
+ if (Yl(e)) return Dn(e, t, r);
2515
+ let { node: s } = e, i = !1;
2516
+ if ((s.type === "FunctionDeclaration" || s.type === "FunctionExpression") && n?.expandLastArg) {
2517
+ let { parent: y } = e;
2518
+ M(y) && (le(y).length > 1 || K(s).every((D) => D.type === "Identifier" && !D.typeAnnotation)) && (i = !0);
2519
+ }
2520
+ let o = [Q(e), s.async ? "async " : "", `function${s.generator ? "*" : ""} `, s.id ? r("id") : ""], u = Ke(e, t, r, i), p = rr(e, r), c = lt(s, p);
2521
+ return o.push(r("typeParameters"), l([c ? l(u) : u, p]), s.body ? " " : "", r("body")), t.semi && (s.declare || !s.body) && o.push(";"), o;
2522
+ }
2523
+ function Sr(e, t, r) {
2524
+ let { node: n } = e, { kind: s } = n, i = n.value || n, o = [];
2525
+ return !s || s === "init" || s === "method" || s === "constructor" ? i.async && o.push("async ") : (Le(s === "get" || s === "set"), o.push(s, " ")), i.generator && o.push("*"), o.push(Ct(e, t, r), n.optional ? "?" : "", n === i ? Dn(e, t, r) : r("value")), o;
2526
+ }
2527
+ function Dn(e, t, r) {
2528
+ let { node: n } = e, s = Ke(e, t, r), i = rr(e, r), o = jo(n), u = lt(n, i), p = [r("typeParameters"), l([o ? l(s, { shouldBreak: !0 }) : u ? l(s) : s, i])];
2529
+ return n.body ? p.push(" ", r("body")) : p.push(t.semi ? ";" : ""), p;
2530
+ }
2531
+ function Hl(e) {
2532
+ let t = K(e);
2533
+ return t.length === 1 && !e.typeParameters && !T(e, x.Dangling) && t[0].type === "Identifier" && !t[0].typeAnnotation && !T(t[0]) && !t[0].optional && !e.predicate && !e.returnType;
2534
+ }
2535
+ function fn(e, t) {
2536
+ if (t.arrowParens === "always") return !1;
2537
+ if (t.arrowParens === "avoid") {
2538
+ let { node: r } = e;
2539
+ return Hl(r);
2540
+ }
2541
+ return !1;
2542
+ }
2543
+ function rr(e, t) {
2544
+ let { node: r } = e, s = [G(e, t, "returnType")];
2545
+ return r.predicate && s.push(t("predicate")), s;
2546
+ }
2547
+ function su(e, t, r) {
2548
+ let { node: n } = e, s = [];
2549
+ if (n.argument) {
2550
+ let u = r("argument");
2551
+ Xl(t, n.argument) ? u = ["(", m([E, u]), E, ")"] : (Te(n.argument) || t.experimentalTernaries && n.argument.type === "ConditionalExpression" && (n.argument.consequent.type === "ConditionalExpression" || n.argument.alternate.type === "ConditionalExpression")) && (u = l([P("("), m([f, u]), f, P(")")])), s.push(" ", u);
2552
+ }
2553
+ let i = T(n, x.Dangling), o = t.semi && i && T(n, x.Last | x.Line);
2554
+ return o && s.push(";"), i && s.push(" ", v(e, t)), !o && t.semi && s.push(";"), s;
2555
+ }
2556
+ function iu(e, t, r) {
2557
+ return ["return", su(e, t, r)];
2558
+ }
2559
+ function ou(e, t, r) {
2560
+ return ["throw", su(e, t, r)];
2561
+ }
2562
+ function Xl(e, t) {
2563
+ if (Ee(e.originalText, t) || T(t, x.Leading, (r) => ue(e.originalText, w(r), I(r))) && !H(t)) return !0;
2564
+ if (Xt(t)) {
2565
+ let r = t, n;
2566
+ for (; n = mi(r); ) if (r = n, Ee(e.originalText, r)) return !0;
2567
+ }
2568
+ return !1;
2569
+ }
2570
+ function uu(e, t) {
2571
+ if (t.semi || Ps(e, t) || Is(e, t) || ks(e, t)) return !1;
2572
+ let { node: r, key: n, parent: s } = e;
2573
+ return !!(r.type === "ExpressionStatement" && (n === "body" && (s.type === "Program" || s.type === "BlockStatement" || s.type === "StaticBlock" || s.type === "TSModuleBlock") || n === "consequent" && s.type === "SwitchCase") && e.call(() => au(e, t), "expression"));
2574
+ }
2575
+ function au(e, t) {
2576
+ let { node: r } = e;
2577
+ switch (r.type) {
2578
+ case "ParenthesizedExpression":
2579
+ case "TypeCastExpression":
2580
+ case "ArrayExpression":
2581
+ case "ArrayPattern":
2582
+ case "TemplateLiteral":
2583
+ case "TemplateElement":
2584
+ case "RegExpLiteral":
2585
+ return !0;
2586
+ case "ArrowFunctionExpression":
2587
+ if (!fn(e, t)) return !0;
2588
+ break;
2589
+ case "UnaryExpression": {
2590
+ let { prefix: n, operator: s } = r;
2591
+ if (n && (s === "+" || s === "-")) return !0;
2592
+ break;
2593
+ }
2594
+ case "BindExpression":
2595
+ if (!r.object) return !0;
2596
+ break;
2597
+ case "Literal":
2598
+ if (r.regex) return !0;
2599
+ break;
2600
+ default:
2601
+ if (H(r)) return !0;
2602
+ }
2603
+ return ge(e, t) ? !0 : Xt(r) ? e.call(() => au(e, t), ...Rr(r)) : !1;
2604
+ }
2605
+ function Ps(e, t) {
2606
+ return (t.parentParser === "markdown" || t.parentParser === "mdx") && bs(e) && H(e.node.expression);
2607
+ }
2608
+ function ks(e, t) {
2609
+ return t.__isHtmlInlineEventHandler && bs(e);
2610
+ }
2611
+ function Is(e, t) {
2612
+ return (t.parser === "__vue_event_binding" || t.parser === "__vue_ts_event_binding") && bs(e);
2613
+ }
2614
+ function Os(e) {
2615
+ if (typeof e != "string") throw new TypeError("Expected a string");
2616
+ return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
2617
+ }
2618
+ function Vl(e, t, r) {
2619
+ let { node: n } = e;
2620
+ if (n.type === "JSXElement" && pm(n)) return [r("openingElement"), r("closingElement")];
2621
+ let s = n.type === "JSXElement" ? r("openingElement") : r("openingFragment"), i = n.type === "JSXElement" ? r("closingElement") : r("closingFragment");
2622
+ if (n.children.length === 1 && n.children[0].type === "JSXExpressionContainer" && (n.children[0].expression.type === "TemplateLiteral" || n.children[0].expression.type === "TaggedTemplateExpression")) return [s, ...e.map(r, "children"), i];
2623
+ n.children = n.children.map((g) => cm(g) ? { type: "JSXText", value: " ", raw: " " } : g);
2624
+ let o = n.children.some(H), u = n.children.filter((g) => g.type === "JSXExpressionContainer").length > 1, p = n.type === "JSXElement" && n.openingElement.attributes.length > 1, c = ne(s) || o || p || u, y = e.parent.rootMarker === "mdx", D = t.singleQuote ? "{' '}" : '{" "}', F = y ? A : P([D, f], " "), C = n.openingElement?.name?.name === "fbt", d = $l(e, t, r, F, C), b = n.children.some((g) => Br(g));
2625
+ for (let g = d.length - 2; g >= 0; g--) {
2626
+ let S = d[g] === "" && d[g + 1] === "", j = d[g] === E && d[g + 1] === "" && d[g + 2] === E, U = (d[g] === f || d[g] === E) && d[g + 1] === "" && d[g + 2] === F, fe = d[g] === F && d[g + 1] === "" && (d[g + 2] === f || d[g + 2] === E), Y = d[g] === F && d[g + 1] === "" && d[g + 2] === F, z = d[g] === f && d[g + 1] === "" && d[g + 2] === E || d[g] === E && d[g + 1] === "" && d[g + 2] === f;
2627
+ j && b || S || U || Y || z ? d.splice(g, 2) : fe && d.splice(g + 1, 2);
2628
+ }
2629
+ for (; d.length > 0 && _s(N(0, d, -1)); ) d.pop();
2630
+ for (; d.length > 1 && _s(d[0]) && _s(d[1]); ) d.shift(), d.shift();
2631
+ let B = [""];
2632
+ for (let [g, S] of d.entries()) {
2633
+ if (S === F) {
2634
+ if (g === 1 && Vi(d[g - 1])) {
2635
+ if (d.length === 2) {
2636
+ B.push([B.pop(), D]);
2637
+ continue;
2638
+ }
2639
+ B.push([D, E], "");
2640
+ continue;
2641
+ } else if (g === d.length - 1) {
2642
+ B.push([B.pop(), D]);
2643
+ continue;
2644
+ } else if (d[g - 1] === "" && d[g - 2] === E) {
2645
+ B.push([B.pop(), D]);
2646
+ continue;
2647
+ }
2648
+ }
2649
+ g % 2 === 0 ? B.push([B.pop(), S]) : B.push(S, ""), ne(S) && (c = !0);
2650
+ }
2651
+ let O = b ? zr(B) : l(B, { shouldBreak: !0 });
2652
+ if (t.cursorNode?.type === "JSXText" && n.children.includes(t.cursorNode) ? O = [Tr, O, Tr] : t.nodeBeforeCursor?.type === "JSXText" && n.children.includes(t.nodeBeforeCursor) ? O = [Tr, O] : t.nodeAfterCursor?.type === "JSXText" && n.children.includes(t.nodeAfterCursor) && (O = [O, Tr]), y) return O;
2653
+ let h = l([s, m([E, O]), E, i]);
2654
+ return c ? h : nt([l([s, ...d, i]), h]);
2655
+ }
2656
+ function $l(e, t, r, n, s) {
2657
+ let i = "", o = [i];
2658
+ function u(c) {
2659
+ i = c, o.push([o.pop(), c]);
2660
+ }
2661
+ function p(c) {
2662
+ c !== "" && (i = c, o.push(c, ""));
2663
+ }
2664
+ return e.each(({ node: c, next: y }) => {
2665
+ if (c.type === "JSXText") {
2666
+ let D = pe(c);
2667
+ if (Br(c)) {
2668
+ let F = yn.split(D, !0);
2669
+ F[0] === "" && (F.shift(), /\n/u.test(F[0]) ? p(lu(s, F[1], c, y)) : p(n), F.shift());
2670
+ let C;
2671
+ if (N(0, F, -1) === "" && (F.pop(), C = F.pop()), F.length === 0) return;
2672
+ for (let [d, b] of F.entries()) d % 2 === 1 ? p(A) : u(b);
2673
+ C !== void 0 ? /\n/u.test(C) ? p(lu(s, i, c, y)) : p(n) : p(cu(s, i, c, y));
2674
+ } else /\n/u.test(D) ? D.match(/\n/gu).length > 1 && p(E) : p(n);
2675
+ } else {
2676
+ let D = r();
2677
+ if (u(D), y && Br(y)) {
2678
+ let C = yn.trim(pe(y)), [d] = yn.split(C);
2679
+ p(cu(s, d, c, y));
2680
+ } else p(E);
2681
+ }
2682
+ }, "children"), o;
2683
+ }
2684
+ function cu(e, t, r, n) {
2685
+ return e ? "" : r.type === "JSXElement" && !r.closingElement || n?.type === "JSXElement" && !n.closingElement ? t.length === 1 ? f : E : f;
2686
+ }
2687
+ function lu(e, t, r, n) {
2688
+ return e ? E : t.length === 1 ? r.type === "JSXElement" && !r.closingElement || n?.type === "JSXElement" && !n.closingElement ? E : f : E;
2689
+ }
2690
+ function Ql(e, t, r) {
2691
+ let { parent: n } = e;
2692
+ if (Kl(n)) return t;
2693
+ let s = zl(e), i = ge(e, r);
2694
+ return l([i ? "" : P("("), m([f, t]), f, i ? "" : P(")")], { shouldBreak: s });
2695
+ }
2696
+ function zl(e) {
2697
+ return e.match(void 0, (t, r) => r === "body" && t.type === "ArrowFunctionExpression", (t, r) => r === "arguments" && M(t)) && (e.match(void 0, void 0, void 0, (t, r) => r === "expression" && t.type === "JSXExpressionContainer") || e.match(void 0, void 0, void 0, (t, r) => r === "expression" && t.type === "ChainExpression", (t, r) => r === "expression" && t.type === "JSXExpressionContainer"));
2698
+ }
2699
+ function Zl(e, t, r) {
2700
+ let { node: n } = e, s = [r("name")];
2701
+ if (n.value) {
2702
+ let i;
2703
+ if (V(n.value)) {
2704
+ let o = pe(n.value), u = W(0, W(0, o.slice(1, -1), "&apos;", "'"), "&quot;", '"'), p = wr(u, t.jsxSingleQuote);
2705
+ u = p === '"' ? W(0, u, '"', "&quot;") : W(0, u, "'", "&apos;"), i = e.call(() => De(e, qe(p + u + p), t), "value");
2706
+ } else i = r("value");
2707
+ s.push("=", i);
2708
+ }
2709
+ return s;
2710
+ }
2711
+ function em(e, t, r) {
2712
+ let { node: n } = e, s = (i, o) => i.type === "JSXEmptyExpression" || !T(i) && (q(i) || se(i) || i.type === "ArrowFunctionExpression" || i.type === "AwaitExpression" && (s(i.argument, i) || i.argument.type === "JSXElement") || M(i) || i.type === "ChainExpression" && M(i.expression) || i.type === "FunctionExpression" || i.type === "TemplateLiteral" || i.type === "TaggedTemplateExpression" || i.type === "DoExpression" || H(o) && (i.type === "ConditionalExpression" || Te(i)));
2713
+ return s(n.expression, e.parent) ? l(["{", r("expression"), je, "}"]) : l(["{", m([f, r("expression")]), f, je, "}"]);
2714
+ }
2715
+ function tm(e, t, r) {
2716
+ let { node: n } = e, s = T(n.name) || T(n.typeArguments);
2717
+ if (n.selfClosing && n.attributes.length === 0 && !s) return ["<", r("name"), r("typeArguments"), " />"];
2718
+ if (n.attributes?.length === 1 && V(n.attributes[0].value) && !n.attributes[0].value.value.includes(`
2719
+ `) && !s && !T(n.attributes[0])) return l(["<", r("name"), r("typeArguments"), " ", ...e.map(r, "attributes"), n.selfClosing ? " />" : ">"]);
2720
+ let i = n.attributes?.some((u) => V(u.value) && u.value.value.includes(`
2721
+ `)), o = t.singleAttributePerLine && n.attributes.length > 1 ? E : A;
2722
+ return l(["<", r("name"), r("typeArguments"), m(e.map(() => [o, r()], "attributes")), ...rm(n, t, s)], { shouldBreak: i });
2723
+ }
2724
+ function rm(e, t, r) {
2725
+ return e.selfClosing ? [A, "/>"] : nm(e, t, r) ? [">"] : [f, ">"];
2726
+ }
2727
+ function nm(e, t, r) {
2728
+ let n = e.attributes.length > 0 && T(N(0, e.attributes, -1), x.Trailing);
2729
+ return e.attributes.length === 0 && !r || (t.bracketSameLine || t.jsxBracketSameLine) && (!r || e.attributes.length > 0) && !n;
2730
+ }
2731
+ function sm(e, t, r) {
2732
+ let { node: n } = e, s = ["</"], i = r("name");
2733
+ return T(n.name, x.Leading | x.Line) ? s.push(m([E, i]), E) : T(n.name, x.Leading | x.Block) ? s.push(" ", i) : s.push(i), s.push(">"), s;
2734
+ }
2735
+ function im(e, t) {
2736
+ let { node: r } = e, n = T(r), s = T(r, x.Line), i = r.type === "JSXOpeningFragment";
2737
+ return [i ? "<" : "</", m([s ? E : n && !i ? " " : "", v(e, t)]), s ? E : "", ">"];
2738
+ }
2739
+ function om(e, t, r) {
2740
+ let n = De(e, Vl(e, t, r), t);
2741
+ return Ql(e, n, t);
2742
+ }
2743
+ function um(e, t) {
2744
+ let { node: r } = e, n = T(r, x.Line);
2745
+ return [v(e, t, { indent: n }), n ? E : ""];
2746
+ }
2747
+ function am(e, t, r) {
2748
+ let { node: n } = e;
2749
+ return ["{", e.call(({ node: s }) => {
2750
+ let i = ["...", r()];
2751
+ return T(s) ? [m([f, De(e, i, t)]), f] : i;
2752
+ }, n.type === "JSXSpreadAttribute" ? "argument" : "expression"), "}"];
2753
+ }
2754
+ function mu(e, t, r) {
2755
+ let { node: n } = e;
2756
+ if (n.type.startsWith("JSX")) switch (n.type) {
2757
+ case "JSXAttribute":
2758
+ return Zl(e, t, r);
2759
+ case "JSXIdentifier":
2760
+ return n.name;
2761
+ case "JSXNamespacedName":
2762
+ return L(":", [r("namespace"), r("name")]);
2763
+ case "JSXMemberExpression":
2764
+ return L(".", [r("object"), r("property")]);
2765
+ case "JSXSpreadAttribute":
2766
+ case "JSXSpreadChild":
2767
+ return am(e, t, r);
2768
+ case "JSXExpressionContainer":
2769
+ return em(e, t, r);
2770
+ case "JSXFragment":
2771
+ case "JSXElement":
2772
+ return om(e, t, r);
2773
+ case "JSXOpeningElement":
2774
+ return tm(e, t, r);
2775
+ case "JSXClosingElement":
2776
+ return sm(e, t, r);
2777
+ case "JSXOpeningFragment":
2778
+ case "JSXClosingFragment":
2779
+ return im(e, t);
2780
+ case "JSXEmptyExpression":
2781
+ return um(e, t);
2782
+ case "JSXText":
2783
+ throw new Error("JSXText should be handled by JSXElement");
2784
+ default:
2785
+ throw new Qe(n, "JSX");
2786
+ }
2787
+ }
2788
+ function pm(e) {
2789
+ if (e.children.length === 0) return !0;
2790
+ if (e.children.length > 1) return !1;
2791
+ let t = e.children[0];
2792
+ return t.type === "JSXText" && !Br(t);
2793
+ }
2794
+ function Br(e) {
2795
+ return e.type === "JSXText" && (yn.hasNonWhitespaceCharacter(pe(e)) || !/\n/u.test(pe(e)));
2796
+ }
2797
+ function cm(e) {
2798
+ return e.type === "JSXExpressionContainer" && V(e.expression) && e.expression.value === " " && !T(e.expression);
2799
+ }
2800
+ function Du(e) {
2801
+ let { node: t, parent: r } = e;
2802
+ if (!H(t) || !H(r)) return !1;
2803
+ let { index: n, siblings: s } = e, i;
2804
+ for (let o = n; o > 0; o--) {
2805
+ let u = s[o - 1];
2806
+ if (!(u.type === "JSXText" && !Br(u))) {
2807
+ i = u;
2808
+ break;
2809
+ }
2810
+ }
2811
+ return i?.type === "JSXExpressionContainer" && i.expression.type === "JSXEmptyExpression" && Ot(i.expression);
2812
+ }
2813
+ function lm(e) {
2814
+ return Ot(e.node) || Du(e);
2815
+ }
2816
+ function yu(e, t, r) {
2817
+ let { node: n } = e;
2818
+ if (n.type.startsWith("NG")) switch (n.type) {
2819
+ case "NGRoot":
2820
+ return r("node");
2821
+ case "NGPipeExpression":
2822
+ return on(e, t, r);
2823
+ case "NGChainedExpression":
2824
+ return l(L([";", A], e.map(() => fm(e) ? r() : ["(", r(), ")"], "expressions")));
2825
+ case "NGEmptyExpression":
2826
+ return "";
2827
+ case "NGMicrosyntax":
2828
+ return e.map(() => [e.isFirst ? "" : fu(e) ? " " : [";", A], r()], "body");
2829
+ case "NGMicrosyntaxKey":
2830
+ return /^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/iu.test(n.name) ? n.name : JSON.stringify(n.name);
2831
+ case "NGMicrosyntaxExpression":
2832
+ return [r("expression"), n.alias === null ? "" : [" as ", r("alias")]];
2833
+ case "NGMicrosyntaxKeyedExpression": {
2834
+ let { index: s, parent: i } = e, o = fu(e) || mm(e) || (s === 1 && (n.key.name === "then" || n.key.name === "else" || n.key.name === "as") || s === 2 && (n.key.name === "else" && i.body[s - 1].type === "NGMicrosyntaxKeyedExpression" && i.body[s - 1].key.name === "then" || n.key.name === "track")) && i.body[0].type === "NGMicrosyntaxExpression";
2835
+ return [r("key"), o ? " " : ": ", r("expression")];
2836
+ }
2837
+ case "NGMicrosyntaxLet":
2838
+ return ["let ", r("key"), n.value === null ? "" : [" = ", r("value")]];
2839
+ case "NGMicrosyntaxAs":
2840
+ return [r("key"), " as ", r("alias")];
2841
+ default:
2842
+ throw new Qe(n, "Angular");
2843
+ }
2844
+ }
2845
+ function fu({ node: e, index: t }) {
2846
+ return e.type === "NGMicrosyntaxKeyedExpression" && e.key.name === "of" && t === 1;
2847
+ }
2848
+ function mm(e) {
2849
+ let { node: t } = e;
2850
+ return e.parent.body[1].key.name === "of" && t.type === "NGMicrosyntaxKeyedExpression" && t.key.name === "track" && t.key.type === "NGMicrosyntaxKey";
2851
+ }
2852
+ function fm({ node: e }) {
2853
+ return Er(e, Dm);
2854
+ }
2855
+ function Ms(e, t, r) {
2856
+ let { node: n } = e;
2857
+ return l([L(A, e.map(r, "decorators")), du(n, t) ? E : A]);
2858
+ }
2859
+ function Eu(e, t, r) {
2860
+ return Cu(e.node) ? [L(E, e.map(r, "declaration", "decorators")), E] : "";
2861
+ }
2862
+ function Fu(e, t, r) {
2863
+ let { node: n, parent: s } = e, { decorators: i } = n;
2864
+ if (!R(i) || Cu(s) || nr(e)) return "";
2865
+ let o = n.type === "ClassExpression" || n.type === "ClassDeclaration" || du(n, t);
2866
+ return [e.key === "declaration" && Di(s) ? E : o ? ke : "", L(A, e.map(r, "decorators")), A];
2867
+ }
2868
+ function du(e, t) {
2869
+ return e.decorators.some((r) => Z(t.originalText, I(r)));
2870
+ }
2871
+ function Cu(e) {
2872
+ if (e.type !== "ExportDefaultDeclaration" && e.type !== "ExportNamedDeclaration" && e.type !== "DeclareExportDeclaration") return !1;
2873
+ let t = e.declaration?.decorators;
2874
+ return R(t) && bt(e, t[0]);
2875
+ }
2876
+ function Au(e) {
2877
+ return Ns.has(e) || Ns.set(e, e.type === "ConditionalExpression" && !ye(e, (t) => t.type === "ObjectExpression")), Ns.get(e);
2878
+ }
2879
+ function Tu(e, t, r, n = {}) {
2880
+ let s = [], i, o = [], u = !1, p = !n.expandLastArg && e.node.body.type === "ArrowFunctionExpression", c;
2881
+ (function O() {
2882
+ let { node: h } = e, g = Em(e, t, r, n);
2883
+ if (s.length === 0) s.push(g);
2884
+ else {
2885
+ let { leading: S, trailing: j } = Mt(e, t);
2886
+ s.push([S, g]), o.unshift(j);
2887
+ }
2888
+ p && (u || (u = h.returnType && K(h).length > 0 || h.typeParameters || K(h).some((S) => S.type !== "Identifier"))), !p || h.body.type !== "ArrowFunctionExpression" ? (i = r("body", n), c = h.body) : e.call(O, "body");
2889
+ })();
2890
+ let y = !Ee(t.originalText, c) && (ym(c) || Fm(c, i, t) || !u && Au(c)), D = e.key === "callee" && Dt(e.parent), F = Symbol("arrow-chain"), C = dm(e, n, { signatureDocs: s, shouldBreak: u }), d = !1, b = !1, B = !1;
2891
+ return p && (D || n.assignmentLayout) && (b = !0, B = !T(e.node, x.Leading & x.Line), d = n.assignmentLayout === "chain-tail-arrow-chain" || D && !y), i = Cm(e, t, n, { bodyDoc: i, bodyComments: o, functionBody: c, shouldPutBodyOnSameLine: y }), l([l(b ? m([B ? f : "", C]) : C, { shouldBreak: d, id: F }), " =>", p ? yt(i, { groupId: F }) : l(i), p && D ? P(f, "", { groupId: F }) : ""]);
2892
+ }
2893
+ function Em(e, t, r, n) {
2894
+ let { node: s } = e, i = [];
2895
+ if (s.async && i.push("async "), fn(e, t)) i.push(r(["params", 0]));
2896
+ else {
2897
+ let u = n.expandLastArg || n.expandFirstArg, p = rr(e, r);
2898
+ if (u) {
2899
+ if (ne(p)) throw new Et();
2900
+ p = l(_t(p));
2901
+ }
2902
+ i.push(l([Ke(e, t, r, u, !0), p]));
2903
+ }
2904
+ let o = v(e, t, { filter(u) {
2905
+ let p = at(t.originalText, I(u));
2906
+ return p !== !1 && t.originalText.slice(p, p + 2) === "=>";
2907
+ } });
2908
+ return o && i.push(" ", o), i;
2909
+ }
2910
+ function Fm(e, t, r) {
2911
+ return q(e) || se(e) || e.type === "ArrowFunctionExpression" || e.type === "DoExpression" || e.type === "BlockStatement" || H(e) || t.label?.hug !== !1 && (t.label?.embed || Wr(e, r.originalText));
2912
+ }
2913
+ function dm(e, t, { signatureDocs: r, shouldBreak: n }) {
2914
+ if (r.length === 1) return r[0];
2915
+ let { parent: s, key: i } = e;
2916
+ return i !== "callee" && Dt(s) || Te(s) ? l([r[0], " =>", m([A, L([" =>", A], r.slice(1))])], { shouldBreak: n }) : i === "callee" && Dt(s) || t.assignmentLayout ? l(L([" =>", A], r), { shouldBreak: n }) : l(m(L([" =>", A], r)), { shouldBreak: n });
2917
+ }
2918
+ function Cm(e, t, r, { bodyDoc: n, bodyComments: s, functionBody: i, shouldPutBodyOnSameLine: o }) {
2919
+ let { node: u, parent: p } = e, c = r.expandLastArg && ie(t, "all") ? P(",") : "", y = (r.expandLastArg || p.type === "JSXExpressionContainer") && !T(u) ? f : "";
2920
+ return o && Au(i) ? [" ", l([P("", "("), m([f, n]), P("", ")"), c, y]), s] : o ? [" ", n, s] : [m([A, n, s]), c, y];
2921
+ }
2922
+ function br(e, t, r, n) {
2923
+ let { node: s } = e, i = [], o = xu(0, s[n], (u) => u.type !== "EmptyStatement");
2924
+ return e.each(({ node: u }) => {
2925
+ u.type !== "EmptyStatement" && (i.push(r()), u !== o && (i.push(E), oe(u, t) && i.push(E)));
2926
+ }, n), i;
2927
+ }
2928
+ function En(e, t, r) {
2929
+ let n = xm(e, t, r), { node: s, parent: i } = e;
2930
+ if (s.type === "Program" && i?.type !== "ModuleExpression") return n ? [n, E] : "";
2931
+ let o = [];
2932
+ if (s.type === "StaticBlock" && o.push("static "), o.push("{"), n) o.push(m([E, n]), E);
2933
+ else {
2934
+ let u = e.grandparent;
2935
+ i.type === "ArrowFunctionExpression" || i.type === "FunctionExpression" || i.type === "FunctionDeclaration" || i.type === "ComponentDeclaration" || i.type === "HookDeclaration" || i.type === "ObjectMethod" || i.type === "ClassMethod" || i.type === "ClassPrivateMethod" || i.type === "ForStatement" || i.type === "WhileStatement" || i.type === "DoWhileStatement" || i.type === "DoExpression" || i.type === "ModuleExpression" || i.type === "CatchClause" && !u.finalizer || i.type === "TSModuleDeclaration" || i.type === "MatchStatementCase" || s.type === "StaticBlock" || o.push(E);
2936
+ }
2937
+ return o.push("}"), o;
2938
+ }
2939
+ function xm(e, t, r) {
2940
+ let { node: n } = e, s = R(n.directives), i = n.body.some((p) => p.type !== "EmptyStatement"), o = T(n, x.Dangling);
2941
+ if (!s && !i && !o) return "";
2942
+ let u = [];
2943
+ return s && (u.push(br(e, t, r, "directives")), (i || o) && (u.push(E), oe(N(0, n.directives, -1), t) && u.push(E))), i && u.push(br(e, t, r, "body")), o && u.push(v(e, t)), u;
2944
+ }
2945
+ function gm(e) {
2946
+ let t = /* @__PURE__ */ new WeakMap();
2947
+ return function(r) {
2948
+ return t.has(r) || t.set(r, Symbol(e)), t.get(r);
2949
+ };
2950
+ }
2951
+ function Rt(e, t, r) {
2952
+ let { node: n } = e, s = [], i = n.type === "ObjectTypeAnnotation", o = !Su(e), u = o ? A : E, p = T(n, x.Dangling), [c, y] = i && n.exact ? ["{|", "|}"] : "{}", D;
2953
+ if (hm(e, ({ node: F, next: C, isLast: d }) => {
2954
+ if (D ?? (D = F), s.push(r()), o && i) {
2955
+ let { parent: b } = e;
2956
+ b.inexact || !d ? s.push(",") : ie(t) && s.push(P(","));
2957
+ }
2958
+ !o && (Sm({ node: F, next: C }, t) || bu({ node: F, next: C }, t)) && s.push(";"), d || (s.push(u), oe(F, t) && s.push(E));
2959
+ }), p && s.push(v(e, t)), n.type === "ObjectTypeAnnotation" && n.inexact) {
2960
+ let F;
2961
+ T(n, x.Dangling) ? F = [T(n, x.Line) || Z(t.originalText, I(N(0, et(n), -1))) ? E : A, "..."] : F = [D ? A : "", "..."], s.push(F);
2962
+ }
2963
+ if (o) {
2964
+ let F = p || t.objectWrap === "preserve" && D && ue(t.originalText, w(n), w(D)), C;
2965
+ if (s.length === 0) C = c + y;
2966
+ else {
2967
+ let d = t.bracketSpacing ? A : f;
2968
+ C = [c, m([d, ...s]), d, y];
2969
+ }
2970
+ return e.match(void 0, (d, b) => b === "typeAnnotation", (d, b) => b === "typeAnnotation", Nt) || e.match(void 0, (d, b) => d.type === "FunctionTypeParam" && b === "typeAnnotation", Nt) ? C : l(C, { shouldBreak: F });
2971
+ }
2972
+ return [c, s.length > 0 ? [m([E, s]), E] : "", y];
2973
+ }
2974
+ function Su(e) {
2975
+ let { node: t } = e;
2976
+ if (t.type === "ObjectTypeAnnotation") {
2977
+ let { key: r, parent: n } = e;
2978
+ return r === "body" && (n.type === "InterfaceDeclaration" || n.type === "DeclareInterface" || n.type === "DeclareClass");
2979
+ }
2980
+ return t.type === "ClassBody" || t.type === "TSInterfaceBody";
2981
+ }
2982
+ function hm(e, t) {
2983
+ let { node: r } = e;
2984
+ if (r.type === "ClassBody" || r.type === "TSInterfaceBody") {
2985
+ e.each(t, "body");
2986
+ return;
2987
+ }
2988
+ if (r.type === "TSTypeLiteral") {
2989
+ e.each(t, "members");
2990
+ return;
2991
+ }
2992
+ if (r.type === "ObjectTypeAnnotation") {
2993
+ let n = ["properties", "indexers", "callProperties", "internalSlots"].flatMap((s) => e.map(({ node: i, index: o }) => ({ node: i, loc: w(i), selector: [s, o] }), s)).sort((s, i) => s.loc - i.loc);
2994
+ for (let [s, { node: i, selector: o }] of n.entries()) e.call(() => t({ node: i, next: n[s + 1]?.node, isLast: s === n.length - 1 }), ...o);
2995
+ }
2996
+ }
2997
+ function he(e, t) {
2998
+ let { parent: r } = e;
2999
+ return e.callParent(Su) ? t.semi || r.type === "ObjectTypeAnnotation" ? ";" : "" : r.type === "TSTypeLiteral" ? e.isLast ? t.semi ? P(";") : "" : t.semi || bu({ node: e.node, next: e.next }, t) ? ";" : P("", ";") : "";
3000
+ }
3001
+ function Sm({ node: e, next: t }, r) {
3002
+ if (r.semi || !hu(e)) return !1;
3003
+ if (!e.value && Bu(e)) return !0;
3004
+ if (!t || t.static || t.accessibility || t.readonly) return !1;
3005
+ if (!t.computed) {
3006
+ let n = t.key?.name;
3007
+ if (n === "in" || n === "instanceof") return !0;
3008
+ }
3009
+ if (hu(t) && t.variance && !t.static && !t.declare) return !0;
3010
+ switch (t.type) {
3011
+ case "ClassProperty":
3012
+ case "PropertyDefinition":
3013
+ case "TSAbstractPropertyDefinition":
3014
+ return t.computed;
3015
+ case "MethodDefinition":
3016
+ case "TSAbstractMethodDefinition":
3017
+ case "ClassMethod":
3018
+ case "ClassPrivateMethod": {
3019
+ if ((t.value ? t.value.async : t.async) || t.kind === "get" || t.kind === "set") return !1;
3020
+ let s = t.value ? t.value.generator : t.generator;
3021
+ return !!(t.computed || s);
3022
+ }
3023
+ case "TSIndexSignature":
3024
+ return !0;
3025
+ }
3026
+ return !1;
3027
+ }
3028
+ function bu({ node: e, next: t }, r) {
3029
+ if (r.semi || !Bm(e)) return !1;
3030
+ if (Bu(e)) return !0;
3031
+ if (!t) return !1;
3032
+ switch (t.type) {
3033
+ case "TSCallSignatureDeclaration":
3034
+ return !0;
3035
+ }
3036
+ return !1;
3037
+ }
3038
+ function sr(e, t, r) {
3039
+ let { node: n } = e, s = Pm(n), i = [Q(e), Zt(e), s ? "interface" : "class"], o = ku(e), u = [], p = [];
3040
+ if (n.type !== "InterfaceTypeAnnotation") {
3041
+ n.id && u.push(" ");
3042
+ for (let y of ["id", "typeParameters"]) if (n[y]) {
3043
+ let { leading: D, trailing: F } = e.call(() => Mt(e, t), y);
3044
+ u.push(D, r(y), m(F));
3045
+ }
3046
+ }
3047
+ if (n.superClass) {
3048
+ let y = [Lm(e, t, r), r(n.superTypeArguments ? "superTypeArguments" : "superTypeParameters")], D = e.call(() => ["extends ", De(e, y, t)], "superClass");
3049
+ o ? p.push(A, l(D)) : p.push(" ", D);
3050
+ } else p.push(vs(e, t, r, "extends"));
3051
+ p.push(vs(e, t, r, "mixins"), vs(e, t, r, "implements"));
3052
+ let c;
3053
+ return o ? (c = bm(n), i.push(l([...u, m(p)], { id: c }))) : i.push(...u, ...p), !s && o && km(n.body) ? i.push(P(E, " ", { groupId: c })) : i.push(" "), i.push(r("body")), i;
3054
+ }
3055
+ function km(e) {
3056
+ return e.type === "ObjectTypeAnnotation" ? ["properties", "indexers", "callProperties", "internalSlots"].some((t) => R(e[t])) : R(e.body);
3057
+ }
3058
+ function Pu(e) {
3059
+ let t = e.superClass ? 1 : 0;
3060
+ for (let r of ["extends", "mixins", "implements"]) if (Array.isArray(e[r]) && (t += e[r].length), t > 1) return !0;
3061
+ return t > 1;
3062
+ }
3063
+ function Im(e) {
3064
+ let { node: t } = e;
3065
+ if (T(t.id, x.Trailing) || T(t.typeParameters, x.Trailing) || T(t.superClass) || Pu(t)) return !0;
3066
+ if (t.superClass) return e.parent.type === "AssignmentExpression" ? !1 : !(t.superTypeArguments ?? t.superTypeParameters) && J(t.superClass);
3067
+ let r = t.extends?.[0] ?? t.mixins?.[0] ?? t.implements?.[0];
3068
+ return r ? r.type === "InterfaceExtends" && r.id.type === "QualifiedTypeIdentifier" && !r.typeParameters || (r.type === "TSClassImplements" || r.type === "TSInterfaceHeritage") && J(r.expression) && !r.typeArguments : !1;
3069
+ }
3070
+ function ku(e) {
3071
+ let { node: t } = e;
3072
+ return js.has(t) || js.set(t, Im(e)), js.get(t);
3073
+ }
3074
+ function vs(e, t, r, n) {
3075
+ let { node: s } = e;
3076
+ if (!R(s[n])) return "";
3077
+ let i = v(e, t, { marker: n }), o = L([",", A], e.map(r, n));
3078
+ if (!Pu(s)) {
3079
+ let u = [`${n} `, i, o];
3080
+ return ku(e) ? [A, l(u)] : [" ", u];
3081
+ }
3082
+ return [A, i, i && E, n, l(m([A, o]))];
3083
+ }
3084
+ function Lm(e, t, r) {
3085
+ let n = r("superClass"), { parent: s } = e;
3086
+ return s.type === "AssignmentExpression" ? l(P(["(", m([f, n]), f, ")"], n)) : n;
3087
+ }
3088
+ function Fn(e, t, r) {
3089
+ let { node: n } = e, s = [];
3090
+ return R(n.decorators) && s.push(Ms(e, t, r)), s.push(jt(n)), n.static && s.push("static "), s.push(Zt(e)), n.override && s.push("override "), s.push(Sr(e, t, r)), s;
3091
+ }
3092
+ function dn(e, t, r) {
3093
+ let { node: n } = e, s = [];
3094
+ R(n.decorators) && s.push(Ms(e, t, r)), s.push(Q(e), jt(n)), n.static && s.push("static "), s.push(Zt(e)), n.override && s.push("override "), n.readonly && s.push("readonly "), n.variance && s.push(r("variance")), (n.type === "ClassAccessorProperty" || n.type === "AccessorProperty" || n.type === "TSAbstractAccessorProperty") && s.push("accessor "), s.push(Ct(e, t, r), X(e), sn(e), G(e, r));
3095
+ let i = n.type === "TSAbstractPropertyDefinition" || n.type === "TSAbstractAccessorProperty";
3096
+ return [ht(e, t, r, s, " =", i ? void 0 : "value"), t.semi ? ";" : ""];
3097
+ }
3098
+ function Rs(e) {
3099
+ return Om(e) ? Rs(e.expression) : e;
3100
+ }
3101
+ function Lu(e) {
3102
+ return e.type === "MemberExpression" || e.type === "OptionalMemberExpression" || e.type === "Identifier" && e.name !== "undefined";
3103
+ }
3104
+ function wm(e, t) {
3105
+ if (Is(e, t)) {
3106
+ let r = Rs(e.node.expression);
3107
+ return Iu(r) || Lu(r);
3108
+ }
3109
+ return !(!t.semi || Ps(e, t) || ks(e, t));
3110
+ }
3111
+ function Ou(e, t, r) {
3112
+ return [r("expression"), wm(e, t) ? ";" : ""];
3113
+ }
3114
+ function wu(e, t, r) {
3115
+ if (t.__isVueBindings || t.__isVueForBindingLeft) {
3116
+ let n = e.map(r, "program", "body", 0, "params");
3117
+ if (n.length === 1) return n[0];
3118
+ let s = L([",", A], n);
3119
+ return t.__isVueForBindingLeft ? ["(", m([f, l(s)]), f, ")"] : s;
3120
+ }
3121
+ if (t.__isEmbeddedTypescriptGenericParameters) {
3122
+ let n = e.map(r, "program", "body", 0, "typeParameters", "params");
3123
+ return L([",", A], n);
3124
+ }
3125
+ }
3126
+ function Nu(e, t) {
3127
+ let { node: r } = e;
3128
+ switch (r.type) {
3129
+ case "RegExpLiteral":
3130
+ return _u(r);
3131
+ case "BigIntLiteral":
3132
+ return Cn(r.extra.raw);
3133
+ case "NumericLiteral":
3134
+ return dt(r.extra.raw);
3135
+ case "StringLiteral":
3136
+ return qe(ut(r.extra.raw, t));
3137
+ case "NullLiteral":
3138
+ return "null";
3139
+ case "BooleanLiteral":
3140
+ return String(r.value);
3141
+ case "DirectiveLiteral":
3142
+ return Mu(r.extra.raw, t);
3143
+ case "Literal": {
3144
+ if (r.regex) return _u(r.regex);
3145
+ if (r.bigint) return Cn(r.raw);
3146
+ let { value: n } = r;
3147
+ return typeof n == "number" ? dt(r.raw) : typeof n == "string" ? _m(e) ? Mu(r.raw, t) : qe(ut(r.raw, t)) : String(n);
3148
+ }
3149
+ }
3150
+ }
3151
+ function _m(e) {
3152
+ if (e.key !== "expression") return;
3153
+ let { parent: t } = e;
3154
+ return t.type === "ExpressionStatement" && typeof t.directive == "string";
3155
+ }
3156
+ function Cn(e) {
3157
+ return e.toLowerCase();
3158
+ }
3159
+ function _u({ pattern: e, flags: t }) {
3160
+ return t = [...t].sort().join(""), `/${e}/${t}`;
3161
+ }
3162
+ function Mu(e, t) {
3163
+ let r = e.slice(1, -1);
3164
+ if (r === Mm || !(r.includes('"') || r.includes("'"))) {
3165
+ let n = t.singleQuote ? "'" : '"';
3166
+ return n + r + n;
3167
+ }
3168
+ return e;
3169
+ }
3170
+ function Nm(e, t, r) {
3171
+ let n = e.originalText.slice(t, r);
3172
+ for (let s of e[Symbol.for("comments")]) {
3173
+ let i = w(s);
3174
+ if (i > r) break;
3175
+ let o = I(s);
3176
+ if (o < t) continue;
3177
+ let u = i - t, p = o - t;
3178
+ n = n.slice(0, u) + W(0, n.slice(u, p), /[^\n]/gu, " ") + n.slice(p);
3179
+ }
3180
+ return n;
3181
+ }
3182
+ function ir(e, t, r) {
3183
+ let { node: n, parent: s } = e, i = jm(n), o = n.type === "TSEnumBody" || i, u = ju(n), p = i && n.hasUnknownMembers, c = o ? "members" : u ? "attributes" : "properties", y = n[c], D = o || n.type === "ObjectPattern" && s.type !== "FunctionDeclaration" && s.type !== "FunctionExpression" && s.type !== "ArrowFunctionExpression" && s.type !== "ObjectMethod" && s.type !== "ClassMethod" && s.type !== "ClassPrivateMethod" && s.type !== "AssignmentPattern" && s.type !== "CatchClause" && n.properties.some((B) => B.value && (B.value.type === "ObjectPattern" || B.value.type === "ArrayPattern")) || n.type !== "ObjectPattern" && t.objectWrap === "preserve" && y.length > 0 && vm(n, y[0], t), F = [], C = e.map(({ node: B }) => {
3184
+ let O = [...F, l(r())];
3185
+ return F = [",", A], oe(B, t) && F.push(E), O;
3186
+ }, c);
3187
+ if (p) {
3188
+ let B;
3189
+ if (T(n, x.Dangling)) {
3190
+ let O = T(n, x.Line);
3191
+ B = [v(e, t), O || Z(t.originalText, I(N(0, et(n), -1))) ? E : A, "..."];
3192
+ } else B = ["..."];
3193
+ C.push([...F, ...B]);
3194
+ }
3195
+ let d = !(p || N(0, y, -1)?.type === "RestElement"), b;
3196
+ if (C.length === 0) {
3197
+ if (!T(n, x.Dangling)) return ["{}", G(e, r)];
3198
+ b = l(["{", v(e, t, { indent: !0 }), f, "}", X(e), G(e, r)]);
3199
+ } else {
3200
+ let B = t.bracketSpacing ? A : f;
3201
+ b = ["{", m([B, ...C]), P(d && ie(t) ? "," : ""), B, "}", X(e), G(e, r)];
3202
+ }
3203
+ return e.match((B) => B.type === "ObjectPattern" && !R(B.decorators), Nt) || Je(n) && (e.match(void 0, (B, O) => O === "typeAnnotation", (B, O) => O === "typeAnnotation", Nt) || e.match(void 0, (B, O) => B.type === "FunctionTypeParam" && O === "typeAnnotation", Nt)) || !D && e.match((B) => B.type === "ObjectPattern", (B) => B.type === "AssignmentExpression" || B.type === "VariableDeclarator") ? b : l(b, { shouldBreak: D });
3204
+ }
3205
+ function vm(e, t, r) {
3206
+ let n = r.originalText, s = w(e), i = w(t);
3207
+ if (ju(e)) {
3208
+ let o = w(e), u = Jt(r, o, i);
3209
+ s = o + u.lastIndexOf("{");
3210
+ }
3211
+ return ue(n, s, i);
3212
+ }
3213
+ function vu(e, t, r) {
3214
+ let { node: n } = e;
3215
+ return ["import", n.phase ? ` ${n.phase}` : "", Gs(n), Gu(e, t, r), Ju(e, t, r), qu(e, t, r), t.semi ? ";" : ""];
3216
+ }
3217
+ function An(e, t, r) {
3218
+ let { node: n } = e, s = [Eu(e, t, r), Q(e), "export", Ru(n) ? " default" : ""], { declaration: i, exported: o } = n;
3219
+ return T(n, x.Dangling) && (s.push(" ", v(e, t)), qr(n) && s.push(E)), i ? s.push(" ", r("declaration")) : (s.push(Gm(n)), n.type === "ExportAllDeclaration" || n.type === "DeclareExportAllDeclaration" ? (s.push(" *"), o && s.push(" as ", r("exported"))) : s.push(Gu(e, t, r)), s.push(Ju(e, t, r), qu(e, t, r))), s.push(Jm(n, t)), s;
3220
+ }
3221
+ function Jm(e, t) {
3222
+ return t.semi && (!e.declaration || Ru(e) && !Rm(e.declaration)) ? ";" : "";
3223
+ }
3224
+ function Js(e, t = !0) {
3225
+ return e && e !== "value" ? `${t ? " " : ""}${e}${t ? "" : " "}` : "";
3226
+ }
3227
+ function Gs(e, t) {
3228
+ return Js(e.importKind, t);
3229
+ }
3230
+ function Gm(e) {
3231
+ return Js(e.exportKind);
3232
+ }
3233
+ function Ju(e, t, r) {
3234
+ let { node: n } = e;
3235
+ return n.source ? [Wu(n, t) ? " from" : "", " ", r("source")] : "";
3236
+ }
3237
+ function Gu(e, t, r) {
3238
+ let { node: n } = e;
3239
+ if (!Wu(n, t)) return "";
3240
+ let s = [" "];
3241
+ if (R(n.specifiers)) {
3242
+ let i = [], o = [];
3243
+ e.each(() => {
3244
+ let u = e.node.type;
3245
+ if (u === "ExportNamespaceSpecifier" || u === "ExportDefaultSpecifier" || u === "ImportNamespaceSpecifier" || u === "ImportDefaultSpecifier") i.push(r());
3246
+ else if (u === "ExportSpecifier" || u === "ImportSpecifier") o.push(r());
3247
+ else throw new Qe(n, "specifier");
3248
+ }, "specifiers"), s.push(L(", ", i)), o.length > 0 && (i.length > 0 && s.push(", "), o.length > 1 || i.length > 0 || n.specifiers.some((p) => T(p)) ? s.push(l(["{", m([t.bracketSpacing ? A : f, L([",", A], o)]), P(ie(t) ? "," : ""), t.bracketSpacing ? A : f, "}"])) : s.push(["{", t.bracketSpacing ? " " : "", ...o, t.bracketSpacing ? " " : "", "}"]));
3249
+ } else s.push("{}");
3250
+ return s;
3251
+ }
3252
+ function Wu(e, t) {
3253
+ return e.type !== "ImportDeclaration" || R(e.specifiers) || e.importKind === "type" ? !0 : Jt(t, w(e), w(e.source)).trimEnd().endsWith("from");
3254
+ }
3255
+ function Wm(e, t) {
3256
+ if (e.extra?.deprecatedAssertSyntax) return "assert";
3257
+ let r = Jt(t, I(e.source), e.attributes?.[0] ? w(e.attributes[0]) : I(e)).trimStart();
3258
+ return r.startsWith("assert") ? "assert" : r.startsWith("with") || R(e.attributes) ? "with" : void 0;
3259
+ }
3260
+ function qu(e, t, r) {
3261
+ let { node: n } = e;
3262
+ if (!n.source) return "";
3263
+ let s = Wm(n, t);
3264
+ if (!s) return "";
3265
+ let i = ir(e, t, r);
3266
+ return qm(n) && (i = _t(i)), [` ${s} `, i];
3267
+ }
3268
+ function Uu(e, t, r) {
3269
+ let { node: n } = e, { type: s } = n, i = s.startsWith("Import"), o = i ? "imported" : "local", u = i ? "local" : "exported", p = n[o], c = n[u], y = "", D = "";
3270
+ return s === "ExportNamespaceSpecifier" || s === "ImportNamespaceSpecifier" ? y = "*" : p && (y = r(o)), c && !Um(n) && (D = r(u)), [Js(s === "ImportSpecifier" ? n.importKind : n.exportKind, !1), y, y && D ? " as " : "", D];
3271
+ }
3272
+ function Um(e) {
3273
+ if (e.type !== "ImportSpecifier" && e.type !== "ExportSpecifier") return !1;
3274
+ let { local: t, [e.type === "ImportSpecifier" ? "imported" : "exported"]: r } = e;
3275
+ if (t.type !== r.type || !ai(t, r)) return !1;
3276
+ if (V(t)) return t.value === r.value && pe(t) === pe(r);
3277
+ switch (t.type) {
3278
+ case "Identifier":
3279
+ return t.name === r.name;
3280
+ default:
3281
+ return !1;
3282
+ }
3283
+ }
3284
+ function or(e, t) {
3285
+ return ["...", t("argument"), G(e, t)];
3286
+ }
3287
+ function Ym(e) {
3288
+ let t = [e];
3289
+ for (let r = 0; r < t.length; r++) {
3290
+ let n = t[r];
3291
+ for (let s of ["test", "consequent", "alternate"]) {
3292
+ let i = n[s];
3293
+ if (H(i)) return !0;
3294
+ i.type === "ConditionalExpression" && t.push(i);
3295
+ }
3296
+ }
3297
+ return !1;
3298
+ }
3299
+ function Hm(e, t, r) {
3300
+ let { node: n } = e, s = n.type === "ConditionalExpression", i = s ? "alternate" : "falseType", { parent: o } = e, u = s ? r("test") : [r("checkType"), " ", "extends", " ", r("extendsType")];
3301
+ return o.type === n.type && o[i] === n ? xe(2, u) : u;
3302
+ }
3303
+ function Vm(e) {
3304
+ let { node: t } = e;
3305
+ if (t.type !== "ConditionalExpression") return !1;
3306
+ let r, n = t;
3307
+ for (let s = 0; !r; s++) {
3308
+ let i = e.getParentNode(s);
3309
+ if (i.type === "ChainExpression" && i.expression === n || M(i) && i.callee === n || J(i) && i.object === n || i.type === "TSNonNullExpression" && i.expression === n) {
3310
+ n = i;
3311
+ continue;
3312
+ }
3313
+ i.type === "NewExpression" && i.callee === n || Ae(i) && i.expression === n ? (r = e.getParentNode(s + 1), n = i) : r = i;
3314
+ }
3315
+ return n === t ? !1 : r[Xm.get(r.type)] === n;
3316
+ }
3317
+ function Yu(e, t, r) {
3318
+ let { node: n } = e, s = n.type === "ConditionalExpression", i = s ? "consequent" : "trueType", o = s ? "alternate" : "falseType", u = s ? ["test"] : ["checkType", "extendsType"], p = n[i], c = n[o], y = [], D = !1, { parent: F } = e, C = F.type === n.type && u.some((Y) => F[Y] === n), d = F.type === n.type && !C, b, B, O = 0;
3319
+ do
3320
+ B = b || n, b = e.getParentNode(O), O++;
3321
+ while (b && b.type === n.type && u.every((Y) => b[Y] !== B));
3322
+ let h = b || F, g = B;
3323
+ if (s && (H(n[u[0]]) || H(p) || H(c) || Ym(g))) {
3324
+ D = !0, d = !0;
3325
+ let Y = (ee) => [P("("), m([f, ee]), f, P(")")], z = (ee) => ee.type === "NullLiteral" || ee.type === "Literal" && ee.value === null || ee.type === "Identifier" && ee.name === "undefined";
3326
+ y.push(" ? ", z(p) ? r(i) : Y(r(i)), " : ", c.type === n.type || z(c) ? r(o) : Y(r(o)));
3327
+ } else {
3328
+ let Y = (ee) => t.useTabs ? m(r(ee)) : xe(2, r(ee)), z = [A, "? ", p.type === n.type ? P("", "(") : "", Y(i), p.type === n.type ? P("", ")") : "", A, ": ", Y(o)];
3329
+ y.push(F.type !== n.type || F[o] === n || C ? z : t.useTabs ? Qr(m(z)) : xe(Math.max(0, t.tabWidth - 2), z));
3330
+ }
3331
+ let S = (Y) => F === h ? l(Y) : Y, j = !D && (J(F) || F.type === "NGPipeExpression" && F.left === n) && !F.computed, U = Vm(e), fe = S([Hm(e, t, r), d ? y : m(y), s && j && !U ? f : ""]);
3332
+ return C || U ? l([m([f, fe]), f]) : fe;
3333
+ }
3334
+ function $m(e, t) {
3335
+ return (J(t) || t.type === "NGPipeExpression" && t.left === e) && !t.computed;
3336
+ }
3337
+ function Km(e, t, r, n) {
3338
+ return [...e.map((i) => et(i)), et(t), et(r)].flat().some((i) => ce(i) && ue(n.originalText, w(i), I(i)));
3339
+ }
3340
+ function zm(e) {
3341
+ let { node: t } = e;
3342
+ if (t.type !== "ConditionalExpression") return !1;
3343
+ let r, n = t;
3344
+ for (let s = 0; !r; s++) {
3345
+ let i = e.getParentNode(s);
3346
+ if (i.type === "ChainExpression" && i.expression === n || M(i) && i.callee === n || J(i) && i.object === n || i.type === "TSNonNullExpression" && i.expression === n) {
3347
+ n = i;
3348
+ continue;
3349
+ }
3350
+ i.type === "NewExpression" && i.callee === n || Ae(i) && i.expression === n ? (r = e.getParentNode(s + 1), n = i) : r = i;
3351
+ }
3352
+ return n === t ? !1 : r[Qm.get(r.type)] === n;
3353
+ }
3354
+ function ur(e, t, r, n) {
3355
+ if (!t.experimentalTernaries) return Yu(e, t, r);
3356
+ let { node: s } = e, i = s.type === "ConditionalExpression", o = Ue(s), u = i ? "consequent" : "trueType", p = i ? "alternate" : "falseType", c = i ? ["test"] : ["checkType", "extendsType"], y = s[u], D = s[p], F = c.map((mr) => s[mr]), { parent: C } = e, d = C.type === s.type, b = d && c.some((mr) => C[mr] === s), B = d && C[p] === s, O = y.type === s.type, h = D.type === s.type, g = h || B, S = t.tabWidth > 2 || t.useTabs, j, U, fe = 0;
3357
+ do
3358
+ U = j || s, j = e.getParentNode(fe), fe++;
3359
+ while (j && j.type === s.type && c.every((mr) => j[mr] !== U));
3360
+ let Y = j || C, z = n && n.assignmentLayout && n.assignmentLayout !== "break-after-operator" && (C.type === "AssignmentExpression" || C.type === "VariableDeclarator" || C.type === "ClassProperty" || C.type === "PropertyDefinition" || C.type === "ClassPrivateProperty" || C.type === "ObjectProperty" || C.type === "Property"), ee = (C.type === "ReturnStatement" || C.type === "ThrowStatement") && !(O || h), Ie = i && Y.type === "JSXExpressionContainer" && e.grandparent.type !== "JSXAttribute", st = zm(e), _ = $m(s, C), re = o && ge(e, t), ae = S ? t.useTabs ? " " : " ".repeat(t.tabWidth - 1) : "", it = Km(F, y, D, t) || O || h, Bt = !g && !d && !o && (Ie ? y.type === "NullLiteral" || y.type === "Literal" && y.value === null : Fr(y, t) && Vn(s.test, 3)), Mn = g || B || o && !d || d && i && Vn(s.test, 1) || Bt, Pr = [];
3361
+ !O && T(y, x.Dangling) && e.call(() => {
3362
+ Pr.push(v(e, t), E);
3363
+ }, "consequent");
3364
+ let cr = [];
3365
+ T(s.test, x.Dangling) && e.call(() => {
3366
+ cr.push(v(e, t));
3367
+ }, "test"), !h && T(D, x.Dangling) && e.call(() => {
3368
+ cr.push(v(e, t));
3369
+ }, "alternate"), T(s, x.Dangling) && cr.push(v(e, t));
3370
+ let Vs = Symbol("test"), xa = Symbol("consequent"), kr = Symbol("test-and-consequent"), ga = i ? [Ws(r("test")), s.test.type === "ConditionalExpression" ? ke : ""] : [r("checkType"), " ", "extends", " ", Ue(s.extendsType) || s.extendsType.type === "TSMappedType" ? r("extendsType") : l(Ws(r("extendsType")))], $s = l([ga, " ?"], { id: Vs }), ha = r(u), Ir = m([O || Ie && (H(y) || d || g) ? E : A, Pr, ha]), Sa = Mn ? l([$s, g ? Ir : P(Ir, l(Ir, { id: xa }), { groupId: Vs })], { id: kr }) : [$s, Ir], Nn = r(p), Ks = Bt ? P(Nn, Qr(Ws(Nn)), { groupId: kr }) : Nn, lr = [Sa, cr.length > 0 ? [m([E, cr]), E] : h ? E : Bt ? P(A, " ", { groupId: kr }) : A, ":", h ? " " : S ? Mn ? P(ae, P(g || Bt ? " " : ae, " "), { groupId: kr }) : P(ae, " ") : " ", h ? Ks : l([m(Ks), Ie && !Bt ? f : ""]), _ && !st ? f : "", it ? ke : ""];
3371
+ return z && !it ? l(m([f, l(lr)])) : z || ee ? l(m(lr)) : st || o && b ? l([m([f, lr]), re ? f : ""]) : C === Y ? l(lr) : lr;
3372
+ }
3373
+ function Hu(e, t, r, n) {
3374
+ let { node: s } = e;
3375
+ if (Jr(s)) return Nu(e, t);
3376
+ switch (s.type) {
3377
+ case "JsExpressionRoot":
3378
+ return r("node");
3379
+ case "JsonRoot":
3380
+ return [v(e, t), r("node"), E];
3381
+ case "File":
3382
+ return wu(e, t, r) ?? r("program");
3383
+ case "ExpressionStatement":
3384
+ return Ou(e, t, r);
3385
+ case "ChainExpression":
3386
+ return r("expression");
3387
+ case "ParenthesizedExpression":
3388
+ return !T(s.expression) && (se(s.expression) || q(s.expression)) ? ["(", r("expression"), ")"] : l(["(", m([f, r("expression")]), f, ")"]);
3389
+ case "AssignmentExpression":
3390
+ return zo(e, t, r);
3391
+ case "VariableDeclarator":
3392
+ return Zo(e, t, r);
3393
+ case "BinaryExpression":
3394
+ case "LogicalExpression":
3395
+ return on(e, t, r);
3396
+ case "AssignmentPattern":
3397
+ return [r("left"), " = ", r("right")];
3398
+ case "OptionalMemberExpression":
3399
+ case "MemberExpression":
3400
+ return Ho(e, t, r);
3401
+ case "MetaProperty":
3402
+ return [r("meta"), ".", r("property")];
3403
+ case "BindExpression":
3404
+ return Yo(e, t, r);
3405
+ case "Identifier":
3406
+ return [s.name, X(e), sn(e), G(e, r)];
3407
+ case "V8IntrinsicIdentifier":
3408
+ return ["%", s.name];
3409
+ case "SpreadElement":
3410
+ return or(e, r);
3411
+ case "RestElement":
3412
+ return or(e, r);
3413
+ case "FunctionDeclaration":
3414
+ case "FunctionExpression":
3415
+ return mn(e, t, r, n);
3416
+ case "ArrowFunctionExpression":
3417
+ return Tu(e, t, r, n);
3418
+ case "YieldExpression":
3419
+ return [`yield${s.delegate ? "*" : ""}`, s.argument ? [" ", r("argument")] : ""];
3420
+ case "AwaitExpression": {
3421
+ let i = ["await"];
3422
+ if (s.argument) {
3423
+ i.push(" ", r("argument"));
3424
+ let { parent: o } = e;
3425
+ if (M(o) && o.callee === s || J(o) && o.object === s) {
3426
+ i = [m([f, ...i]), f];
3427
+ let u = e.findAncestor((p) => p.type === "AwaitExpression" || p.type === "BlockStatement");
3428
+ if (u?.type !== "AwaitExpression" || !ye(u.argument, (p) => p === s)) return l(i);
3429
+ }
3430
+ }
3431
+ return i;
3432
+ }
3433
+ case "ExportDefaultDeclaration":
3434
+ case "ExportNamedDeclaration":
3435
+ case "ExportAllDeclaration":
3436
+ return An(e, t, r);
3437
+ case "ImportDeclaration":
3438
+ return vu(e, t, r);
3439
+ case "ImportSpecifier":
3440
+ case "ExportSpecifier":
3441
+ case "ImportNamespaceSpecifier":
3442
+ case "ExportNamespaceSpecifier":
3443
+ case "ImportDefaultSpecifier":
3444
+ case "ExportDefaultSpecifier":
3445
+ return Uu(e, t, r);
3446
+ case "ImportAttribute":
3447
+ return ln(e, t, r);
3448
+ case "Program":
3449
+ case "BlockStatement":
3450
+ case "StaticBlock":
3451
+ return En(e, t, r);
3452
+ case "ClassBody":
3453
+ return Rt(e, t, r);
3454
+ case "ThrowStatement":
3455
+ return ou(e, t, r);
3456
+ case "ReturnStatement":
3457
+ return iu(e, t, r);
3458
+ case "NewExpression":
3459
+ case "ImportExpression":
3460
+ case "OptionalCallExpression":
3461
+ case "CallExpression":
3462
+ return vt(e, t, r);
3463
+ case "ObjectExpression":
3464
+ case "ObjectPattern":
3465
+ return ir(e, t, r);
3466
+ case "Property":
3467
+ return mt(s) ? Sr(e, t, r) : ln(e, t, r);
3468
+ case "ObjectProperty":
3469
+ return ln(e, t, r);
3470
+ case "ObjectMethod":
3471
+ return Sr(e, t, r);
3472
+ case "Decorator":
3473
+ return ["@", r("expression")];
3474
+ case "ArrayExpression":
3475
+ case "ArrayPattern":
3476
+ return tr(e, t, r);
3477
+ case "SequenceExpression": {
3478
+ let { parent: i } = e;
3479
+ if (i.type === "ExpressionStatement" || i.type === "ForStatement") {
3480
+ let u = [];
3481
+ return e.each(({ isFirst: p }) => {
3482
+ p ? u.push(r()) : u.push(",", m([A, r()]));
3483
+ }, "expressions"), l(u);
3484
+ }
3485
+ let o = L([",", A], e.map(r, "expressions"));
3486
+ return (i.type === "ReturnStatement" || i.type === "ThrowStatement") && e.key === "argument" || i.type === "ArrowFunctionExpression" && e.key === "body" ? l(P([m([f, o]), f], o)) : l(o);
3487
+ }
3488
+ case "ThisExpression":
3489
+ return "this";
3490
+ case "Super":
3491
+ return "super";
3492
+ case "Directive":
3493
+ return [r("value"), t.semi ? ";" : ""];
3494
+ case "UnaryExpression": {
3495
+ let i = [s.operator];
3496
+ return /[a-z]$/u.test(s.operator) && i.push(" "), T(s.argument) ? i.push(l(["(", m([f, r("argument")]), f, ")"])) : i.push(r("argument")), i;
3497
+ }
3498
+ case "UpdateExpression":
3499
+ return [s.prefix ? s.operator : "", r("argument"), s.prefix ? "" : s.operator];
3500
+ case "ConditionalExpression":
3501
+ return ur(e, t, r, n);
3502
+ case "VariableDeclaration": {
3503
+ let i = e.map(r, "declarations"), o = e.parent, u = o.type === "ForStatement" || o.type === "ForInStatement" || o.type === "ForOfStatement", p = s.declarations.some((y) => y.init), c;
3504
+ return i.length === 1 && !T(s.declarations[0]) ? c = i[0] : i.length > 0 && (c = m(i[0])), l([Q(e), s.kind, c ? [" ", c] : "", m(i.slice(1).map((y) => [",", p && !u ? E : A, y])), t.semi && !(u && o.body !== s) ? ";" : ""]);
3505
+ }
3506
+ case "WithStatement":
3507
+ return l(["with (", r("object"), ")", Ft(s.body, r("body"))]);
3508
+ case "IfStatement": {
3509
+ let i = Ft(s.consequent, r("consequent")), u = [l(["if (", l([m([f, r("test")]), f]), ")", i])];
3510
+ if (s.alternate) {
3511
+ let p = T(s.consequent, x.Trailing | x.Line) || qr(s), c = s.consequent.type === "BlockStatement" && !p;
3512
+ u.push(c ? " " : E), T(s, x.Dangling) && u.push(v(e, t), p ? E : " "), u.push("else", l(Ft(s.alternate, r("alternate"), s.alternate.type === "IfStatement")));
3513
+ }
3514
+ return u;
3515
+ }
3516
+ case "ForStatement": {
3517
+ let i = Ft(s.body, r("body")), o = v(e, t), u = o ? [o, f] : "";
3518
+ return !s.init && !s.test && !s.update ? [u, l(["for (;;)", i])] : [u, l(["for (", l([m([f, r("init"), ";", A, r("test"), ";", s.update ? [A, r("update")] : P("", A)]), f]), ")", i])];
3519
+ }
3520
+ case "WhileStatement":
3521
+ return l(["while (", l([m([f, r("test")]), f]), ")", Ft(s.body, r("body"))]);
3522
+ case "ForInStatement":
3523
+ return l(["for (", r("left"), " in ", r("right"), ")", Ft(s.body, r("body"))]);
3524
+ case "ForOfStatement":
3525
+ return l(["for", s.await ? " await" : "", " (", r("left"), " of ", r("right"), ")", Ft(s.body, r("body"))]);
3526
+ case "DoWhileStatement": {
3527
+ let i = Ft(s.body, r("body"));
3528
+ return [l(["do", i]), s.body.type === "BlockStatement" ? " " : E, "while (", l([m([f, r("test")]), f]), ")", t.semi ? ";" : ""];
3529
+ }
3530
+ case "DoExpression":
3531
+ return [s.async ? "async " : "", "do ", r("body")];
3532
+ case "BreakStatement":
3533
+ case "ContinueStatement":
3534
+ return [s.type === "BreakStatement" ? "break" : "continue", s.label ? [" ", r("label")] : "", t.semi ? ";" : ""];
3535
+ case "LabeledStatement":
3536
+ return [r("label"), `:${s.body.type === "EmptyStatement" && !T(s.body, x.Leading) ? "" : " "}`, r("body")];
3537
+ case "TryStatement":
3538
+ return ["try ", r("block"), s.handler ? [" ", r("handler")] : "", s.finalizer ? [" finally ", r("finalizer")] : ""];
3539
+ case "CatchClause":
3540
+ if (s.param) {
3541
+ let i = T(s.param, (u) => !ce(u) || u.leading && Z(t.originalText, I(u)) || u.trailing && Z(t.originalText, w(u), { backwards: !0 })), o = r("param");
3542
+ return ["catch ", i ? ["(", m([f, o]), f, ") "] : ["(", o, ") "], r("body")];
3543
+ }
3544
+ return ["catch ", r("body")];
3545
+ case "SwitchStatement":
3546
+ return [l(["switch (", m([f, r("discriminant")]), f, ")"]), " {", s.cases.length > 0 ? m([E, L(E, e.map(({ node: i, isLast: o }) => [r(), !o && oe(i, t) ? E : ""], "cases"))]) : "", E, "}"];
3547
+ case "SwitchCase": {
3548
+ let i = [];
3549
+ s.test ? i.push("case ", r("test"), ":") : i.push("default:"), T(s, x.Dangling) && i.push(" ", v(e, t));
3550
+ let o = s.consequent.filter((u) => u.type !== "EmptyStatement");
3551
+ if (o.length > 0) {
3552
+ let u = br(e, t, r, "consequent");
3553
+ i.push(o.length === 1 && o[0].type === "BlockStatement" ? [" ", u] : m([E, u]));
3554
+ }
3555
+ return i;
3556
+ }
3557
+ case "DebuggerStatement":
3558
+ return ["debugger", t.semi ? ";" : ""];
3559
+ case "ClassDeclaration":
3560
+ case "ClassExpression":
3561
+ return sr(e, t, r);
3562
+ case "ClassMethod":
3563
+ case "ClassPrivateMethod":
3564
+ case "MethodDefinition":
3565
+ return Fn(e, t, r);
3566
+ case "ClassProperty":
3567
+ case "PropertyDefinition":
3568
+ case "ClassPrivateProperty":
3569
+ case "ClassAccessorProperty":
3570
+ case "AccessorProperty":
3571
+ return dn(e, t, r);
3572
+ case "TemplateElement":
3573
+ return qe(s.value.raw);
3574
+ case "TemplateLiteral":
3575
+ return en(e, t, r);
3576
+ case "TaggedTemplateExpression":
3577
+ return io(e, t, r);
3578
+ case "PrivateIdentifier":
3579
+ return ["#", s.name];
3580
+ case "PrivateName":
3581
+ return ["#", r("id")];
3582
+ case "TopicReference":
3583
+ return "%";
3584
+ case "ArgumentPlaceholder":
3585
+ return "?";
3586
+ case "ModuleExpression":
3587
+ return ["module ", r("body")];
3588
+ case "VoidPattern":
3589
+ return "void";
3590
+ case "EmptyStatement":
3591
+ if (kt(e)) return ";";
3592
+ case "InterpreterDirective":
3593
+ default:
3594
+ throw new Qe(s, "ESTree");
3595
+ }
3596
+ }
3597
+ function Tn(e) {
3598
+ return [e("elementType"), "[]"];
3599
+ }
3600
+ function xn(e, t, r) {
3601
+ let { parent: n, node: s, key: i } = e, u = s.type === "AsConstExpression" ? "const" : r("typeAnnotation"), p = [r("expression"), " ", Zm(s) ? "satisfies" : "as", " ", u];
3602
+ return i === "callee" && M(n) || i === "object" && J(n) ? l([m([f, ...p]), f]) : p;
3603
+ }
3604
+ function Xu(e, t, r) {
3605
+ let { node: n } = e, s = [Q(e), "component"];
3606
+ n.id && s.push(" ", r("id")), s.push(r("typeParameters"));
3607
+ let i = eD(e, t, r);
3608
+ return n.rendersType ? s.push(l([i, " ", r("rendersType")])) : s.push(l([i])), n.body && s.push(" ", r("body")), t.semi && n.type === "DeclareComponent" && s.push(";"), s;
3609
+ }
3610
+ function eD(e, t, r) {
3611
+ let { node: n } = e, s = n.params;
3612
+ if (n.rest && (s = [...s, n.rest]), s.length === 0) return ["(", v(e, t, { filter: (o) => _e(t.originalText, I(o)) === ")" }), ")"];
3613
+ let i = [];
3614
+ return rD(e, (o, u) => {
3615
+ let p = u === s.length - 1;
3616
+ p && n.rest && i.push("..."), i.push(r()), !p && (i.push(","), oe(s[u], t) ? i.push(E, E) : i.push(A));
3617
+ }), ["(", m([f, ...i]), P(ie(t, "all") && !tD(n, s) ? "," : ""), f, ")"];
3618
+ }
3619
+ function tD(e, t) {
3620
+ return e.rest || N(0, t, -1)?.type === "RestElement";
3621
+ }
3622
+ function rD(e, t) {
3623
+ let { node: r } = e, n = 0, s = (i) => t(i, n++);
3624
+ e.each(s, "params"), r.rest && e.call(s, "rest");
3625
+ }
3626
+ function Vu(e, t, r) {
3627
+ let { node: n } = e;
3628
+ return n.shorthand ? r("local") : [r("name"), " as ", r("local")];
3629
+ }
3630
+ function $u(e, t, r) {
3631
+ let { node: n } = e, s = [];
3632
+ return n.name && s.push(r("name"), n.optional ? "?: " : ": "), s.push(r("typeAnnotation")), s;
3633
+ }
3634
+ function qs(e, t, r) {
3635
+ return ir(e, t, r);
3636
+ }
3637
+ function Ku(e, t, r) {
3638
+ let { node: n } = e;
3639
+ return [n.type === "EnumSymbolBody" || n.explicitType ? `of ${n.type.slice(4, -4).toLowerCase()} ` : "", qs(e, t, r)];
3640
+ }
3641
+ function gn(e, t) {
3642
+ let { node: r } = e, n = t("id");
3643
+ r.computed && (n = ["[", n, "]"]);
3644
+ let s = "";
3645
+ return r.initializer && (s = t("initializer")), r.init && (s = t("init")), s ? [n, " = ", s] : n;
3646
+ }
3647
+ function hn(e, t) {
3648
+ let { node: r } = e;
3649
+ return [Q(e), r.const ? "const " : "", "enum ", t("id"), " ", t("body")];
3650
+ }
3651
+ function Sn(e, t, r) {
3652
+ let { node: n } = e, s = [Zt(e)];
3653
+ (n.type === "TSConstructorType" || n.type === "TSConstructSignatureDeclaration") && s.push("new ");
3654
+ let i = Ke(e, t, r, !1, !0), o = [];
3655
+ return n.type === "FunctionTypeAnnotation" ? o.push(nD(e) ? " => " : ": ", r("returnType")) : o.push(G(e, r, "returnType")), lt(n, o) && (i = l(i)), s.push(i, o), [l(s), n.type === "TSConstructSignatureDeclaration" || n.type === "TSCallSignatureDeclaration" ? he(e, t) : ""];
3656
+ }
3657
+ function nD(e) {
3658
+ let { node: t, parent: r } = e;
3659
+ return t.type === "FunctionTypeAnnotation" && (Gr(r) || !((r.type === "ObjectTypeProperty" || r.type === "ObjectTypeInternalSlot") && !r.variance && !r.optional && bt(r, t) || r.type === "ObjectTypeCallProperty" || e.getParentNode(2)?.type === "DeclareFunction"));
3660
+ }
3661
+ function zu(e, t, r) {
3662
+ let { node: n } = e, s = ["hook"];
3663
+ n.id && s.push(" ", r("id"));
3664
+ let i = Ke(e, t, r, !1, !0), o = rr(e, r), u = lt(n, o);
3665
+ return s.push(l([u ? l(i) : i, o]), n.body ? " " : "", r("body")), s;
3666
+ }
3667
+ function Zu(e, t, r) {
3668
+ let { node: n } = e, s = [Q(e), "hook"];
3669
+ return n.id && s.push(" ", r("id")), t.semi && s.push(";"), s;
3670
+ }
3671
+ function Qu(e) {
3672
+ let { node: t } = e;
3673
+ return t.type === "HookTypeAnnotation" && e.getParentNode(2)?.type === "DeclareHook";
3674
+ }
3675
+ function ea(e, t, r) {
3676
+ let { node: n } = e, s = Ke(e, t, r, !1, !0), i = [Qu(e) ? ": " : " => ", r("returnType")];
3677
+ return l([Qu(e) ? "" : "hook ", lt(n, i) ? l(s) : s, i]);
3678
+ }
3679
+ function Bn(e, t, r) {
3680
+ return [r("objectType"), X(e), "[", r("indexType"), "]"];
3681
+ }
3682
+ function bn(e, t, r) {
3683
+ return ["infer ", r("typeParameter")];
3684
+ }
3685
+ function Pn(e, t, r) {
3686
+ let n = !1;
3687
+ return l(e.map(({ isFirst: s, previous: i, node: o, index: u }) => {
3688
+ let p = r();
3689
+ if (s) return p;
3690
+ let c = Je(o), y = Je(i);
3691
+ return y && c ? [" & ", n ? m(p) : p] : !y && !c || Ee(t.originalText, o) ? t.experimentalOperatorPosition === "start" ? m([A, "& ", p]) : m([" &", A, p]) : (u > 1 && (n = !0), [" & ", u > 1 ? m(p) : p]);
3692
+ }, "types"));
3693
+ }
3694
+ function sD(e) {
3695
+ switch (e) {
3696
+ case null:
3697
+ return "";
3698
+ case "PlusOptional":
3699
+ return "+?";
3700
+ case "MinusOptional":
3701
+ return "-?";
3702
+ case "Optional":
3703
+ return "?";
3704
+ }
3705
+ }
3706
+ function ra(e, t, r) {
3707
+ let { node: n } = e;
3708
+ return [l([n.variance ? r("variance") : "", "[", m([r("keyTparam"), " in ", r("sourceType")]), "]", sD(n.optional), ": ", r("propType")]), he(e, t)];
3709
+ }
3710
+ function ta(e, t) {
3711
+ return e === "+" || e === "-" ? e + t : t;
3712
+ }
3713
+ function na(e, t, r) {
3714
+ let { node: n } = e, s = !1;
3715
+ if (t.objectWrap === "preserve") {
3716
+ let i = w(n), o = Jt(t, i + 1, w(n.key)), u = i + 1 + o.search(/\S/u);
3717
+ ue(t.originalText, i, u) && (s = !0);
3718
+ }
3719
+ return l(["{", m([t.bracketSpacing ? A : f, T(n, x.Dangling) ? l([v(e, t), E]) : "", l([n.readonly ? [ta(n.readonly, "readonly"), " "] : "", "[", r("key"), " in ", r("constraint"), n.nameType ? [" as ", r("nameType")] : "", "]", n.optional ? ta(n.optional, "?") : "", n.typeAnnotation ? ": " : "", r("typeAnnotation")]), t.semi ? P(";") : ""]), t.bracketSpacing ? A : f, "}"], { shouldBreak: s });
3720
+ }
3721
+ function sa(e, t, r) {
3722
+ let { node: n } = e;
3723
+ return [l(["match (", m([f, r("argument")]), f, ")"]), " {", n.cases.length > 0 ? m([E, L(E, e.map(({ node: s, isLast: i }) => [r(), !i && oe(s, t) ? E : ""], "cases"))]) : "", E, "}"];
3724
+ }
3725
+ function ia(e, t, r) {
3726
+ let { node: n } = e, s = T(n, x.Dangling) ? [" ", v(e, t)] : [], i = n.type === "MatchStatementCase" ? [" ", r("body")] : m([A, r("body"), ","]);
3727
+ return [r("pattern"), n.guard ? l([m([A, "if (", r("guard"), ")"])]) : "", l([" =>", s, i])];
3728
+ }
3729
+ function oa(e, t, r) {
3730
+ let { node: n } = e;
3731
+ switch (n.type) {
3732
+ case "MatchOrPattern":
3733
+ return uD(e, t, r);
3734
+ case "MatchAsPattern":
3735
+ return [r("pattern"), " as ", r("target")];
3736
+ case "MatchWildcardPattern":
3737
+ return ["_"];
3738
+ case "MatchLiteralPattern":
3739
+ return r("literal");
3740
+ case "MatchUnaryPattern":
3741
+ return [n.operator, r("argument")];
3742
+ case "MatchIdentifierPattern":
3743
+ return r("id");
3744
+ case "MatchMemberPattern": {
3745
+ let s = n.property.type === "Identifier" ? [".", r("property")] : ["[", m([f, r("property")]), f, "]"];
3746
+ return l([r("base"), s]);
3747
+ }
3748
+ case "MatchBindingPattern":
3749
+ return [n.kind, " ", r("id")];
3750
+ case "MatchObjectPattern": {
3751
+ let s = e.map(r, "properties");
3752
+ return n.rest && s.push(r("rest")), l(["{", m([f, L([",", A], s)]), n.rest ? "" : P(","), f, "}"]);
3753
+ }
3754
+ case "MatchArrayPattern": {
3755
+ let s = e.map(r, "elements");
3756
+ return n.rest && s.push(r("rest")), l(["[", m([f, L([",", A], s)]), n.rest ? "" : P(","), f, "]"]);
3757
+ }
3758
+ case "MatchObjectPatternProperty":
3759
+ return n.shorthand ? r("pattern") : l([r("key"), ":", m([A, r("pattern")])]);
3760
+ case "MatchRestPattern": {
3761
+ let s = ["..."];
3762
+ return n.argument && s.push(r("argument")), s;
3763
+ }
3764
+ }
3765
+ }
3766
+ function iD(e) {
3767
+ let { patterns: t } = e;
3768
+ if (t.some((n) => T(n))) return !1;
3769
+ let r = t.find((n) => n.type === "MatchObjectPattern");
3770
+ return r ? t.every((n) => n === r || ua(n)) : !1;
3771
+ }
3772
+ function oD(e) {
3773
+ return ua(e) || e.type === "MatchObjectPattern" ? !0 : e.type === "MatchOrPattern" ? iD(e) : !1;
3774
+ }
3775
+ function uD(e, t, r) {
3776
+ let { node: n } = e, { parent: s } = e, i = s.type !== "MatchStatementCase" && s.type !== "MatchExpressionCase" && s.type !== "MatchArrayPattern" && s.type !== "MatchObjectPatternProperty" && !Ee(t.originalText, n), o = oD(n), u = e.map(() => {
3777
+ let c = r();
3778
+ return o || (c = xe(2, c)), De(e, c, t);
3779
+ }, "patterns");
3780
+ if (o) return L(" | ", u);
3781
+ let p = [P(["| "]), L([A, "| "], u)];
3782
+ return ge(e, t) ? l([m([P([f]), p]), f]) : s.type === "MatchArrayPattern" && s.elements.length > 1 ? l([m([P(["(", f]), p]), f, P(")")]) : l(i ? m(p) : p);
3783
+ }
3784
+ function aa(e, t, r) {
3785
+ let { node: n } = e, s = [Q(e), "opaque type ", r("id"), r("typeParameters")];
3786
+ if (n.supertype && s.push(": ", r("supertype")), n.lowerBound || n.upperBound) {
3787
+ let i = [];
3788
+ n.lowerBound && i.push(m([A, "super ", r("lowerBound")])), n.upperBound && i.push(m([A, "extends ", r("upperBound")])), s.push(l(i));
3789
+ }
3790
+ return n.impltype && s.push(" = ", r("impltype")), s.push(t.semi ? ";" : ""), s;
3791
+ }
3792
+ function kn(e, t, r) {
3793
+ let { node: n } = e;
3794
+ return ["...", ...n.type === "TupleTypeSpreadElement" && n.label ? [r("label"), ": "] : [], r("typeAnnotation")];
3795
+ }
3796
+ function In(e, t, r) {
3797
+ let { node: n } = e;
3798
+ return [n.variance ? r("variance") : "", r("label"), n.optional ? "?" : "", ": ", r("elementType")];
3799
+ }
3800
+ function Ln(e, t, r) {
3801
+ let { node: n } = e, s = [Q(e), "type ", r("id"), r("typeParameters")], i = n.type === "TSTypeAliasDeclaration" ? "typeAnnotation" : "right";
3802
+ return [ht(e, t, r, s, " =", i), t.semi ? ";" : ""];
3803
+ }
3804
+ function aD(e, t, r) {
3805
+ let { node: n } = e;
3806
+ return K(n).length === 1 && n.type.startsWith("TS") && !n[r][0].constraint && e.parent.type === "ArrowFunctionExpression" && !(t.filepath && /\.ts$/u.test(t.filepath));
3807
+ }
3808
+ function Gt(e, t, r, n) {
3809
+ let { node: s } = e;
3810
+ if (!s[n]) return "";
3811
+ if (!Array.isArray(s[n])) return r(n);
3812
+ let i = It(e.grandparent), o = e.match((c) => !(c[n].length === 1 && Je(c[n][0])), void 0, (c, y) => y === "typeAnnotation", (c) => c.type === "Identifier", Bs);
3813
+ if (s[n].length === 0 || !o && (i || s[n].length === 1 && (s[n][0].type === "NullableTypeAnnotation" || Jo(s[n][0])))) return ["<", L(", ", e.map(r, n)), pD(e, t), ">"];
3814
+ let p = s.type === "TSTypeParameterInstantiation" ? "" : aD(e, t, n) ? "," : ie(t) ? P(",") : "";
3815
+ return l(["<", m([f, L([",", A], e.map(r, n))]), p, f, ">"]);
3816
+ }
3817
+ function pD(e, t) {
3818
+ let { node: r } = e;
3819
+ if (!T(r, x.Dangling)) return "";
3820
+ let n = !T(r, x.Line), s = v(e, t, { indent: !n });
3821
+ return n ? s : [s, E];
3822
+ }
3823
+ function On(e, t, r) {
3824
+ let { node: n } = e, s = [n.const ? "const " : ""], i = n.type === "TSTypeParameter" ? r("name") : n.name;
3825
+ if (n.variance && s.push(r("variance")), n.in && s.push("in "), n.out && s.push("out "), s.push(i), n.bound && (n.usesExtendsBound && s.push(" extends "), s.push(G(e, r, "bound"))), n.constraint) {
3826
+ let o = Symbol("constraint");
3827
+ s.push(" extends", l(m(A), { id: o }), je, yt(r("constraint"), { groupId: o }));
3828
+ }
3829
+ if (n.default) {
3830
+ let o = Symbol("default");
3831
+ s.push(" =", l(m(A), { id: o }), je, yt(r("default"), { groupId: o }));
3832
+ }
3833
+ return l(s);
3834
+ }
3835
+ function wn(e, t) {
3836
+ let { node: r } = e;
3837
+ return [r.type === "TSTypePredicate" && r.asserts ? "asserts " : r.type === "TypePredicate" && r.kind ? `${r.kind} ` : "", t("parameterName"), r.typeAnnotation ? [" is ", G(e, t)] : ""];
3838
+ }
3839
+ function _n({ node: e }, t) {
3840
+ let r = e.type === "TSTypeQuery" ? "exprName" : "argument";
3841
+ return ["typeof ", t(r), t("typeArguments")];
3842
+ }
3843
+ function pa(e, t, r) {
3844
+ let { node: n } = e;
3845
+ if (Nr(n)) return n.type.slice(0, -14).toLowerCase();
3846
+ switch (n.type) {
3847
+ case "ComponentDeclaration":
3848
+ case "DeclareComponent":
3849
+ case "ComponentTypeAnnotation":
3850
+ return Xu(e, t, r);
3851
+ case "ComponentParameter":
3852
+ return Vu(e, t, r);
3853
+ case "ComponentTypeParameter":
3854
+ return $u(e, t, r);
3855
+ case "HookDeclaration":
3856
+ return zu(e, t, r);
3857
+ case "DeclareHook":
3858
+ return Zu(e, t, r);
3859
+ case "HookTypeAnnotation":
3860
+ return ea(e, t, r);
3861
+ case "DeclareFunction":
3862
+ return [Q(e), "function ", r("id"), r("predicate"), t.semi ? ";" : ""];
3863
+ case "DeclareModule":
3864
+ return ["declare module ", r("id"), " ", r("body")];
3865
+ case "DeclareModuleExports":
3866
+ return ["declare module.exports", G(e, r), t.semi ? ";" : ""];
3867
+ case "DeclareNamespace":
3868
+ return ["declare namespace ", r("id"), " ", r("body")];
3869
+ case "DeclareVariable":
3870
+ return [Q(e), n.kind ?? "var", " ", r("id"), t.semi ? ";" : ""];
3871
+ case "DeclareExportDeclaration":
3872
+ case "DeclareExportAllDeclaration":
3873
+ return An(e, t, r);
3874
+ case "DeclareOpaqueType":
3875
+ case "OpaqueType":
3876
+ return aa(e, t, r);
3877
+ case "DeclareTypeAlias":
3878
+ case "TypeAlias":
3879
+ return Ln(e, t, r);
3880
+ case "IntersectionTypeAnnotation":
3881
+ return Pn(e, t, r);
3882
+ case "UnionTypeAnnotation":
3883
+ return un(e, t, r);
3884
+ case "ConditionalTypeAnnotation":
3885
+ return ur(e, t, r);
3886
+ case "InferTypeAnnotation":
3887
+ return bn(e, t, r);
3888
+ case "FunctionTypeAnnotation":
3889
+ return Sn(e, t, r);
3890
+ case "TupleTypeAnnotation":
3891
+ return tr(e, t, r);
3892
+ case "TupleTypeLabeledElement":
3893
+ return In(e, t, r);
3894
+ case "TupleTypeSpreadElement":
3895
+ return kn(e, t, r);
3896
+ case "GenericTypeAnnotation":
3897
+ return [r("id"), Gt(e, t, r, "typeParameters")];
3898
+ case "IndexedAccessType":
3899
+ case "OptionalIndexedAccessType":
3900
+ return Bn(e, t, r);
3901
+ case "TypeAnnotation":
3902
+ return an(e, t, r);
3903
+ case "TypeParameter":
3904
+ return On(e, t, r);
3905
+ case "TypeofTypeAnnotation":
3906
+ return _n(e, r);
3907
+ case "ExistsTypeAnnotation":
3908
+ return "*";
3909
+ case "ArrayTypeAnnotation":
3910
+ return Tn(r);
3911
+ case "DeclareEnum":
3912
+ case "EnumDeclaration":
3913
+ return hn(e, r);
3914
+ case "EnumBooleanBody":
3915
+ case "EnumNumberBody":
3916
+ case "EnumBigIntBody":
3917
+ case "EnumStringBody":
3918
+ case "EnumSymbolBody":
3919
+ return Ku(e, t, r);
3920
+ case "EnumBooleanMember":
3921
+ case "EnumNumberMember":
3922
+ case "EnumBigIntMember":
3923
+ case "EnumStringMember":
3924
+ case "EnumDefaultedMember":
3925
+ return gn(e, r);
3926
+ case "FunctionTypeParam": {
3927
+ let s = n.name ? r("name") : e.parent.this === n ? "this" : "";
3928
+ return [s, X(e), s ? ": " : "", r("typeAnnotation")];
3929
+ }
3930
+ case "DeclareClass":
3931
+ case "DeclareInterface":
3932
+ case "InterfaceDeclaration":
3933
+ case "InterfaceTypeAnnotation":
3934
+ return sr(e, t, r);
3935
+ case "ObjectTypeAnnotation":
3936
+ return Rt(e, t, r);
3937
+ case "ClassImplements":
3938
+ case "InterfaceExtends":
3939
+ return [r("id"), r("typeParameters")];
3940
+ case "NullableTypeAnnotation":
3941
+ return ["?", r("typeAnnotation")];
3942
+ case "Variance": {
3943
+ let { kind: s } = n;
3944
+ return Le(s === "plus" || s === "minus"), s === "plus" ? "+" : "-";
3945
+ }
3946
+ case "KeyofTypeAnnotation":
3947
+ return ["keyof ", r("argument")];
3948
+ case "ObjectTypeCallProperty":
3949
+ return [n.static ? "static " : "", r("value"), he(e, t)];
3950
+ case "ObjectTypeMappedTypeProperty":
3951
+ return ra(e, t, r);
3952
+ case "ObjectTypeIndexer":
3953
+ return [n.static ? "static " : "", n.variance ? r("variance") : "", "[", r("id"), n.id ? ": " : "", r("key"), "]: ", r("value"), he(e, t)];
3954
+ case "ObjectTypeProperty": {
3955
+ let s = "";
3956
+ return n.proto ? s = "proto " : n.static && (s = "static "), [s, n.kind !== "init" ? n.kind + " " : "", n.variance ? r("variance") : "", Ct(e, t, r), X(e), mt(n) ? "" : ": ", r("value"), he(e, t)];
3957
+ }
3958
+ case "ObjectTypeInternalSlot":
3959
+ return [n.static ? "static " : "", "[[", r("id"), "]]", X(e), n.method ? "" : ": ", r("value"), he(e, t)];
3960
+ case "ObjectTypeSpreadProperty":
3961
+ return or(e, r);
3962
+ case "QualifiedTypeofIdentifier":
3963
+ case "QualifiedTypeIdentifier":
3964
+ return [r("qualification"), ".", r("id")];
3965
+ case "NullLiteralTypeAnnotation":
3966
+ return "null";
3967
+ case "BooleanLiteralTypeAnnotation":
3968
+ return String(n.value);
3969
+ case "StringLiteralTypeAnnotation":
3970
+ return qe(ut(pe(n), t));
3971
+ case "NumberLiteralTypeAnnotation":
3972
+ return dt(pe(n));
3973
+ case "BigIntLiteralTypeAnnotation":
3974
+ return Cn(pe(n));
3975
+ case "TypeCastExpression":
3976
+ return ["(", r("expression"), G(e, r), ")"];
3977
+ case "TypePredicate":
3978
+ return wn(e, r);
3979
+ case "TypeOperator":
3980
+ return [n.operator, " ", r("typeAnnotation")];
3981
+ case "TypeParameterDeclaration":
3982
+ case "TypeParameterInstantiation":
3983
+ return Gt(e, t, r, "params");
3984
+ case "InferredPredicate":
3985
+ case "DeclaredPredicate":
3986
+ return [e.key === "predicate" && e.parent.type !== "DeclareFunction" && !e.parent.returnType ? ": " : " ", "%checks", ...n.type === "DeclaredPredicate" ? ["(", r("value"), ")"] : []];
3987
+ case "AsExpression":
3988
+ case "AsConstExpression":
3989
+ case "SatisfiesExpression":
3990
+ return xn(e, t, r);
3991
+ case "MatchExpression":
3992
+ case "MatchStatement":
3993
+ return sa(e, t, r);
3994
+ case "MatchExpressionCase":
3995
+ case "MatchStatementCase":
3996
+ return ia(e, t, r);
3997
+ case "MatchOrPattern":
3998
+ case "MatchAsPattern":
3999
+ case "MatchWildcardPattern":
4000
+ case "MatchLiteralPattern":
4001
+ case "MatchUnaryPattern":
4002
+ case "MatchIdentifierPattern":
4003
+ case "MatchMemberPattern":
4004
+ case "MatchBindingPattern":
4005
+ case "MatchObjectPattern":
4006
+ case "MatchObjectPatternProperty":
4007
+ case "MatchRestPattern":
4008
+ case "MatchArrayPattern":
4009
+ return oa(e, t, r);
4010
+ }
4011
+ }
4012
+ function ca(e, t, r) {
4013
+ let { node: n } = e, s = n.parameters.length > 1 ? P(ie(t) ? "," : "") : "", i = l([m([f, L([", ", f], e.map(r, "parameters"))]), s, f]);
4014
+ return [e.key === "body" && e.parent.type === "ClassBody" && n.static ? "static " : "", n.readonly ? "readonly " : "", "[", n.parameters ? i : "", "]", G(e, r), he(e, t)];
4015
+ }
4016
+ function Us(e, t, r) {
4017
+ let { node: n } = e;
4018
+ return [n.postfix ? "" : r, G(e, t), n.postfix ? r : ""];
4019
+ }
4020
+ function la(e, t, r) {
4021
+ let { node: n } = e, s = [], i = n.kind && n.kind !== "method" ? `${n.kind} ` : "";
4022
+ s.push(jt(n), i, n.computed ? "[" : "", r("key"), n.computed ? "]" : "", X(e));
4023
+ let o = Ke(e, t, r, !1, !0), u = G(e, r, "returnType"), p = lt(n, u);
4024
+ return s.push(p ? l(o) : o), n.returnType && s.push(l(u)), [l(s), he(e, t)];
4025
+ }
4026
+ function ma(e, t, r) {
4027
+ let { node: n } = e;
4028
+ return [Q(e), n.kind === "global" ? "" : `${n.kind} `, r("id"), n.body ? [" ", l(r("body"))] : t.semi ? ";" : ""];
4029
+ }
4030
+ function Da(e, t, r) {
4031
+ let { node: n } = e, s = !(q(n.expression) || se(n.expression)), i = l(["<", m([f, r("typeAnnotation")]), f, ">"]), o = [P("("), m([f, r("expression")]), f, P(")")];
4032
+ return s ? nt([[i, r("expression")], [i, l(o, { shouldBreak: !0 })], [i, r("expression")]]) : l([i, r("expression")]);
4033
+ }
4034
+ function fa(e, t, r) {
4035
+ let { node: n } = e;
4036
+ if (n.type.startsWith("TS")) {
4037
+ if (jr(n)) return n.type.slice(2, -7).toLowerCase();
4038
+ switch (n.type) {
4039
+ case "TSThisType":
4040
+ return "this";
4041
+ case "TSTypeAssertion":
4042
+ return Da(e, t, r);
4043
+ case "TSDeclareFunction":
4044
+ return mn(e, t, r);
4045
+ case "TSExportAssignment":
4046
+ return ["export = ", r("expression"), t.semi ? ";" : ""];
4047
+ case "TSModuleBlock":
4048
+ return En(e, t, r);
4049
+ case "TSInterfaceBody":
4050
+ case "TSTypeLiteral":
4051
+ return Rt(e, t, r);
4052
+ case "TSTypeAliasDeclaration":
4053
+ return Ln(e, t, r);
4054
+ case "TSQualifiedName":
4055
+ return [r("left"), ".", r("right")];
4056
+ case "TSAbstractMethodDefinition":
4057
+ case "TSDeclareMethod":
4058
+ return Fn(e, t, r);
4059
+ case "TSAbstractAccessorProperty":
4060
+ case "TSAbstractPropertyDefinition":
4061
+ return dn(e, t, r);
4062
+ case "TSInterfaceHeritage":
4063
+ case "TSClassImplements":
4064
+ case "TSInstantiationExpression":
4065
+ return [r("expression"), r("typeArguments")];
4066
+ case "TSTemplateLiteralType":
4067
+ return en(e, t, r);
4068
+ case "TSNamedTupleMember":
4069
+ return In(e, t, r);
4070
+ case "TSRestType":
4071
+ return kn(e, t, r);
4072
+ case "TSOptionalType":
4073
+ return [r("typeAnnotation"), "?"];
4074
+ case "TSInterfaceDeclaration":
4075
+ return sr(e, t, r);
4076
+ case "TSTypeParameterDeclaration":
4077
+ case "TSTypeParameterInstantiation":
4078
+ return Gt(e, t, r, "params");
4079
+ case "TSTypeParameter":
4080
+ return On(e, t, r);
4081
+ case "TSAsExpression":
4082
+ case "TSSatisfiesExpression":
4083
+ return xn(e, t, r);
4084
+ case "TSArrayType":
4085
+ return Tn(r);
4086
+ case "TSPropertySignature":
4087
+ return [n.readonly ? "readonly " : "", Ct(e, t, r), X(e), G(e, r), he(e, t)];
4088
+ case "TSParameterProperty":
4089
+ return [jt(n), n.static ? "static " : "", n.override ? "override " : "", n.readonly ? "readonly " : "", r("parameter")];
4090
+ case "TSTypeQuery":
4091
+ return _n(e, r);
4092
+ case "TSIndexSignature":
4093
+ return ca(e, t, r);
4094
+ case "TSTypePredicate":
4095
+ return wn(e, r);
4096
+ case "TSNonNullExpression":
4097
+ return [r("expression"), "!"];
4098
+ case "TSImportType":
4099
+ return [vt(e, t, r), n.qualifier ? [".", r("qualifier")] : "", Gt(e, t, r, "typeArguments")];
4100
+ case "TSLiteralType":
4101
+ return r("literal");
4102
+ case "TSIndexedAccessType":
4103
+ return Bn(e, t, r);
4104
+ case "TSTypeOperator":
4105
+ return [n.operator, " ", r("typeAnnotation")];
4106
+ case "TSMappedType":
4107
+ return na(e, t, r);
4108
+ case "TSMethodSignature":
4109
+ return la(e, t, r);
4110
+ case "TSNamespaceExportDeclaration":
4111
+ return ["export as namespace ", r("id"), t.semi ? ";" : ""];
4112
+ case "TSEnumDeclaration":
4113
+ return hn(e, r);
4114
+ case "TSEnumBody":
4115
+ return qs(e, t, r);
4116
+ case "TSEnumMember":
4117
+ return gn(e, r);
4118
+ case "TSImportEqualsDeclaration":
4119
+ return ["import ", Gs(n, !1), r("id"), " = ", r("moduleReference"), t.semi ? ";" : ""];
4120
+ case "TSExternalModuleReference":
4121
+ return vt(e, t, r);
4122
+ case "TSModuleDeclaration":
4123
+ return ma(e, t, r);
4124
+ case "TSConditionalType":
4125
+ return ur(e, t, r);
4126
+ case "TSInferType":
4127
+ return bn(e, t, r);
4128
+ case "TSIntersectionType":
4129
+ return Pn(e, t, r);
4130
+ case "TSUnionType":
4131
+ return un(e, t, r);
4132
+ case "TSFunctionType":
4133
+ case "TSCallSignatureDeclaration":
4134
+ case "TSConstructorType":
4135
+ case "TSConstructSignatureDeclaration":
4136
+ return Sn(e, t, r);
4137
+ case "TSTupleType":
4138
+ return tr(e, t, r);
4139
+ case "TSTypeReference":
4140
+ return [r("typeName"), Gt(e, t, r, "typeArguments")];
4141
+ case "TSTypeAnnotation":
4142
+ return an(e, t, r);
4143
+ case "TSEmptyBodyFunctionExpression":
4144
+ return Dn(e, t, r);
4145
+ case "TSJSDocAllType":
4146
+ return "*";
4147
+ case "TSJSDocUnknownType":
4148
+ return "?";
4149
+ case "TSJSDocNullableType":
4150
+ return Us(e, r, "?");
4151
+ case "TSJSDocNonNullableType":
4152
+ return Us(e, r, "!");
4153
+ case "TSParenthesizedType":
4154
+ default:
4155
+ throw new Qe(n, "TypeScript");
4156
+ }
4157
+ }
4158
+ }
4159
+ function cD(e, t, r, n) {
4160
+ for (let s of [yu, mu, pa, fa, Hu]) {
4161
+ let i = s(e, t, r, n);
4162
+ if (i !== void 0) return i;
4163
+ }
4164
+ }
4165
+ function mD(e, t, r, n) {
4166
+ e.isRoot && t.__onHtmlBindingRoot?.(e.node, t);
4167
+ let { node: s } = e, i = nr(e) ? t.originalText.slice(w(s), I(s)) : cD(e, t, r, n);
4168
+ if (!i) return "";
4169
+ if (lD(s)) return i;
4170
+ let o = R(s.decorators), u = Fu(e, t, r), p = s.type === "ClassExpression";
4171
+ if (o && !p) return Ar(i, (D) => l([u, D]));
4172
+ let c = ge(e, t), y = uu(e, t);
4173
+ return !u && !c && !y ? i : Ar(i, (D) => [y ? ";" : "", c ? "(" : "", c && p && o ? [m([A, u, D]), A] : [u, D], c ? ")" : ""]);
4174
+ }
4175
+ function yD(e, t, r) {
4176
+ let { node: n } = e;
4177
+ switch (n.type) {
4178
+ case "JsonRoot":
4179
+ return [r("node"), E];
4180
+ case "ArrayExpression": {
4181
+ if (n.elements.length === 0) return "[]";
4182
+ let s = e.map(() => e.node === null ? "null" : r(), "elements");
4183
+ return ["[", m([E, L([",", E], s)]), E, "]"];
4184
+ }
4185
+ case "ObjectExpression":
4186
+ return n.properties.length === 0 ? "{}" : ["{", m([E, L([",", E], e.map(r, "properties"))]), E, "}"];
4187
+ case "ObjectProperty":
4188
+ return [r("key"), ": ", r("value")];
4189
+ case "UnaryExpression":
4190
+ return [n.operator === "+" ? "" : n.operator, r("argument")];
4191
+ case "NullLiteral":
4192
+ return "null";
4193
+ case "BooleanLiteral":
4194
+ return n.value ? "true" : "false";
4195
+ case "StringLiteral":
4196
+ return JSON.stringify(n.value);
4197
+ case "NumericLiteral":
4198
+ return da(e) ? JSON.stringify(String(n.value)) : JSON.stringify(n.value);
4199
+ case "Identifier":
4200
+ return da(e) ? JSON.stringify(n.name) : n.name;
4201
+ case "TemplateLiteral":
4202
+ return r(["quasis", 0]);
4203
+ case "TemplateElement":
4204
+ return JSON.stringify(n.value.cooked);
4205
+ default:
4206
+ throw new Qe(n, "JSON");
4207
+ }
4208
+ }
4209
+ function da(e) {
4210
+ return e.key === "key" && e.parent.type === "ObjectProperty";
4211
+ }
4212
+ function Ca(e, t) {
4213
+ let { type: r } = e;
4214
+ if (r === "ObjectProperty") {
4215
+ let { key: n } = e;
4216
+ n.type === "Identifier" ? t.key = { type: "StringLiteral", value: n.name } : n.type === "NumericLiteral" && (t.key = { type: "StringLiteral", value: String(n.value) });
4217
+ return;
4218
+ }
4219
+ if (r === "UnaryExpression" && e.operator === "+") return t.argument;
4220
+ if (r === "ArrayExpression") {
4221
+ for (let [n, s] of e.elements.entries()) s === null && t.elements.splice(n, 0, { type: "NullLiteral" });
4222
+ return;
4223
+ }
4224
+ if (r === "TemplateLiteral") return { type: "StringLiteral", value: e.quasis[0].value.cooked };
4225
+ }
4226
+ var Ba, jn, Ta, Qs, Hs, Wt, ba, Pa, W, Ia, N, Lr, Zs, ei, _a, Ma, ot, JD, ze, ti, ri, ni, Ze, Z, qt, Ut, Yt, R, qa, Le, si, ii, Ua, Ya, wr, Xa, oi, ut, ui, Dr, Qa, _r, a, pi, Za, Mr, k, pe, rp, ce, np, Nr, sp, At, Pt, jr, kt, Di, q, se, Jr, pp, Je, Ht, H, Te, lp, Dp, Fi, M, J, yp, Ep, li, vr, Yn, Fp, qn, Un, x, gi, oe, Ae, Se, xt, Ue, hi, Cr, dp, Kt, Bi, Cp, Ap, Tp, bi, xp, Pi, at, _e, ue, Qn, Hr, Zn, Mp, Np, wi, Xp, Vp, Ri, nc, Ji, Gi, ic, Wi, Ye, Be, tt, He, Xe, rt, Fe, Me, be, Ve, $e, Ge, me, Pe, Ne, Xr, We, ac, is, gt, qi, Vr, de, Kr, $i, Ki, ke, Tr, A, f, os, E, yc, $r, je, Ec, Fc, dc, Cc, Ac, Tc, xc, gc, as, ve, ct, cs, no, so, fs, po, Es, fo, yo, jc, Co, Gc, Wc, go, qc, Ao, Uc, To, Yc, ho, ko, Io, Fs, Oo, Qc, ge, Mo, sl, Et, pl, cl, ll, ml, vo, dt, fl, Ro, Fl, dl, Cl, Go, hr, kl, Vo, Ll, cn, Yl, bs, Ls, Qe, ws, pu, yn, _s, Kl, nr, Dm, Ns, ym, Am, Tm, xu, gu, hu, Bu, Bm, bm, Pm, js, Om, Iu, Mm, Jt, ju, jm, Ru, Rm, qm, Xm, Qm, Ws, Zm, ua, lD, Ys, DD, ya, Xs, ar, Ea, fD, Fa, ED, pr, St, FD, Aa, dD, CD, init_estree = __esm({
4227
+ "../../node_modules/.pnpm/prettier@3.7.4/node_modules/prettier/plugins/estree.mjs"() {
4228
+ init_cjs_shims();
4229
+ Ba = Object.defineProperty, jn = (e, t) => {
4230
+ for (var r in t) Ba(e, r, { get: t[r], enumerable: !0 });
4231
+ }, Ta = {};
4232
+ jn(Ta, { languages: () => CD, options: () => Aa, printers: () => dD });
4233
+ Qs = [{ name: "JavaScript", type: "programming", aceMode: "javascript", extensions: [".js", "._js", ".bones", ".cjs", ".es", ".es6", ".gs", ".jake", ".javascript", ".jsb", ".jscad", ".jsfl", ".jslib", ".jsm", ".jspre", ".jss", ".mjs", ".njs", ".pac", ".sjs", ".ssjs", ".xsjs", ".xsjslib", ".start.frag", ".end.frag", ".wxs"], filenames: ["Jakefile", "start.frag", "end.frag"], tmScope: "source.js", aliases: ["js", "node"], codemirrorMode: "javascript", codemirrorMimeType: "text/javascript", interpreters: ["chakra", "d8", "gjs", "js", "node", "nodejs", "qjs", "rhino", "v8", "v8-shell", "zx"], parsers: ["babel", "acorn", "espree", "meriyah", "babel-flow", "babel-ts", "flow", "typescript"], vscodeLanguageIds: ["javascript", "mongo"], linguistLanguageId: 183 }, { name: "Flow", type: "programming", aceMode: "javascript", extensions: [".js.flow"], filenames: [], tmScope: "source.js", aliases: [], codemirrorMode: "javascript", codemirrorMimeType: "text/javascript", interpreters: ["chakra", "d8", "gjs", "js", "node", "nodejs", "qjs", "rhino", "v8", "v8-shell"], parsers: ["flow", "babel-flow"], vscodeLanguageIds: ["javascript"], linguistLanguageId: 183 }, { name: "JSX", type: "programming", aceMode: "javascript", extensions: [".jsx"], filenames: void 0, tmScope: "source.js.jsx", aliases: void 0, codemirrorMode: "jsx", codemirrorMimeType: "text/jsx", interpreters: void 0, parsers: ["babel", "babel-flow", "babel-ts", "flow", "typescript", "espree", "meriyah"], vscodeLanguageIds: ["javascriptreact"], group: "JavaScript", linguistLanguageId: 183 }, { name: "TypeScript", type: "programming", aceMode: "typescript", extensions: [".ts", ".cts", ".mts"], tmScope: "source.ts", aliases: ["ts"], codemirrorMode: "javascript", codemirrorMimeType: "application/typescript", interpreters: ["bun", "deno", "ts-node", "tsx"], parsers: ["typescript", "babel-ts"], vscodeLanguageIds: ["typescript"], linguistLanguageId: 378 }, { name: "TSX", type: "programming", aceMode: "tsx", extensions: [".tsx"], tmScope: "source.tsx", codemirrorMode: "jsx", codemirrorMimeType: "text/typescript-jsx", group: "TypeScript", parsers: ["typescript", "babel-ts"], vscodeLanguageIds: ["typescriptreact"], linguistLanguageId: 94901924 }], Hs = {};
4234
+ jn(Hs, { canAttachComment: () => Pi, embed: () => Co, features: () => DD, getVisitorKeys: () => Mr, handleComments: () => Ji, hasPrettierIgnore: () => nr, insertPragma: () => Lo, isBlockComment: () => ce, isGap: () => Gi, massageAstNode: () => Bi, print: () => Ys, printComment: () => wo, printPrettierIgnored: () => Ys, willPrintOwnComments: () => Wi });
4235
+ Wt = (e, t) => (r, n, ...s) => r | 1 && n == null ? void 0 : (t.call(n) ?? n[e]).apply(n, s), ba = String.prototype.replaceAll ?? function(e, t) {
4236
+ return e.global ? this.replace(e, t) : this.split(e).join(t);
4237
+ }, Pa = Wt("replaceAll", function() {
4238
+ if (typeof this == "string") return ba;
4239
+ }), W = Pa;
4240
+ Ia = Wt("at", function() {
4241
+ if (Array.isArray(this) || typeof this == "string") return ka;
4242
+ }), N = Ia;
4243
+ Lr = La;
4244
+ Zs = () => /[#*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;
4245
+ ei = "\xA9\xAE\u203C\u2049\u2122\u2139\u2194\u2195\u2196\u2197\u2198\u2199\u21A9\u21AA\u2328\u23CF\u23F1\u23F2\u23F8\u23F9\u23FA\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600\u2601\u2602\u2603\u2604\u260E\u2611\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694\u2695\u2696\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F1\u26F7\u26F8\u26F9\u2702\u2708\u2709\u270C\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05\u2B06\u2B07", _a = /[^\x20-\x7F]/u, Ma = new Set(ei);
4246
+ ot = Na;
4247
+ JD = Or(/\s/u), ze = Or(" "), ti = Or(",; "), ri = Or(/[^\n\r]/u), ni = (e) => e === `
4248
+ ` || e === "\r" || e === "\u2028" || e === "\u2029";
4249
+ Ze = ja;
4250
+ Z = va;
4251
+ qt = Ra;
4252
+ Ut = Ja;
4253
+ Yt = Ga;
4254
+ R = Wa, qa = () => {
4255
+ }, Le = qa, si = Object.freeze({ character: "'", codePoint: 39 }), ii = Object.freeze({ character: '"', codePoint: 34 }), Ua = Object.freeze({ preferred: si, alternate: ii }), Ya = Object.freeze({ preferred: ii, alternate: si });
4256
+ wr = Ha, Xa = /\\(["'\\])|(["'])/gu;
4257
+ oi = Va;
4258
+ ut = $a, ui = (e) => Number.isInteger(e) && e >= 0;
4259
+ Dr = null;
4260
+ Qa = 10;
4261
+ for (let e = 0; e <= Qa; e++) fr();
4262
+ _r = za, a = [["decorators", "key", "typeAnnotation", "value"], [], ["elementType"], ["expression"], ["expression", "typeAnnotation"], ["left", "right"], ["argument"], ["directives", "body"], ["label"], ["callee", "typeArguments", "arguments"], ["body"], ["decorators", "id", "typeParameters", "superClass", "superTypeArguments", "mixins", "implements", "body", "superTypeParameters"], ["id", "typeParameters"], ["decorators", "key", "typeParameters", "params", "returnType", "body"], ["decorators", "variance", "key", "typeAnnotation", "value"], ["name", "typeAnnotation"], ["test", "consequent", "alternate"], ["checkType", "extendsType", "trueType", "falseType"], ["value"], ["id", "body"], ["declaration", "specifiers", "source", "attributes"], ["id"], ["id", "typeParameters", "extends", "body"], ["typeAnnotation"], ["id", "typeParameters", "right"], ["body", "test"], ["members"], ["id", "init"], ["exported"], ["left", "right", "body"], ["id", "typeParameters", "params", "predicate", "returnType", "body"], ["id", "params", "body", "typeParameters", "returnType"], ["key", "value"], ["local"], ["objectType", "indexType"], ["typeParameter"], ["types"], ["node"], ["object", "property"], ["argument", "cases"], ["pattern", "body", "guard"], ["literal"], ["decorators", "key", "value"], ["expressions"], ["qualification", "id"], ["decorators", "key", "typeAnnotation"], ["typeParameters", "params", "returnType"], ["expression", "typeArguments"], ["params"], ["parameterName", "typeAnnotation"]], pi = { AccessorProperty: a[0], AnyTypeAnnotation: a[1], ArgumentPlaceholder: a[1], ArrayExpression: ["elements"], ArrayPattern: ["elements", "typeAnnotation", "decorators"], ArrayTypeAnnotation: a[2], ArrowFunctionExpression: ["typeParameters", "params", "predicate", "returnType", "body"], AsConstExpression: a[3], AsExpression: a[4], AssignmentExpression: a[5], AssignmentPattern: ["left", "right", "decorators", "typeAnnotation"], AwaitExpression: a[6], BigIntLiteral: a[1], BigIntLiteralTypeAnnotation: a[1], BigIntTypeAnnotation: a[1], BinaryExpression: a[5], BindExpression: ["object", "callee"], BlockStatement: a[7], BooleanLiteral: a[1], BooleanLiteralTypeAnnotation: a[1], BooleanTypeAnnotation: a[1], BreakStatement: a[8], CallExpression: a[9], CatchClause: ["param", "body"], ChainExpression: a[3], ClassAccessorProperty: a[0], ClassBody: a[10], ClassDeclaration: a[11], ClassExpression: a[11], ClassImplements: a[12], ClassMethod: a[13], ClassPrivateMethod: a[13], ClassPrivateProperty: a[14], ClassProperty: a[14], ComponentDeclaration: ["id", "params", "body", "typeParameters", "rendersType"], ComponentParameter: ["name", "local"], ComponentTypeAnnotation: ["params", "rest", "typeParameters", "rendersType"], ComponentTypeParameter: a[15], ConditionalExpression: a[16], ConditionalTypeAnnotation: a[17], ContinueStatement: a[8], DebuggerStatement: a[1], DeclareClass: ["id", "typeParameters", "extends", "mixins", "implements", "body"], DeclareComponent: ["id", "params", "rest", "typeParameters", "rendersType"], DeclaredPredicate: a[18], DeclareEnum: a[19], DeclareExportAllDeclaration: ["source", "attributes"], DeclareExportDeclaration: a[20], DeclareFunction: ["id", "predicate"], DeclareHook: a[21], DeclareInterface: a[22], DeclareModule: a[19], DeclareModuleExports: a[23], DeclareNamespace: a[19], DeclareOpaqueType: ["id", "typeParameters", "supertype", "lowerBound", "upperBound"], DeclareTypeAlias: a[24], DeclareVariable: a[21], Decorator: a[3], Directive: a[18], DirectiveLiteral: a[1], DoExpression: a[10], DoWhileStatement: a[25], EmptyStatement: a[1], EmptyTypeAnnotation: a[1], EnumBigIntBody: a[26], EnumBigIntMember: a[27], EnumBooleanBody: a[26], EnumBooleanMember: a[27], EnumDeclaration: a[19], EnumDefaultedMember: a[21], EnumNumberBody: a[26], EnumNumberMember: a[27], EnumStringBody: a[26], EnumStringMember: a[27], EnumSymbolBody: a[26], ExistsTypeAnnotation: a[1], ExperimentalRestProperty: a[6], ExperimentalSpreadProperty: a[6], ExportAllDeclaration: ["source", "attributes", "exported"], ExportDefaultDeclaration: ["declaration"], ExportDefaultSpecifier: a[28], ExportNamedDeclaration: a[20], ExportNamespaceSpecifier: a[28], ExportSpecifier: ["local", "exported"], ExpressionStatement: a[3], File: ["program"], ForInStatement: a[29], ForOfStatement: a[29], ForStatement: ["init", "test", "update", "body"], FunctionDeclaration: a[30], FunctionExpression: a[30], FunctionTypeAnnotation: ["typeParameters", "this", "params", "rest", "returnType"], FunctionTypeParam: a[15], GenericTypeAnnotation: a[12], HookDeclaration: a[31], HookTypeAnnotation: ["params", "returnType", "rest", "typeParameters"], Identifier: ["typeAnnotation", "decorators"], IfStatement: a[16], ImportAttribute: a[32], ImportDeclaration: ["specifiers", "source", "attributes"], ImportDefaultSpecifier: a[33], ImportExpression: ["source", "options"], ImportNamespaceSpecifier: a[33], ImportSpecifier: ["imported", "local"], IndexedAccessType: a[34], InferredPredicate: a[1], InferTypeAnnotation: a[35], InterfaceDeclaration: a[22], InterfaceExtends: a[12], InterfaceTypeAnnotation: ["extends", "body"], InterpreterDirective: a[1], IntersectionTypeAnnotation: a[36], JsExpressionRoot: a[37], JsonRoot: a[37], JSXAttribute: ["name", "value"], JSXClosingElement: ["name"], JSXClosingFragment: a[1], JSXElement: ["openingElement", "children", "closingElement"], JSXEmptyExpression: a[1], JSXExpressionContainer: a[3], JSXFragment: ["openingFragment", "children", "closingFragment"], JSXIdentifier: a[1], JSXMemberExpression: a[38], JSXNamespacedName: ["namespace", "name"], JSXOpeningElement: ["name", "typeArguments", "attributes"], JSXOpeningFragment: a[1], JSXSpreadAttribute: a[6], JSXSpreadChild: a[3], JSXText: a[1], KeyofTypeAnnotation: a[6], LabeledStatement: ["label", "body"], Literal: a[1], LogicalExpression: a[5], MatchArrayPattern: ["elements", "rest"], MatchAsPattern: ["pattern", "target"], MatchBindingPattern: a[21], MatchExpression: a[39], MatchExpressionCase: a[40], MatchIdentifierPattern: a[21], MatchLiteralPattern: a[41], MatchMemberPattern: ["base", "property"], MatchObjectPattern: ["properties", "rest"], MatchObjectPatternProperty: ["key", "pattern"], MatchOrPattern: ["patterns"], MatchRestPattern: a[6], MatchStatement: a[39], MatchStatementCase: a[40], MatchUnaryPattern: a[6], MatchWildcardPattern: a[1], MemberExpression: a[38], MetaProperty: ["meta", "property"], MethodDefinition: a[42], MixedTypeAnnotation: a[1], ModuleExpression: a[10], NeverTypeAnnotation: a[1], NewExpression: a[9], NGChainedExpression: a[43], NGEmptyExpression: a[1], NGMicrosyntax: a[10], NGMicrosyntaxAs: ["key", "alias"], NGMicrosyntaxExpression: ["expression", "alias"], NGMicrosyntaxKey: a[1], NGMicrosyntaxKeyedExpression: ["key", "expression"], NGMicrosyntaxLet: a[32], NGPipeExpression: ["left", "right", "arguments"], NGRoot: a[37], NullableTypeAnnotation: a[23], NullLiteral: a[1], NullLiteralTypeAnnotation: a[1], NumberLiteralTypeAnnotation: a[1], NumberTypeAnnotation: a[1], NumericLiteral: a[1], ObjectExpression: ["properties"], ObjectMethod: a[13], ObjectPattern: ["decorators", "properties", "typeAnnotation"], ObjectProperty: a[42], ObjectTypeAnnotation: ["properties", "indexers", "callProperties", "internalSlots"], ObjectTypeCallProperty: a[18], ObjectTypeIndexer: ["variance", "id", "key", "value"], ObjectTypeInternalSlot: ["id", "value"], ObjectTypeMappedTypeProperty: ["keyTparam", "propType", "sourceType", "variance"], ObjectTypeProperty: ["key", "value", "variance"], ObjectTypeSpreadProperty: a[6], OpaqueType: ["id", "typeParameters", "supertype", "impltype", "lowerBound", "upperBound"], OptionalCallExpression: a[9], OptionalIndexedAccessType: a[34], OptionalMemberExpression: a[38], ParenthesizedExpression: a[3], PipelineBareFunction: ["callee"], PipelinePrimaryTopicReference: a[1], PipelineTopicExpression: a[3], Placeholder: a[1], PrivateIdentifier: a[1], PrivateName: a[21], Program: a[7], Property: a[32], PropertyDefinition: a[14], QualifiedTypeIdentifier: a[44], QualifiedTypeofIdentifier: a[44], RegExpLiteral: a[1], RestElement: ["argument", "typeAnnotation", "decorators"], ReturnStatement: a[6], SatisfiesExpression: a[4], SequenceExpression: a[43], SpreadElement: a[6], StaticBlock: a[10], StringLiteral: a[1], StringLiteralTypeAnnotation: a[1], StringTypeAnnotation: a[1], Super: a[1], SwitchCase: ["test", "consequent"], SwitchStatement: ["discriminant", "cases"], SymbolTypeAnnotation: a[1], TaggedTemplateExpression: ["tag", "typeArguments", "quasi"], TemplateElement: a[1], TemplateLiteral: ["quasis", "expressions"], ThisExpression: a[1], ThisTypeAnnotation: a[1], ThrowStatement: a[6], TopicReference: a[1], TryStatement: ["block", "handler", "finalizer"], TSAbstractAccessorProperty: a[45], TSAbstractKeyword: a[1], TSAbstractMethodDefinition: a[32], TSAbstractPropertyDefinition: a[45], TSAnyKeyword: a[1], TSArrayType: a[2], TSAsExpression: a[4], TSAsyncKeyword: a[1], TSBigIntKeyword: a[1], TSBooleanKeyword: a[1], TSCallSignatureDeclaration: a[46], TSClassImplements: a[47], TSConditionalType: a[17], TSConstructorType: a[46], TSConstructSignatureDeclaration: a[46], TSDeclareFunction: a[31], TSDeclareKeyword: a[1], TSDeclareMethod: ["decorators", "key", "typeParameters", "params", "returnType"], TSEmptyBodyFunctionExpression: ["id", "typeParameters", "params", "returnType"], TSEnumBody: a[26], TSEnumDeclaration: a[19], TSEnumMember: ["id", "initializer"], TSExportAssignment: a[3], TSExportKeyword: a[1], TSExternalModuleReference: a[3], TSFunctionType: a[46], TSImportEqualsDeclaration: ["id", "moduleReference"], TSImportType: ["options", "qualifier", "typeArguments", "source"], TSIndexedAccessType: a[34], TSIndexSignature: ["parameters", "typeAnnotation"], TSInferType: a[35], TSInstantiationExpression: a[47], TSInterfaceBody: a[10], TSInterfaceDeclaration: a[22], TSInterfaceHeritage: a[47], TSIntersectionType: a[36], TSIntrinsicKeyword: a[1], TSJSDocAllType: a[1], TSJSDocNonNullableType: a[23], TSJSDocNullableType: a[23], TSJSDocUnknownType: a[1], TSLiteralType: a[41], TSMappedType: ["key", "constraint", "nameType", "typeAnnotation"], TSMethodSignature: ["key", "typeParameters", "params", "returnType"], TSModuleBlock: a[10], TSModuleDeclaration: a[19], TSNamedTupleMember: ["label", "elementType"], TSNamespaceExportDeclaration: a[21], TSNeverKeyword: a[1], TSNonNullExpression: a[3], TSNullKeyword: a[1], TSNumberKeyword: a[1], TSObjectKeyword: a[1], TSOptionalType: a[23], TSParameterProperty: ["parameter", "decorators"], TSParenthesizedType: a[23], TSPrivateKeyword: a[1], TSPropertySignature: ["key", "typeAnnotation"], TSProtectedKeyword: a[1], TSPublicKeyword: a[1], TSQualifiedName: a[5], TSReadonlyKeyword: a[1], TSRestType: a[23], TSSatisfiesExpression: a[4], TSStaticKeyword: a[1], TSStringKeyword: a[1], TSSymbolKeyword: a[1], TSTemplateLiteralType: ["quasis", "types"], TSThisType: a[1], TSTupleType: ["elementTypes"], TSTypeAliasDeclaration: ["id", "typeParameters", "typeAnnotation"], TSTypeAnnotation: a[23], TSTypeAssertion: a[4], TSTypeLiteral: a[26], TSTypeOperator: a[23], TSTypeParameter: ["name", "constraint", "default"], TSTypeParameterDeclaration: a[48], TSTypeParameterInstantiation: a[48], TSTypePredicate: a[49], TSTypeQuery: ["exprName", "typeArguments"], TSTypeReference: ["typeName", "typeArguments"], TSUndefinedKeyword: a[1], TSUnionType: a[36], TSUnknownKeyword: a[1], TSVoidKeyword: a[1], TupleTypeAnnotation: ["types", "elementTypes"], TupleTypeLabeledElement: ["label", "elementType", "variance"], TupleTypeSpreadElement: ["label", "typeAnnotation"], TypeAlias: a[24], TypeAnnotation: a[23], TypeCastExpression: a[4], TypeofTypeAnnotation: ["argument", "typeArguments"], TypeOperator: a[23], TypeParameter: ["bound", "default", "variance"], TypeParameterDeclaration: a[48], TypeParameterInstantiation: a[48], TypePredicate: a[49], UnaryExpression: a[6], UndefinedTypeAnnotation: a[1], UnionTypeAnnotation: a[36], UnknownTypeAnnotation: a[1], UpdateExpression: a[6], V8IntrinsicIdentifier: a[1], VariableDeclaration: ["declarations"], VariableDeclarator: a[27], Variance: a[1], VoidPattern: a[1], VoidTypeAnnotation: a[1], WhileStatement: a[25], WithStatement: ["object", "body"], YieldExpression: a[6] }, Za = _r(pi), Mr = Za;
4263
+ k = ep;
4264
+ pe = tp, rp = k(["Block", "CommentBlock", "MultiLine"]), ce = rp, np = k(["AnyTypeAnnotation", "ThisTypeAnnotation", "NumberTypeAnnotation", "VoidTypeAnnotation", "BooleanTypeAnnotation", "BigIntTypeAnnotation", "SymbolTypeAnnotation", "StringTypeAnnotation", "NeverTypeAnnotation", "UndefinedTypeAnnotation", "UnknownTypeAnnotation", "EmptyTypeAnnotation", "MixedTypeAnnotation"]), Nr = np, sp = k(["Line", "CommentLine", "SingleLine", "HashbangComment", "HTMLOpen", "HTMLClose", "Hashbang", "InterpreterDirective"]), At = sp;
4265
+ Pt = op;
4266
+ jr = up;
4267
+ kt = ap;
4268
+ Di = k(["ExportDefaultDeclaration", "DeclareExportDeclaration", "ExportNamedDeclaration", "ExportAllDeclaration", "DeclareExportAllDeclaration"]), q = k(["ArrayExpression"]), se = k(["ObjectExpression"]);
4269
+ Jr = k(["Literal", "BooleanLiteral", "BigIntLiteral", "DirectiveLiteral", "NullLiteral", "NumericLiteral", "RegExpLiteral", "StringLiteral"]), pp = k(["Identifier", "ThisExpression", "Super", "PrivateName", "PrivateIdentifier"]), Je = k(["ObjectTypeAnnotation", "TSTypeLiteral", "TSMappedType"]), Ht = k(["FunctionExpression", "ArrowFunctionExpression"]);
4270
+ H = k(["JSXElement", "JSXFragment"]);
4271
+ Te = k(["BinaryExpression", "LogicalExpression", "NGPipeExpression"]);
4272
+ lp = k(["TSThisType", "NullLiteralTypeAnnotation", "BooleanLiteralTypeAnnotation", "StringLiteralTypeAnnotation", "BigIntLiteralTypeAnnotation", "NumberLiteralTypeAnnotation", "TSLiteralType", "TSTemplateLiteralType"]);
4273
+ Dp = ["it", "it.only", "it.skip", "describe", "describe.only", "describe.skip", "test", "test.only", "test.skip", "test.fixme", "test.step", "test.describe", "test.describe.only", "test.describe.skip", "test.describe.fixme", "test.describe.parallel", "test.describe.parallel.only", "test.describe.serial", "test.describe.serial.only", "skip", "xit", "xdescribe", "xtest", "fit", "fdescribe", "ftest"];
4274
+ Fi = (e) => (t) => (t?.type === "ChainExpression" && (t = t.expression), e(t)), M = Fi(k(["CallExpression", "OptionalCallExpression"])), J = Fi(k(["MemberExpression", "OptionalMemberExpression"]));
4275
+ yp = 0.25;
4276
+ Ep = /* @__PURE__ */ new Set(["!", "-", "+", "~"]);
4277
+ li = { "==": !0, "!=": !0, "===": !0, "!==": !0 }, vr = { "*": !0, "/": !0, "%": !0 }, Yn = { ">>": !0, ">>>": !0, "<<": !0 };
4278
+ Fp = new Map([["|>"], ["??"], ["||"], ["&&"], ["|"], ["^"], ["&"], ["==", "===", "!=", "!=="], ["<", ">", "<=", ">=", "in", "instanceof"], [">>", "<<", ">>>"], ["+", "-"], ["*", "/", "%"], ["**"]].flatMap((e, t) => e.map((r) => [r, t])));
4279
+ qn = /* @__PURE__ */ new WeakMap();
4280
+ Un = /* @__PURE__ */ new WeakMap();
4281
+ x = { Leading: 2, Trailing: 4, Dangling: 8, Block: 16, Line: 32, PrettierIgnore: 64, First: 128, Last: 256 }, gi = (e, t) => {
4282
+ if (typeof e == "function" && (t = e, e = 0), e || t) return (r, n, s) => !(e & x.Leading && !r.leading || e & x.Trailing && !r.trailing || e & x.Dangling && (r.leading || r.trailing) || e & x.Block && !ce(r) || e & x.Line && !At(r) || e & x.First && n !== 0 || e & x.Last && n !== s.length - 1 || e & x.PrettierIgnore && !Lt(r) || t && !t(r));
4283
+ };
4284
+ oe = (e, { originalText: t }) => Yt(t, I(e));
4285
+ Ae = k(["TSAsExpression", "TSSatisfiesExpression", "AsExpression", "AsConstExpression", "SatisfiesExpression"]), Se = k(["TSUnionType", "UnionTypeAnnotation"]), xt = k(["TSIntersectionType", "IntersectionTypeAnnotation"]), Ue = k(["TSConditionalType", "ConditionalTypeAnnotation"]), hi = (e) => e?.type === "TSAsExpression" && e.typeAnnotation.type === "TSTypeReference" && e.typeAnnotation.typeName.type === "Identifier" && e.typeAnnotation.typeName.name === "const", Cr = k(["TSTypeAliasDeclaration", "TypeAlias"]);
4286
+ dp = /* @__PURE__ */ new Set(["range", "raw", "comments", "leadingComments", "trailingComments", "innerComments", "extra", "start", "end", "loc", "flags", "errors", "tokens"]), Kt = (e) => {
4287
+ for (let t of e.quasis) delete t.value;
4288
+ };
4289
+ Si.ignoredProperties = dp;
4290
+ Bi = Si, Cp = k(["File", "TemplateElement", "TSEmptyBodyFunctionExpression", "ChainExpression"]), Ap = (e, [t]) => t?.type === "ComponentParameter" && t.shorthand && t.name === e && t.local !== t.name || t?.type === "MatchObjectPatternProperty" && t.shorthand && t.key === e && t.value !== t.key || t?.type === "ObjectProperty" && t.shorthand && t.key === e && t.value !== t.key || t?.type === "Property" && t.shorthand && t.key === e && !mt(t) && t.value !== t.key, Tp = (e, [t]) => !!(e.type === "FunctionExpression" && t.type === "MethodDefinition" && t.value === e && K(e).length === 0 && !e.returnType && !R(e.typeParameters) && e.body), bi = (e, [t]) => t?.typeAnnotation === e && hi(t), xp = (e, [t, ...r]) => bi(e, [t]) || t?.typeName === e && bi(t, r);
4291
+ Pi = gp;
4292
+ at = Sp;
4293
+ _e = Bp;
4294
+ ue = bp, Qn = /* @__PURE__ */ new WeakMap();
4295
+ Hr = Pp, Zn = (e, t) => At(e) || !ue(t, w(e), I(e));
4296
+ Mp = k(["ClassDeclaration", "ClassExpression", "DeclareClass", "DeclareInterface", "InterfaceDeclaration", "TSInterfaceDeclaration"]);
4297
+ Np = k(["ClassMethod", "ClassProperty", "PropertyDefinition", "TSAbstractPropertyDefinition", "TSAbstractMethodDefinition", "TSDeclareMethod", "MethodDefinition", "ClassAccessorProperty", "AccessorProperty", "TSAbstractAccessorProperty", "TSParameterProperty"]);
4298
+ wi = k(["FunctionDeclaration", "FunctionExpression", "ClassMethod", "MethodDefinition", "ObjectMethod"]);
4299
+ Xp = k(["VariableDeclarator", "AssignmentExpression", "TypeAlias", "TSTypeAliasDeclaration"]), Vp = k(["ObjectExpression", "ArrayExpression", "TemplateLiteral", "TaggedTemplateExpression", "ObjectTypeAnnotation", "TSTypeLiteral"]);
4300
+ Ri = k(["ArrowFunctionExpression", "FunctionExpression", "FunctionDeclaration", "ObjectMethod", "ClassMethod", "TSDeclareFunction", "TSCallSignatureDeclaration", "TSConstructSignatureDeclaration", "TSMethodSignature", "TSConstructorType", "TSFunctionType", "TSDeclareMethod"]), nc = { endOfLine: Ip, ownLine: kp, remaining: Lp }, Ji = nc;
4301
+ Gi = sc, ic = k(["ClassDeclaration", "ClassExpression", "DeclareClass", "DeclareInterface", "InterfaceDeclaration", "TSInterfaceDeclaration"]);
4302
+ Wi = oc, Ye = "string", Be = "array", tt = "cursor", He = "indent", Xe = "align", rt = "trim", Fe = "group", Me = "fill", be = "if-break", Ve = "indent-if-break", $e = "line-suffix", Ge = "line-suffix-boundary", me = "line", Pe = "label", Ne = "break-parent", Xr = /* @__PURE__ */ new Set([tt, He, Xe, rt, Fe, Me, be, Ve, $e, Ge, me, Pe, Ne]);
4303
+ We = uc, ac = (e) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e);
4304
+ is = class extends Error {
4305
+ name = "InvalidDocError";
4306
+ constructor(t) {
4307
+ super(pc(t)), this.doc = t;
4308
+ }
4309
+ }, gt = is, qi = {};
4310
+ Vr = cc;
4311
+ de = Le, Kr = Le, $i = Le, Ki = Le;
4312
+ ke = { type: Ne }, Tr = { type: tt };
4313
+ A = { type: me }, f = { type: me, soft: !0 }, os = { type: me, hard: !0 }, E = [os, ke], yc = { type: me, hard: !0, literal: !0 }, $r = [yc, ke];
4314
+ je = { type: Ge }, Ec = "cr", Fc = "crlf", dc = "\r", Cc = `\r
4315
+ `, Ac = `
4316
+ `, Tc = Ac;
4317
+ xc = { type: 0 }, gc = { type: 1 }, as = { value: "", length: 0, queue: [], get root() {
4318
+ return as;
4319
+ } };
4320
+ ve = Symbol("MODE_BREAK"), ct = Symbol("MODE_FLAT"), cs = Symbol("DOC_FILL_PRINTED_LENGTH");
4321
+ no = Sc;
4322
+ so = Bc;
4323
+ fs = [(e, t) => e.type === "ObjectExpression" && t === "properties", (e, t) => e.type === "CallExpression" && e.callee.type === "Identifier" && e.callee.name === "Component" && t === "arguments", (e, t) => e.type === "Decorator" && t === "expression"];
4324
+ po = (e) => Oc(e) || wc(e) || _c(e) || oo(e);
4325
+ Es = 0;
4326
+ fo = mo.bind(void 0, "html"), yo = mo.bind(void 0, "angular");
4327
+ jc = [{ test: po, print: ao }, { test: lo, print: co }, { test: Do, print: fo }, { test: ys, print: yo }, { test: Fo, print: Eo }].map(({ test: e, print: t }) => ({ test: e, print: Rc(t) }));
4328
+ Co = vc, Gc = /\*\/$/, Wc = /^\/\*\*?/, go = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/, qc = /(^|\s+)\/\/([^\n\r]*)/g, Ao = /^(\r?\n)+/, Uc = /(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g, To = /(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g, Yc = /(\r?\n|^) *\* ?/g, ho = [];
4329
+ ko = "format";
4330
+ Io = Hc;
4331
+ Fs = /* @__PURE__ */ new WeakMap();
4332
+ Oo = $c;
4333
+ Qc = k(["BlockStatement", "BreakStatement", "ComponentDeclaration", "ClassBody", "ClassDeclaration", "ClassMethod", "ClassProperty", "PropertyDefinition", "ClassPrivateProperty", "ContinueStatement", "DebuggerStatement", "DeclareComponent", "DeclareClass", "DeclareExportAllDeclaration", "DeclareExportDeclaration", "DeclareFunction", "DeclareHook", "DeclareInterface", "DeclareModule", "DeclareModuleExports", "DeclareNamespace", "DeclareVariable", "DeclareEnum", "DoWhileStatement", "EnumDeclaration", "ExportAllDeclaration", "ExportDefaultDeclaration", "ExportNamedDeclaration", "ExpressionStatement", "ForInStatement", "ForOfStatement", "ForStatement", "FunctionDeclaration", "HookDeclaration", "IfStatement", "ImportDeclaration", "InterfaceDeclaration", "LabeledStatement", "MethodDefinition", "ReturnStatement", "SwitchStatement", "ThrowStatement", "TryStatement", "TSDeclareFunction", "TSEnumDeclaration", "TSImportEqualsDeclaration", "TSInterfaceDeclaration", "TSModuleDeclaration", "TSNamespaceExportDeclaration", "TypeAlias", "VariableDeclaration", "WhileStatement", "WithStatement"]);
4334
+ ge = ds;
4335
+ Mo = nl, sl = () => !0;
4336
+ Et = class extends Error {
4337
+ name = "ArgExpansionBailout";
4338
+ };
4339
+ pl = k(["DeclareClass", "DeclareComponent", "DeclareFunction", "DeclareHook", "DeclareVariable", "DeclareExportDeclaration", "DeclareExportAllDeclaration", "DeclareOpaqueType", "DeclareTypeAlias", "DeclareEnum", "DeclareInterface"]);
4340
+ cl = k(["TSAbstractMethodDefinition", "TSAbstractPropertyDefinition", "TSAbstractAccessorProperty"]);
4341
+ ll = /^[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC][\$0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]*$/, ml = (e) => ll.test(e), vo = ml;
4342
+ dt = Dl, fl = 0;
4343
+ Ro = (e) => e.type === "BinaryExpression" && e.operator === "|";
4344
+ Fl = k(["VoidTypeAnnotation", "TSVoidKeyword", "NullLiteralTypeAnnotation", "TSNullKeyword"]), dl = k(["ObjectTypeAnnotation", "TSTypeLiteral", "GenericTypeAnnotation", "TSTypeReference"]);
4345
+ Cl = /* @__PURE__ */ new WeakSet();
4346
+ Go = (e) => e.match((t) => t.type === "TSTypeAnnotation", (t, r) => (r === "returnType" || r === "typeAnnotation") && (t.type === "TSFunctionType" || t.type === "TSConstructorType")) ? "=>" : e.match((t) => t.type === "TSTypeAnnotation", (t, r) => r === "typeAnnotation" && (t.type === "TSJSDocNullableType" || t.type === "TSJSDocNonNullableType" || t.type === "TSTypePredicate")) || e.match((t) => t.type === "TypeAnnotation", (t, r) => r === "typeAnnotation" && t.type === "Identifier", (t, r) => r === "id" && t.type === "DeclareFunction") || e.match((t) => t.type === "TypeAnnotation", (t, r) => r === "typeAnnotation" && t.type === "Identifier", (t, r) => r === "id" && t.type === "DeclareHook") || e.match((t) => t.type === "TypeAnnotation", (t, r) => r === "bound" && t.type === "TypeParameter" && t.usesExtendsBound) ? "" : ":";
4347
+ hr = gl;
4348
+ kl = (e) => ((e.type === "ChainExpression" || e.type === "TSNonNullExpression") && (e = e.expression), M(e) && le(e).length > 0);
4349
+ Vo = Xo;
4350
+ Ll = ["require", "require.resolve", "require.resolve.paths", "import.meta.resolve"];
4351
+ cn = /* @__PURE__ */ new WeakMap();
4352
+ Yl = ({ node: e, key: t, parent: r }) => t === "value" && e.type === "FunctionExpression" && (r.type === "ObjectMethod" || r.type === "ClassMethod" || r.type === "ClassPrivateMethod" || r.type === "MethodDefinition" || r.type === "TSAbstractMethodDefinition" || r.type === "TSDeclareMethod" || r.type === "Property" && mt(r));
4353
+ bs = ({ node: e, parent: t }) => e.type === "ExpressionStatement" && t.type === "Program" && t.body.length === 1 && (Array.isArray(t.directives) && t.directives.length === 0 || !t.directives);
4354
+ Ls = class extends Error {
4355
+ name = "UnexpectedNodeError";
4356
+ constructor(t, r, n = "type") {
4357
+ super(`Unexpected ${r} node ${n}: ${JSON.stringify(t[n])}.`), this.node = t;
4358
+ }
4359
+ }, Qe = Ls;
4360
+ ws = class {
4361
+ #e;
4362
+ constructor(t) {
4363
+ this.#e = new Set(t);
4364
+ }
4365
+ getLeadingWhitespaceCount(t) {
4366
+ let r = this.#e, n = 0;
4367
+ for (let s = 0; s < t.length && r.has(t.charAt(s)); s++) n++;
4368
+ return n;
4369
+ }
4370
+ getTrailingWhitespaceCount(t) {
4371
+ let r = this.#e, n = 0;
4372
+ for (let s = t.length - 1; s >= 0 && r.has(t.charAt(s)); s--) n++;
4373
+ return n;
4374
+ }
4375
+ getLeadingWhitespace(t) {
4376
+ let r = this.getLeadingWhitespaceCount(t);
4377
+ return t.slice(0, r);
4378
+ }
4379
+ getTrailingWhitespace(t) {
4380
+ let r = this.getTrailingWhitespaceCount(t);
4381
+ return t.slice(t.length - r);
4382
+ }
4383
+ hasLeadingWhitespace(t) {
4384
+ return this.#e.has(t.charAt(0));
4385
+ }
4386
+ hasTrailingWhitespace(t) {
4387
+ return this.#e.has(N(0, t, -1));
4388
+ }
4389
+ trimStart(t) {
4390
+ let r = this.getLeadingWhitespaceCount(t);
4391
+ return t.slice(r);
4392
+ }
4393
+ trimEnd(t) {
4394
+ let r = this.getTrailingWhitespaceCount(t);
4395
+ return t.slice(0, t.length - r);
4396
+ }
4397
+ trim(t) {
4398
+ return this.trimEnd(this.trimStart(t));
4399
+ }
4400
+ split(t, r = !1) {
4401
+ let n = `[${Os([...this.#e].join(""))}]+`, s = new RegExp(r ? `(${n})` : n, "u");
4402
+ return t.split(s);
4403
+ }
4404
+ hasWhitespaceCharacter(t) {
4405
+ let r = this.#e;
4406
+ return Array.prototype.some.call(t, (n) => r.has(n));
4407
+ }
4408
+ hasNonWhitespaceCharacter(t) {
4409
+ let r = this.#e;
4410
+ return Array.prototype.some.call(t, (n) => !r.has(n));
4411
+ }
4412
+ isWhitespaceOnly(t) {
4413
+ let r = this.#e;
4414
+ return Array.prototype.every.call(t, (n) => r.has(n));
4415
+ }
4416
+ #t(t) {
4417
+ let r = Number.POSITIVE_INFINITY;
4418
+ for (let n of t.split(`
4419
+ `)) {
4420
+ if (n.length === 0) continue;
4421
+ let s = this.getLeadingWhitespaceCount(n);
4422
+ if (s === 0) return 0;
4423
+ n.length !== s && s < r && (r = s);
4424
+ }
4425
+ return r === Number.POSITIVE_INFINITY ? 0 : r;
4426
+ }
4427
+ dedentString(t) {
4428
+ let r = this.#t(t);
4429
+ return r === 0 ? t : t.split(`
4430
+ `).map((n) => n.slice(r)).join(`
4431
+ `);
4432
+ }
4433
+ }, pu = ws, yn = new pu(`
4434
+ \r `), _s = (e) => e === "" || e === A || e === E || e === f;
4435
+ Kl = k(["ArrayExpression", "JSXAttribute", "JSXElement", "JSXExpressionContainer", "JSXFragment", "ExpressionStatement", "NewExpression", "CallExpression", "OptionalCallExpression", "ConditionalExpression", "JsExpressionRoot", "MatchExpressionCase"]);
4436
+ nr = lm;
4437
+ Dm = k(["CallExpression", "OptionalCallExpression", "AssignmentExpression"]);
4438
+ Ns = /* @__PURE__ */ new WeakMap();
4439
+ ym = (e) => e.type === "SequenceExpression";
4440
+ Am = Array.prototype.findLast ?? function(e) {
4441
+ for (let t = this.length - 1; t >= 0; t--) {
4442
+ let r = this[t];
4443
+ if (e(r, t, this)) return r;
4444
+ }
4445
+ }, Tm = Wt("findLast", function() {
4446
+ if (Array.isArray(this)) return Am;
4447
+ }), xu = Tm;
4448
+ gu = gm;
4449
+ hu = k(["ClassProperty", "PropertyDefinition", "ClassPrivateProperty", "ClassAccessorProperty", "AccessorProperty", "TSAbstractPropertyDefinition", "TSAbstractAccessorProperty"]), Bu = (e) => {
4450
+ if (e.computed || e.typeAnnotation) return !1;
4451
+ let { type: t, name: r } = e.key;
4452
+ return t === "Identifier" && (r === "static" || r === "get" || r === "set");
4453
+ };
4454
+ Bm = k(["TSPropertySignature"]);
4455
+ bm = gu("heritageGroup"), Pm = k(["TSInterfaceDeclaration", "DeclareInterface", "InterfaceDeclaration", "InterfaceTypeAnnotation"]);
4456
+ js = /* @__PURE__ */ new WeakMap();
4457
+ Om = k(["TSAsExpression", "TSTypeAssertion", "TSNonNullExpression", "TSInstantiationExpression", "TSSatisfiesExpression"]);
4458
+ Iu = k(["FunctionExpression", "ArrowFunctionExpression"]);
4459
+ Mm = "use strict";
4460
+ Jt = Nm, ju = k(["ImportDeclaration", "ExportDefaultDeclaration", "ExportNamedDeclaration", "ExportAllDeclaration", "DeclareExportDeclaration", "DeclareExportAllDeclaration"]), jm = k(["EnumBooleanBody", "EnumNumberBody", "EnumBigIntBody", "EnumStringBody", "EnumSymbolBody"]);
4461
+ Ru = (e) => e.type === "ExportDefaultDeclaration" || e.type === "DeclareExportDeclaration" && e.default;
4462
+ Rm = k(["ClassDeclaration", "ComponentDeclaration", "FunctionDeclaration", "TSInterfaceDeclaration", "DeclareClass", "DeclareComponent", "DeclareFunction", "DeclareHook", "HookDeclaration", "TSDeclareFunction", "EnumDeclaration"]);
4463
+ qm = (e) => {
4464
+ let { attributes: t } = e;
4465
+ if (t.length !== 1) return !1;
4466
+ let [r] = t, { type: n, key: s, value: i } = r;
4467
+ return n === "ImportAttribute" && (s.type === "Identifier" && s.name === "type" || V(s) && s.value === "type") && V(i) && !T(r) && !T(s) && !T(i);
4468
+ };
4469
+ Xm = /* @__PURE__ */ new Map([["AssignmentExpression", "right"], ["VariableDeclarator", "init"], ["ReturnStatement", "argument"], ["ThrowStatement", "argument"], ["UnaryExpression", "argument"], ["YieldExpression", "argument"], ["AwaitExpression", "argument"]]);
4470
+ Qm = /* @__PURE__ */ new Map([["AssignmentExpression", "right"], ["VariableDeclarator", "init"], ["ReturnStatement", "argument"], ["ThrowStatement", "argument"], ["UnaryExpression", "argument"], ["YieldExpression", "argument"], ["AwaitExpression", "argument"]]);
4471
+ Ws = (e) => [P("("), m([f, e]), f, P(")")];
4472
+ Zm = k(["SatisfiesExpression", "TSSatisfiesExpression"]);
4473
+ ua = k(["MatchWildcardPattern", "MatchLiteralPattern", "MatchUnaryPattern", "MatchIdentifierPattern"]);
4474
+ lD = k(["ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassAccessorProperty", "AccessorProperty", "TSAbstractAccessorProperty", "PropertyDefinition", "TSAbstractPropertyDefinition", "ClassPrivateProperty", "MethodDefinition", "TSAbstractMethodDefinition", "TSDeclareMethod"]);
4475
+ Ys = mD, DD = { experimental_avoidAstMutation: !0 }, ya = [{ name: "JSON.stringify", type: "data", aceMode: "json", extensions: [".importmap"], filenames: ["package.json", "package-lock.json", "composer.json"], tmScope: "source.json", aliases: ["geojson", "jsonl", "sarif", "topojson"], codemirrorMode: "javascript", codemirrorMimeType: "application/json", parsers: ["json-stringify"], vscodeLanguageIds: ["json"], linguistLanguageId: 174 }, { name: "JSON", type: "data", aceMode: "json", extensions: [".json", ".4DForm", ".4DProject", ".avsc", ".geojson", ".gltf", ".har", ".ice", ".JSON-tmLanguage", ".json.example", ".mcmeta", ".sarif", ".tact", ".tfstate", ".tfstate.backup", ".topojson", ".webapp", ".webmanifest", ".yy", ".yyp"], filenames: [".all-contributorsrc", ".arcconfig", ".auto-changelog", ".c8rc", ".htmlhintrc", ".imgbotconfig", ".nycrc", ".tern-config", ".tern-project", ".watchmanconfig", ".babelrc", ".jscsrc", ".jshintrc", ".jslintrc", ".swcrc"], tmScope: "source.json", aliases: ["geojson", "jsonl", "sarif", "topojson"], codemirrorMode: "javascript", codemirrorMimeType: "application/json", parsers: ["json"], vscodeLanguageIds: ["json"], linguistLanguageId: 174 }, { name: "JSON with Comments", type: "data", aceMode: "javascript", extensions: [".jsonc", ".code-snippets", ".code-workspace", ".sublime-build", ".sublime-color-scheme", ".sublime-commands", ".sublime-completions", ".sublime-keymap", ".sublime-macro", ".sublime-menu", ".sublime-mousemap", ".sublime-project", ".sublime-settings", ".sublime-theme", ".sublime-workspace", ".sublime_metrics", ".sublime_session"], filenames: [], tmScope: "source.json.comments", aliases: ["jsonc"], codemirrorMode: "javascript", codemirrorMimeType: "text/javascript", group: "JSON", parsers: ["jsonc"], vscodeLanguageIds: ["jsonc"], linguistLanguageId: 423 }, { name: "JSON5", type: "data", aceMode: "json5", extensions: [".json5"], tmScope: "source.js", codemirrorMode: "javascript", codemirrorMimeType: "application/json", parsers: ["json5"], vscodeLanguageIds: ["json5"], linguistLanguageId: 175 }], Xs = {};
4476
+ jn(Xs, { getVisitorKeys: () => Fa, massageAstNode: () => Ca, print: () => yD });
4477
+ ar = [[]], Ea = { JsonRoot: ["node"], ArrayExpression: ["elements"], ObjectExpression: ["properties"], ObjectProperty: ["key", "value"], UnaryExpression: ["argument"], NullLiteral: ar[0], BooleanLiteral: ar[0], StringLiteral: ar[0], NumericLiteral: ar[0], Identifier: ar[0], TemplateLiteral: ["quasis"], TemplateElement: ar[0] }, fD = _r(Ea), Fa = fD;
4478
+ ED = /* @__PURE__ */ new Set(["start", "end", "extra", "loc", "comments", "leadingComments", "trailingComments", "innerComments", "errors", "range", "tokens"]);
4479
+ Ca.ignoredProperties = ED;
4480
+ pr = { bracketSpacing: { category: "Common", type: "boolean", default: !0, description: "Print spaces between brackets.", oppositeDescription: "Do not print spaces between brackets." }, objectWrap: { category: "Common", type: "choice", default: "preserve", description: "How to wrap object literals.", choices: [{ value: "preserve", description: "Keep as multi-line, if there is a newline between the opening brace and first property." }, { value: "collapse", description: "Fit to a single line when possible." }] }, singleQuote: { category: "Common", type: "boolean", default: !1, description: "Use single quotes instead of double quotes." }, proseWrap: { category: "Common", type: "choice", default: "preserve", description: "How to wrap prose.", choices: [{ value: "always", description: "Wrap prose if it exceeds the print width." }, { value: "never", description: "Do not wrap prose." }, { value: "preserve", description: "Wrap prose as-is." }] }, bracketSameLine: { category: "Common", type: "boolean", default: !1, description: "Put > of opening tags on the last line instead of on a new line." }, singleAttributePerLine: { category: "Common", type: "boolean", default: !1, description: "Enforce single attribute per line in HTML, Vue and JSX." } }, St = "JavaScript", FD = { arrowParens: { category: St, type: "choice", default: "always", description: "Include parentheses around a sole arrow function parameter.", choices: [{ value: "always", description: "Always include parens. Example: `(x) => x`" }, { value: "avoid", description: "Omit parens when possible. Example: `x => x`" }] }, bracketSameLine: pr.bracketSameLine, objectWrap: pr.objectWrap, bracketSpacing: pr.bracketSpacing, jsxBracketSameLine: { category: St, type: "boolean", description: "Put > on the last line instead of at a new line.", deprecated: "2.4.0" }, semi: { category: St, type: "boolean", default: !0, description: "Print semicolons.", oppositeDescription: "Do not print semicolons, except at the beginning of lines which may need them." }, experimentalOperatorPosition: { category: St, type: "choice", default: "end", description: "Where to print operators when binary expressions wrap lines.", choices: [{ value: "start", description: "Print operators at the start of new lines." }, { value: "end", description: "Print operators at the end of previous lines." }] }, experimentalTernaries: { category: St, type: "boolean", default: !1, description: "Use curious ternaries, with the question mark after the condition.", oppositeDescription: "Default behavior of ternaries; keep question marks on the same line as the consequent." }, singleQuote: pr.singleQuote, jsxSingleQuote: { category: St, type: "boolean", default: !1, description: "Use single quotes in JSX." }, quoteProps: { category: St, type: "choice", default: "as-needed", description: "Change when properties in objects are quoted.", choices: [{ value: "as-needed", description: "Only add quotes around object properties where required." }, { value: "consistent", description: "If at least one property in an object requires quotes, quote all properties." }, { value: "preserve", description: "Respect the input use of quotes in object properties." }] }, trailingComma: { category: St, type: "choice", default: "all", description: "Print trailing commas wherever possible when multi-line.", choices: [{ value: "all", description: "Trailing commas wherever possible (including function arguments)." }, { value: "es5", description: "Trailing commas where valid in ES5 (objects, arrays, etc.)" }, { value: "none", description: "No trailing commas." }] }, singleAttributePerLine: pr.singleAttributePerLine }, Aa = FD, dD = { estree: Hs, "estree-json": Xs }, CD = [...Qs, ...ya];
4481
+ }
4482
+ });
4483
+ init_estree();
4484
+ export {
4485
+ Ta as default,
4486
+ CD as languages,
4487
+ Aa as options,
4488
+ dD as printers
4489
+ };
4490
+ //# sourceMappingURL=estree-PY6WKTNG.js.map