rafters 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2587 @@
1
+ import "./chunk-R5U7XKVJ.js";
2
+
3
+ // ../../node_modules/.pnpm/prettier@3.7.4/node_modules/prettier/standalone.mjs
4
+ var Zn = Object.create;
5
+ var Mt = Object.defineProperty;
6
+ var eo = Object.getOwnPropertyDescriptor;
7
+ var to = Object.getOwnPropertyNames;
8
+ var uo = Object.getPrototypeOf;
9
+ var ro = Object.prototype.hasOwnProperty;
10
+ var no = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports);
11
+ var Yt = (e, t) => {
12
+ for (var u in t) Mt(e, u, { get: t[u], enumerable: true });
13
+ };
14
+ var oo = (e, t, u, r) => {
15
+ if (t && typeof t == "object" || typeof t == "function") for (let o of to(t)) !ro.call(e, o) && o !== u && Mt(e, o, { get: () => t[o], enumerable: !(r = eo(t, o)) || r.enumerable });
16
+ return e;
17
+ };
18
+ var ao = (e, t, u) => (u = e != null ? Zn(uo(e)) : {}, oo(t || !e || !e.__esModule ? Mt(u, "default", { value: e, enumerable: true }) : u, e));
19
+ var dn = no((of, ln) => {
20
+ var yt, bt, At, _t, xt, $e, bu, Ke, Bt, cn, Tt, Ve, Nt, St, wt, pe, fn, Ot, Pt, Aa;
21
+ Nt = /\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]|[^\/\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/yu;
22
+ Ve = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y;
23
+ yt = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/yu;
24
+ wt = /(['"])(?:[^'"\\\n\r]+|(?!\1)['"]|\\(?:\r\n|[^]))*(\1)?/y;
25
+ Tt = /(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y;
26
+ pe = /[`}](?:[^`\\$]+|\\[^]|\$(?!\{))*(`|\$\{)?/y;
27
+ Pt = /[\t\v\f\ufeff\p{Zs}]+/yu;
28
+ Ke = /\r?\n|[\r\u2028\u2029]/y;
29
+ Bt = /\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y;
30
+ St = /\/\/.*/y;
31
+ At = /[<>.:={}]|\/(?![\/*])/y;
32
+ bt = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/yu;
33
+ _t = /(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y;
34
+ xt = /[^<>{}]+/y;
35
+ Ot = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/;
36
+ fn = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/;
37
+ $e = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;
38
+ bu = /^(?:return|throw|yield)$/;
39
+ cn = RegExp(Ke.source);
40
+ ln.exports = Aa = function* (e, { jsx: t = false } = {}) {
41
+ var u, r, o, n, a, s, i, D, f, l, d, c, p, F;
42
+ for ({ length: s } = e, n = 0, a = "", F = [{ tag: "JS" }], u = [], d = 0, c = false; n < s; ) {
43
+ switch (D = F[F.length - 1], D.tag) {
44
+ case "JS":
45
+ case "JSNonExpressionParen":
46
+ case "InterpolationInTemplate":
47
+ case "InterpolationInJSX":
48
+ if (e[n] === "/" && (Ot.test(a) || $e.test(a)) && (Nt.lastIndex = n, i = Nt.exec(e))) {
49
+ n = Nt.lastIndex, a = i[0], c = true, yield { type: "RegularExpressionLiteral", value: i[0], closed: i[1] !== void 0 && i[1] !== "\\" };
50
+ continue;
51
+ }
52
+ if (Ve.lastIndex = n, i = Ve.exec(e)) {
53
+ switch (p = i[0], f = Ve.lastIndex, l = p, p) {
54
+ case "(":
55
+ a === "?NonExpressionParenKeyword" && F.push({ tag: "JSNonExpressionParen", nesting: d }), d++, c = false;
56
+ break;
57
+ case ")":
58
+ d--, c = true, D.tag === "JSNonExpressionParen" && d === D.nesting && (F.pop(), l = "?NonExpressionParenEnd", c = false);
59
+ break;
60
+ case "{":
61
+ Ve.lastIndex = 0, o = !fn.test(a) && (Ot.test(a) || $e.test(a)), u.push(o), c = false;
62
+ break;
63
+ case "}":
64
+ switch (D.tag) {
65
+ case "InterpolationInTemplate":
66
+ if (u.length === D.nesting) {
67
+ pe.lastIndex = n, i = pe.exec(e), n = pe.lastIndex, a = i[0], i[1] === "${" ? (a = "?InterpolationInTemplate", c = false, yield { type: "TemplateMiddle", value: i[0] }) : (F.pop(), c = true, yield { type: "TemplateTail", value: i[0], closed: i[1] === "`" });
68
+ continue;
69
+ }
70
+ break;
71
+ case "InterpolationInJSX":
72
+ if (u.length === D.nesting) {
73
+ F.pop(), n += 1, a = "}", yield { type: "JSXPunctuator", value: "}" };
74
+ continue;
75
+ }
76
+ }
77
+ c = u.pop(), l = c ? "?ExpressionBraceEnd" : "}";
78
+ break;
79
+ case "]":
80
+ c = true;
81
+ break;
82
+ case "++":
83
+ case "--":
84
+ l = c ? "?PostfixIncDec" : "?UnaryIncDec";
85
+ break;
86
+ case "<":
87
+ if (t && (Ot.test(a) || $e.test(a))) {
88
+ F.push({ tag: "JSXTag" }), n += 1, a = "<", yield { type: "JSXPunctuator", value: p };
89
+ continue;
90
+ }
91
+ c = false;
92
+ break;
93
+ default:
94
+ c = false;
95
+ }
96
+ n = f, a = l, yield { type: "Punctuator", value: p };
97
+ continue;
98
+ }
99
+ if (yt.lastIndex = n, i = yt.exec(e)) {
100
+ switch (n = yt.lastIndex, l = i[0], i[0]) {
101
+ case "for":
102
+ case "if":
103
+ case "while":
104
+ case "with":
105
+ a !== "." && a !== "?." && (l = "?NonExpressionParenKeyword");
106
+ }
107
+ a = l, c = !$e.test(i[0]), yield { type: i[1] === "#" ? "PrivateIdentifier" : "IdentifierName", value: i[0] };
108
+ continue;
109
+ }
110
+ if (wt.lastIndex = n, i = wt.exec(e)) {
111
+ n = wt.lastIndex, a = i[0], c = true, yield { type: "StringLiteral", value: i[0], closed: i[2] !== void 0 };
112
+ continue;
113
+ }
114
+ if (Tt.lastIndex = n, i = Tt.exec(e)) {
115
+ n = Tt.lastIndex, a = i[0], c = true, yield { type: "NumericLiteral", value: i[0] };
116
+ continue;
117
+ }
118
+ if (pe.lastIndex = n, i = pe.exec(e)) {
119
+ n = pe.lastIndex, a = i[0], i[1] === "${" ? (a = "?InterpolationInTemplate", F.push({ tag: "InterpolationInTemplate", nesting: u.length }), c = false, yield { type: "TemplateHead", value: i[0] }) : (c = true, yield { type: "NoSubstitutionTemplate", value: i[0], closed: i[1] === "`" });
120
+ continue;
121
+ }
122
+ break;
123
+ case "JSXTag":
124
+ case "JSXTagEnd":
125
+ if (At.lastIndex = n, i = At.exec(e)) {
126
+ switch (n = At.lastIndex, l = i[0], i[0]) {
127
+ case "<":
128
+ F.push({ tag: "JSXTag" });
129
+ break;
130
+ case ">":
131
+ F.pop(), a === "/" || D.tag === "JSXTagEnd" ? (l = "?JSX", c = true) : F.push({ tag: "JSXChildren" });
132
+ break;
133
+ case "{":
134
+ F.push({ tag: "InterpolationInJSX", nesting: u.length }), l = "?InterpolationInJSX", c = false;
135
+ break;
136
+ case "/":
137
+ a === "<" && (F.pop(), F[F.length - 1].tag === "JSXChildren" && F.pop(), F.push({ tag: "JSXTagEnd" }));
138
+ }
139
+ a = l, yield { type: "JSXPunctuator", value: i[0] };
140
+ continue;
141
+ }
142
+ if (bt.lastIndex = n, i = bt.exec(e)) {
143
+ n = bt.lastIndex, a = i[0], yield { type: "JSXIdentifier", value: i[0] };
144
+ continue;
145
+ }
146
+ if (_t.lastIndex = n, i = _t.exec(e)) {
147
+ n = _t.lastIndex, a = i[0], yield { type: "JSXString", value: i[0], closed: i[2] !== void 0 };
148
+ continue;
149
+ }
150
+ break;
151
+ case "JSXChildren":
152
+ if (xt.lastIndex = n, i = xt.exec(e)) {
153
+ n = xt.lastIndex, a = i[0], yield { type: "JSXText", value: i[0] };
154
+ continue;
155
+ }
156
+ switch (e[n]) {
157
+ case "<":
158
+ F.push({ tag: "JSXTag" }), n++, a = "<", yield { type: "JSXPunctuator", value: "<" };
159
+ continue;
160
+ case "{":
161
+ F.push({ tag: "InterpolationInJSX", nesting: u.length }), n++, a = "?InterpolationInJSX", c = false, yield { type: "JSXPunctuator", value: "{" };
162
+ continue;
163
+ }
164
+ }
165
+ if (Pt.lastIndex = n, i = Pt.exec(e)) {
166
+ n = Pt.lastIndex, yield { type: "WhiteSpace", value: i[0] };
167
+ continue;
168
+ }
169
+ if (Ke.lastIndex = n, i = Ke.exec(e)) {
170
+ n = Ke.lastIndex, c = false, bu.test(a) && (a = "?NoLineTerminatorHere"), yield { type: "LineTerminatorSequence", value: i[0] };
171
+ continue;
172
+ }
173
+ if (Bt.lastIndex = n, i = Bt.exec(e)) {
174
+ n = Bt.lastIndex, cn.test(i[0]) && (c = false, bu.test(a) && (a = "?NoLineTerminatorHere")), yield { type: "MultiLineComment", value: i[0], closed: i[1] !== void 0 };
175
+ continue;
176
+ }
177
+ if (St.lastIndex = n, i = St.exec(e)) {
178
+ n = St.lastIndex, c = false, yield { type: "SingleLineComment", value: i[0] };
179
+ continue;
180
+ }
181
+ r = String.fromCodePoint(e.codePointAt(n)), n += r.length, a = r, c = false, yield { type: D.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid", value: r };
182
+ }
183
+ };
184
+ });
185
+ var Hn = {};
186
+ Yt(Hn, { __debug: () => li, check: () => ci, doc: () => wu, format: () => Jn, formatWithCursor: () => zn, getSupportInfo: () => fi, util: () => Pu, version: () => Mn });
187
+ var X = (e, t) => (u, r, ...o) => u | 1 && r == null ? void 0 : (t.call(r) ?? r[e]).apply(r, o);
188
+ var io = String.prototype.replaceAll ?? function(e, t) {
189
+ return e.global ? this.replace(e, t) : this.split(e).join(t);
190
+ };
191
+ var so = X("replaceAll", function() {
192
+ if (typeof this == "string") return io;
193
+ });
194
+ var oe = so;
195
+ var Ne = class {
196
+ diff(t, u, r = {}) {
197
+ let o;
198
+ typeof r == "function" ? (o = r, r = {}) : "callback" in r && (o = r.callback);
199
+ let n = this.castInput(t, r), a = this.castInput(u, r), s = this.removeEmpty(this.tokenize(n, r)), i = this.removeEmpty(this.tokenize(a, r));
200
+ return this.diffWithOptionsObj(s, i, r, o);
201
+ }
202
+ diffWithOptionsObj(t, u, r, o) {
203
+ var n;
204
+ let a = (m) => {
205
+ if (m = this.postProcess(m, r), o) {
206
+ setTimeout(function() {
207
+ o(m);
208
+ }, 0);
209
+ return;
210
+ } else return m;
211
+ }, s = u.length, i = t.length, D = 1, f = s + i;
212
+ r.maxEditLength != null && (f = Math.min(f, r.maxEditLength));
213
+ let l = (n = r.timeout) !== null && n !== void 0 ? n : 1 / 0, d = Date.now() + l, c = [{ oldPos: -1, lastComponent: void 0 }], p = this.extractCommon(c[0], u, t, 0, r);
214
+ if (c[0].oldPos + 1 >= i && p + 1 >= s) return a(this.buildValues(c[0].lastComponent, u, t));
215
+ let F = -1 / 0, C = 1 / 0, y = () => {
216
+ for (let m = Math.max(F, -D); m <= Math.min(C, D); m += 2) {
217
+ let h, E = c[m - 1], g = c[m + 1];
218
+ E && (c[m - 1] = void 0);
219
+ let A = false;
220
+ if (g) {
221
+ let Q = g.oldPos - m;
222
+ A = g && 0 <= Q && Q < s;
223
+ }
224
+ let J = E && E.oldPos + 1 < i;
225
+ if (!A && !J) {
226
+ c[m] = void 0;
227
+ continue;
228
+ }
229
+ if (!J || A && E.oldPos < g.oldPos ? h = this.addToPath(g, true, false, 0, r) : h = this.addToPath(E, false, true, 1, r), p = this.extractCommon(h, u, t, m, r), h.oldPos + 1 >= i && p + 1 >= s) return a(this.buildValues(h.lastComponent, u, t)) || true;
230
+ c[m] = h, h.oldPos + 1 >= i && (C = Math.min(C, m - 1)), p + 1 >= s && (F = Math.max(F, m + 1));
231
+ }
232
+ D++;
233
+ };
234
+ if (o) (function m() {
235
+ setTimeout(function() {
236
+ if (D > f || Date.now() > d) return o(void 0);
237
+ y() || m();
238
+ }, 0);
239
+ })();
240
+ else for (; D <= f && Date.now() <= d; ) {
241
+ let m = y();
242
+ if (m) return m;
243
+ }
244
+ }
245
+ addToPath(t, u, r, o, n) {
246
+ let a = t.lastComponent;
247
+ return a && !n.oneChangePerToken && a.added === u && a.removed === r ? { oldPos: t.oldPos + o, lastComponent: { count: a.count + 1, added: u, removed: r, previousComponent: a.previousComponent } } : { oldPos: t.oldPos + o, lastComponent: { count: 1, added: u, removed: r, previousComponent: a } };
248
+ }
249
+ extractCommon(t, u, r, o, n) {
250
+ let a = u.length, s = r.length, i = t.oldPos, D = i - o, f = 0;
251
+ for (; D + 1 < a && i + 1 < s && this.equals(r[i + 1], u[D + 1], n); ) D++, i++, f++, n.oneChangePerToken && (t.lastComponent = { count: 1, previousComponent: t.lastComponent, added: false, removed: false });
252
+ return f && !n.oneChangePerToken && (t.lastComponent = { count: f, previousComponent: t.lastComponent, added: false, removed: false }), t.oldPos = i, D;
253
+ }
254
+ equals(t, u, r) {
255
+ return r.comparator ? r.comparator(t, u) : t === u || !!r.ignoreCase && t.toLowerCase() === u.toLowerCase();
256
+ }
257
+ removeEmpty(t) {
258
+ let u = [];
259
+ for (let r = 0; r < t.length; r++) t[r] && u.push(t[r]);
260
+ return u;
261
+ }
262
+ castInput(t, u) {
263
+ return t;
264
+ }
265
+ tokenize(t, u) {
266
+ return Array.from(t);
267
+ }
268
+ join(t) {
269
+ return t.join("");
270
+ }
271
+ postProcess(t, u) {
272
+ return t;
273
+ }
274
+ get useLongestToken() {
275
+ return false;
276
+ }
277
+ buildValues(t, u, r) {
278
+ let o = [], n;
279
+ for (; t; ) o.push(t), n = t.previousComponent, delete t.previousComponent, t = n;
280
+ o.reverse();
281
+ let a = o.length, s = 0, i = 0, D = 0;
282
+ for (; s < a; s++) {
283
+ let f = o[s];
284
+ if (f.removed) f.value = this.join(r.slice(D, D + f.count)), D += f.count;
285
+ else {
286
+ if (!f.added && this.useLongestToken) {
287
+ let l = u.slice(i, i + f.count);
288
+ l = l.map(function(d, c) {
289
+ let p = r[D + c];
290
+ return p.length > d.length ? p : d;
291
+ }), f.value = this.join(l);
292
+ } else f.value = this.join(u.slice(i, i + f.count));
293
+ i += f.count, f.added || (D += f.count);
294
+ }
295
+ }
296
+ return o;
297
+ }
298
+ };
299
+ var jt = class extends Ne {
300
+ tokenize(t) {
301
+ return t.slice();
302
+ }
303
+ join(t) {
304
+ return t;
305
+ }
306
+ removeEmpty(t) {
307
+ return t;
308
+ }
309
+ };
310
+ var ku = new jt();
311
+ function Ut(e, t, u) {
312
+ return ku.diff(e, t, u);
313
+ }
314
+ var Do = () => {
315
+ };
316
+ var P = Do;
317
+ var Ru = "cr";
318
+ var Lu = "crlf";
319
+ var co = "lf";
320
+ var fo = co;
321
+ var Wt = "\r";
322
+ var Mu = `\r
323
+ `;
324
+ var Je = `
325
+ `;
326
+ var lo = Je;
327
+ function Yu(e) {
328
+ let t = e.indexOf(Wt);
329
+ return t !== -1 ? e.charAt(t + 1) === Je ? Lu : Ru : fo;
330
+ }
331
+ function Se(e) {
332
+ return e === Ru ? Wt : e === Lu ? Mu : lo;
333
+ }
334
+ var po = /* @__PURE__ */ new Map([[Je, /\n/gu], [Wt, /\r/gu], [Mu, /\r\n/gu]]);
335
+ function $t(e, t) {
336
+ let u = po.get(t);
337
+ return e.match(u)?.length ?? 0;
338
+ }
339
+ var Fo = /\r\n?/gu;
340
+ function ju(e) {
341
+ return oe(0, e, Fo, Je);
342
+ }
343
+ function mo(e) {
344
+ return this[e < 0 ? this.length + e : e];
345
+ }
346
+ var Eo = X("at", function() {
347
+ if (Array.isArray(this) || typeof this == "string") return mo;
348
+ });
349
+ var b = Eo;
350
+ var G = "string";
351
+ var j = "array";
352
+ var U = "cursor";
353
+ var I = "indent";
354
+ var k = "align";
355
+ var v = "trim";
356
+ var x = "group";
357
+ var w = "fill";
358
+ var B = "if-break";
359
+ var R = "indent-if-break";
360
+ var L = "line-suffix";
361
+ var M = "line-suffix-boundary";
362
+ var _ = "line";
363
+ var O = "label";
364
+ var T = "break-parent";
365
+ var He = /* @__PURE__ */ new Set([U, I, k, v, x, w, B, R, L, M, _, O, T]);
366
+ function Uu(e) {
367
+ let t = e.length;
368
+ for (; t > 0 && (e[t - 1] === "\r" || e[t - 1] === `
369
+ `); ) t--;
370
+ return t < e.length ? e.slice(0, t) : e;
371
+ }
372
+ function Co(e) {
373
+ if (typeof e == "string") return G;
374
+ if (Array.isArray(e)) return j;
375
+ if (!e) return;
376
+ let { type: t } = e;
377
+ if (He.has(t)) return t;
378
+ }
379
+ var H = Co;
380
+ var ho = (e) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e);
381
+ function go(e) {
382
+ let t = e === null ? "null" : typeof e;
383
+ if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
384
+ Expected it to be 'string' or 'object'.`;
385
+ if (H(e)) throw new Error("doc is valid.");
386
+ let u = Object.prototype.toString.call(e);
387
+ if (u !== "[object Object]") return `Unexpected doc '${u}'.`;
388
+ let r = ho([...He].map((o) => `'${o}'`));
389
+ return `Unexpected doc.type '${e.type}'.
390
+ Expected it to be ${r}.`;
391
+ }
392
+ var Vt = class extends Error {
393
+ name = "InvalidDocError";
394
+ constructor(t) {
395
+ super(go(t)), this.doc = t;
396
+ }
397
+ };
398
+ var Z = Vt;
399
+ var Wu = {};
400
+ function yo(e, t, u, r) {
401
+ let o = [e];
402
+ for (; o.length > 0; ) {
403
+ let n = o.pop();
404
+ if (n === Wu) {
405
+ u(o.pop());
406
+ continue;
407
+ }
408
+ u && o.push(n, Wu);
409
+ let a = H(n);
410
+ if (!a) throw new Z(n);
411
+ if (t?.(n) !== false) switch (a) {
412
+ case j:
413
+ case w: {
414
+ let s = a === j ? n : n.parts;
415
+ for (let i = s.length, D = i - 1; D >= 0; --D) o.push(s[D]);
416
+ break;
417
+ }
418
+ case B:
419
+ o.push(n.flatContents, n.breakContents);
420
+ break;
421
+ case x:
422
+ if (r && n.expandedStates) for (let s = n.expandedStates.length, i = s - 1; i >= 0; --i) o.push(n.expandedStates[i]);
423
+ else o.push(n.contents);
424
+ break;
425
+ case k:
426
+ case I:
427
+ case R:
428
+ case O:
429
+ case L:
430
+ o.push(n.contents);
431
+ break;
432
+ case G:
433
+ case U:
434
+ case v:
435
+ case M:
436
+ case _:
437
+ case T:
438
+ break;
439
+ default:
440
+ throw new Z(n);
441
+ }
442
+ }
443
+ }
444
+ var we = yo;
445
+ function Pe(e, t) {
446
+ if (typeof e == "string") return t(e);
447
+ let u = /* @__PURE__ */ new Map();
448
+ return r(e);
449
+ function r(n) {
450
+ if (u.has(n)) return u.get(n);
451
+ let a = o(n);
452
+ return u.set(n, a), a;
453
+ }
454
+ function o(n) {
455
+ switch (H(n)) {
456
+ case j:
457
+ return t(n.map(r));
458
+ case w:
459
+ return t({ ...n, parts: n.parts.map(r) });
460
+ case B:
461
+ return t({ ...n, breakContents: r(n.breakContents), flatContents: r(n.flatContents) });
462
+ case x: {
463
+ let { expandedStates: a, contents: s } = n;
464
+ return a ? (a = a.map(r), s = a[0]) : s = r(s), t({ ...n, contents: s, expandedStates: a });
465
+ }
466
+ case k:
467
+ case I:
468
+ case R:
469
+ case O:
470
+ case L:
471
+ return t({ ...n, contents: r(n.contents) });
472
+ case G:
473
+ case U:
474
+ case v:
475
+ case M:
476
+ case _:
477
+ case T:
478
+ return t(n);
479
+ default:
480
+ throw new Z(n);
481
+ }
482
+ }
483
+ }
484
+ function Xe(e, t, u) {
485
+ let r = u, o = false;
486
+ function n(a) {
487
+ if (o) return false;
488
+ let s = t(a);
489
+ s !== void 0 && (o = true, r = s);
490
+ }
491
+ return we(e, n), r;
492
+ }
493
+ function bo(e) {
494
+ if (e.type === x && e.break || e.type === _ && e.hard || e.type === T) return true;
495
+ }
496
+ function Ku(e) {
497
+ return Xe(e, bo, false);
498
+ }
499
+ function $u(e) {
500
+ if (e.length > 0) {
501
+ let t = b(0, e, -1);
502
+ !t.expandedStates && !t.break && (t.break = "propagated");
503
+ }
504
+ return null;
505
+ }
506
+ function Gu(e) {
507
+ let t = /* @__PURE__ */ new Set(), u = [];
508
+ function r(n) {
509
+ if (n.type === T && $u(u), n.type === x) {
510
+ if (u.push(n), t.has(n)) return false;
511
+ t.add(n);
512
+ }
513
+ }
514
+ function o(n) {
515
+ n.type === x && u.pop().break && $u(u);
516
+ }
517
+ we(e, r, o, true);
518
+ }
519
+ function Ao(e) {
520
+ return e.type === _ && !e.hard ? e.soft ? "" : " " : e.type === B ? e.flatContents : e;
521
+ }
522
+ function zu(e) {
523
+ return Pe(e, Ao);
524
+ }
525
+ function Vu(e) {
526
+ for (e = [...e]; e.length >= 2 && b(0, e, -2).type === _ && b(0, e, -1).type === T; ) e.length -= 2;
527
+ if (e.length > 0) {
528
+ let t = Oe(b(0, e, -1));
529
+ e[e.length - 1] = t;
530
+ }
531
+ return e;
532
+ }
533
+ function Oe(e) {
534
+ switch (H(e)) {
535
+ case I:
536
+ case R:
537
+ case x:
538
+ case L:
539
+ case O: {
540
+ let t = Oe(e.contents);
541
+ return { ...e, contents: t };
542
+ }
543
+ case B:
544
+ return { ...e, breakContents: Oe(e.breakContents), flatContents: Oe(e.flatContents) };
545
+ case w:
546
+ return { ...e, parts: Vu(e.parts) };
547
+ case j:
548
+ return Vu(e);
549
+ case G:
550
+ return Uu(e);
551
+ case k:
552
+ case U:
553
+ case v:
554
+ case M:
555
+ case _:
556
+ case T:
557
+ break;
558
+ default:
559
+ throw new Z(e);
560
+ }
561
+ return e;
562
+ }
563
+ function qe(e) {
564
+ return Oe(xo(e));
565
+ }
566
+ function _o(e) {
567
+ switch (H(e)) {
568
+ case w:
569
+ if (e.parts.every((t) => t === "")) return "";
570
+ break;
571
+ case x:
572
+ if (!e.contents && !e.id && !e.break && !e.expandedStates) return "";
573
+ if (e.contents.type === x && e.contents.id === e.id && e.contents.break === e.break && e.contents.expandedStates === e.expandedStates) return e.contents;
574
+ break;
575
+ case k:
576
+ case I:
577
+ case R:
578
+ case L:
579
+ if (!e.contents) return "";
580
+ break;
581
+ case B:
582
+ if (!e.flatContents && !e.breakContents) return "";
583
+ break;
584
+ case j: {
585
+ let t = [];
586
+ for (let u of e) {
587
+ if (!u) continue;
588
+ let [r, ...o] = Array.isArray(u) ? u : [u];
589
+ typeof r == "string" && typeof b(0, t, -1) == "string" ? t[t.length - 1] += r : t.push(r), t.push(...o);
590
+ }
591
+ return t.length === 0 ? "" : t.length === 1 ? t[0] : t;
592
+ }
593
+ case G:
594
+ case U:
595
+ case v:
596
+ case M:
597
+ case _:
598
+ case O:
599
+ case T:
600
+ break;
601
+ default:
602
+ throw new Z(e);
603
+ }
604
+ return e;
605
+ }
606
+ function xo(e) {
607
+ return Pe(e, (t) => _o(t));
608
+ }
609
+ function Ju(e, t = Qe) {
610
+ return Pe(e, (u) => typeof u == "string" ? Ie(t, u.split(`
611
+ `)) : u);
612
+ }
613
+ function Bo(e) {
614
+ if (e.type === _) return true;
615
+ }
616
+ function Hu(e) {
617
+ return Xe(e, Bo, false);
618
+ }
619
+ function Ee(e, t) {
620
+ return e.type === O ? { ...e, contents: t(e.contents) } : t(e);
621
+ }
622
+ var N = P;
623
+ var Ze = P;
624
+ var Xu = P;
625
+ var qu = P;
626
+ function ae(e) {
627
+ return N(e), { type: I, contents: e };
628
+ }
629
+ function De(e, t) {
630
+ return qu(e), N(t), { type: k, contents: t, n: e };
631
+ }
632
+ function Qu(e) {
633
+ return De(Number.NEGATIVE_INFINITY, e);
634
+ }
635
+ function et(e) {
636
+ return De({ type: "root" }, e);
637
+ }
638
+ function Zu(e) {
639
+ return De(-1, e);
640
+ }
641
+ function tt(e, t, u) {
642
+ N(e);
643
+ let r = e;
644
+ if (t > 0) {
645
+ for (let o = 0; o < Math.floor(t / u); ++o) r = ae(r);
646
+ r = De(t % u, r), r = De(Number.NEGATIVE_INFINITY, r);
647
+ }
648
+ return r;
649
+ }
650
+ var ce = { type: T };
651
+ var ee = { type: U };
652
+ function er(e) {
653
+ return Xu(e), { type: w, parts: e };
654
+ }
655
+ function Kt(e, t = {}) {
656
+ return N(e), Ze(t.expandedStates, true), { type: x, id: t.id, contents: e, break: !!t.shouldBreak, expandedStates: t.expandedStates };
657
+ }
658
+ function tr(e, t) {
659
+ return Kt(e[0], { ...t, expandedStates: e });
660
+ }
661
+ function ur(e, t = "", u = {}) {
662
+ return N(e), t !== "" && N(t), { type: B, breakContents: e, flatContents: t, groupId: u.groupId };
663
+ }
664
+ function rr(e, t) {
665
+ return N(e), { type: R, contents: e, groupId: t.groupId, negate: t.negate };
666
+ }
667
+ function Ie(e, t) {
668
+ N(e), Ze(t);
669
+ let u = [];
670
+ for (let r = 0; r < t.length; r++) r !== 0 && u.push(e), u.push(t[r]);
671
+ return u;
672
+ }
673
+ function nr(e, t) {
674
+ return N(t), e ? { type: O, label: e, contents: t } : t;
675
+ }
676
+ var ut = { type: _ };
677
+ var or = { type: _, soft: true };
678
+ var ke = { type: _, hard: true };
679
+ var V = [ke, ce];
680
+ var Gt = { type: _, hard: true, literal: true };
681
+ var Qe = [Gt, ce];
682
+ function ve(e) {
683
+ return N(e), { type: L, contents: e };
684
+ }
685
+ var ar = { type: M };
686
+ var ir = { type: v };
687
+ function te(e) {
688
+ if (!e) return "";
689
+ if (Array.isArray(e)) {
690
+ let t = [];
691
+ for (let u of e) if (Array.isArray(u)) t.push(...te(u));
692
+ else {
693
+ let r = te(u);
694
+ r !== "" && t.push(r);
695
+ }
696
+ return t;
697
+ }
698
+ return e.type === B ? { ...e, breakContents: te(e.breakContents), flatContents: te(e.flatContents) } : e.type === x ? { ...e, contents: te(e.contents), expandedStates: e.expandedStates?.map(te) } : e.type === w ? { type: "fill", parts: e.parts.map(te) } : e.contents ? { ...e, contents: te(e.contents) } : e;
699
+ }
700
+ function sr(e) {
701
+ let t = /* @__PURE__ */ Object.create(null), u = /* @__PURE__ */ new Set();
702
+ return r(te(e));
703
+ function r(n, a, s) {
704
+ if (typeof n == "string") return JSON.stringify(n);
705
+ if (Array.isArray(n)) {
706
+ let i = n.map(r).filter(Boolean);
707
+ return i.length === 1 ? i[0] : `[${i.join(", ")}]`;
708
+ }
709
+ if (n.type === _) {
710
+ let i = s?.[a + 1]?.type === T;
711
+ return n.literal ? i ? "literalline" : "literallineWithoutBreakParent" : n.hard ? i ? "hardline" : "hardlineWithoutBreakParent" : n.soft ? "softline" : "line";
712
+ }
713
+ if (n.type === T) return s?.[a - 1]?.type === _ && s[a - 1].hard ? void 0 : "breakParent";
714
+ if (n.type === v) return "trim";
715
+ if (n.type === I) return "indent(" + r(n.contents) + ")";
716
+ if (n.type === k) return n.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + r(n.contents) + ")" : n.n < 0 ? "dedent(" + r(n.contents) + ")" : n.n.type === "root" ? "markAsRoot(" + r(n.contents) + ")" : "align(" + JSON.stringify(n.n) + ", " + r(n.contents) + ")";
717
+ if (n.type === B) return "ifBreak(" + r(n.breakContents) + (n.flatContents ? ", " + r(n.flatContents) : "") + (n.groupId ? (n.flatContents ? "" : ', ""') + `, { groupId: ${o(n.groupId)} }` : "") + ")";
718
+ if (n.type === R) {
719
+ let i = [];
720
+ n.negate && i.push("negate: true"), n.groupId && i.push(`groupId: ${o(n.groupId)}`);
721
+ let D = i.length > 0 ? `, { ${i.join(", ")} }` : "";
722
+ return `indentIfBreak(${r(n.contents)}${D})`;
723
+ }
724
+ if (n.type === x) {
725
+ let i = [];
726
+ n.break && n.break !== "propagated" && i.push("shouldBreak: true"), n.id && i.push(`id: ${o(n.id)}`);
727
+ let D = i.length > 0 ? `, { ${i.join(", ")} }` : "";
728
+ return n.expandedStates ? `conditionalGroup([${n.expandedStates.map((f) => r(f)).join(",")}]${D})` : `group(${r(n.contents)}${D})`;
729
+ }
730
+ if (n.type === w) return `fill([${n.parts.map((i) => r(i)).join(", ")}])`;
731
+ if (n.type === L) return "lineSuffix(" + r(n.contents) + ")";
732
+ if (n.type === M) return "lineSuffixBoundary";
733
+ if (n.type === O) return `label(${JSON.stringify(n.label)}, ${r(n.contents)})`;
734
+ if (n.type === U) return "cursor";
735
+ throw new Error("Unknown doc type " + n.type);
736
+ }
737
+ function o(n) {
738
+ if (typeof n != "symbol") return JSON.stringify(String(n));
739
+ if (n in t) return t[n];
740
+ let a = n.description || "symbol";
741
+ for (let s = 0; ; s++) {
742
+ let i = a + (s > 0 ? ` #${s}` : "");
743
+ if (!u.has(i)) return u.add(i), t[n] = `Symbol.for(${JSON.stringify(i)})`;
744
+ }
745
+ }
746
+ }
747
+ var Dr = () => /[#*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;
748
+ function zt(e) {
749
+ return e === 12288 || e >= 65281 && e <= 65376 || e >= 65504 && e <= 65510;
750
+ }
751
+ function Jt(e) {
752
+ 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;
753
+ }
754
+ var cr = "\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";
755
+ var To = /[^\x20-\x7F]/u;
756
+ var No = new Set(cr);
757
+ function So(e) {
758
+ if (!e) return 0;
759
+ if (!To.test(e)) return e.length;
760
+ e = e.replace(Dr(), (u) => No.has(u) ? " " : " ");
761
+ let t = 0;
762
+ for (let u of e) {
763
+ let r = u.codePointAt(0);
764
+ r <= 31 || r >= 127 && r <= 159 || r >= 768 && r <= 879 || r >= 65024 && r <= 65039 || (t += zt(r) || Jt(r) ? 2 : 1);
765
+ }
766
+ return t;
767
+ }
768
+ var Re = So;
769
+ var wo = { type: 0 };
770
+ var Oo = { type: 1 };
771
+ var Ht = { value: "", length: 0, queue: [], get root() {
772
+ return Ht;
773
+ } };
774
+ function fr(e, t, u) {
775
+ let r = t.type === 1 ? e.queue.slice(0, -1) : [...e.queue, t], o = "", n = 0, a = 0, s = 0;
776
+ for (let p of r) switch (p.type) {
777
+ case 0:
778
+ f(), u.useTabs ? i(1) : D(u.tabWidth);
779
+ break;
780
+ case 3: {
781
+ let { string: F } = p;
782
+ f(), o += F, n += F.length;
783
+ break;
784
+ }
785
+ case 2: {
786
+ let { width: F } = p;
787
+ a += 1, s += F;
788
+ break;
789
+ }
790
+ default:
791
+ throw new Error(`Unexpected indent comment '${p.type}'.`);
792
+ }
793
+ return d(), { ...e, value: o, length: n, queue: r };
794
+ function i(p) {
795
+ o += " ".repeat(p), n += u.tabWidth * p;
796
+ }
797
+ function D(p) {
798
+ o += " ".repeat(p), n += p;
799
+ }
800
+ function f() {
801
+ u.useTabs ? l() : d();
802
+ }
803
+ function l() {
804
+ a > 0 && i(a), c();
805
+ }
806
+ function d() {
807
+ s > 0 && D(s), c();
808
+ }
809
+ function c() {
810
+ a = 0, s = 0;
811
+ }
812
+ }
813
+ function lr(e, t, u) {
814
+ if (!t) return e;
815
+ if (t.type === "root") return { ...e, root: e };
816
+ if (t === Number.NEGATIVE_INFINITY) return e.root;
817
+ let r;
818
+ return typeof t == "number" ? t < 0 ? r = Oo : r = { type: 2, width: t } : r = { type: 3, string: t }, fr(e, r, u);
819
+ }
820
+ function dr(e, t) {
821
+ return fr(e, wo, t);
822
+ }
823
+ function Po(e) {
824
+ let t = 0;
825
+ for (let u = e.length - 1; u >= 0; u--) {
826
+ let r = e[u];
827
+ if (r === " " || r === " ") t++;
828
+ else break;
829
+ }
830
+ return t;
831
+ }
832
+ function Xt(e) {
833
+ let t = Po(e);
834
+ return { text: t === 0 ? e : e.slice(0, e.length - t), count: t };
835
+ }
836
+ var W = Symbol("MODE_BREAK");
837
+ var q = Symbol("MODE_FLAT");
838
+ var qt = Symbol("DOC_FILL_PRINTED_LENGTH");
839
+ function rt(e, t, u, r, o, n) {
840
+ if (u === Number.POSITIVE_INFINITY) return true;
841
+ let a = t.length, s = false, i = [e], D = "";
842
+ for (; u >= 0; ) {
843
+ if (i.length === 0) {
844
+ if (a === 0) return true;
845
+ i.push(t[--a]);
846
+ continue;
847
+ }
848
+ let { mode: f, doc: l } = i.pop(), d = H(l);
849
+ switch (d) {
850
+ case G:
851
+ l && (s && (D += " ", u -= 1, s = false), D += l, u -= Re(l));
852
+ break;
853
+ case j:
854
+ case w: {
855
+ let c = d === j ? l : l.parts, p = l[qt] ?? 0;
856
+ for (let F = c.length - 1; F >= p; F--) i.push({ mode: f, doc: c[F] });
857
+ break;
858
+ }
859
+ case I:
860
+ case k:
861
+ case R:
862
+ case O:
863
+ i.push({ mode: f, doc: l.contents });
864
+ break;
865
+ case v: {
866
+ let { text: c, count: p } = Xt(D);
867
+ D = c, u += p;
868
+ break;
869
+ }
870
+ case x: {
871
+ if (n && l.break) return false;
872
+ let c = l.break ? W : f, p = l.expandedStates && c === W ? b(0, l.expandedStates, -1) : l.contents;
873
+ i.push({ mode: c, doc: p });
874
+ break;
875
+ }
876
+ case B: {
877
+ let p = (l.groupId ? o[l.groupId] || q : f) === W ? l.breakContents : l.flatContents;
878
+ p && i.push({ mode: f, doc: p });
879
+ break;
880
+ }
881
+ case _:
882
+ if (f === W || l.hard) return true;
883
+ l.soft || (s = true);
884
+ break;
885
+ case L:
886
+ r = true;
887
+ break;
888
+ case M:
889
+ if (r) return false;
890
+ break;
891
+ }
892
+ }
893
+ return false;
894
+ }
895
+ function Ce(e, t) {
896
+ let u = /* @__PURE__ */ Object.create(null), r = t.printWidth, o = Se(t.endOfLine), n = 0, a = [{ indent: Ht, mode: W, doc: e }], s = "", i = false, D = [], f = [], l = [], d = [], c = 0;
897
+ for (Gu(e); a.length > 0; ) {
898
+ let { indent: m, mode: h, doc: E } = a.pop();
899
+ switch (H(E)) {
900
+ case G: {
901
+ let g = o !== `
902
+ ` ? oe(0, E, `
903
+ `, o) : E;
904
+ g && (s += g, a.length > 0 && (n += Re(g)));
905
+ break;
906
+ }
907
+ case j:
908
+ for (let g = E.length - 1; g >= 0; g--) a.push({ indent: m, mode: h, doc: E[g] });
909
+ break;
910
+ case U:
911
+ if (f.length >= 2) throw new Error("There are too many 'cursor' in doc.");
912
+ f.push(c + s.length);
913
+ break;
914
+ case I:
915
+ a.push({ indent: dr(m, t), mode: h, doc: E.contents });
916
+ break;
917
+ case k:
918
+ a.push({ indent: lr(m, E.n, t), mode: h, doc: E.contents });
919
+ break;
920
+ case v:
921
+ y();
922
+ break;
923
+ case x:
924
+ switch (h) {
925
+ case q:
926
+ if (!i) {
927
+ a.push({ indent: m, mode: E.break ? W : q, doc: E.contents });
928
+ break;
929
+ }
930
+ case W: {
931
+ i = false;
932
+ let g = { indent: m, mode: q, doc: E.contents }, A = r - n, J = D.length > 0;
933
+ if (!E.break && rt(g, a, A, J, u)) a.push(g);
934
+ else if (E.expandedStates) {
935
+ let Q = b(0, E.expandedStates, -1);
936
+ if (E.break) {
937
+ a.push({ indent: m, mode: W, doc: Q });
938
+ break;
939
+ } else for (let re = 1; re < E.expandedStates.length + 1; re++) if (re >= E.expandedStates.length) {
940
+ a.push({ indent: m, mode: W, doc: Q });
941
+ break;
942
+ } else {
943
+ let Te = E.expandedStates[re], ne = { indent: m, mode: q, doc: Te };
944
+ if (rt(ne, a, A, J, u)) {
945
+ a.push(ne);
946
+ break;
947
+ }
948
+ }
949
+ } else a.push({ indent: m, mode: W, doc: E.contents });
950
+ break;
951
+ }
952
+ }
953
+ E.id && (u[E.id] = b(0, a, -1).mode);
954
+ break;
955
+ case w: {
956
+ let g = r - n, A = E[qt] ?? 0, { parts: J } = E, Q = J.length - A;
957
+ if (Q === 0) break;
958
+ let re = J[A + 0], Te = J[A + 1], ne = { indent: m, mode: q, doc: re }, vt = { indent: m, mode: W, doc: re }, Rt = rt(ne, [], g, D.length > 0, u, true);
959
+ if (Q === 1) {
960
+ Rt ? a.push(ne) : a.push(vt);
961
+ break;
962
+ }
963
+ let Iu = { indent: m, mode: q, doc: Te }, Lt = { indent: m, mode: W, doc: Te };
964
+ if (Q === 2) {
965
+ Rt ? a.push(Iu, ne) : a.push(Lt, vt);
966
+ break;
967
+ }
968
+ let Xn = J[A + 2], qn = { indent: m, mode: h, doc: { ...E, [qt]: A + 2 } }, Qn = rt({ indent: m, mode: q, doc: [re, Te, Xn] }, [], g, D.length > 0, u, true);
969
+ a.push(qn), Qn ? a.push(Iu, ne) : Rt ? a.push(Lt, ne) : a.push(Lt, vt);
970
+ break;
971
+ }
972
+ case B:
973
+ case R: {
974
+ let g = E.groupId ? u[E.groupId] : h;
975
+ if (g === W) {
976
+ let A = E.type === B ? E.breakContents : E.negate ? E.contents : ae(E.contents);
977
+ A && a.push({ indent: m, mode: h, doc: A });
978
+ }
979
+ if (g === q) {
980
+ let A = E.type === B ? E.flatContents : E.negate ? ae(E.contents) : E.contents;
981
+ A && a.push({ indent: m, mode: h, doc: A });
982
+ }
983
+ break;
984
+ }
985
+ case L:
986
+ D.push({ indent: m, mode: h, doc: E.contents });
987
+ break;
988
+ case M:
989
+ D.length > 0 && a.push({ indent: m, mode: h, doc: ke });
990
+ break;
991
+ case _:
992
+ switch (h) {
993
+ case q:
994
+ if (E.hard) i = true;
995
+ else {
996
+ E.soft || (s += " ", n += 1);
997
+ break;
998
+ }
999
+ case W:
1000
+ if (D.length > 0) {
1001
+ a.push({ indent: m, mode: h, doc: E }, ...D.reverse()), D.length = 0;
1002
+ break;
1003
+ }
1004
+ E.literal ? (s += o, n = 0, m.root && (m.root.value && (s += m.root.value), n = m.root.length)) : (y(), s += o + m.value, n = m.length);
1005
+ break;
1006
+ }
1007
+ break;
1008
+ case O:
1009
+ a.push({ indent: m, mode: h, doc: E.contents });
1010
+ break;
1011
+ case T:
1012
+ break;
1013
+ default:
1014
+ throw new Z(E);
1015
+ }
1016
+ a.length === 0 && D.length > 0 && (a.push(...D.reverse()), D.length = 0);
1017
+ }
1018
+ let p = l.join("") + s, F = [...d, ...f];
1019
+ if (F.length !== 2) return { formatted: p };
1020
+ let C = F[0];
1021
+ return { formatted: p, cursorNodeStart: C, cursorNodeText: p.slice(C, b(0, F, -1)) };
1022
+ function y() {
1023
+ let { text: m, count: h } = Xt(s);
1024
+ m && (l.push(m), c += m.length), s = "", n -= h, f.length > 0 && (d.push(...f.map((E) => Math.min(E, c))), f.length = 0);
1025
+ }
1026
+ }
1027
+ function Io(e, t, u = 0) {
1028
+ let r = 0;
1029
+ for (let o = u; o < e.length; ++o) e[o] === " " ? r = r + t - r % t : r++;
1030
+ return r;
1031
+ }
1032
+ var he = Io;
1033
+ var Qt = class {
1034
+ constructor(t) {
1035
+ this.stack = [t];
1036
+ }
1037
+ get key() {
1038
+ let { stack: t, siblings: u } = this;
1039
+ return b(0, t, u === null ? -2 : -4) ?? null;
1040
+ }
1041
+ get index() {
1042
+ return this.siblings === null ? null : b(0, this.stack, -2);
1043
+ }
1044
+ get node() {
1045
+ return b(0, this.stack, -1);
1046
+ }
1047
+ get parent() {
1048
+ return this.getNode(1);
1049
+ }
1050
+ get grandparent() {
1051
+ return this.getNode(2);
1052
+ }
1053
+ get isInArray() {
1054
+ return this.siblings !== null;
1055
+ }
1056
+ get siblings() {
1057
+ let { stack: t } = this, u = b(0, t, -3);
1058
+ return Array.isArray(u) ? u : null;
1059
+ }
1060
+ get next() {
1061
+ let { siblings: t } = this;
1062
+ return t === null ? null : t[this.index + 1];
1063
+ }
1064
+ get previous() {
1065
+ let { siblings: t } = this;
1066
+ return t === null ? null : t[this.index - 1];
1067
+ }
1068
+ get isFirst() {
1069
+ return this.index === 0;
1070
+ }
1071
+ get isLast() {
1072
+ let { siblings: t, index: u } = this;
1073
+ return t !== null && u === t.length - 1;
1074
+ }
1075
+ get isRoot() {
1076
+ return this.stack.length === 1;
1077
+ }
1078
+ get root() {
1079
+ return this.stack[0];
1080
+ }
1081
+ get ancestors() {
1082
+ return [...this.#e()];
1083
+ }
1084
+ getName() {
1085
+ let { stack: t } = this, { length: u } = t;
1086
+ return u > 1 ? b(0, t, -2) : null;
1087
+ }
1088
+ getValue() {
1089
+ return b(0, this.stack, -1);
1090
+ }
1091
+ getNode(t = 0) {
1092
+ let u = this.#t(t);
1093
+ return u === -1 ? null : this.stack[u];
1094
+ }
1095
+ getParentNode(t = 0) {
1096
+ return this.getNode(t + 1);
1097
+ }
1098
+ #t(t) {
1099
+ let { stack: u } = this;
1100
+ for (let r = u.length - 1; r >= 0; r -= 2) if (!Array.isArray(u[r]) && --t < 0) return r;
1101
+ return -1;
1102
+ }
1103
+ call(t, ...u) {
1104
+ let { stack: r } = this, { length: o } = r, n = b(0, r, -1);
1105
+ for (let a of u) n = n?.[a], r.push(a, n);
1106
+ try {
1107
+ return t(this);
1108
+ } finally {
1109
+ r.length = o;
1110
+ }
1111
+ }
1112
+ callParent(t, u = 0) {
1113
+ let r = this.#t(u + 1), o = this.stack.splice(r + 1);
1114
+ try {
1115
+ return t(this);
1116
+ } finally {
1117
+ this.stack.push(...o);
1118
+ }
1119
+ }
1120
+ each(t, ...u) {
1121
+ let { stack: r } = this, { length: o } = r, n = b(0, r, -1);
1122
+ for (let a of u) n = n[a], r.push(a, n);
1123
+ try {
1124
+ for (let a = 0; a < n.length; ++a) r.push(a, n[a]), t(this, a, n), r.length -= 2;
1125
+ } finally {
1126
+ r.length = o;
1127
+ }
1128
+ }
1129
+ map(t, ...u) {
1130
+ let r = [];
1131
+ return this.each((o, n, a) => {
1132
+ r[n] = t(o, n, a);
1133
+ }, ...u), r;
1134
+ }
1135
+ match(...t) {
1136
+ let u = this.stack.length - 1, r = null, o = this.stack[u--];
1137
+ for (let n of t) {
1138
+ if (o === void 0) return false;
1139
+ let a = null;
1140
+ if (typeof r == "number" && (a = r, r = this.stack[u--], o = this.stack[u--]), n && !n(o, r, a)) return false;
1141
+ r = this.stack[u--], o = this.stack[u--];
1142
+ }
1143
+ return true;
1144
+ }
1145
+ findAncestor(t) {
1146
+ for (let u of this.#e()) if (t(u)) return u;
1147
+ }
1148
+ hasAncestor(t) {
1149
+ for (let u of this.#e()) if (t(u)) return true;
1150
+ return false;
1151
+ }
1152
+ *#e() {
1153
+ let { stack: t } = this;
1154
+ for (let u = t.length - 3; u >= 0; u -= 2) {
1155
+ let r = t[u];
1156
+ Array.isArray(r) || (yield r);
1157
+ }
1158
+ }
1159
+ };
1160
+ var pr = Qt;
1161
+ function ko(e) {
1162
+ return e !== null && typeof e == "object";
1163
+ }
1164
+ var ge = ko;
1165
+ function ye(e) {
1166
+ return (t, u, r) => {
1167
+ let o = !!r?.backwards;
1168
+ if (u === false) return false;
1169
+ let { length: n } = t, a = u;
1170
+ for (; a >= 0 && a < n; ) {
1171
+ let s = t.charAt(a);
1172
+ if (e instanceof RegExp) {
1173
+ if (!e.test(s)) return a;
1174
+ } else if (!e.includes(s)) return a;
1175
+ o ? a-- : a++;
1176
+ }
1177
+ return a === -1 || a === n ? a : false;
1178
+ };
1179
+ }
1180
+ var Fr = ye(/\s/u);
1181
+ var Y = ye(" ");
1182
+ var nt = ye(",; ");
1183
+ var ot = ye(/[^\n\r]/u);
1184
+ var mr = (e) => e === `
1185
+ ` || e === "\r" || e === "\u2028" || e === "\u2029";
1186
+ function vo(e, t, u) {
1187
+ let r = !!u?.backwards;
1188
+ if (t === false) return false;
1189
+ let o = e.charAt(t);
1190
+ if (r) {
1191
+ if (e.charAt(t - 1) === "\r" && o === `
1192
+ `) return t - 2;
1193
+ if (mr(o)) return t - 1;
1194
+ } else {
1195
+ if (o === "\r" && e.charAt(t + 1) === `
1196
+ `) return t + 2;
1197
+ if (mr(o)) return t + 1;
1198
+ }
1199
+ return t;
1200
+ }
1201
+ var K = vo;
1202
+ function Ro(e, t, u = {}) {
1203
+ let r = Y(e, u.backwards ? t - 1 : t, u), o = K(e, r, u);
1204
+ return r !== o;
1205
+ }
1206
+ var z = Ro;
1207
+ function Lo(e) {
1208
+ return Array.isArray(e) && e.length > 0;
1209
+ }
1210
+ var Er = Lo;
1211
+ function* be(e, t) {
1212
+ let { getVisitorKeys: u, filter: r = () => true } = t, o = (n) => ge(n) && r(n);
1213
+ for (let n of u(e)) {
1214
+ let a = e[n];
1215
+ if (Array.isArray(a)) for (let s of a) o(s) && (yield s);
1216
+ else o(a) && (yield a);
1217
+ }
1218
+ }
1219
+ function* Cr(e, t) {
1220
+ let u = [e];
1221
+ for (let r = 0; r < u.length; r++) {
1222
+ let o = u[r];
1223
+ for (let n of be(o, t)) yield n, u.push(n);
1224
+ }
1225
+ }
1226
+ function hr(e, t) {
1227
+ return be(e, t).next().done;
1228
+ }
1229
+ function gr(e, t, u) {
1230
+ let { cache: r } = u;
1231
+ if (r.has(e)) return r.get(e);
1232
+ let { filter: o } = u;
1233
+ if (!o) return [];
1234
+ let n, a = (u.getChildren?.(e, u) ?? [...be(e, { getVisitorKeys: u.getVisitorKeys })]).flatMap((D) => (n ?? (n = [e, ...t]), o(D, n) ? [D] : gr(D, n, u))), { locStart: s, locEnd: i } = u;
1235
+ return a.sort((D, f) => s(D) - s(f) || i(D) - i(f)), r.set(e, a), a;
1236
+ }
1237
+ var at = gr;
1238
+ function Mo(e) {
1239
+ let t = e.type || e.kind || "(unknown type)", u = 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 || "");
1240
+ return u.length > 20 && (u = u.slice(0, 19) + "\u2026"), t + (u ? " " + u : "");
1241
+ }
1242
+ function Zt(e, t) {
1243
+ (e.comments ?? (e.comments = [])).push(t), t.printed = false, t.nodeDescription = Mo(e);
1244
+ }
1245
+ function fe(e, t) {
1246
+ t.leading = true, t.trailing = false, Zt(e, t);
1247
+ }
1248
+ function ue(e, t, u) {
1249
+ t.leading = false, t.trailing = false, u && (t.marker = u), Zt(e, t);
1250
+ }
1251
+ function le(e, t) {
1252
+ t.leading = false, t.trailing = true, Zt(e, t);
1253
+ }
1254
+ var uu = /* @__PURE__ */ new WeakMap();
1255
+ function br(e, t, u, r, o = []) {
1256
+ let { locStart: n, locEnd: a } = u, s = n(t), i = a(t), D = at(e, o, { cache: uu, locStart: n, locEnd: a, getVisitorKeys: u.getVisitorKeys, filter: u.printer.canAttachComment, getChildren: u.printer.getCommentChildNodes }), f, l, d = 0, c = D.length;
1257
+ for (; d < c; ) {
1258
+ let p = d + c >> 1, F = D[p], C = n(F), y = a(F);
1259
+ if (C <= s && i <= y) return br(F, t, u, F, [F, ...o]);
1260
+ if (y <= s) {
1261
+ f = F, d = p + 1;
1262
+ continue;
1263
+ }
1264
+ if (i <= C) {
1265
+ l = F, c = p;
1266
+ continue;
1267
+ }
1268
+ throw new Error("Comment location overlaps with node location");
1269
+ }
1270
+ if (r?.type === "TemplateLiteral") {
1271
+ let { quasis: p } = r, F = tu(p, t, u);
1272
+ f && tu(p, f, u) !== F && (f = null), l && tu(p, l, u) !== F && (l = null);
1273
+ }
1274
+ return { enclosingNode: r, precedingNode: f, followingNode: l };
1275
+ }
1276
+ var eu = () => false;
1277
+ function Ar(e, t) {
1278
+ let { comments: u } = e;
1279
+ if (delete e.comments, !Er(u) || !t.printer.canAttachComment) return;
1280
+ let r = [], { printer: { features: { experimental_avoidAstMutation: o }, handleComments: n = {} }, originalText: a } = t, { ownLine: s = eu, endOfLine: i = eu, remaining: D = eu } = n, f = u.map((l, d) => ({ ...br(e, l, t), comment: l, text: a, options: t, ast: e, isLastComment: u.length - 1 === d }));
1281
+ for (let [l, d] of f.entries()) {
1282
+ let { comment: c, precedingNode: p, enclosingNode: F, followingNode: C, text: y, options: m, ast: h, isLastComment: E } = d, g;
1283
+ if (o ? g = [d] : (c.enclosingNode = F, c.precedingNode = p, c.followingNode = C, g = [c, y, m, h, E]), Yo(y, m, f, l)) c.placement = "ownLine", s(...g) || (C ? fe(C, c) : p ? le(p, c) : F ? ue(F, c) : ue(h, c));
1284
+ else if (jo(y, m, f, l)) c.placement = "endOfLine", i(...g) || (p ? le(p, c) : C ? fe(C, c) : F ? ue(F, c) : ue(h, c));
1285
+ else if (c.placement = "remaining", !D(...g)) if (p && C) {
1286
+ let A = r.length;
1287
+ A > 0 && r[A - 1].followingNode !== C && yr(r, m), r.push(d);
1288
+ } else p ? le(p, c) : C ? fe(C, c) : F ? ue(F, c) : ue(h, c);
1289
+ }
1290
+ if (yr(r, t), !o) for (let l of u) delete l.precedingNode, delete l.enclosingNode, delete l.followingNode;
1291
+ }
1292
+ var _r = (e) => !/[\S\n\u2028\u2029]/u.test(e);
1293
+ function Yo(e, t, u, r) {
1294
+ let { comment: o, precedingNode: n } = u[r], { locStart: a, locEnd: s } = t, i = a(o);
1295
+ if (n) for (let D = r - 1; D >= 0; D--) {
1296
+ let { comment: f, precedingNode: l } = u[D];
1297
+ if (l !== n || !_r(e.slice(s(f), i))) break;
1298
+ i = a(f);
1299
+ }
1300
+ return z(e, i, { backwards: true });
1301
+ }
1302
+ function jo(e, t, u, r) {
1303
+ let { comment: o, followingNode: n } = u[r], { locStart: a, locEnd: s } = t, i = s(o);
1304
+ if (n) for (let D = r + 1; D < u.length; D++) {
1305
+ let { comment: f, followingNode: l } = u[D];
1306
+ if (l !== n || !_r(e.slice(i, a(f)))) break;
1307
+ i = s(f);
1308
+ }
1309
+ return z(e, i);
1310
+ }
1311
+ function yr(e, t) {
1312
+ let u = e.length;
1313
+ if (u === 0) return;
1314
+ let { precedingNode: r, followingNode: o } = e[0], n = t.locStart(o), a;
1315
+ for (a = u; a > 0; --a) {
1316
+ let { comment: s, precedingNode: i, followingNode: D } = e[a - 1];
1317
+ P(i, r), P(D, o);
1318
+ let f = t.originalText.slice(t.locEnd(s), n);
1319
+ if (t.printer.isGap?.(f, t) ?? /^[\s(]*$/u.test(f)) n = t.locStart(s);
1320
+ else break;
1321
+ }
1322
+ for (let [s, { comment: i }] of e.entries()) s < a ? le(r, i) : fe(o, i);
1323
+ for (let s of [r, o]) s.comments && s.comments.length > 1 && s.comments.sort((i, D) => t.locStart(i) - t.locStart(D));
1324
+ e.length = 0;
1325
+ }
1326
+ function tu(e, t, u) {
1327
+ let r = u.locStart(t) - 1;
1328
+ for (let o = 1; o < e.length; ++o) if (r < u.locStart(e[o])) return o - 1;
1329
+ return 0;
1330
+ }
1331
+ function Uo(e, t) {
1332
+ let u = t - 1;
1333
+ u = Y(e, u, { backwards: true }), u = K(e, u, { backwards: true }), u = Y(e, u, { backwards: true });
1334
+ let r = K(e, u, { backwards: true });
1335
+ return u !== r;
1336
+ }
1337
+ var Le = Uo;
1338
+ function xr(e, t) {
1339
+ let u = e.node;
1340
+ return u.printed = true, t.printer.printComment(e, t);
1341
+ }
1342
+ function Wo(e, t) {
1343
+ let u = e.node, r = [xr(e, t)], { printer: o, originalText: n, locStart: a, locEnd: s } = t;
1344
+ if (o.isBlockComment?.(u)) {
1345
+ let f = z(n, s(u)) ? z(n, a(u), { backwards: true }) ? V : ut : " ";
1346
+ r.push(f);
1347
+ } else r.push(V);
1348
+ let D = K(n, Y(n, s(u)));
1349
+ return D !== false && z(n, D) && r.push(V), r;
1350
+ }
1351
+ function $o(e, t, u) {
1352
+ let r = e.node, o = xr(e, t), { printer: n, originalText: a, locStart: s } = t, i = n.isBlockComment?.(r);
1353
+ if (u?.hasLineSuffix && !u?.isBlock || z(a, s(r), { backwards: true })) {
1354
+ let D = Le(a, s(r));
1355
+ return { doc: ve([V, D ? V : "", o]), isBlock: i, hasLineSuffix: true };
1356
+ }
1357
+ return !i || u?.hasLineSuffix ? { doc: [ve([" ", o]), ce], isBlock: i, hasLineSuffix: true } : { doc: [" ", o], isBlock: i, hasLineSuffix: false };
1358
+ }
1359
+ function Vo(e, t) {
1360
+ let u = e.node;
1361
+ if (!u) return {};
1362
+ let r = t[Symbol.for("printedComments")];
1363
+ if ((u.comments || []).filter((i) => !r.has(i)).length === 0) return { leading: "", trailing: "" };
1364
+ let n = [], a = [], s;
1365
+ return e.each(() => {
1366
+ let i = e.node;
1367
+ if (r?.has(i)) return;
1368
+ let { leading: D, trailing: f } = i;
1369
+ D ? n.push(Wo(e, t)) : f && (s = $o(e, t, s), a.push(s.doc));
1370
+ }, "comments"), { leading: n, trailing: a };
1371
+ }
1372
+ function Br(e, t, u) {
1373
+ let { leading: r, trailing: o } = Vo(e, u);
1374
+ return !r && !o ? t : Ee(t, (n) => [r, n, o]);
1375
+ }
1376
+ function Tr(e) {
1377
+ let { [Symbol.for("comments")]: t, [Symbol.for("printedComments")]: u } = e;
1378
+ for (let r of t) {
1379
+ if (!r.printed && !u.has(r)) throw new Error('Comment "' + r.value.trim() + '" was not printed. Please report this error!');
1380
+ delete r.printed;
1381
+ }
1382
+ }
1383
+ var Nr = () => P;
1384
+ var Me = class extends Error {
1385
+ name = "ConfigError";
1386
+ };
1387
+ var Ye = class extends Error {
1388
+ name = "UndefinedParserError";
1389
+ };
1390
+ var Sr = { checkIgnorePragma: { category: "Special", type: "boolean", default: false, description: "Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.", cliCategory: "Other" }, cursorOffset: { category: "Special", type: "int", default: -1, range: { start: -1, end: 1 / 0, step: 1 }, description: "Print (to stderr) where a cursor at the given position would move to after formatting.", cliCategory: "Editor" }, endOfLine: { category: "Global", type: "choice", default: "lf", description: "Which end of line characters to apply.", choices: [{ value: "lf", description: "Line Feed only (\\n), common on Linux and macOS as well as inside git repos" }, { value: "crlf", description: "Carriage Return + Line Feed characters (\\r\\n), common on Windows" }, { value: "cr", description: "Carriage Return character only (\\r), used very rarely" }, { value: "auto", description: `Maintain existing
1391
+ (mixed values within one file are normalised by looking at what's used after the first line)` }] }, filepath: { category: "Special", type: "path", description: "Specify the input filepath. This will be used to do parser inference.", cliName: "stdin-filepath", cliCategory: "Other", cliDescription: "Path to the file to pretend that stdin comes from." }, insertPragma: { category: "Special", type: "boolean", default: false, description: "Insert @format pragma into file's first docblock comment.", cliCategory: "Other" }, parser: { category: "Global", type: "choice", default: void 0, description: "Which parser to use.", exception: (e) => typeof e == "string" || typeof e == "function", choices: [{ value: "flow", description: "Flow" }, { value: "babel", description: "JavaScript" }, { value: "babel-flow", description: "Flow" }, { value: "babel-ts", description: "TypeScript" }, { value: "typescript", description: "TypeScript" }, { value: "acorn", description: "JavaScript" }, { value: "espree", description: "JavaScript" }, { value: "meriyah", description: "JavaScript" }, { value: "css", description: "CSS" }, { value: "less", description: "Less" }, { value: "scss", description: "SCSS" }, { value: "json", description: "JSON" }, { value: "json5", description: "JSON5" }, { value: "jsonc", description: "JSON with Comments" }, { value: "json-stringify", description: "JSON.stringify" }, { value: "graphql", description: "GraphQL" }, { value: "markdown", description: "Markdown" }, { value: "mdx", description: "MDX" }, { value: "vue", description: "Vue" }, { value: "yaml", description: "YAML" }, { value: "glimmer", description: "Ember / Handlebars" }, { value: "html", description: "HTML" }, { value: "angular", description: "Angular" }, { value: "lwc", description: "Lightning Web Components" }, { value: "mjml", description: "MJML" }] }, plugins: { type: "path", array: true, default: [{ value: [] }], category: "Global", description: "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.", exception: (e) => typeof e == "string" || typeof e == "object", cliName: "plugin", cliCategory: "Config" }, printWidth: { category: "Global", type: "int", default: 80, description: "The line length where Prettier will try wrap.", range: { start: 0, end: 1 / 0, step: 1 } }, rangeEnd: { category: "Special", type: "int", default: 1 / 0, range: { start: 0, end: 1 / 0, step: 1 }, description: `Format code ending at a given character offset (exclusive).
1392
+ The range will extend forwards to the end of the selected statement.`, cliCategory: "Editor" }, rangeStart: { category: "Special", type: "int", default: 0, range: { start: 0, end: 1 / 0, step: 1 }, description: `Format code starting at a given character offset.
1393
+ The range will extend backwards to the start of the first line containing the selected statement.`, cliCategory: "Editor" }, requirePragma: { category: "Special", type: "boolean", default: false, description: "Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.", cliCategory: "Other" }, tabWidth: { type: "int", category: "Global", default: 2, description: "Number of spaces per indentation level.", range: { start: 0, end: 1 / 0, step: 1 } }, useTabs: { category: "Global", type: "boolean", default: false, description: "Indent with tabs instead of spaces." }, embeddedLanguageFormatting: { category: "Global", type: "choice", default: "auto", description: "Control how Prettier formats quoted code embedded in the file.", choices: [{ value: "auto", description: "Format embedded code if Prettier can automatically identify it." }, { value: "off", description: "Never automatically format embedded code." }] } };
1394
+ function it({ plugins: e = [], showDeprecated: t = false } = {}) {
1395
+ let u = e.flatMap((o) => o.languages ?? []), r = [];
1396
+ for (let o of Go(Object.assign({}, ...e.map(({ options: n }) => n), Sr))) !t && o.deprecated || (Array.isArray(o.choices) && (t || (o.choices = o.choices.filter((n) => !n.deprecated)), o.name === "parser" && (o.choices = [...o.choices, ...Ko(o.choices, u, e)])), o.pluginDefaults = Object.fromEntries(e.filter((n) => n.defaultOptions?.[o.name] !== void 0).map((n) => [n.name, n.defaultOptions[o.name]])), r.push(o));
1397
+ return { languages: u, options: r };
1398
+ }
1399
+ function* Ko(e, t, u) {
1400
+ let r = new Set(e.map((o) => o.value));
1401
+ for (let o of t) if (o.parsers) {
1402
+ for (let n of o.parsers) if (!r.has(n)) {
1403
+ r.add(n);
1404
+ let a = u.find((i) => i.parsers && Object.prototype.hasOwnProperty.call(i.parsers, n)), s = o.name;
1405
+ a?.name && (s += ` (plugin: ${a.name})`), yield { value: n, description: s };
1406
+ }
1407
+ }
1408
+ }
1409
+ function Go(e) {
1410
+ let t = [];
1411
+ for (let [u, r] of Object.entries(e)) {
1412
+ let o = { name: u, ...r };
1413
+ Array.isArray(o.default) && (o.default = b(0, o.default, -1).value), t.push(o);
1414
+ }
1415
+ return t;
1416
+ }
1417
+ var zo = Array.prototype.toReversed ?? function() {
1418
+ return [...this].reverse();
1419
+ };
1420
+ var Jo = X("toReversed", function() {
1421
+ if (Array.isArray(this)) return zo;
1422
+ });
1423
+ var wr = Jo;
1424
+ function Ho() {
1425
+ let e = globalThis, t = e.Deno?.build?.os;
1426
+ return typeof t == "string" ? t === "windows" : e.navigator?.platform?.startsWith("Win") ?? e.process?.platform?.startsWith("win") ?? false;
1427
+ }
1428
+ var Xo = Ho();
1429
+ function Or(e) {
1430
+ if (e = e instanceof URL ? e : new URL(e), e.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);
1431
+ return e;
1432
+ }
1433
+ function qo(e) {
1434
+ return e = Or(e), decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
1435
+ }
1436
+ function Qo(e) {
1437
+ e = Or(e);
1438
+ let t = decodeURIComponent(e.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
1439
+ return e.hostname !== "" && (t = `\\\\${e.hostname}${t}`), t;
1440
+ }
1441
+ function ru(e) {
1442
+ return Xo ? Qo(e) : qo(e);
1443
+ }
1444
+ var Pr = (e) => String(e).split(/[/\\]/u).pop();
1445
+ var Ir = (e) => String(e).startsWith("file:");
1446
+ function kr(e, t) {
1447
+ if (!t) return;
1448
+ let u = Pr(t).toLowerCase();
1449
+ return e.find(({ filenames: r }) => r?.some((o) => o.toLowerCase() === u)) ?? e.find(({ extensions: r }) => r?.some((o) => u.endsWith(o)));
1450
+ }
1451
+ function Zo(e, t) {
1452
+ if (t) return e.find(({ name: u }) => u.toLowerCase() === t) ?? e.find(({ aliases: u }) => u?.includes(t)) ?? e.find(({ extensions: u }) => u?.includes(`.${t}`));
1453
+ }
1454
+ var ea = void 0;
1455
+ function vr(e, t) {
1456
+ if (t) {
1457
+ if (Ir(t)) try {
1458
+ t = ru(t);
1459
+ } catch {
1460
+ return;
1461
+ }
1462
+ if (typeof t == "string") return e.find(({ isSupported: u }) => u?.({ filepath: t }));
1463
+ }
1464
+ }
1465
+ function ta(e, t) {
1466
+ let u = wr(0, e.plugins).flatMap((o) => o.languages ?? []);
1467
+ return (Zo(u, t.language) ?? kr(u, t.physicalFile) ?? kr(u, t.file) ?? vr(u, t.physicalFile) ?? vr(u, t.file) ?? ea?.(u, t.physicalFile))?.parsers[0];
1468
+ }
1469
+ var st = ta;
1470
+ var ie = { key: (e) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e) ? e : JSON.stringify(e), value(e) {
1471
+ if (e === null || typeof e != "object") return JSON.stringify(e);
1472
+ if (Array.isArray(e)) return `[${e.map((u) => ie.value(u)).join(", ")}]`;
1473
+ let t = Object.keys(e);
1474
+ return t.length === 0 ? "{}" : `{ ${t.map((u) => `${ie.key(u)}: ${ie.value(e[u])}`).join(", ")} }`;
1475
+ }, pair: ({ key: e, value: t }) => ie.value({ [e]: t }) };
1476
+ var nu = new Proxy(String, { get: () => nu });
1477
+ var $ = nu;
1478
+ var ou = () => nu;
1479
+ var Rr = (e, t, { descriptor: u }) => {
1480
+ let r = [`${$.yellow(typeof e == "string" ? u.key(e) : u.pair(e))} is deprecated`];
1481
+ return t && r.push(`we now treat it as ${$.blue(typeof t == "string" ? u.key(t) : u.pair(t))}`), r.join("; ") + ".";
1482
+ };
1483
+ var Dt = Symbol.for("vnopts.VALUE_NOT_EXIST");
1484
+ var Ae = Symbol.for("vnopts.VALUE_UNCHANGED");
1485
+ var Lr = " ".repeat(2);
1486
+ var Yr = (e, t, u) => {
1487
+ let { text: r, list: o } = u.normalizeExpectedResult(u.schemas[e].expected(u)), n = [];
1488
+ return r && n.push(Mr(e, t, r, u.descriptor)), o && n.push([Mr(e, t, o.title, u.descriptor)].concat(o.values.map((a) => jr(a, u.loggerPrintWidth))).join(`
1489
+ `)), Ur(n, u.loggerPrintWidth);
1490
+ };
1491
+ function Mr(e, t, u, r) {
1492
+ return [`Invalid ${$.red(r.key(e))} value.`, `Expected ${$.blue(u)},`, `but received ${t === Dt ? $.gray("nothing") : $.red(r.value(t))}.`].join(" ");
1493
+ }
1494
+ function jr({ text: e, list: t }, u) {
1495
+ let r = [];
1496
+ return e && r.push(`- ${$.blue(e)}`), t && r.push([`- ${$.blue(t.title)}:`].concat(t.values.map((o) => jr(o, u - Lr.length).replace(/^|\n/g, `$&${Lr}`))).join(`
1497
+ `)), Ur(r, u);
1498
+ }
1499
+ function Ur(e, t) {
1500
+ if (e.length === 1) return e[0];
1501
+ let [u, r] = e, [o, n] = e.map((a) => a.split(`
1502
+ `, 1)[0].length);
1503
+ return o > t && o > n ? r : u;
1504
+ }
1505
+ var _e = [];
1506
+ var au = [];
1507
+ function ct(e, t, u) {
1508
+ if (e === t) return 0;
1509
+ let r = u?.maxDistance, o = e;
1510
+ e.length > t.length && (e = t, t = o);
1511
+ let n = e.length, a = t.length;
1512
+ for (; n > 0 && e.charCodeAt(~-n) === t.charCodeAt(~-a); ) n--, a--;
1513
+ let s = 0;
1514
+ for (; s < n && e.charCodeAt(s) === t.charCodeAt(s); ) s++;
1515
+ if (n -= s, a -= s, r !== void 0 && a - n > r) return r;
1516
+ if (n === 0) return r !== void 0 && a > r ? r : a;
1517
+ let i, D, f, l, d = 0, c = 0;
1518
+ for (; d < n; ) au[d] = e.charCodeAt(s + d), _e[d] = ++d;
1519
+ for (; c < a; ) {
1520
+ for (i = t.charCodeAt(s + c), f = c++, D = c, d = 0; d < n; d++) l = i === au[d] ? f : f + 1, f = _e[d], D = _e[d] = f > D ? l > D ? D + 1 : l : l > f ? f + 1 : l;
1521
+ if (r !== void 0) {
1522
+ let p = D;
1523
+ for (d = 0; d < n; d++) _e[d] < p && (p = _e[d]);
1524
+ if (p > r) return r;
1525
+ }
1526
+ }
1527
+ return _e.length = n, au.length = n, r !== void 0 && D > r ? r : D;
1528
+ }
1529
+ function Wr(e, t, u) {
1530
+ if (!Array.isArray(t) || t.length === 0) return;
1531
+ let r = u?.maxDistance, o = e.length;
1532
+ for (let i of t) if (i === e) return i;
1533
+ if (r === 0) return;
1534
+ let n, a = Number.POSITIVE_INFINITY, s = /* @__PURE__ */ new Set();
1535
+ for (let i of t) {
1536
+ if (s.has(i)) continue;
1537
+ s.add(i);
1538
+ let D = Math.abs(i.length - o);
1539
+ if (D >= a || r !== void 0 && D > r) continue;
1540
+ let f = Number.isFinite(a) ? r === void 0 ? a : Math.min(a, r) : r, l = f === void 0 ? ct(e, i) : ct(e, i, { maxDistance: f });
1541
+ if (r !== void 0 && l > r) continue;
1542
+ let d = l;
1543
+ if (f !== void 0 && l === f && f === r && (d = ct(e, i)), d < a && (a = d, n = i, a === 0)) break;
1544
+ }
1545
+ if (!(r !== void 0 && a > r)) return n;
1546
+ }
1547
+ var ft = (e, t, { descriptor: u, logger: r, schemas: o }) => {
1548
+ let n = [`Ignored unknown option ${$.yellow(u.pair({ key: e, value: t }))}.`], a = Wr(e, Object.keys(o), { maxDistance: 3 });
1549
+ a && n.push(`Did you mean ${$.blue(u.key(a))}?`), r.warn(n.join(" "));
1550
+ };
1551
+ var ua = ["default", "expected", "validate", "deprecated", "forward", "redirect", "overlap", "preprocess", "postprocess"];
1552
+ function ra(e, t) {
1553
+ let u = new e(t), r = Object.create(u);
1554
+ for (let o of ua) o in t && (r[o] = na(t[o], u, S.prototype[o].length));
1555
+ return r;
1556
+ }
1557
+ var S = class {
1558
+ static create(t) {
1559
+ return ra(this, t);
1560
+ }
1561
+ constructor(t) {
1562
+ this.name = t.name;
1563
+ }
1564
+ default(t) {
1565
+ }
1566
+ expected(t) {
1567
+ return "nothing";
1568
+ }
1569
+ validate(t, u) {
1570
+ return false;
1571
+ }
1572
+ deprecated(t, u) {
1573
+ return false;
1574
+ }
1575
+ forward(t, u) {
1576
+ }
1577
+ redirect(t, u) {
1578
+ }
1579
+ overlap(t, u, r) {
1580
+ return t;
1581
+ }
1582
+ preprocess(t, u) {
1583
+ return t;
1584
+ }
1585
+ postprocess(t, u) {
1586
+ return Ae;
1587
+ }
1588
+ };
1589
+ function na(e, t, u) {
1590
+ return typeof e == "function" ? (...r) => e(...r.slice(0, u - 1), t, ...r.slice(u - 1)) : () => e;
1591
+ }
1592
+ var lt = class extends S {
1593
+ constructor(t) {
1594
+ super(t), this._sourceName = t.sourceName;
1595
+ }
1596
+ expected(t) {
1597
+ return t.schemas[this._sourceName].expected(t);
1598
+ }
1599
+ validate(t, u) {
1600
+ return u.schemas[this._sourceName].validate(t, u);
1601
+ }
1602
+ redirect(t, u) {
1603
+ return this._sourceName;
1604
+ }
1605
+ };
1606
+ var dt = class extends S {
1607
+ expected() {
1608
+ return "anything";
1609
+ }
1610
+ validate() {
1611
+ return true;
1612
+ }
1613
+ };
1614
+ var pt = class extends S {
1615
+ constructor({ valueSchema: t, name: u = t.name, ...r }) {
1616
+ super({ ...r, name: u }), this._valueSchema = t;
1617
+ }
1618
+ expected(t) {
1619
+ let { text: u, list: r } = t.normalizeExpectedResult(this._valueSchema.expected(t));
1620
+ return { text: u && `an array of ${u}`, list: r && { title: "an array of the following values", values: [{ list: r }] } };
1621
+ }
1622
+ validate(t, u) {
1623
+ if (!Array.isArray(t)) return false;
1624
+ let r = [];
1625
+ for (let o of t) {
1626
+ let n = u.normalizeValidateResult(this._valueSchema.validate(o, u), o);
1627
+ n !== true && r.push(n.value);
1628
+ }
1629
+ return r.length === 0 ? true : { value: r };
1630
+ }
1631
+ deprecated(t, u) {
1632
+ let r = [];
1633
+ for (let o of t) {
1634
+ let n = u.normalizeDeprecatedResult(this._valueSchema.deprecated(o, u), o);
1635
+ n !== false && r.push(...n.map(({ value: a }) => ({ value: [a] })));
1636
+ }
1637
+ return r;
1638
+ }
1639
+ forward(t, u) {
1640
+ let r = [];
1641
+ for (let o of t) {
1642
+ let n = u.normalizeForwardResult(this._valueSchema.forward(o, u), o);
1643
+ r.push(...n.map($r));
1644
+ }
1645
+ return r;
1646
+ }
1647
+ redirect(t, u) {
1648
+ let r = [], o = [];
1649
+ for (let n of t) {
1650
+ let a = u.normalizeRedirectResult(this._valueSchema.redirect(n, u), n);
1651
+ "remain" in a && r.push(a.remain), o.push(...a.redirect.map($r));
1652
+ }
1653
+ return r.length === 0 ? { redirect: o } : { redirect: o, remain: r };
1654
+ }
1655
+ overlap(t, u) {
1656
+ return t.concat(u);
1657
+ }
1658
+ };
1659
+ function $r({ from: e, to: t }) {
1660
+ return { from: [e], to: t };
1661
+ }
1662
+ var Ft = class extends S {
1663
+ expected() {
1664
+ return "true or false";
1665
+ }
1666
+ validate(t) {
1667
+ return typeof t == "boolean";
1668
+ }
1669
+ };
1670
+ function Kr(e, t) {
1671
+ let u = /* @__PURE__ */ Object.create(null);
1672
+ for (let r of e) {
1673
+ let o = r[t];
1674
+ if (u[o]) throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);
1675
+ u[o] = r;
1676
+ }
1677
+ return u;
1678
+ }
1679
+ function Gr(e, t) {
1680
+ let u = /* @__PURE__ */ new Map();
1681
+ for (let r of e) {
1682
+ let o = r[t];
1683
+ if (u.has(o)) throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);
1684
+ u.set(o, r);
1685
+ }
1686
+ return u;
1687
+ }
1688
+ function zr() {
1689
+ let e = /* @__PURE__ */ Object.create(null);
1690
+ return (t) => {
1691
+ let u = JSON.stringify(t);
1692
+ return e[u] ? true : (e[u] = true, false);
1693
+ };
1694
+ }
1695
+ function Jr(e, t) {
1696
+ let u = [], r = [];
1697
+ for (let o of e) t(o) ? u.push(o) : r.push(o);
1698
+ return [u, r];
1699
+ }
1700
+ function Hr(e) {
1701
+ return e === Math.floor(e);
1702
+ }
1703
+ function Xr(e, t) {
1704
+ if (e === t) return 0;
1705
+ let u = typeof e, r = typeof t, o = ["undefined", "object", "boolean", "number", "string"];
1706
+ return u !== r ? o.indexOf(u) - o.indexOf(r) : u !== "string" ? Number(e) - Number(t) : e.localeCompare(t);
1707
+ }
1708
+ function qr(e) {
1709
+ return (...t) => {
1710
+ let u = e(...t);
1711
+ return typeof u == "string" ? new Error(u) : u;
1712
+ };
1713
+ }
1714
+ function iu(e) {
1715
+ return e === void 0 ? {} : e;
1716
+ }
1717
+ function su(e) {
1718
+ if (typeof e == "string") return { text: e };
1719
+ let { text: t, list: u } = e;
1720
+ return oa((t || u) !== void 0, "Unexpected `expected` result, there should be at least one field."), u ? { text: t, list: { title: u.title, values: u.values.map(su) } } : { text: t };
1721
+ }
1722
+ function Du(e, t) {
1723
+ return e === true ? true : e === false ? { value: t } : e;
1724
+ }
1725
+ function cu(e, t, u = false) {
1726
+ return e === false ? false : e === true ? u ? true : [{ value: t }] : "value" in e ? [e] : e.length === 0 ? false : e;
1727
+ }
1728
+ function Vr(e, t) {
1729
+ return typeof e == "string" || "key" in e ? { from: t, to: e } : "from" in e ? { from: e.from, to: e.to } : { from: t, to: e.to };
1730
+ }
1731
+ function mt(e, t) {
1732
+ return e === void 0 ? [] : Array.isArray(e) ? e.map((u) => Vr(u, t)) : [Vr(e, t)];
1733
+ }
1734
+ function fu(e, t) {
1735
+ let u = mt(typeof e == "object" && "redirect" in e ? e.redirect : e, t);
1736
+ return u.length === 0 ? { remain: t, redirect: u } : typeof e == "object" && "remain" in e ? { remain: e.remain, redirect: u } : { redirect: u };
1737
+ }
1738
+ function oa(e, t) {
1739
+ if (!e) throw new Error(t);
1740
+ }
1741
+ var Et = class extends S {
1742
+ constructor(t) {
1743
+ super(t), this._choices = Gr(t.choices.map((u) => u && typeof u == "object" ? u : { value: u }), "value");
1744
+ }
1745
+ expected({ descriptor: t }) {
1746
+ let u = Array.from(this._choices.keys()).map((a) => this._choices.get(a)).filter(({ hidden: a }) => !a).map((a) => a.value).sort(Xr).map(t.value), r = u.slice(0, -2), o = u.slice(-2);
1747
+ return { text: r.concat(o.join(" or ")).join(", "), list: { title: "one of the following values", values: u } };
1748
+ }
1749
+ validate(t) {
1750
+ return this._choices.has(t);
1751
+ }
1752
+ deprecated(t) {
1753
+ let u = this._choices.get(t);
1754
+ return u && u.deprecated ? { value: t } : false;
1755
+ }
1756
+ forward(t) {
1757
+ let u = this._choices.get(t);
1758
+ return u ? u.forward : void 0;
1759
+ }
1760
+ redirect(t) {
1761
+ let u = this._choices.get(t);
1762
+ return u ? u.redirect : void 0;
1763
+ }
1764
+ };
1765
+ var Ct = class extends S {
1766
+ expected() {
1767
+ return "a number";
1768
+ }
1769
+ validate(t, u) {
1770
+ return typeof t == "number";
1771
+ }
1772
+ };
1773
+ var ht = class extends Ct {
1774
+ expected() {
1775
+ return "an integer";
1776
+ }
1777
+ validate(t, u) {
1778
+ return u.normalizeValidateResult(super.validate(t, u), t) === true && Hr(t);
1779
+ }
1780
+ };
1781
+ var je = class extends S {
1782
+ expected() {
1783
+ return "a string";
1784
+ }
1785
+ validate(t) {
1786
+ return typeof t == "string";
1787
+ }
1788
+ };
1789
+ var Qr = ie;
1790
+ var Zr = ft;
1791
+ var en = Yr;
1792
+ var tn = Rr;
1793
+ var gt = class {
1794
+ constructor(t, u) {
1795
+ let { logger: r = console, loggerPrintWidth: o = 80, descriptor: n = Qr, unknown: a = Zr, invalid: s = en, deprecated: i = tn, missing: D = () => false, required: f = () => false, preprocess: l = (c) => c, postprocess: d = () => Ae } = u || {};
1796
+ this._utils = { descriptor: n, logger: r || { warn: () => {
1797
+ } }, loggerPrintWidth: o, schemas: Kr(t, "name"), normalizeDefaultResult: iu, normalizeExpectedResult: su, normalizeDeprecatedResult: cu, normalizeForwardResult: mt, normalizeRedirectResult: fu, normalizeValidateResult: Du }, this._unknownHandler = a, this._invalidHandler = qr(s), this._deprecatedHandler = i, this._identifyMissing = (c, p) => !(c in p) || D(c, p), this._identifyRequired = f, this._preprocess = l, this._postprocess = d, this.cleanHistory();
1798
+ }
1799
+ cleanHistory() {
1800
+ this._hasDeprecationWarned = zr();
1801
+ }
1802
+ normalize(t) {
1803
+ let u = {}, o = [this._preprocess(t, this._utils)], n = () => {
1804
+ for (; o.length !== 0; ) {
1805
+ let a = o.shift(), s = this._applyNormalization(a, u);
1806
+ o.push(...s);
1807
+ }
1808
+ };
1809
+ n();
1810
+ for (let a of Object.keys(this._utils.schemas)) {
1811
+ let s = this._utils.schemas[a];
1812
+ if (!(a in u)) {
1813
+ let i = iu(s.default(this._utils));
1814
+ "value" in i && o.push({ [a]: i.value });
1815
+ }
1816
+ }
1817
+ n();
1818
+ for (let a of Object.keys(this._utils.schemas)) {
1819
+ if (!(a in u)) continue;
1820
+ let s = this._utils.schemas[a], i = u[a], D = s.postprocess(i, this._utils);
1821
+ D !== Ae && (this._applyValidation(D, a, s), u[a] = D);
1822
+ }
1823
+ return this._applyPostprocess(u), this._applyRequiredCheck(u), u;
1824
+ }
1825
+ _applyNormalization(t, u) {
1826
+ let r = [], { knownKeys: o, unknownKeys: n } = this._partitionOptionKeys(t);
1827
+ for (let a of o) {
1828
+ let s = this._utils.schemas[a], i = s.preprocess(t[a], this._utils);
1829
+ this._applyValidation(i, a, s);
1830
+ let D = ({ from: c, to: p }) => {
1831
+ r.push(typeof p == "string" ? { [p]: c } : { [p.key]: p.value });
1832
+ }, f = ({ value: c, redirectTo: p }) => {
1833
+ let F = cu(s.deprecated(c, this._utils), i, true);
1834
+ if (F !== false) if (F === true) this._hasDeprecationWarned(a) || this._utils.logger.warn(this._deprecatedHandler(a, p, this._utils));
1835
+ else for (let { value: C } of F) {
1836
+ let y = { key: a, value: C };
1837
+ if (!this._hasDeprecationWarned(y)) {
1838
+ let m = typeof p == "string" ? { key: p, value: C } : p;
1839
+ this._utils.logger.warn(this._deprecatedHandler(y, m, this._utils));
1840
+ }
1841
+ }
1842
+ };
1843
+ mt(s.forward(i, this._utils), i).forEach(D);
1844
+ let d = fu(s.redirect(i, this._utils), i);
1845
+ if (d.redirect.forEach(D), "remain" in d) {
1846
+ let c = d.remain;
1847
+ u[a] = a in u ? s.overlap(u[a], c, this._utils) : c, f({ value: c });
1848
+ }
1849
+ for (let { from: c, to: p } of d.redirect) f({ value: c, redirectTo: p });
1850
+ }
1851
+ for (let a of n) {
1852
+ let s = t[a];
1853
+ this._applyUnknownHandler(a, s, u, (i, D) => {
1854
+ r.push({ [i]: D });
1855
+ });
1856
+ }
1857
+ return r;
1858
+ }
1859
+ _applyRequiredCheck(t) {
1860
+ for (let u of Object.keys(this._utils.schemas)) if (this._identifyMissing(u, t) && this._identifyRequired(u)) throw this._invalidHandler(u, Dt, this._utils);
1861
+ }
1862
+ _partitionOptionKeys(t) {
1863
+ let [u, r] = Jr(Object.keys(t).filter((o) => !this._identifyMissing(o, t)), (o) => o in this._utils.schemas);
1864
+ return { knownKeys: u, unknownKeys: r };
1865
+ }
1866
+ _applyValidation(t, u, r) {
1867
+ let o = Du(r.validate(t, this._utils), t);
1868
+ if (o !== true) throw this._invalidHandler(u, o.value, this._utils);
1869
+ }
1870
+ _applyUnknownHandler(t, u, r, o) {
1871
+ let n = this._unknownHandler(t, u, this._utils);
1872
+ if (n) for (let a of Object.keys(n)) {
1873
+ if (this._identifyMissing(a, n)) continue;
1874
+ let s = n[a];
1875
+ a in this._utils.schemas ? o(a, s) : r[a] = s;
1876
+ }
1877
+ }
1878
+ _applyPostprocess(t) {
1879
+ let u = this._postprocess(t, this._utils);
1880
+ if (u !== Ae) {
1881
+ if (u.delete) for (let r of u.delete) delete t[r];
1882
+ if (u.override) {
1883
+ let { knownKeys: r, unknownKeys: o } = this._partitionOptionKeys(u.override);
1884
+ for (let n of r) {
1885
+ let a = u.override[n];
1886
+ this._applyValidation(a, n, this._utils.schemas[n]), t[n] = a;
1887
+ }
1888
+ for (let n of o) {
1889
+ let a = u.override[n];
1890
+ this._applyUnknownHandler(n, a, t, (s, i) => {
1891
+ let D = this._utils.schemas[s];
1892
+ this._applyValidation(i, s, D), t[s] = i;
1893
+ });
1894
+ }
1895
+ }
1896
+ }
1897
+ }
1898
+ };
1899
+ var lu;
1900
+ function ia(e, t, { logger: u = false, isCLI: r = false, passThrough: o = false, FlagSchema: n, descriptor: a } = {}) {
1901
+ if (r) {
1902
+ if (!n) throw new Error("'FlagSchema' option is required.");
1903
+ if (!a) throw new Error("'descriptor' option is required.");
1904
+ } else a = ie;
1905
+ let s = o ? Array.isArray(o) ? (d, c) => o.includes(d) ? { [d]: c } : void 0 : (d, c) => ({ [d]: c }) : (d, c, p) => {
1906
+ let { _: F, ...C } = p.schemas;
1907
+ return ft(d, c, { ...p, schemas: C });
1908
+ }, i = sa(t, { isCLI: r, FlagSchema: n }), D = new gt(i, { logger: u, unknown: s, descriptor: a }), f = u !== false;
1909
+ f && lu && (D._hasDeprecationWarned = lu);
1910
+ let l = D.normalize(e);
1911
+ return f && (lu = D._hasDeprecationWarned), l;
1912
+ }
1913
+ function sa(e, { isCLI: t, FlagSchema: u }) {
1914
+ let r = [];
1915
+ t && r.push(dt.create({ name: "_" }));
1916
+ for (let o of e) r.push(Da(o, { isCLI: t, optionInfos: e, FlagSchema: u })), o.alias && t && r.push(lt.create({ name: o.alias, sourceName: o.name }));
1917
+ return r;
1918
+ }
1919
+ function Da(e, { isCLI: t, optionInfos: u, FlagSchema: r }) {
1920
+ let { name: o } = e, n = { name: o }, a, s = {};
1921
+ switch (e.type) {
1922
+ case "int":
1923
+ a = ht, t && (n.preprocess = Number);
1924
+ break;
1925
+ case "string":
1926
+ a = je;
1927
+ break;
1928
+ case "choice":
1929
+ a = Et, n.choices = e.choices.map((i) => i?.redirect ? { ...i, redirect: { to: { key: e.name, value: i.redirect } } } : i);
1930
+ break;
1931
+ case "boolean":
1932
+ a = Ft;
1933
+ break;
1934
+ case "flag":
1935
+ a = r, n.flags = u.flatMap((i) => [i.alias, i.description && i.name, i.oppositeDescription && `no-${i.name}`].filter(Boolean));
1936
+ break;
1937
+ case "path":
1938
+ a = je;
1939
+ break;
1940
+ default:
1941
+ throw new Error(`Unexpected type ${e.type}`);
1942
+ }
1943
+ if (e.exception ? n.validate = (i, D, f) => e.exception(i) || D.validate(i, f) : n.validate = (i, D, f) => i === void 0 || D.validate(i, f), e.redirect && (s.redirect = (i) => i ? { to: typeof e.redirect == "string" ? e.redirect : { key: e.redirect.option, value: e.redirect.value } } : void 0), e.deprecated && (s.deprecated = true), t && !e.array) {
1944
+ let i = n.preprocess || ((D) => D);
1945
+ n.preprocess = (D, f, l) => f.preprocess(i(Array.isArray(D) ? b(0, D, -1) : D), l);
1946
+ }
1947
+ return e.array ? pt.create({ ...t ? { preprocess: (i) => Array.isArray(i) ? i : [i] } : {}, ...s, valueSchema: a.create(n) }) : a.create({ ...n, ...s });
1948
+ }
1949
+ var un = ia;
1950
+ var ca = Array.prototype.findLast ?? function(e) {
1951
+ for (let t = this.length - 1; t >= 0; t--) {
1952
+ let u = this[t];
1953
+ if (e(u, t, this)) return u;
1954
+ }
1955
+ };
1956
+ var fa = X("findLast", function() {
1957
+ if (Array.isArray(this)) return ca;
1958
+ });
1959
+ var du = fa;
1960
+ var rn = Symbol.for("PRETTIER_IS_FRONT_MATTER");
1961
+ var pu = [];
1962
+ function la(e) {
1963
+ return !!e?.[rn];
1964
+ }
1965
+ var de = la;
1966
+ var nn = /* @__PURE__ */ new Set(["yaml", "toml"]);
1967
+ var Ue = ({ node: e }) => de(e) && nn.has(e.language);
1968
+ async function Fu(e, t, u, r) {
1969
+ let { node: o } = u, { language: n } = o;
1970
+ if (!nn.has(n)) return;
1971
+ let a = o.value.trim(), s;
1972
+ if (a) {
1973
+ let i = n === "yaml" ? n : st(r, { language: n });
1974
+ if (!i) return;
1975
+ s = a ? await e(a, { parser: i }) : "";
1976
+ } else s = a;
1977
+ return et([o.startDelimiter, o.explicitLanguage ?? "", V, s, s ? V : "", o.endDelimiter]);
1978
+ }
1979
+ function da(e, t) {
1980
+ return Ue({ node: e }) && (delete t.end, delete t.raw, delete t.value), t;
1981
+ }
1982
+ var mu = da;
1983
+ function pa({ node: e }) {
1984
+ return e.raw;
1985
+ }
1986
+ var Eu = pa;
1987
+ var on = /* @__PURE__ */ new Set(["tokens", "comments", "parent", "enclosingNode", "precedingNode", "followingNode"]);
1988
+ var Fa = (e) => Object.keys(e).filter((t) => !on.has(t));
1989
+ function ma(e, t) {
1990
+ let u = e ? (r) => e(r, on) : Fa;
1991
+ return t ? new Proxy(u, { apply: (r, o, n) => de(n[0]) ? pu : Reflect.apply(r, o, n) }) : u;
1992
+ }
1993
+ var Cu = ma;
1994
+ function gu(e, t) {
1995
+ if (!t) throw new Error("parserName is required.");
1996
+ let u = du(0, e, (o) => o.parsers && Object.prototype.hasOwnProperty.call(o.parsers, t));
1997
+ if (u) return u;
1998
+ let r = `Couldn't resolve parser "${t}".`;
1999
+ throw r += " Plugins must be explicitly added to the standalone bundle.", new Me(r);
2000
+ }
2001
+ function an(e, t) {
2002
+ if (!t) throw new Error("astFormat is required.");
2003
+ let u = du(0, e, (o) => o.printers && Object.prototype.hasOwnProperty.call(o.printers, t));
2004
+ if (u) return u;
2005
+ let r = `Couldn't find plugin for AST format "${t}".`;
2006
+ throw r += " Plugins must be explicitly added to the standalone bundle.", new Me(r);
2007
+ }
2008
+ function We({ plugins: e, parser: t }) {
2009
+ let u = gu(e, t);
2010
+ return yu(u, t);
2011
+ }
2012
+ function yu(e, t) {
2013
+ let u = e.parsers[t];
2014
+ return typeof u == "function" ? u() : u;
2015
+ }
2016
+ async function sn(e, t) {
2017
+ let u = e.printers[t], r = typeof u == "function" ? await u() : u;
2018
+ return Ea(r);
2019
+ }
2020
+ var hu = /* @__PURE__ */ new WeakMap();
2021
+ var q0 = Symbol("PRINTER_NORMALIZED_MARK");
2022
+ function Ea(e) {
2023
+ if (hu.has(e)) return hu.get(e);
2024
+ let { features: t, getVisitorKeys: u, embed: r, massageAstNode: o, print: n, ...a } = e;
2025
+ t = ya(t);
2026
+ let s = t.experimental_frontMatterSupport;
2027
+ u = Cu(u, s.massageAstNode || s.embed || s.print);
2028
+ let i = o;
2029
+ o && s.massageAstNode && (i = new Proxy(o, { apply(d, c, p) {
2030
+ return mu(...p), Reflect.apply(d, c, p);
2031
+ } }));
2032
+ let D = r;
2033
+ if (r) {
2034
+ let d;
2035
+ D = new Proxy(r, { get(c, p, F) {
2036
+ return p === "getVisitorKeys" ? (d ?? (d = r.getVisitorKeys ? Cu(r.getVisitorKeys, s.massageAstNode || s.embed) : u), d) : Reflect.get(c, p, F);
2037
+ }, apply: (c, p, F) => s.embed && Ue(...F) ? Fu : Reflect.apply(c, p, F) });
2038
+ }
2039
+ let f = n;
2040
+ s.print && (f = new Proxy(n, { apply(d, c, p) {
2041
+ let [F] = p;
2042
+ return de(F.node) ? Eu(F) : Reflect.apply(d, c, p);
2043
+ } }));
2044
+ let l = { features: t, getVisitorKeys: u, embed: D, massageAstNode: i, print: f, ...a };
2045
+ return hu.set(e, l), l;
2046
+ }
2047
+ var Ca = ["clean", "embed", "print"];
2048
+ var ha = Object.fromEntries(Ca.map((e) => [e, false]));
2049
+ function ga(e) {
2050
+ return { ...ha, ...e };
2051
+ }
2052
+ function ya(e) {
2053
+ return { experimental_avoidAstMutation: false, ...e, experimental_frontMatterSupport: ga(e?.experimental_frontMatterSupport) };
2054
+ }
2055
+ var Dn = { astFormat: "estree", printer: {}, originalText: void 0, locStart: null, locEnd: null, getVisitorKeys: null };
2056
+ async function ba(e, t = {}) {
2057
+ let u = { ...e };
2058
+ if (!u.parser) if (u.filepath) {
2059
+ if (u.parser = st(u, { physicalFile: u.filepath }), !u.parser) throw new Ye(`No parser could be inferred for file "${u.filepath}".`);
2060
+ } else throw new Ye("No parser and no file path given, couldn't infer a parser.");
2061
+ let r = it({ plugins: e.plugins, showDeprecated: true }).options, o = { ...Dn, ...Object.fromEntries(r.filter((l) => l.default !== void 0).map((l) => [l.name, l.default])) }, n = gu(u.plugins, u.parser), a = await yu(n, u.parser);
2062
+ u.astFormat = a.astFormat, u.locEnd = a.locEnd, u.locStart = a.locStart;
2063
+ let s = n.printers?.[a.astFormat] ? n : an(u.plugins, a.astFormat), i = await sn(s, a.astFormat);
2064
+ u.printer = i, u.getVisitorKeys = i.getVisitorKeys;
2065
+ let D = s.defaultOptions ? Object.fromEntries(Object.entries(s.defaultOptions).filter(([, l]) => l !== void 0)) : {}, f = { ...o, ...D };
2066
+ for (let [l, d] of Object.entries(f)) (u[l] === null || u[l] === void 0) && (u[l] = d);
2067
+ return u.parser === "json" && (u.trailingComma = "none"), un(u, r, { passThrough: Object.keys(Dn), ...t });
2068
+ }
2069
+ var se = ba;
2070
+ var pf = ao(dn(), 1);
2071
+ var Au = "\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\u0560-\u0588\u05D0-\u05EA\u05EF-\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\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\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\u09FC\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\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\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\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\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-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\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\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\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\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\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-\uAB69\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";
2072
+ var pn = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
2073
+ var af = new RegExp("[" + Au + "]");
2074
+ var sf = new RegExp("[" + Au + pn + "]");
2075
+ Au = pn = null;
2076
+ var _u = { keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], strictBind: ["eval", "arguments"] };
2077
+ var Df = new Set(_u.keyword);
2078
+ var cf = new Set(_u.strict);
2079
+ var ff = new Set(_u.strictBind);
2080
+ var It = (e, t) => (u) => e(t(u));
2081
+ function mn(e) {
2082
+ return { keyword: e.cyan, capitalized: e.yellow, jsxIdentifier: e.yellow, punctuator: e.yellow, number: e.magenta, string: e.green, regex: e.magenta, comment: e.gray, invalid: It(It(e.white, e.bgRed), e.bold), gutter: e.gray, marker: It(e.red, e.bold), message: It(e.red, e.bold), reset: e.reset };
2083
+ }
2084
+ var hf = mn(ou(true));
2085
+ var gf = mn(ou(false));
2086
+ function _a() {
2087
+ return new Proxy({}, { get: () => (e) => e });
2088
+ }
2089
+ var Fn = /\r\n|[\n\r\u2028\u2029]/;
2090
+ function xa(e, t, u) {
2091
+ let r = Object.assign({ column: 0, line: -1 }, e.start), o = Object.assign({}, r, e.end), { linesAbove: n = 2, linesBelow: a = 3 } = u || {}, s = r.line, i = r.column, D = o.line, f = o.column, l = Math.max(s - (n + 1), 0), d = Math.min(t.length, D + a);
2092
+ s === -1 && (l = 0), D === -1 && (d = t.length);
2093
+ let c = D - s, p = {};
2094
+ if (c) for (let F = 0; F <= c; F++) {
2095
+ let C = F + s;
2096
+ if (!i) p[C] = true;
2097
+ else if (F === 0) {
2098
+ let y = t[C - 1].length;
2099
+ p[C] = [i, y - i + 1];
2100
+ } else if (F === c) p[C] = [0, f];
2101
+ else {
2102
+ let y = t[C - F].length;
2103
+ p[C] = [0, y];
2104
+ }
2105
+ }
2106
+ else i === f ? i ? p[s] = [i, 0] : p[s] = true : p[s] = [i, f - i];
2107
+ return { start: l, end: d, markerLines: p };
2108
+ }
2109
+ function En(e, t, u = {}) {
2110
+ let o = _a(false), n = e.split(Fn), { start: a, end: s, markerLines: i } = xa(t, n, u), D = t.start && typeof t.start.column == "number", f = String(s).length, d = e.split(Fn, s).slice(a, s).map((c, p) => {
2111
+ let F = a + 1 + p, y = ` ${` ${F}`.slice(-f)} |`, m = i[F], h = !i[F + 1];
2112
+ if (m) {
2113
+ let E = "";
2114
+ if (Array.isArray(m)) {
2115
+ let g = c.slice(0, Math.max(m[0] - 1, 0)).replace(/[^\t]/g, " "), A = m[1] || 1;
2116
+ E = [`
2117
+ `, o.gutter(y.replace(/\d/g, " ")), " ", g, o.marker("^").repeat(A)].join(""), h && u.message && (E += " " + o.message(u.message));
2118
+ }
2119
+ return [o.marker(">"), o.gutter(y), c.length > 0 ? ` ${c}` : "", E].join("");
2120
+ } else return ` ${o.gutter(y)}${c.length > 0 ? ` ${c}` : ""}`;
2121
+ }).join(`
2122
+ `);
2123
+ return u.message && !D && (d = `${" ".repeat(f + 1)}${u.message}
2124
+ ${d}`), d;
2125
+ }
2126
+ async function Ba(e, t) {
2127
+ let u = await We(t), r = u.preprocess ? await u.preprocess(e, t) : e;
2128
+ t.originalText = r;
2129
+ let o;
2130
+ try {
2131
+ o = await u.parse(r, t, t);
2132
+ } catch (n) {
2133
+ Ta(n, e);
2134
+ }
2135
+ return { text: r, ast: o };
2136
+ }
2137
+ function Ta(e, t) {
2138
+ let { loc: u } = e;
2139
+ if (u) {
2140
+ let r = En(t, u, { highlightCode: true });
2141
+ throw e.message += `
2142
+ ` + r, e.codeFrame = r, e;
2143
+ }
2144
+ throw e;
2145
+ }
2146
+ var Fe = Ba;
2147
+ async function Cn(e, t, u, r, o) {
2148
+ if (u.embeddedLanguageFormatting !== "auto") return;
2149
+ let { printer: n } = u, { embed: a } = n;
2150
+ if (!a) return;
2151
+ if (a.length > 2) throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed");
2152
+ let { hasPrettierIgnore: s } = n, { getVisitorKeys: i } = a, D = [];
2153
+ d();
2154
+ let f = e.stack;
2155
+ for (let { print: c, node: p, pathStack: F } of D) try {
2156
+ e.stack = F;
2157
+ let C = await c(l, t, e, u);
2158
+ C && o.set(p, C);
2159
+ } catch (C) {
2160
+ if (globalThis.PRETTIER_DEBUG) throw C;
2161
+ }
2162
+ e.stack = f;
2163
+ function l(c, p) {
2164
+ return Na(c, p, u, r);
2165
+ }
2166
+ function d() {
2167
+ let { node: c } = e;
2168
+ if (c === null || typeof c != "object" || s?.(e)) return;
2169
+ for (let F of i(c)) Array.isArray(c[F]) ? e.each(d, F) : e.call(d, F);
2170
+ let p = a(e, u);
2171
+ if (p) {
2172
+ if (typeof p == "function") {
2173
+ D.push({ print: p, node: c, pathStack: [...e.stack] });
2174
+ return;
2175
+ }
2176
+ o.set(c, p);
2177
+ }
2178
+ }
2179
+ }
2180
+ async function Na(e, t, u, r) {
2181
+ let o = await se({ ...u, ...t, parentParser: u.parser, originalText: e, cursorOffset: void 0, rangeStart: void 0, rangeEnd: void 0 }, { passThrough: true }), { ast: n } = await Fe(e, o), a = await r(n, o);
2182
+ return qe(a);
2183
+ }
2184
+ function Sa(e, t, u, r) {
2185
+ let { originalText: o, [Symbol.for("comments")]: n, locStart: a, locEnd: s, [Symbol.for("printedComments")]: i } = t, { node: D } = e, f = a(D), l = s(D);
2186
+ for (let c of n) a(c) >= f && s(c) <= l && i.add(c);
2187
+ let { printPrettierIgnored: d } = t.printer;
2188
+ return d ? d(e, t, u, r) : o.slice(f, l);
2189
+ }
2190
+ var hn = Sa;
2191
+ async function Ge(e, t) {
2192
+ ({ ast: e } = await xu(e, t));
2193
+ let u = /* @__PURE__ */ new Map(), r = new pr(e), o = Nr(t), n = /* @__PURE__ */ new Map();
2194
+ await Cn(r, s, t, Ge, n);
2195
+ let a = await gn(r, t, s, void 0, n);
2196
+ if (Tr(t), t.cursorOffset >= 0) {
2197
+ if (t.nodeAfterCursor && !t.nodeBeforeCursor) return [ee, a];
2198
+ if (t.nodeBeforeCursor && !t.nodeAfterCursor) return [a, ee];
2199
+ }
2200
+ return a;
2201
+ function s(D, f) {
2202
+ return D === void 0 || D === r ? i(f) : Array.isArray(D) ? r.call(() => i(f), ...D) : r.call(() => i(f), D);
2203
+ }
2204
+ function i(D) {
2205
+ o(r);
2206
+ let f = r.node;
2207
+ if (f == null) return "";
2208
+ let l = ge(f) && D === void 0;
2209
+ if (l && u.has(f)) return u.get(f);
2210
+ let d = gn(r, t, s, D, n);
2211
+ return l && u.set(f, d), d;
2212
+ }
2213
+ }
2214
+ function gn(e, t, u, r, o) {
2215
+ let { node: n } = e, { printer: a } = t, s;
2216
+ switch (a.hasPrettierIgnore?.(e) ? s = hn(e, t, u, r) : o.has(n) ? s = o.get(n) : s = a.print(e, t, u, r), n) {
2217
+ case t.cursorNode:
2218
+ s = Ee(s, (i) => [ee, i, ee]);
2219
+ break;
2220
+ case t.nodeBeforeCursor:
2221
+ s = Ee(s, (i) => [i, ee]);
2222
+ break;
2223
+ case t.nodeAfterCursor:
2224
+ s = Ee(s, (i) => [ee, i]);
2225
+ break;
2226
+ }
2227
+ return a.printComment && !a.willPrintOwnComments?.(e, t) && (s = Br(e, s, t)), s;
2228
+ }
2229
+ async function xu(e, t) {
2230
+ let u = e.comments ?? [];
2231
+ t[Symbol.for("comments")] = u, t[Symbol.for("printedComments")] = /* @__PURE__ */ new Set(), Ar(e, t);
2232
+ let { printer: { preprocess: r } } = t;
2233
+ return e = r ? await r(e, t) : e, { ast: e, comments: u };
2234
+ }
2235
+ function wa(e, t) {
2236
+ let { cursorOffset: u, locStart: r, locEnd: o, getVisitorKeys: n } = t, a = (c) => r(c) <= u && o(c) >= u, s = e, i = [e];
2237
+ for (let c of Cr(e, { getVisitorKeys: n, filter: a })) i.push(c), s = c;
2238
+ if (hr(s, { getVisitorKeys: n })) return { cursorNode: s };
2239
+ let D, f, l = -1, d = Number.POSITIVE_INFINITY;
2240
+ for (; i.length > 0 && (D === void 0 || f === void 0); ) {
2241
+ s = i.pop();
2242
+ let c = D !== void 0, p = f !== void 0;
2243
+ for (let F of be(s, { getVisitorKeys: n })) {
2244
+ if (!c) {
2245
+ let C = o(F);
2246
+ C <= u && C > l && (D = F, l = C);
2247
+ }
2248
+ if (!p) {
2249
+ let C = r(F);
2250
+ C >= u && C < d && (f = F, d = C);
2251
+ }
2252
+ }
2253
+ }
2254
+ return { nodeBeforeCursor: D, nodeAfterCursor: f };
2255
+ }
2256
+ var Bu = wa;
2257
+ function Oa(e, t) {
2258
+ let { printer: u } = t, r = u.massageAstNode;
2259
+ if (!r) return e;
2260
+ let { getVisitorKeys: o } = u, { ignoredProperties: n } = r;
2261
+ return a(e);
2262
+ function a(s, i) {
2263
+ if (!ge(s)) return s;
2264
+ if (Array.isArray(s)) return s.map((d) => a(d, i)).filter(Boolean);
2265
+ let D = {}, f = new Set(o(s));
2266
+ for (let d in s) !Object.prototype.hasOwnProperty.call(s, d) || n?.has(d) || (f.has(d) ? D[d] = a(s[d], s) : D[d] = s[d]);
2267
+ let l = r(s, D, i);
2268
+ if (l !== null) return l ?? D;
2269
+ }
2270
+ }
2271
+ var yn = Oa;
2272
+ var Pa = Array.prototype.findLastIndex ?? function(e) {
2273
+ for (let t = this.length - 1; t >= 0; t--) {
2274
+ let u = this[t];
2275
+ if (e(u, t, this)) return t;
2276
+ }
2277
+ return -1;
2278
+ };
2279
+ var Ia = X("findLastIndex", function() {
2280
+ if (Array.isArray(this)) return Pa;
2281
+ });
2282
+ var bn = Ia;
2283
+ var ka = ({ parser: e }) => e === "json" || e === "json5" || e === "jsonc" || e === "json-stringify";
2284
+ function va(e, t) {
2285
+ return t = new Set(t), e.find((u) => xn.has(u.type) && t.has(u));
2286
+ }
2287
+ function An(e) {
2288
+ let t = bn(0, e, (u) => u.type !== "Program" && u.type !== "File");
2289
+ return t === -1 ? e : e.slice(0, t + 1);
2290
+ }
2291
+ function Ra(e, t, { locStart: u, locEnd: r }) {
2292
+ let [o, ...n] = e, [a, ...s] = t;
2293
+ if (o === a) return [o, a];
2294
+ let i = u(o);
2295
+ for (let f of An(s)) if (u(f) >= i) a = f;
2296
+ else break;
2297
+ let D = r(a);
2298
+ for (let f of An(n)) {
2299
+ if (r(f) <= D) o = f;
2300
+ else break;
2301
+ if (o === a) break;
2302
+ }
2303
+ return [o, a];
2304
+ }
2305
+ function Tu(e, t, u, r, o = [], n) {
2306
+ let { locStart: a, locEnd: s } = u, i = a(e), D = s(e);
2307
+ if (t > D || t < i || n === "rangeEnd" && t === i || n === "rangeStart" && t === D) return;
2308
+ let f = [e, ...o], l = at(e, f, { cache: uu, locStart: a, locEnd: s, getVisitorKeys: u.getVisitorKeys, filter: u.printer.canAttachComment, getChildren: u.printer.getCommentChildNodes });
2309
+ for (let d of l) {
2310
+ let c = Tu(d, t, u, r, f, n);
2311
+ if (c) return c;
2312
+ }
2313
+ if (r(e, o[0])) return f;
2314
+ }
2315
+ function La(e, t) {
2316
+ return t !== "DeclareExportDeclaration" && e !== "TypeParameterDeclaration" && (e === "Directive" || e === "TypeAlias" || e === "TSExportAssignment" || e.startsWith("Declare") || e.startsWith("TSDeclare") || e.endsWith("Statement") || e.endsWith("Declaration"));
2317
+ }
2318
+ var xn = /* @__PURE__ */ new Set(["JsonRoot", "ObjectExpression", "ArrayExpression", "StringLiteral", "NumericLiteral", "BooleanLiteral", "NullLiteral", "UnaryExpression", "TemplateLiteral"]);
2319
+ var Ma = /* @__PURE__ */ new Set(["OperationDefinition", "FragmentDefinition", "VariableDefinition", "TypeExtensionDefinition", "ObjectTypeDefinition", "FieldDefinition", "DirectiveDefinition", "EnumTypeDefinition", "EnumValueDefinition", "InputValueDefinition", "InputObjectTypeDefinition", "SchemaDefinition", "OperationTypeDefinition", "InterfaceTypeDefinition", "UnionTypeDefinition", "ScalarTypeDefinition"]);
2320
+ function _n(e, t, u) {
2321
+ if (!t) return false;
2322
+ switch (e.parser) {
2323
+ case "flow":
2324
+ case "hermes":
2325
+ case "babel":
2326
+ case "babel-flow":
2327
+ case "babel-ts":
2328
+ case "typescript":
2329
+ case "acorn":
2330
+ case "espree":
2331
+ case "meriyah":
2332
+ case "oxc":
2333
+ case "oxc-ts":
2334
+ case "__babel_estree":
2335
+ return La(t.type, u?.type);
2336
+ case "json":
2337
+ case "json5":
2338
+ case "jsonc":
2339
+ case "json-stringify":
2340
+ return xn.has(t.type);
2341
+ case "graphql":
2342
+ return Ma.has(t.kind);
2343
+ case "vue":
2344
+ return t.tag !== "root";
2345
+ }
2346
+ return false;
2347
+ }
2348
+ function Bn(e, t, u) {
2349
+ let { rangeStart: r, rangeEnd: o, locStart: n, locEnd: a } = t;
2350
+ P(o > r);
2351
+ let s = e.slice(r, o).search(/\S/u), i = s === -1;
2352
+ if (!i) for (r += s; o > r && !/\S/u.test(e[o - 1]); --o) ;
2353
+ let D = Tu(u, r, t, (c, p) => _n(t, c, p), [], "rangeStart");
2354
+ if (!D) return;
2355
+ let f = i ? D : Tu(u, o, t, (c) => _n(t, c), [], "rangeEnd");
2356
+ if (!f) return;
2357
+ let l, d;
2358
+ if (ka(t)) {
2359
+ let c = va(D, f);
2360
+ l = c, d = c;
2361
+ } else [l, d] = Ra(D, f, t);
2362
+ return [Math.min(n(l), n(d)), Math.max(a(l), a(d))];
2363
+ }
2364
+ var wn = "\uFEFF";
2365
+ var Tn = Symbol("cursor");
2366
+ async function On(e, t, u = 0) {
2367
+ if (!e || e.trim().length === 0) return { formatted: "", cursorOffset: -1, comments: [] };
2368
+ let { ast: r, text: o } = await Fe(e, t);
2369
+ t.cursorOffset >= 0 && (t = { ...t, ...Bu(r, t) });
2370
+ let n = await Ge(r, t, u);
2371
+ u > 0 && (n = tt([V, n], u, t.tabWidth));
2372
+ let a = Ce(n, t);
2373
+ if (u > 0) {
2374
+ let i = a.formatted.trim();
2375
+ a.cursorNodeStart !== void 0 && (a.cursorNodeStart -= a.formatted.indexOf(i), a.cursorNodeStart < 0 && (a.cursorNodeStart = 0, a.cursorNodeText = a.cursorNodeText.trimStart()), a.cursorNodeStart + a.cursorNodeText.length > i.length && (a.cursorNodeText = a.cursorNodeText.trimEnd())), a.formatted = i + Se(t.endOfLine);
2376
+ }
2377
+ let s = t[Symbol.for("comments")];
2378
+ if (t.cursorOffset >= 0) {
2379
+ let i, D, f, l;
2380
+ if ((t.cursorNode || t.nodeBeforeCursor || t.nodeAfterCursor) && a.cursorNodeText) if (f = a.cursorNodeStart, l = a.cursorNodeText, t.cursorNode) i = t.locStart(t.cursorNode), D = o.slice(i, t.locEnd(t.cursorNode));
2381
+ else {
2382
+ if (!t.nodeBeforeCursor && !t.nodeAfterCursor) throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");
2383
+ i = t.nodeBeforeCursor ? t.locEnd(t.nodeBeforeCursor) : 0;
2384
+ let y = t.nodeAfterCursor ? t.locStart(t.nodeAfterCursor) : o.length;
2385
+ D = o.slice(i, y);
2386
+ }
2387
+ else i = 0, D = o, f = 0, l = a.formatted;
2388
+ let d = t.cursorOffset - i;
2389
+ if (D === l) return { formatted: a.formatted, cursorOffset: f + d, comments: s };
2390
+ let c = D.split("");
2391
+ c.splice(d, 0, Tn);
2392
+ let p = l.split(""), F = Ut(c, p), C = f;
2393
+ for (let y of F) if (y.removed) {
2394
+ if (y.value.includes(Tn)) break;
2395
+ } else C += y.count;
2396
+ return { formatted: a.formatted, cursorOffset: C, comments: s };
2397
+ }
2398
+ return { formatted: a.formatted, cursorOffset: -1, comments: s };
2399
+ }
2400
+ async function Ya(e, t) {
2401
+ let { ast: u, text: r } = await Fe(e, t), [o, n] = Bn(r, t, u) ?? [0, 0], a = r.slice(o, n), s = Math.min(o, r.lastIndexOf(`
2402
+ `, o) + 1), i = r.slice(s, o).match(/^\s*/u)[0], D = he(i, t.tabWidth), f = await On(a, { ...t, rangeStart: 0, rangeEnd: Number.POSITIVE_INFINITY, cursorOffset: t.cursorOffset > o && t.cursorOffset <= n ? t.cursorOffset - o : -1, endOfLine: "lf" }, D), l = f.formatted.trimEnd(), { cursorOffset: d } = t;
2403
+ d > n ? d += l.length - a.length : f.cursorOffset >= 0 && (d = f.cursorOffset + o);
2404
+ let c = r.slice(0, o) + l + r.slice(n);
2405
+ if (t.endOfLine !== "lf") {
2406
+ let p = Se(t.endOfLine);
2407
+ d >= 0 && p === `\r
2408
+ ` && (d += $t(c.slice(0, d), `
2409
+ `)), c = oe(0, c, `
2410
+ `, p);
2411
+ }
2412
+ return { formatted: c, cursorOffset: d, comments: f.comments };
2413
+ }
2414
+ function Nu(e, t, u) {
2415
+ return typeof t != "number" || Number.isNaN(t) || t < 0 || t > e.length ? u : t;
2416
+ }
2417
+ function Nn(e, t) {
2418
+ let { cursorOffset: u, rangeStart: r, rangeEnd: o } = t;
2419
+ return u = Nu(e, u, -1), r = Nu(e, r, 0), o = Nu(e, o, e.length), { ...t, cursorOffset: u, rangeStart: r, rangeEnd: o };
2420
+ }
2421
+ function Pn(e, t) {
2422
+ let { cursorOffset: u, rangeStart: r, rangeEnd: o, endOfLine: n } = Nn(e, t), a = e.charAt(0) === wn;
2423
+ if (a && (e = e.slice(1), u--, r--, o--), n === "auto" && (n = Yu(e)), e.includes("\r")) {
2424
+ let s = (i) => $t(e.slice(0, Math.max(i, 0)), `\r
2425
+ `);
2426
+ u -= s(u), r -= s(r), o -= s(o), e = ju(e);
2427
+ }
2428
+ return { hasBOM: a, text: e, options: Nn(e, { ...t, cursorOffset: u, rangeStart: r, rangeEnd: o, endOfLine: n }) };
2429
+ }
2430
+ async function Sn(e, t) {
2431
+ let u = await We(t);
2432
+ return !u.hasPragma || u.hasPragma(e);
2433
+ }
2434
+ async function ja(e, t) {
2435
+ return (await We(t)).hasIgnorePragma?.(e);
2436
+ }
2437
+ async function Su(e, t) {
2438
+ let { hasBOM: u, text: r, options: o } = Pn(e, await se(t));
2439
+ if (o.rangeStart >= o.rangeEnd && r !== "" || o.requirePragma && !await Sn(r, o) || o.checkIgnorePragma && await ja(r, o)) return { formatted: e, cursorOffset: t.cursorOffset, comments: [] };
2440
+ let n;
2441
+ return o.rangeStart > 0 || o.rangeEnd < r.length ? n = await Ya(r, o) : (!o.requirePragma && o.insertPragma && o.printer.insertPragma && !await Sn(r, o) && (r = o.printer.insertPragma(r)), n = await On(r, o)), u && (n.formatted = wn + n.formatted, n.cursorOffset >= 0 && n.cursorOffset++), n;
2442
+ }
2443
+ async function In(e, t, u) {
2444
+ let { text: r, options: o } = Pn(e, await se(t)), n = await Fe(r, o);
2445
+ return u && (u.preprocessForPrint && (n.ast = await xu(n.ast, o)), u.massage && (n.ast = yn(n.ast, o))), n;
2446
+ }
2447
+ async function kn(e, t) {
2448
+ t = await se(t);
2449
+ let u = await Ge(e, t);
2450
+ return Ce(u, t);
2451
+ }
2452
+ async function vn(e, t) {
2453
+ let u = sr(e), { formatted: r } = await Su(u, { ...t, parser: "__js_expression" });
2454
+ return r;
2455
+ }
2456
+ async function Rn(e, t) {
2457
+ t = await se(t);
2458
+ let { ast: u } = await Fe(e, t);
2459
+ return t.cursorOffset >= 0 && (t = { ...t, ...Bu(u, t) }), Ge(u, t);
2460
+ }
2461
+ async function Ln(e, t) {
2462
+ return Ce(e, await se(t));
2463
+ }
2464
+ var wu = {};
2465
+ Yt(wu, { builders: () => Wa, printer: () => $a, utils: () => Va });
2466
+ var Wa = { join: Ie, line: ut, softline: or, hardline: V, literalline: Qe, group: Kt, conditionalGroup: tr, fill: er, lineSuffix: ve, lineSuffixBoundary: ar, cursor: ee, breakParent: ce, ifBreak: ur, trim: ir, indent: ae, indentIfBreak: rr, align: De, addAlignmentToDoc: tt, markAsRoot: et, dedentToRoot: Qu, dedent: Zu, hardlineWithoutBreakParent: ke, literallineWithoutBreakParent: Gt, label: nr, concat: (e) => e };
2467
+ var $a = { printDocToString: Ce };
2468
+ var Va = { willBreak: Ku, traverseDoc: we, findInDoc: Xe, mapDoc: Pe, removeLines: zu, stripTrailingHardline: qe, replaceEndOfLine: Ju, canBreak: Hu };
2469
+ var Mn = "3.7.4";
2470
+ var Pu = {};
2471
+ Yt(Pu, { addDanglingComment: () => ue, addLeadingComment: () => fe, addTrailingComment: () => le, getAlignmentSize: () => he, getIndentSize: () => Yn, getMaxContinuousCount: () => jn, getNextNonSpaceNonCommentCharacter: () => Un, getNextNonSpaceNonCommentCharacterIndex: () => ni, getPreferredQuote: () => Vn, getStringWidth: () => Re, hasNewline: () => z, hasNewlineInRange: () => Kn, hasSpaces: () => Gn, isNextLineEmpty: () => Di, isNextLineEmptyAfterIndex: () => kt, isPreviousLineEmpty: () => ai, makeString: () => si, skip: () => ye, skipEverythingButNewLine: () => ot, skipInlineComment: () => xe, skipNewline: () => K, skipSpaces: () => Y, skipToLineEnd: () => nt, skipTrailingComment: () => Be, skipWhitespace: () => Fr });
2472
+ function Ka(e, t) {
2473
+ if (t === false) return false;
2474
+ if (e.charAt(t) === "/" && e.charAt(t + 1) === "*") {
2475
+ for (let u = t + 2; u < e.length; ++u) if (e.charAt(u) === "*" && e.charAt(u + 1) === "/") return u + 2;
2476
+ }
2477
+ return t;
2478
+ }
2479
+ var xe = Ka;
2480
+ function Ga(e, t) {
2481
+ return t === false ? false : e.charAt(t) === "/" && e.charAt(t + 1) === "/" ? ot(e, t) : t;
2482
+ }
2483
+ var Be = Ga;
2484
+ function za(e, t) {
2485
+ let u = null, r = t;
2486
+ for (; r !== u; ) u = r, r = Y(e, r), r = xe(e, r), r = Be(e, r), r = K(e, r);
2487
+ return r;
2488
+ }
2489
+ var ze = za;
2490
+ function Ja(e, t) {
2491
+ let u = null, r = t;
2492
+ for (; r !== u; ) u = r, r = nt(e, r), r = xe(e, r), r = Y(e, r);
2493
+ return r = Be(e, r), r = K(e, r), r !== false && z(e, r);
2494
+ }
2495
+ var kt = Ja;
2496
+ function Ha(e, t) {
2497
+ let u = e.lastIndexOf(`
2498
+ `);
2499
+ return u === -1 ? 0 : he(e.slice(u + 1).match(/^[\t ]*/u)[0], t);
2500
+ }
2501
+ var Yn = Ha;
2502
+ function Ou(e) {
2503
+ if (typeof e != "string") throw new TypeError("Expected a string");
2504
+ return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
2505
+ }
2506
+ function Xa(e, t) {
2507
+ let u = e.matchAll(new RegExp(`(?:${Ou(t)})+`, "gu"));
2508
+ return u.reduce || (u = [...u]), u.reduce((r, [o]) => Math.max(r, o.length), 0) / t.length;
2509
+ }
2510
+ var jn = Xa;
2511
+ function qa(e, t) {
2512
+ let u = ze(e, t);
2513
+ return u === false ? "" : e.charAt(u);
2514
+ }
2515
+ var Un = qa;
2516
+ var Wn = Object.freeze({ character: "'", codePoint: 39 });
2517
+ var $n = Object.freeze({ character: '"', codePoint: 34 });
2518
+ var Qa = Object.freeze({ preferred: Wn, alternate: $n });
2519
+ var Za = Object.freeze({ preferred: $n, alternate: Wn });
2520
+ function ei(e, t) {
2521
+ let { preferred: u, alternate: r } = t === true || t === "'" ? Qa : Za, { length: o } = e, n = 0, a = 0;
2522
+ for (let s = 0; s < o; s++) {
2523
+ let i = e.charCodeAt(s);
2524
+ i === u.codePoint ? n++ : i === r.codePoint && a++;
2525
+ }
2526
+ return (n > a ? r : u).character;
2527
+ }
2528
+ var Vn = ei;
2529
+ function ti(e, t, u) {
2530
+ for (let r = t; r < u; ++r) if (e.charAt(r) === `
2531
+ `) return true;
2532
+ return false;
2533
+ }
2534
+ var Kn = ti;
2535
+ function ui(e, t, u = {}) {
2536
+ return Y(e, u.backwards ? t - 1 : t, u) !== t;
2537
+ }
2538
+ var Gn = ui;
2539
+ function ri(e, t, u) {
2540
+ return ze(e, u(t));
2541
+ }
2542
+ function ni(e, t) {
2543
+ return arguments.length === 2 || typeof t == "number" ? ze(e, t) : ri(...arguments);
2544
+ }
2545
+ function oi(e, t, u) {
2546
+ return Le(e, u(t));
2547
+ }
2548
+ function ai(e, t) {
2549
+ return arguments.length === 2 || typeof t == "number" ? Le(e, t) : oi(...arguments);
2550
+ }
2551
+ function ii(e, t, u) {
2552
+ return kt(e, u(t));
2553
+ }
2554
+ function si(e, t, u) {
2555
+ let r = t === '"' ? "'" : '"', n = oe(0, e, /\\(.)|(["'])/gsu, (a, s, i) => s === r ? s : i === t ? "\\" + i : i || (u && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(s) ? s : "\\" + s));
2556
+ return t + n + t;
2557
+ }
2558
+ function Di(e, t) {
2559
+ return arguments.length === 2 || typeof t == "number" ? kt(e, t) : ii(...arguments);
2560
+ }
2561
+ function me(e, t = 1) {
2562
+ return async (...u) => {
2563
+ let r = u[t] ?? {}, o = r.plugins ?? [];
2564
+ return u[t] = { ...r, plugins: Array.isArray(o) ? o : Object.values(o) }, e(...u);
2565
+ };
2566
+ }
2567
+ var zn = me(Su);
2568
+ async function Jn(e, t) {
2569
+ let { formatted: u } = await zn(e, { ...t, cursorOffset: -1 });
2570
+ return u;
2571
+ }
2572
+ async function ci(e, t) {
2573
+ return await Jn(e, t) === e;
2574
+ }
2575
+ var fi = me(it, 0);
2576
+ var li = { parse: me(In), formatAST: me(kn), formatDoc: me(vn), printToDoc: me(Rn), printDocToString: me(Ln) };
2577
+ export {
2578
+ li as __debug,
2579
+ ci as check,
2580
+ Hn as default,
2581
+ wu as doc,
2582
+ Jn as format,
2583
+ zn as formatWithCursor,
2584
+ fi as getSupportInfo,
2585
+ Pu as util,
2586
+ Mn as version
2587
+ };