odm-client 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/client/mongodb-client.d.ts +9 -7
  2. package/dist/client/mongodb-index.d.ts +2 -2
  3. package/dist/cloudbase-index.cjs +1 -1
  4. package/dist/cloudbase-index.js +66 -56
  5. package/dist/decorators/index.d.ts +55 -0
  6. package/dist/deps/_commonjsHelpers-KaVRbhAgd4-5pgl5rkso.js +28 -0
  7. package/dist/deps/_commonjsHelpers-KaVRbhAgd4-r4alsdeis.js +1 -0
  8. package/dist/deps/acorn-DYjaOAP8Gz-29lcn4w0b.js +16 -0
  9. package/dist/deps/acorn-DYjaOAP8Gz-gyct7wut5.js +3005 -0
  10. package/dist/deps/angular-1bp1uAROl4-bz9b1prej.js +2533 -0
  11. package/dist/deps/angular-1bp1uAROl4-z3xa5q2km.js +3 -0
  12. package/dist/deps/babel-_P9jsDBVVy-ipfz7c01i.js +7217 -0
  13. package/dist/deps/babel-_P9jsDBVVy-kjb76ly0t.js +15 -0
  14. package/dist/deps/estree-Q-oFBmJEml-u09jq3zep.js +44 -0
  15. package/dist/deps/estree-Q-oFBmJEml-w9z7zljkf.js +4528 -0
  16. package/dist/deps/flow-j77MFvzLrn-kf5rv1yl1.js +20 -0
  17. package/dist/deps/flow-j77MFvzLrn-l8rtylmcl.js +27411 -0
  18. package/dist/deps/glimmer-ewQPb5nTUl-5p9240228.js +37 -0
  19. package/dist/deps/glimmer-ewQPb5nTUl-xsdp5ejns.js +2703 -0
  20. package/dist/deps/graphql-8EXR1_taGG-a4my17998.js +28 -0
  21. package/dist/deps/graphql-8EXR1_taGG-iqqy1396h.js +1221 -0
  22. package/dist/deps/html-dGbiW_CFWL-inuu6eaf1.js +25 -0
  23. package/dist/deps/html-dGbiW_CFWL-mq1pmq7je.js +2791 -0
  24. package/dist/deps/markdown-vAYIRClyWZ-el25zjeip.js +62 -0
  25. package/dist/deps/markdown-vAYIRClyWZ-f8svm8az3.js +3190 -0
  26. package/dist/deps/meriyah-d5_qqf88x--ntk7vora9.js +5 -0
  27. package/dist/deps/meriyah-d5_qqf88x--tbqv1nv9b.js +2645 -0
  28. package/dist/deps/postcss-Vz5bDQ3hJO-if8y8k5xi.js +4739 -0
  29. package/dist/deps/postcss-Vz5bDQ3hJO-rmv75nb4j.js +61 -0
  30. package/dist/deps/typescript-2hCq12HCbJ-n0w7fscoa.js +21 -0
  31. package/dist/deps/typescript-2hCq12HCbJ-yusfiayfb.js +12947 -0
  32. package/dist/deps/yaml-I5o0CrcX7J-ibk1yd293.js +4079 -0
  33. package/dist/deps/yaml-I5o0CrcX7J-xyc4o9p22.js +159 -0
  34. package/dist/generator/cloudbase-init-generator.d.ts +8 -0
  35. package/dist/generator/enum-generator.d.ts +3 -0
  36. package/dist/generator/index.d.ts +6 -0
  37. package/dist/generator/mongodb-init-generator.d.ts +9 -0
  38. package/dist/generator/parser.d.ts +21 -0
  39. package/dist/generator/table-generator.d.ts +3 -0
  40. package/dist/generator/type-generator.d.ts +6 -0
  41. package/dist/index.cjs +1 -1
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.js +3 -1
  44. package/dist/index2.cjs +42770 -0
  45. package/dist/index2.js +242204 -0
  46. package/dist/mongodb-index.cjs +11 -11
  47. package/dist/mongodb-index.js +2103 -2106
  48. package/dist/types/index.d.ts +14 -0
  49. package/package.json +3 -1
  50. /package/dist/deps/{query-builder-h6B2D2BCoQ-7t1lrgoqc.js → query-builder-h6B2D2BCoQ-f5zcr506g.js} +0 -0
  51. /package/dist/deps/{query-builder-h6B2D2BCoQ-lveomig6j.js → query-builder-h6B2D2BCoQ-iw94q0kiz.js} +0 -0
@@ -0,0 +1,3005 @@
1
+ var os = Object.create, Jt = Object.defineProperty, us = Object.getOwnPropertyDescriptor, hs = Object.getOwnPropertyNames, ps = Object.getPrototypeOf, ls = Object.prototype.hasOwnProperty, de = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports), cs = (t, e) => {
2
+ for (var s in e) Jt(t, s, { get: e[s], enumerable: !0 });
3
+ }, ds = (t, e, s, i) => {
4
+ if (e && typeof e == "object" || typeof e == "function") for (let r of hs(e)) !ls.call(t, r) && r !== s && Jt(t, r, { get: () => e[r], enumerable: !(i = us(e, r)) || i.enumerable });
5
+ return t;
6
+ }, fe = (t, e, s) => (s = t != null ? os(ps(t)) : {}, ds(Jt(s, "default", { value: t, enumerable: !0 }), t)), fs = de((t, e) => {
7
+ e.exports = {};
8
+ }), me = de((t, e) => {
9
+ var s = fs(), i = /^[\da-fA-F]+$/, r = /^\d+$/, o = /* @__PURE__ */ new WeakMap();
10
+ function u(l) {
11
+ l = l.Parser.acorn || l;
12
+ let m = o.get(l);
13
+ if (!m) {
14
+ let A = l.tokTypes, S = l.TokContext, v = l.TokenType, k = new S("<tag", !1), L = new S("</tag", !1), I = new S("<tag>...</tag>", !0, !0), j = { tc_oTag: k, tc_cTag: L, tc_expr: I }, st = { jsxName: new v("jsxName"), jsxText: new v("jsxText", { beforeExpr: !0 }), jsxTagStart: new v("jsxTagStart", { startsExpr: !0 }), jsxTagEnd: new v("jsxTagEnd") };
15
+ st.jsxTagStart.updateContext = function() {
16
+ this.context.push(I), this.context.push(k), this.exprAllowed = !1;
17
+ }, st.jsxTagEnd.updateContext = function(ft) {
18
+ let mt = this.context.pop();
19
+ mt === k && ft === A.slash || mt === L ? (this.context.pop(), this.exprAllowed = this.curContext() === I) : this.exprAllowed = !0;
20
+ }, m = { tokContexts: j, tokTypes: st }, o.set(l, m);
21
+ }
22
+ return m;
23
+ }
24
+ function p(l) {
25
+ if (!l) return l;
26
+ if (l.type === "JSXIdentifier") return l.name;
27
+ if (l.type === "JSXNamespacedName") return l.namespace.name + ":" + l.name.name;
28
+ if (l.type === "JSXMemberExpression") return p(l.object) + "." + p(l.property);
29
+ }
30
+ e.exports = function(l) {
31
+ return l = l || {}, function(m) {
32
+ return h({ allowNamespaces: l.allowNamespaces !== !1, allowNamespacedObjects: !!l.allowNamespacedObjects }, m);
33
+ };
34
+ }, Object.defineProperty(e.exports, "tokTypes", { get: function() {
35
+ return u(void 0).tokTypes;
36
+ }, configurable: !0, enumerable: !0 });
37
+ function h(l, m) {
38
+ let A = m.acorn || void 0, S = u(A), v = A.tokTypes, k = S.tokTypes, L = A.tokContexts, I = S.tokContexts.tc_oTag, j = S.tokContexts.tc_cTag, st = S.tokContexts.tc_expr, ft = A.isNewLine, mt = A.isIdentifierStart, ns = A.isIdentifierChar;
39
+ return class extends m {
40
+ static get acornJsx() {
41
+ return S;
42
+ }
43
+ jsx_readToken() {
44
+ let c = "", y = this.pos;
45
+ for (; ; ) {
46
+ this.pos >= this.input.length && this.raise(this.start, "Unterminated JSX contents");
47
+ let g = this.input.charCodeAt(this.pos);
48
+ switch (g) {
49
+ case 60:
50
+ case 123:
51
+ return this.pos === this.start ? g === 60 && this.exprAllowed ? (++this.pos, this.finishToken(k.jsxTagStart)) : this.getTokenFromCode(g) : (c += this.input.slice(y, this.pos), this.finishToken(k.jsxText, c));
52
+ case 38:
53
+ c += this.input.slice(y, this.pos), c += this.jsx_readEntity(), y = this.pos;
54
+ break;
55
+ case 62:
56
+ case 125:
57
+ this.raise(this.pos, "Unexpected token `" + this.input[this.pos] + "`. Did you mean `" + (g === 62 ? "&gt;" : "&rbrace;") + '` or `{"' + this.input[this.pos] + '"}`?');
58
+ default:
59
+ ft(g) ? (c += this.input.slice(y, this.pos), c += this.jsx_readNewLine(!0), y = this.pos) : ++this.pos;
60
+ }
61
+ }
62
+ }
63
+ jsx_readNewLine(c) {
64
+ let y = this.input.charCodeAt(this.pos), g;
65
+ return ++this.pos, y === 13 && this.input.charCodeAt(this.pos) === 10 ? (++this.pos, g = c ? `
66
+ ` : `\r
67
+ `) : g = String.fromCharCode(y), this.options.locations && (++this.curLine, this.lineStart = this.pos), g;
68
+ }
69
+ jsx_readString(c) {
70
+ let y = "", g = ++this.pos;
71
+ for (; ; ) {
72
+ this.pos >= this.input.length && this.raise(this.start, "Unterminated string constant");
73
+ let _ = this.input.charCodeAt(this.pos);
74
+ if (_ === c) break;
75
+ _ === 38 ? (y += this.input.slice(g, this.pos), y += this.jsx_readEntity(), g = this.pos) : ft(_) ? (y += this.input.slice(g, this.pos), y += this.jsx_readNewLine(!1), g = this.pos) : ++this.pos;
76
+ }
77
+ return y += this.input.slice(g, this.pos++), this.finishToken(v.string, y);
78
+ }
79
+ jsx_readEntity() {
80
+ let c = "", y = 0, g, _ = this.input[this.pos];
81
+ _ !== "&" && this.raise(this.pos, "Entity must start with an ampersand");
82
+ let Z = ++this.pos;
83
+ for (; this.pos < this.input.length && y++ < 10; ) {
84
+ if (_ = this.input[this.pos++], _ === ";") {
85
+ c[0] === "#" ? c[1] === "x" ? (c = c.substr(2), i.test(c) && (g = String.fromCharCode(parseInt(c, 16)))) : (c = c.substr(1), r.test(c) && (g = String.fromCharCode(parseInt(c, 10)))) : g = s[c];
86
+ break;
87
+ }
88
+ c += _;
89
+ }
90
+ return g || (this.pos = Z, "&");
91
+ }
92
+ jsx_readWord() {
93
+ let c, y = this.pos;
94
+ do
95
+ c = this.input.charCodeAt(++this.pos);
96
+ while (ns(c) || c === 45);
97
+ return this.finishToken(k.jsxName, this.input.slice(y, this.pos));
98
+ }
99
+ jsx_parseIdentifier() {
100
+ let c = this.startNode();
101
+ return this.type === k.jsxName ? c.name = this.value : this.type.keyword ? c.name = this.type.keyword : this.unexpected(), this.next(), this.finishNode(c, "JSXIdentifier");
102
+ }
103
+ jsx_parseNamespacedName() {
104
+ let c = this.start, y = this.startLoc, g = this.jsx_parseIdentifier();
105
+ if (!l.allowNamespaces || !this.eat(v.colon)) return g;
106
+ var _ = this.startNodeAt(c, y);
107
+ return _.namespace = g, _.name = this.jsx_parseIdentifier(), this.finishNode(_, "JSXNamespacedName");
108
+ }
109
+ jsx_parseElementName() {
110
+ if (this.type === k.jsxTagEnd) return "";
111
+ let c = this.start, y = this.startLoc, g = this.jsx_parseNamespacedName();
112
+ for (this.type === v.dot && g.type === "JSXNamespacedName" && !l.allowNamespacedObjects && this.unexpected(); this.eat(v.dot); ) {
113
+ let _ = this.startNodeAt(c, y);
114
+ _.object = g, _.property = this.jsx_parseIdentifier(), g = this.finishNode(_, "JSXMemberExpression");
115
+ }
116
+ return g;
117
+ }
118
+ jsx_parseAttributeValue() {
119
+ switch (this.type) {
120
+ case v.braceL:
121
+ let c = this.jsx_parseExpressionContainer();
122
+ return c.expression.type === "JSXEmptyExpression" && this.raise(c.start, "JSX attributes must only be assigned a non-empty expression"), c;
123
+ case k.jsxTagStart:
124
+ case v.string:
125
+ return this.parseExprAtom();
126
+ default:
127
+ this.raise(this.start, "JSX value should be either an expression or a quoted JSX text");
128
+ }
129
+ }
130
+ jsx_parseEmptyExpression() {
131
+ let c = this.startNodeAt(this.lastTokEnd, this.lastTokEndLoc);
132
+ return this.finishNodeAt(c, "JSXEmptyExpression", this.start, this.startLoc);
133
+ }
134
+ jsx_parseExpressionContainer() {
135
+ let c = this.startNode();
136
+ return this.next(), c.expression = this.type === v.braceR ? this.jsx_parseEmptyExpression() : this.parseExpression(), this.expect(v.braceR), this.finishNode(c, "JSXExpressionContainer");
137
+ }
138
+ jsx_parseAttribute() {
139
+ let c = this.startNode();
140
+ return this.eat(v.braceL) ? (this.expect(v.ellipsis), c.argument = this.parseMaybeAssign(), this.expect(v.braceR), this.finishNode(c, "JSXSpreadAttribute")) : (c.name = this.jsx_parseNamespacedName(), c.value = this.eat(v.eq) ? this.jsx_parseAttributeValue() : null, this.finishNode(c, "JSXAttribute"));
141
+ }
142
+ jsx_parseOpeningElementAt(c, y) {
143
+ let g = this.startNodeAt(c, y);
144
+ g.attributes = [];
145
+ let _ = this.jsx_parseElementName();
146
+ for (_ && (g.name = _); this.type !== v.slash && this.type !== k.jsxTagEnd; ) g.attributes.push(this.jsx_parseAttribute());
147
+ return g.selfClosing = this.eat(v.slash), this.expect(k.jsxTagEnd), this.finishNode(g, _ ? "JSXOpeningElement" : "JSXOpeningFragment");
148
+ }
149
+ jsx_parseClosingElementAt(c, y) {
150
+ let g = this.startNodeAt(c, y), _ = this.jsx_parseElementName();
151
+ return _ && (g.name = _), this.expect(k.jsxTagEnd), this.finishNode(g, _ ? "JSXClosingElement" : "JSXClosingFragment");
152
+ }
153
+ jsx_parseElementAt(c, y) {
154
+ let g = this.startNodeAt(c, y), _ = [], Z = this.jsx_parseOpeningElementAt(c, y), xt = null;
155
+ if (!Z.selfClosing) {
156
+ t: for (; ; ) switch (this.type) {
157
+ case k.jsxTagStart:
158
+ if (c = this.start, y = this.startLoc, this.next(), this.eat(v.slash)) {
159
+ xt = this.jsx_parseClosingElementAt(c, y);
160
+ break t;
161
+ }
162
+ _.push(this.jsx_parseElementAt(c, y));
163
+ break;
164
+ case k.jsxText:
165
+ _.push(this.parseExprAtom());
166
+ break;
167
+ case v.braceL:
168
+ _.push(this.jsx_parseExpressionContainer());
169
+ break;
170
+ default:
171
+ this.unexpected();
172
+ }
173
+ p(xt.name) !== p(Z.name) && this.raise(xt.start, "Expected corresponding JSX closing tag for <" + p(Z.name) + ">");
174
+ }
175
+ let Ft = Z.name ? "Element" : "Fragment";
176
+ return g["opening" + Ft] = Z, g["closing" + Ft] = xt, g.children = _, this.type === v.relational && this.value === "<" && this.raise(this.start, "Adjacent JSX elements must be wrapped in an enclosing tag"), this.finishNode(g, "JSX" + Ft);
177
+ }
178
+ jsx_parseText() {
179
+ let c = this.parseLiteral(this.value);
180
+ return c.type = "JSXText", c;
181
+ }
182
+ jsx_parseElement() {
183
+ let c = this.start, y = this.startLoc;
184
+ return this.next(), this.jsx_parseElementAt(c, y);
185
+ }
186
+ parseExprAtom(c) {
187
+ return this.type === k.jsxText ? this.jsx_parseText() : this.type === k.jsxTagStart ? this.jsx_parseElement() : super.parseExprAtom(c);
188
+ }
189
+ readToken(c) {
190
+ let y = this.curContext();
191
+ if (y === st) return this.jsx_readToken();
192
+ if (y === I || y === j) {
193
+ if (mt(c)) return this.jsx_readWord();
194
+ if (c == 62) return ++this.pos, this.finishToken(k.jsxTagEnd);
195
+ if ((c === 34 || c === 39) && y == I) return this.jsx_readString(c);
196
+ }
197
+ return c === 60 && this.exprAllowed && this.input.charCodeAt(this.pos + 1) !== 33 ? (++this.pos, this.finishToken(k.jsxTagStart)) : super.readToken(c);
198
+ }
199
+ updateContext(c) {
200
+ if (this.type == v.braceL) {
201
+ var y = this.curContext();
202
+ y == I ? this.context.push(L.b_expr) : y == st ? this.context.push(L.b_tmpl) : super.updateContext(c), this.exprAllowed = !0;
203
+ } else if (this.type === v.slash && c === k.jsxTagStart) this.context.length -= 2, this.context.push(j), this.exprAllowed = !1;
204
+ else return super.updateContext(c);
205
+ }
206
+ };
207
+ }
208
+ }), ms = {};
209
+ cs(ms, { parsers: () => dr });
210
+ var xs = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239], xe = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], ys = "‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・", ye = "ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ", Bt = { 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", 5: "class enum extends super const export import", 6: "enum", strict: "implements interface let package private protected public static yield", strictBind: "eval arguments" }, It = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this", gs = { 5: It, "5module": It + " export import", 6: It + " const class extends export import super" }, As = /^in(stanceof)?$/, vs = new RegExp("[" + ye + "]"), Cs = new RegExp("[" + ye + ys + "]");
211
+ function Ot(t, e) {
212
+ for (var s = 65536, i = 0; i < e.length; i += 2) {
213
+ if (s += e[i], s > t) return !1;
214
+ if (s += e[i + 1], s >= t) return !0;
215
+ }
216
+ return !1;
217
+ }
218
+ function G(t, e) {
219
+ return t < 65 ? t === 36 : t < 91 ? !0 : t < 97 ? t === 95 : t < 123 ? !0 : t <= 65535 ? t >= 170 && vs.test(String.fromCharCode(t)) : e === !1 ? !1 : Ot(t, xe);
220
+ }
221
+ function $(t, e) {
222
+ return t < 48 ? t === 36 : t < 58 ? !0 : t < 65 ? !1 : t < 91 ? !0 : t < 97 ? t === 95 : t < 123 ? !0 : t <= 65535 ? t >= 170 && Cs.test(String.fromCharCode(t)) : e === !1 ? !1 : Ot(t, xe) || Ot(t, xs);
223
+ }
224
+ var b = function(t, e) {
225
+ e === void 0 && (e = {}), this.label = t, this.keyword = e.keyword, this.beforeExpr = !!e.beforeExpr, this.startsExpr = !!e.startsExpr, this.isLoop = !!e.isLoop, this.isAssign = !!e.isAssign, this.prefix = !!e.prefix, this.postfix = !!e.postfix, this.binop = e.binop || null, this.updateContext = null;
226
+ };
227
+ function V(t, e) {
228
+ return new b(t, { beforeExpr: !0, binop: e });
229
+ }
230
+ var R = { beforeExpr: !0 }, P = { startsExpr: !0 }, Kt = {};
231
+ function E(t, e) {
232
+ return e === void 0 && (e = {}), e.keyword = t, Kt[t] = new b(t, e);
233
+ }
234
+ var a = { num: new b("num", P), regexp: new b("regexp", P), string: new b("string", P), name: new b("name", P), privateId: new b("privateId", P), eof: new b("eof"), bracketL: new b("[", { beforeExpr: !0, startsExpr: !0 }), bracketR: new b("]"), braceL: new b("{", { beforeExpr: !0, startsExpr: !0 }), braceR: new b("}"), parenL: new b("(", { beforeExpr: !0, startsExpr: !0 }), parenR: new b(")"), comma: new b(",", R), semi: new b(";", R), colon: new b(":", R), dot: new b("."), question: new b("?", R), questionDot: new b("?."), arrow: new b("=>", R), template: new b("template"), invalidTemplate: new b("invalidTemplate"), ellipsis: new b("...", R), backQuote: new b("`", P), dollarBraceL: new b("${", { beforeExpr: !0, startsExpr: !0 }), eq: new b("=", { beforeExpr: !0, isAssign: !0 }), assign: new b("_=", { beforeExpr: !0, isAssign: !0 }), incDec: new b("++/--", { prefix: !0, postfix: !0, startsExpr: !0 }), prefix: new b("!/~", { beforeExpr: !0, prefix: !0, startsExpr: !0 }), logicalOR: V("||", 1), logicalAND: V("&&", 2), bitwiseOR: V("|", 3), bitwiseXOR: V("^", 4), bitwiseAND: V("&", 5), equality: V("==/!=/===/!==", 6), relational: V("</>/<=/>=", 7), bitShift: V("<</>>/>>>", 8), plusMin: new b("+/-", { beforeExpr: !0, binop: 9, prefix: !0, startsExpr: !0 }), modulo: V("%", 10), star: V("*", 10), slash: V("/", 10), starstar: new b("**", { beforeExpr: !0 }), coalesce: V("??", 1), _break: E("break"), _case: E("case", R), _catch: E("catch"), _continue: E("continue"), _debugger: E("debugger"), _default: E("default", R), _do: E("do", { isLoop: !0, beforeExpr: !0 }), _else: E("else", R), _finally: E("finally"), _for: E("for", { isLoop: !0 }), _function: E("function", P), _if: E("if"), _return: E("return", R), _switch: E("switch"), _throw: E("throw", R), _try: E("try"), _var: E("var"), _const: E("const"), _while: E("while", { isLoop: !0 }), _with: E("with"), _new: E("new", { beforeExpr: !0, startsExpr: !0 }), _this: E("this", P), _super: E("super", P), _class: E("class", P), _extends: E("extends", R), _export: E("export"), _import: E("import", P), _null: E("null", P), _true: E("true", P), _false: E("false", P), _in: E("in", { beforeExpr: !0, binop: 7 }), _instanceof: E("instanceof", { beforeExpr: !0, binop: 7 }), _typeof: E("typeof", { beforeExpr: !0, prefix: !0, startsExpr: !0 }), _void: E("void", { beforeExpr: !0, prefix: !0, startsExpr: !0 }), _delete: E("delete", { beforeExpr: !0, prefix: !0, startsExpr: !0 }) }, N = /\r\n?|\n|\u2028|\u2029/, Es = new RegExp(N.source, "g");
235
+ function it(t) {
236
+ return t === 10 || t === 13 || t === 8232 || t === 8233;
237
+ }
238
+ function ge(t, e, s) {
239
+ s === void 0 && (s = t.length);
240
+ for (var i = e; i < s; i++) {
241
+ var r = t.charCodeAt(i);
242
+ if (it(r)) return i < s - 1 && r === 13 && t.charCodeAt(i + 1) === 10 ? i + 2 : i + 1;
243
+ }
244
+ return -1;
245
+ }
246
+ var Ae = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/, D = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, ve = Object.prototype, bs = ve.hasOwnProperty, Ss = ve.toString, rt = Object.hasOwn || function(t, e) {
247
+ return bs.call(t, e);
248
+ }, re = Array.isArray || function(t) {
249
+ return Ss.call(t) === "[object Array]";
250
+ }, ae = /* @__PURE__ */ Object.create(null);
251
+ function Q(t) {
252
+ return ae[t] || (ae[t] = new RegExp("^(?:" + t.replace(/ /g, "|") + ")$"));
253
+ }
254
+ function H(t) {
255
+ return t <= 65535 ? String.fromCharCode(t) : (t -= 65536, String.fromCharCode((t >> 10) + 55296, (t & 1023) + 56320));
256
+ }
257
+ var ks = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/, pt = function(t, e) {
258
+ this.line = t, this.column = e;
259
+ };
260
+ pt.prototype.offset = function(t) {
261
+ return new pt(this.line, this.column + t);
262
+ };
263
+ var St = function(t, e, s) {
264
+ this.start = e, this.end = s, t.sourceFile !== null && (this.source = t.sourceFile);
265
+ };
266
+ function Ce(t, e) {
267
+ for (var s = 1, i = 0; ; ) {
268
+ var r = ge(t, i, e);
269
+ if (r < 0) return new pt(s, e - i);
270
+ ++s, i = r;
271
+ }
272
+ }
273
+ var Mt = { ecmaVersion: null, sourceType: "script", onInsertedSemicolon: null, onTrailingComma: null, allowReserved: null, allowReturnOutsideFunction: !1, allowImportExportEverywhere: !1, allowAwaitOutsideFunction: null, allowSuperOutsideMethod: null, allowHashBang: !1, checkPrivateFields: !0, locations: !1, onToken: null, onComment: null, ranges: !1, program: null, sourceFile: null, directSourceFile: null, preserveParens: !1 }, ne = !1;
274
+ function _s(t) {
275
+ var e = {};
276
+ for (var s in Mt) e[s] = t && rt(t, s) ? t[s] : Mt[s];
277
+ if (e.ecmaVersion === "latest" ? e.ecmaVersion = 1e8 : e.ecmaVersion == null ? (!ne && typeof console == "object" && console.warn && (ne = !0, console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
278
+ Defaulting to 2020, but this will stop working in the future.`)), e.ecmaVersion = 11) : e.ecmaVersion >= 2015 && (e.ecmaVersion -= 2009), e.allowReserved == null && (e.allowReserved = e.ecmaVersion < 5), (!t || t.allowHashBang == null) && (e.allowHashBang = e.ecmaVersion >= 14), re(e.onToken)) {
279
+ var i = e.onToken;
280
+ e.onToken = function(r) {
281
+ return i.push(r);
282
+ };
283
+ }
284
+ return re(e.onComment) && (e.onComment = Ts(e, e.onComment)), e;
285
+ }
286
+ function Ts(t, e) {
287
+ return function(s, i, r, o, u, p) {
288
+ var h = { type: s ? "Block" : "Line", value: i, start: r, end: o };
289
+ t.locations && (h.loc = new St(this, u, p)), t.ranges && (h.range = [r, o]), e.push(h);
290
+ };
291
+ }
292
+ var lt = 1, at = 2, Xt = 4, Ee = 8, Ht = 16, be = 32, kt = 64, Se = 128, et = 256, ct = 512, _t = lt | at | et;
293
+ function Wt(t, e) {
294
+ return at | (t ? Xt : 0) | (e ? Ee : 0);
295
+ }
296
+ var vt = 0, zt = 1, z = 2, ke = 3, _e = 4, Te = 5, w = function(t, e, s) {
297
+ this.options = t = _s(t), this.sourceFile = t.sourceFile, this.keywords = Q(gs[t.ecmaVersion >= 6 ? 6 : t.sourceType === "module" ? "5module" : 5]);
298
+ var i = "";
299
+ t.allowReserved !== !0 && (i = Bt[t.ecmaVersion >= 6 ? 6 : t.ecmaVersion === 5 ? 5 : 3], t.sourceType === "module" && (i += " await")), this.reservedWords = Q(i);
300
+ var r = (i ? i + " " : "") + Bt.strict;
301
+ this.reservedWordsStrict = Q(r), this.reservedWordsStrictBind = Q(r + " " + Bt.strictBind), this.input = String(e), this.containsEsc = !1, s ? (this.pos = s, this.lineStart = this.input.lastIndexOf(`
302
+ `, s - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(N).length) : (this.pos = this.lineStart = 0, this.curLine = 1), this.type = a.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = this.initialContext(), this.exprAllowed = !0, this.inModule = t.sourceType === "module", this.strict = this.inModule || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = !1, this.yieldPos = this.awaitPos = this.awaitIdentPos = 0, this.labels = [], this.undefinedExports = /* @__PURE__ */ Object.create(null), this.pos === 0 && t.allowHashBang && this.input.slice(0, 2) === "#!" && this.skipLineComment(2), this.scopeStack = [], this.enterScope(lt), this.regexpState = null, this.privateNameStack = [];
303
+ }, J = { inFunction: { configurable: !0 }, inGenerator: { configurable: !0 }, inAsync: { configurable: !0 }, canAwait: { configurable: !0 }, allowSuper: { configurable: !0 }, allowDirectSuper: { configurable: !0 }, treatFunctionsAsVar: { configurable: !0 }, allowNewDotTarget: { configurable: !0 }, inClassStaticBlock: { configurable: !0 } };
304
+ w.prototype.parse = function() {
305
+ var t = this.options.program || this.startNode();
306
+ return this.nextToken(), this.parseTopLevel(t);
307
+ };
308
+ J.inFunction.get = function() {
309
+ return (this.currentVarScope().flags & at) > 0;
310
+ };
311
+ J.inGenerator.get = function() {
312
+ return (this.currentVarScope().flags & Ee) > 0;
313
+ };
314
+ J.inAsync.get = function() {
315
+ return (this.currentVarScope().flags & Xt) > 0;
316
+ };
317
+ J.canAwait.get = function() {
318
+ for (var t = this.scopeStack.length - 1; t >= 0; t--) {
319
+ var e = this.scopeStack[t], s = e.flags;
320
+ if (s & (et | ct)) return !1;
321
+ if (s & at) return (s & Xt) > 0;
322
+ }
323
+ return this.inModule && this.options.ecmaVersion >= 13 || this.options.allowAwaitOutsideFunction;
324
+ };
325
+ J.allowSuper.get = function() {
326
+ var t = this.currentThisScope(), e = t.flags;
327
+ return (e & kt) > 0 || this.options.allowSuperOutsideMethod;
328
+ };
329
+ J.allowDirectSuper.get = function() {
330
+ return (this.currentThisScope().flags & Se) > 0;
331
+ };
332
+ J.treatFunctionsAsVar.get = function() {
333
+ return this.treatFunctionsAsVarInScope(this.currentScope());
334
+ };
335
+ J.allowNewDotTarget.get = function() {
336
+ for (var t = this.scopeStack.length - 1; t >= 0; t--) {
337
+ var e = this.scopeStack[t], s = e.flags;
338
+ if (s & (et | ct) || s & at && !(s & Ht)) return !0;
339
+ }
340
+ return !1;
341
+ };
342
+ J.inClassStaticBlock.get = function() {
343
+ return (this.currentVarScope().flags & et) > 0;
344
+ };
345
+ w.extend = function() {
346
+ for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e];
347
+ for (var s = this, i = 0; i < t.length; i++) s = t[i](s);
348
+ return s;
349
+ };
350
+ w.parse = function(t, e) {
351
+ return new this(e, t).parse();
352
+ };
353
+ w.parseExpressionAt = function(t, e, s) {
354
+ var i = new this(s, t, e);
355
+ return i.nextToken(), i.parseExpression();
356
+ };
357
+ w.tokenizer = function(t, e) {
358
+ return new this(e, t);
359
+ };
360
+ Object.defineProperties(w.prototype, J);
361
+ var B = w.prototype, ws = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
362
+ B.strictDirective = function(t) {
363
+ if (this.options.ecmaVersion < 5) return !1;
364
+ for (; ; ) {
365
+ D.lastIndex = t, t += D.exec(this.input)[0].length;
366
+ var e = ws.exec(this.input.slice(t));
367
+ if (!e) return !1;
368
+ if ((e[1] || e[2]) === "use strict") {
369
+ D.lastIndex = t + e[0].length;
370
+ var s = D.exec(this.input), i = s.index + s[0].length, r = this.input.charAt(i);
371
+ return r === ";" || r === "}" || N.test(s[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(r) || r === "!" && this.input.charAt(i + 1) === "=");
372
+ }
373
+ t += e[0].length, D.lastIndex = t, t += D.exec(this.input)[0].length, this.input[t] === ";" && t++;
374
+ }
375
+ };
376
+ B.eat = function(t) {
377
+ return this.type === t ? (this.next(), !0) : !1;
378
+ };
379
+ B.isContextual = function(t) {
380
+ return this.type === a.name && this.value === t && !this.containsEsc;
381
+ };
382
+ B.eatContextual = function(t) {
383
+ return this.isContextual(t) ? (this.next(), !0) : !1;
384
+ };
385
+ B.expectContextual = function(t) {
386
+ this.eatContextual(t) || this.unexpected();
387
+ };
388
+ B.canInsertSemicolon = function() {
389
+ return this.type === a.eof || this.type === a.braceR || N.test(this.input.slice(this.lastTokEnd, this.start));
390
+ };
391
+ B.insertSemicolon = function() {
392
+ if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc), !0;
393
+ };
394
+ B.semicolon = function() {
395
+ !this.eat(a.semi) && !this.insertSemicolon() && this.unexpected();
396
+ };
397
+ B.afterTrailingComma = function(t, e) {
398
+ if (this.type === t) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc), e || this.next(), !0;
399
+ };
400
+ B.expect = function(t) {
401
+ this.eat(t) || this.unexpected();
402
+ };
403
+ B.unexpected = function(t) {
404
+ this.raise(t ?? this.start, "Unexpected token");
405
+ };
406
+ var Tt = function() {
407
+ this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1;
408
+ };
409
+ B.checkPatternErrors = function(t, e) {
410
+ if (t) {
411
+ t.trailingComma > -1 && this.raiseRecoverable(t.trailingComma, "Comma is not permitted after the rest element");
412
+ var s = e ? t.parenthesizedAssign : t.parenthesizedBind;
413
+ s > -1 && this.raiseRecoverable(s, e ? "Assigning to rvalue" : "Parenthesized pattern");
414
+ }
415
+ };
416
+ B.checkExpressionErrors = function(t, e) {
417
+ if (!t) return !1;
418
+ var s = t.shorthandAssign, i = t.doubleProto;
419
+ if (!e) return s >= 0 || i >= 0;
420
+ s >= 0 && this.raise(s, "Shorthand property assignments are valid only in destructuring patterns"), i >= 0 && this.raiseRecoverable(i, "Redefinition of __proto__ property");
421
+ };
422
+ B.checkYieldAwaitInDefaultParams = function() {
423
+ this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos) && this.raise(this.yieldPos, "Yield expression cannot be a default value"), this.awaitPos && this.raise(this.awaitPos, "Await expression cannot be a default value");
424
+ };
425
+ B.isSimpleAssignTarget = function(t) {
426
+ return t.type === "ParenthesizedExpression" ? this.isSimpleAssignTarget(t.expression) : t.type === "Identifier" || t.type === "MemberExpression";
427
+ };
428
+ var f = w.prototype;
429
+ f.parseTopLevel = function(t) {
430
+ var e = /* @__PURE__ */ Object.create(null);
431
+ for (t.body || (t.body = []); this.type !== a.eof; ) {
432
+ var s = this.parseStatement(null, !0, e);
433
+ t.body.push(s);
434
+ }
435
+ if (this.inModule) for (var i = 0, r = Object.keys(this.undefinedExports); i < r.length; i += 1) {
436
+ var o = r[i];
437
+ this.raiseRecoverable(this.undefinedExports[o].start, "Export '" + o + "' is not defined");
438
+ }
439
+ return this.adaptDirectivePrologue(t.body), this.next(), t.sourceType = this.options.sourceType, this.finishNode(t, "Program");
440
+ };
441
+ var Qt = { kind: "loop" }, Ds = { kind: "switch" };
442
+ f.isLet = function(t) {
443
+ if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return !1;
444
+ D.lastIndex = this.pos;
445
+ var e = D.exec(this.input), s = this.pos + e[0].length, i = this.input.charCodeAt(s);
446
+ if (i === 91 || i === 92) return !0;
447
+ if (t) return !1;
448
+ if (i === 123 || i > 55295 && i < 56320) return !0;
449
+ if (G(i, !0)) {
450
+ for (var r = s + 1; $(i = this.input.charCodeAt(r), !0); ) ++r;
451
+ if (i === 92 || i > 55295 && i < 56320) return !0;
452
+ var o = this.input.slice(s, r);
453
+ if (!As.test(o)) return !0;
454
+ }
455
+ return !1;
456
+ };
457
+ f.isAsyncFunction = function() {
458
+ if (this.options.ecmaVersion < 8 || !this.isContextual("async")) return !1;
459
+ D.lastIndex = this.pos;
460
+ var t = D.exec(this.input), e = this.pos + t[0].length, s;
461
+ return !N.test(this.input.slice(this.pos, e)) && this.input.slice(e, e + 8) === "function" && (e + 8 === this.input.length || !($(s = this.input.charCodeAt(e + 8)) || s > 55295 && s < 56320));
462
+ };
463
+ f.isUsingKeyword = function(t, e) {
464
+ if (this.options.ecmaVersion < 17 || !this.isContextual(t ? "await" : "using")) return !1;
465
+ D.lastIndex = this.pos;
466
+ var s = D.exec(this.input), i = this.pos + s[0].length;
467
+ if (N.test(this.input.slice(this.pos, i))) return !1;
468
+ if (t) {
469
+ var r = i + 5, o;
470
+ if (this.input.slice(i, r) !== "using" || r === this.input.length || $(o = this.input.charCodeAt(r)) || o > 55295 && o < 56320) return !1;
471
+ D.lastIndex = r;
472
+ var u = D.exec(this.input);
473
+ if (u && N.test(this.input.slice(r, r + u[0].length))) return !1;
474
+ }
475
+ if (e) {
476
+ var p = i + 2, h;
477
+ if (this.input.slice(i, p) === "of" && (p === this.input.length || !$(h = this.input.charCodeAt(p)) && !(h > 55295 && h < 56320))) return !1;
478
+ }
479
+ var l = this.input.charCodeAt(i);
480
+ return G(l, !0) || l === 92;
481
+ };
482
+ f.isAwaitUsing = function(t) {
483
+ return this.isUsingKeyword(!0, t);
484
+ };
485
+ f.isUsing = function(t) {
486
+ return this.isUsingKeyword(!1, t);
487
+ };
488
+ f.parseStatement = function(t, e, s) {
489
+ var i = this.type, r = this.startNode(), o;
490
+ switch (this.isLet(t) && (i = a._var, o = "let"), i) {
491
+ case a._break:
492
+ case a._continue:
493
+ return this.parseBreakContinueStatement(r, i.keyword);
494
+ case a._debugger:
495
+ return this.parseDebuggerStatement(r);
496
+ case a._do:
497
+ return this.parseDoStatement(r);
498
+ case a._for:
499
+ return this.parseForStatement(r);
500
+ case a._function:
501
+ return t && (this.strict || t !== "if" && t !== "label") && this.options.ecmaVersion >= 6 && this.unexpected(), this.parseFunctionStatement(r, !1, !t);
502
+ case a._class:
503
+ return t && this.unexpected(), this.parseClass(r, !0);
504
+ case a._if:
505
+ return this.parseIfStatement(r);
506
+ case a._return:
507
+ return this.parseReturnStatement(r);
508
+ case a._switch:
509
+ return this.parseSwitchStatement(r);
510
+ case a._throw:
511
+ return this.parseThrowStatement(r);
512
+ case a._try:
513
+ return this.parseTryStatement(r);
514
+ case a._const:
515
+ case a._var:
516
+ return o = o || this.value, t && o !== "var" && this.unexpected(), this.parseVarStatement(r, o);
517
+ case a._while:
518
+ return this.parseWhileStatement(r);
519
+ case a._with:
520
+ return this.parseWithStatement(r);
521
+ case a.braceL:
522
+ return this.parseBlock(!0, r);
523
+ case a.semi:
524
+ return this.parseEmptyStatement(r);
525
+ case a._export:
526
+ case a._import:
527
+ if (this.options.ecmaVersion > 10 && i === a._import) {
528
+ D.lastIndex = this.pos;
529
+ var u = D.exec(this.input), p = this.pos + u[0].length, h = this.input.charCodeAt(p);
530
+ if (h === 40 || h === 46) return this.parseExpressionStatement(r, this.parseExpression());
531
+ }
532
+ return this.options.allowImportExportEverywhere || (e || this.raise(this.start, "'import' and 'export' may only appear at the top level"), this.inModule || this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")), i === a._import ? this.parseImport(r) : this.parseExport(r, s);
533
+ default:
534
+ if (this.isAsyncFunction()) return t && this.unexpected(), this.next(), this.parseFunctionStatement(r, !0, !t);
535
+ var l = this.isAwaitUsing(!1) ? "await using" : this.isUsing(!1) ? "using" : null;
536
+ if (l) return e && this.options.sourceType === "script" && this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script`"), l === "await using" && (this.canAwait || this.raise(this.start, "Await using cannot appear outside of async function"), this.next()), this.next(), this.parseVar(r, !1, l), this.semicolon(), this.finishNode(r, "VariableDeclaration");
537
+ var m = this.value, A = this.parseExpression();
538
+ return i === a.name && A.type === "Identifier" && this.eat(a.colon) ? this.parseLabeledStatement(r, m, A, t) : this.parseExpressionStatement(r, A);
539
+ }
540
+ };
541
+ f.parseBreakContinueStatement = function(t, e) {
542
+ var s = e === "break";
543
+ this.next(), this.eat(a.semi) || this.insertSemicolon() ? t.label = null : this.type !== a.name ? this.unexpected() : (t.label = this.parseIdent(), this.semicolon());
544
+ for (var i = 0; i < this.labels.length; ++i) {
545
+ var r = this.labels[i];
546
+ if ((t.label == null || r.name === t.label.name) && (r.kind != null && (s || r.kind === "loop") || t.label && s)) break;
547
+ }
548
+ return i === this.labels.length && this.raise(t.start, "Unsyntactic " + e), this.finishNode(t, s ? "BreakStatement" : "ContinueStatement");
549
+ };
550
+ f.parseDebuggerStatement = function(t) {
551
+ return this.next(), this.semicolon(), this.finishNode(t, "DebuggerStatement");
552
+ };
553
+ f.parseDoStatement = function(t) {
554
+ return this.next(), this.labels.push(Qt), t.body = this.parseStatement("do"), this.labels.pop(), this.expect(a._while), t.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(a.semi) : this.semicolon(), this.finishNode(t, "DoWhileStatement");
555
+ };
556
+ f.parseForStatement = function(t) {
557
+ this.next();
558
+ var e = this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await") ? this.lastTokStart : -1;
559
+ if (this.labels.push(Qt), this.enterScope(0), this.expect(a.parenL), this.type === a.semi) return e > -1 && this.unexpected(e), this.parseFor(t, null);
560
+ var s = this.isLet();
561
+ if (this.type === a._var || this.type === a._const || s) {
562
+ var i = this.startNode(), r = s ? "let" : this.value;
563
+ return this.next(), this.parseVar(i, !0, r), this.finishNode(i, "VariableDeclaration"), this.parseForAfterInit(t, i, e);
564
+ }
565
+ var o = this.isContextual("let"), u = !1, p = this.isUsing(!0) ? "using" : this.isAwaitUsing(!0) ? "await using" : null;
566
+ if (p) {
567
+ var h = this.startNode();
568
+ return this.next(), p === "await using" && this.next(), this.parseVar(h, !0, p), this.finishNode(h, "VariableDeclaration"), this.parseForAfterInit(t, h, e);
569
+ }
570
+ var l = this.containsEsc, m = new Tt(), A = this.start, S = e > -1 ? this.parseExprSubscripts(m, "await") : this.parseExpression(!0, m);
571
+ return this.type === a._in || (u = this.options.ecmaVersion >= 6 && this.isContextual("of")) ? (e > -1 ? (this.type === a._in && this.unexpected(e), t.await = !0) : u && this.options.ecmaVersion >= 8 && (S.start === A && !l && S.type === "Identifier" && S.name === "async" ? this.unexpected() : this.options.ecmaVersion >= 9 && (t.await = !1)), o && u && this.raise(S.start, "The left-hand side of a for-of loop may not start with 'let'."), this.toAssignable(S, !1, m), this.checkLValPattern(S), this.parseForIn(t, S)) : (this.checkExpressionErrors(m, !0), e > -1 && this.unexpected(e), this.parseFor(t, S));
572
+ };
573
+ f.parseForAfterInit = function(t, e, s) {
574
+ return (this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && e.declarations.length === 1 ? (this.options.ecmaVersion >= 9 && (this.type === a._in ? s > -1 && this.unexpected(s) : t.await = s > -1), this.parseForIn(t, e)) : (s > -1 && this.unexpected(s), this.parseFor(t, e));
575
+ };
576
+ f.parseFunctionStatement = function(t, e, s) {
577
+ return this.next(), this.parseFunction(t, ut | (s ? 0 : jt), !1, e);
578
+ };
579
+ f.parseIfStatement = function(t) {
580
+ return this.next(), t.test = this.parseParenExpression(), t.consequent = this.parseStatement("if"), t.alternate = this.eat(a._else) ? this.parseStatement("if") : null, this.finishNode(t, "IfStatement");
581
+ };
582
+ f.parseReturnStatement = function(t) {
583
+ return !this.inFunction && !this.options.allowReturnOutsideFunction && this.raise(this.start, "'return' outside of function"), this.next(), this.eat(a.semi) || this.insertSemicolon() ? t.argument = null : (t.argument = this.parseExpression(), this.semicolon()), this.finishNode(t, "ReturnStatement");
584
+ };
585
+ f.parseSwitchStatement = function(t) {
586
+ this.next(), t.discriminant = this.parseParenExpression(), t.cases = [], this.expect(a.braceL), this.labels.push(Ds), this.enterScope(0);
587
+ for (var e, s = !1; this.type !== a.braceR; ) if (this.type === a._case || this.type === a._default) {
588
+ var i = this.type === a._case;
589
+ e && this.finishNode(e, "SwitchCase"), t.cases.push(e = this.startNode()), e.consequent = [], this.next(), i ? e.test = this.parseExpression() : (s && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), s = !0, e.test = null), this.expect(a.colon);
590
+ } else e || this.unexpected(), e.consequent.push(this.parseStatement(null));
591
+ return this.exitScope(), e && this.finishNode(e, "SwitchCase"), this.next(), this.labels.pop(), this.finishNode(t, "SwitchStatement");
592
+ };
593
+ f.parseThrowStatement = function(t) {
594
+ return this.next(), N.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, "Illegal newline after throw"), t.argument = this.parseExpression(), this.semicolon(), this.finishNode(t, "ThrowStatement");
595
+ };
596
+ var Fs = [];
597
+ f.parseCatchClauseParam = function() {
598
+ var t = this.parseBindingAtom(), e = t.type === "Identifier";
599
+ return this.enterScope(e ? be : 0), this.checkLValPattern(t, e ? _e : z), this.expect(a.parenR), t;
600
+ };
601
+ f.parseTryStatement = function(t) {
602
+ if (this.next(), t.block = this.parseBlock(), t.handler = null, this.type === a._catch) {
603
+ var e = this.startNode();
604
+ this.next(), this.eat(a.parenL) ? e.param = this.parseCatchClauseParam() : (this.options.ecmaVersion < 10 && this.unexpected(), e.param = null, this.enterScope(0)), e.body = this.parseBlock(!1), this.exitScope(), t.handler = this.finishNode(e, "CatchClause");
605
+ }
606
+ return t.finalizer = this.eat(a._finally) ? this.parseBlock() : null, !t.handler && !t.finalizer && this.raise(t.start, "Missing catch or finally clause"), this.finishNode(t, "TryStatement");
607
+ };
608
+ f.parseVarStatement = function(t, e, s) {
609
+ return this.next(), this.parseVar(t, !1, e, s), this.semicolon(), this.finishNode(t, "VariableDeclaration");
610
+ };
611
+ f.parseWhileStatement = function(t) {
612
+ return this.next(), t.test = this.parseParenExpression(), this.labels.push(Qt), t.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(t, "WhileStatement");
613
+ };
614
+ f.parseWithStatement = function(t) {
615
+ return this.strict && this.raise(this.start, "'with' in strict mode"), this.next(), t.object = this.parseParenExpression(), t.body = this.parseStatement("with"), this.finishNode(t, "WithStatement");
616
+ };
617
+ f.parseEmptyStatement = function(t) {
618
+ return this.next(), this.finishNode(t, "EmptyStatement");
619
+ };
620
+ f.parseLabeledStatement = function(t, e, s, i) {
621
+ for (var r = 0, o = this.labels; r < o.length; r += 1) {
622
+ var u = o[r];
623
+ u.name === e && this.raise(s.start, "Label '" + e + "' is already declared");
624
+ }
625
+ for (var p = this.type.isLoop ? "loop" : this.type === a._switch ? "switch" : null, h = this.labels.length - 1; h >= 0; h--) {
626
+ var l = this.labels[h];
627
+ if (l.statementStart === t.start) l.statementStart = this.start, l.kind = p;
628
+ else break;
629
+ }
630
+ return this.labels.push({ name: e, kind: p, statementStart: this.start }), t.body = this.parseStatement(i ? i.indexOf("label") === -1 ? i + "label" : i : "label"), this.labels.pop(), t.label = s, this.finishNode(t, "LabeledStatement");
631
+ };
632
+ f.parseExpressionStatement = function(t, e) {
633
+ return t.expression = e, this.semicolon(), this.finishNode(t, "ExpressionStatement");
634
+ };
635
+ f.parseBlock = function(t, e, s) {
636
+ for (t === void 0 && (t = !0), e === void 0 && (e = this.startNode()), e.body = [], this.expect(a.braceL), t && this.enterScope(0); this.type !== a.braceR; ) {
637
+ var i = this.parseStatement(null);
638
+ e.body.push(i);
639
+ }
640
+ return s && (this.strict = !1), this.next(), t && this.exitScope(), this.finishNode(e, "BlockStatement");
641
+ };
642
+ f.parseFor = function(t, e) {
643
+ return t.init = e, this.expect(a.semi), t.test = this.type === a.semi ? null : this.parseExpression(), this.expect(a.semi), t.update = this.type === a.parenR ? null : this.parseExpression(), this.expect(a.parenR), t.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(t, "ForStatement");
644
+ };
645
+ f.parseForIn = function(t, e) {
646
+ var s = this.type === a._in;
647
+ return this.next(), e.type === "VariableDeclaration" && e.declarations[0].init != null && (!s || this.options.ecmaVersion < 8 || this.strict || e.kind !== "var" || e.declarations[0].id.type !== "Identifier") && this.raise(e.start, (s ? "for-in" : "for-of") + " loop variable declaration may not have an initializer"), t.left = e, t.right = s ? this.parseExpression() : this.parseMaybeAssign(), this.expect(a.parenR), t.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(t, s ? "ForInStatement" : "ForOfStatement");
648
+ };
649
+ f.parseVar = function(t, e, s, i) {
650
+ for (t.declarations = [], t.kind = s; ; ) {
651
+ var r = this.startNode();
652
+ if (this.parseVarId(r, s), this.eat(a.eq) ? r.init = this.parseMaybeAssign(e) : !i && s === "const" && !(this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) ? this.unexpected() : !i && (s === "using" || s === "await using") && this.options.ecmaVersion >= 17 && this.type !== a._in && !this.isContextual("of") ? this.raise(this.lastTokEnd, "Missing initializer in " + s + " declaration") : !i && r.id.type !== "Identifier" && !(e && (this.type === a._in || this.isContextual("of"))) ? this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : r.init = null, t.declarations.push(this.finishNode(r, "VariableDeclarator")), !this.eat(a.comma)) break;
653
+ }
654
+ return t;
655
+ };
656
+ f.parseVarId = function(t, e) {
657
+ t.id = e === "using" || e === "await using" ? this.parseIdent() : this.parseBindingAtom(), this.checkLValPattern(t.id, e === "var" ? zt : z, !1);
658
+ };
659
+ var ut = 1, jt = 2, we = 4;
660
+ f.parseFunction = function(t, e, s, i, r) {
661
+ this.initFunction(t), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !i) && (this.type === a.star && e & jt && this.unexpected(), t.generator = this.eat(a.star)), this.options.ecmaVersion >= 8 && (t.async = !!i), e & ut && (t.id = e & we && this.type !== a.name ? null : this.parseIdent(), t.id && !(e & jt) && this.checkLValSimple(t.id, this.strict || t.generator || t.async ? this.treatFunctionsAsVar ? zt : z : ke));
662
+ var o = this.yieldPos, u = this.awaitPos, p = this.awaitIdentPos;
663
+ return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(Wt(t.async, t.generator)), e & ut || (t.id = this.type === a.name ? this.parseIdent() : null), this.parseFunctionParams(t), this.parseFunctionBody(t, s, !1, r), this.yieldPos = o, this.awaitPos = u, this.awaitIdentPos = p, this.finishNode(t, e & ut ? "FunctionDeclaration" : "FunctionExpression");
664
+ };
665
+ f.parseFunctionParams = function(t) {
666
+ this.expect(a.parenL), t.params = this.parseBindingList(a.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams();
667
+ };
668
+ f.parseClass = function(t, e) {
669
+ this.next();
670
+ var s = this.strict;
671
+ this.strict = !0, this.parseClassId(t, e), this.parseClassSuper(t);
672
+ var i = this.enterClassBody(), r = this.startNode(), o = !1;
673
+ for (r.body = [], this.expect(a.braceL); this.type !== a.braceR; ) {
674
+ var u = this.parseClassElement(t.superClass !== null);
675
+ u && (r.body.push(u), u.type === "MethodDefinition" && u.kind === "constructor" ? (o && this.raiseRecoverable(u.start, "Duplicate constructor in the same class"), o = !0) : u.key && u.key.type === "PrivateIdentifier" && Bs(i, u) && this.raiseRecoverable(u.key.start, "Identifier '#" + u.key.name + "' has already been declared"));
676
+ }
677
+ return this.strict = s, this.next(), t.body = this.finishNode(r, "ClassBody"), this.exitClassBody(), this.finishNode(t, e ? "ClassDeclaration" : "ClassExpression");
678
+ };
679
+ f.parseClassElement = function(t) {
680
+ if (this.eat(a.semi)) return null;
681
+ var e = this.options.ecmaVersion, s = this.startNode(), i = "", r = !1, o = !1, u = "method", p = !1;
682
+ if (this.eatContextual("static")) {
683
+ if (e >= 13 && this.eat(a.braceL)) return this.parseClassStaticBlock(s), s;
684
+ this.isClassElementNameStart() || this.type === a.star ? p = !0 : i = "static";
685
+ }
686
+ if (s.static = p, !i && e >= 8 && this.eatContextual("async") && ((this.isClassElementNameStart() || this.type === a.star) && !this.canInsertSemicolon() ? o = !0 : i = "async"), !i && (e >= 9 || !o) && this.eat(a.star) && (r = !0), !i && !o && !r) {
687
+ var h = this.value;
688
+ (this.eatContextual("get") || this.eatContextual("set")) && (this.isClassElementNameStart() ? u = h : i = h);
689
+ }
690
+ if (i ? (s.computed = !1, s.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc), s.key.name = i, this.finishNode(s.key, "Identifier")) : this.parseClassElementName(s), e < 13 || this.type === a.parenL || u !== "method" || r || o) {
691
+ var l = !s.static && Ct(s, "constructor"), m = l && t;
692
+ l && u !== "method" && this.raise(s.key.start, "Constructor can't have get/set modifier"), s.kind = l ? "constructor" : u, this.parseClassMethod(s, r, o, m);
693
+ } else this.parseClassField(s);
694
+ return s;
695
+ };
696
+ f.isClassElementNameStart = function() {
697
+ return this.type === a.name || this.type === a.privateId || this.type === a.num || this.type === a.string || this.type === a.bracketL || this.type.keyword;
698
+ };
699
+ f.parseClassElementName = function(t) {
700
+ this.type === a.privateId ? (this.value === "constructor" && this.raise(this.start, "Classes can't have an element named '#constructor'"), t.computed = !1, t.key = this.parsePrivateIdent()) : this.parsePropertyName(t);
701
+ };
702
+ f.parseClassMethod = function(t, e, s, i) {
703
+ var r = t.key;
704
+ t.kind === "constructor" ? (e && this.raise(r.start, "Constructor can't be a generator"), s && this.raise(r.start, "Constructor can't be an async method")) : t.static && Ct(t, "prototype") && this.raise(r.start, "Classes may not have a static property named prototype");
705
+ var o = t.value = this.parseMethod(e, s, i);
706
+ return t.kind === "get" && o.params.length !== 0 && this.raiseRecoverable(o.start, "getter should have no params"), t.kind === "set" && o.params.length !== 1 && this.raiseRecoverable(o.start, "setter should have exactly one param"), t.kind === "set" && o.params[0].type === "RestElement" && this.raiseRecoverable(o.params[0].start, "Setter cannot use rest params"), this.finishNode(t, "MethodDefinition");
707
+ };
708
+ f.parseClassField = function(t) {
709
+ return Ct(t, "constructor") ? this.raise(t.key.start, "Classes can't have a field named 'constructor'") : t.static && Ct(t, "prototype") && this.raise(t.key.start, "Classes can't have a static field named 'prototype'"), this.eat(a.eq) ? (this.enterScope(ct | kt), t.value = this.parseMaybeAssign(), this.exitScope()) : t.value = null, this.semicolon(), this.finishNode(t, "PropertyDefinition");
710
+ };
711
+ f.parseClassStaticBlock = function(t) {
712
+ t.body = [];
713
+ var e = this.labels;
714
+ for (this.labels = [], this.enterScope(et | kt); this.type !== a.braceR; ) {
715
+ var s = this.parseStatement(null);
716
+ t.body.push(s);
717
+ }
718
+ return this.next(), this.exitScope(), this.labels = e, this.finishNode(t, "StaticBlock");
719
+ };
720
+ f.parseClassId = function(t, e) {
721
+ this.type === a.name ? (t.id = this.parseIdent(), e && this.checkLValSimple(t.id, z, !1)) : (e === !0 && this.unexpected(), t.id = null);
722
+ };
723
+ f.parseClassSuper = function(t) {
724
+ t.superClass = this.eat(a._extends) ? this.parseExprSubscripts(null, !1) : null;
725
+ };
726
+ f.enterClassBody = function() {
727
+ var t = { declared: /* @__PURE__ */ Object.create(null), used: [] };
728
+ return this.privateNameStack.push(t), t.declared;
729
+ };
730
+ f.exitClassBody = function() {
731
+ var t = this.privateNameStack.pop(), e = t.declared, s = t.used;
732
+ if (this.options.checkPrivateFields) for (var i = this.privateNameStack.length, r = i === 0 ? null : this.privateNameStack[i - 1], o = 0; o < s.length; ++o) {
733
+ var u = s[o];
734
+ rt(e, u.name) || (r ? r.used.push(u) : this.raiseRecoverable(u.start, "Private field '#" + u.name + "' must be declared in an enclosing class"));
735
+ }
736
+ };
737
+ function Bs(t, e) {
738
+ var s = e.key.name, i = t[s], r = "true";
739
+ return e.type === "MethodDefinition" && (e.kind === "get" || e.kind === "set") && (r = (e.static ? "s" : "i") + e.kind), i === "iget" && r === "iset" || i === "iset" && r === "iget" || i === "sget" && r === "sset" || i === "sset" && r === "sget" ? (t[s] = "true", !1) : i ? !0 : (t[s] = r, !1);
740
+ }
741
+ function Ct(t, e) {
742
+ var s = t.computed, i = t.key;
743
+ return !s && (i.type === "Identifier" && i.name === e || i.type === "Literal" && i.value === e);
744
+ }
745
+ f.parseExportAllDeclaration = function(t, e) {
746
+ return this.options.ecmaVersion >= 11 && (this.eatContextual("as") ? (t.exported = this.parseModuleExportName(), this.checkExport(e, t.exported, this.lastTokStart)) : t.exported = null), this.expectContextual("from"), this.type !== a.string && this.unexpected(), t.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (t.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(t, "ExportAllDeclaration");
747
+ };
748
+ f.parseExport = function(t, e) {
749
+ if (this.next(), this.eat(a.star)) return this.parseExportAllDeclaration(t, e);
750
+ if (this.eat(a._default)) return this.checkExport(e, "default", this.lastTokStart), t.declaration = this.parseExportDefaultDeclaration(), this.finishNode(t, "ExportDefaultDeclaration");
751
+ if (this.shouldParseExportStatement()) t.declaration = this.parseExportDeclaration(t), t.declaration.type === "VariableDeclaration" ? this.checkVariableExport(e, t.declaration.declarations) : this.checkExport(e, t.declaration.id, t.declaration.id.start), t.specifiers = [], t.source = null, this.options.ecmaVersion >= 16 && (t.attributes = []);
752
+ else {
753
+ if (t.declaration = null, t.specifiers = this.parseExportSpecifiers(e), this.eatContextual("from")) this.type !== a.string && this.unexpected(), t.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (t.attributes = this.parseWithClause());
754
+ else {
755
+ for (var s = 0, i = t.specifiers; s < i.length; s += 1) {
756
+ var r = i[s];
757
+ this.checkUnreserved(r.local), this.checkLocalExport(r.local), r.local.type === "Literal" && this.raise(r.local.start, "A string literal cannot be used as an exported binding without `from`.");
758
+ }
759
+ t.source = null, this.options.ecmaVersion >= 16 && (t.attributes = []);
760
+ }
761
+ this.semicolon();
762
+ }
763
+ return this.finishNode(t, "ExportNamedDeclaration");
764
+ };
765
+ f.parseExportDeclaration = function(t) {
766
+ return this.parseStatement(null);
767
+ };
768
+ f.parseExportDefaultDeclaration = function() {
769
+ var t;
770
+ if (this.type === a._function || (t = this.isAsyncFunction())) {
771
+ var e = this.startNode();
772
+ return this.next(), t && this.next(), this.parseFunction(e, ut | we, !1, t);
773
+ } else if (this.type === a._class) {
774
+ var s = this.startNode();
775
+ return this.parseClass(s, "nullableID");
776
+ } else {
777
+ var i = this.parseMaybeAssign();
778
+ return this.semicolon(), i;
779
+ }
780
+ };
781
+ f.checkExport = function(t, e, s) {
782
+ t && (typeof e != "string" && (e = e.type === "Identifier" ? e.name : e.value), rt(t, e) && this.raiseRecoverable(s, "Duplicate export '" + e + "'"), t[e] = !0);
783
+ };
784
+ f.checkPatternExport = function(t, e) {
785
+ var s = e.type;
786
+ if (s === "Identifier") this.checkExport(t, e, e.start);
787
+ else if (s === "ObjectPattern") for (var i = 0, r = e.properties; i < r.length; i += 1) {
788
+ var o = r[i];
789
+ this.checkPatternExport(t, o);
790
+ }
791
+ else if (s === "ArrayPattern") for (var u = 0, p = e.elements; u < p.length; u += 1) {
792
+ var h = p[u];
793
+ h && this.checkPatternExport(t, h);
794
+ }
795
+ else s === "Property" ? this.checkPatternExport(t, e.value) : s === "AssignmentPattern" ? this.checkPatternExport(t, e.left) : s === "RestElement" && this.checkPatternExport(t, e.argument);
796
+ };
797
+ f.checkVariableExport = function(t, e) {
798
+ if (t) for (var s = 0, i = e; s < i.length; s += 1) {
799
+ var r = i[s];
800
+ this.checkPatternExport(t, r.id);
801
+ }
802
+ };
803
+ f.shouldParseExportStatement = function() {
804
+ return this.type.keyword === "var" || this.type.keyword === "const" || this.type.keyword === "class" || this.type.keyword === "function" || this.isLet() || this.isAsyncFunction();
805
+ };
806
+ f.parseExportSpecifier = function(t) {
807
+ var e = this.startNode();
808
+ return e.local = this.parseModuleExportName(), e.exported = this.eatContextual("as") ? this.parseModuleExportName() : e.local, this.checkExport(t, e.exported, e.exported.start), this.finishNode(e, "ExportSpecifier");
809
+ };
810
+ f.parseExportSpecifiers = function(t) {
811
+ var e = [], s = !0;
812
+ for (this.expect(a.braceL); !this.eat(a.braceR); ) {
813
+ if (s) s = !1;
814
+ else if (this.expect(a.comma), this.afterTrailingComma(a.braceR)) break;
815
+ e.push(this.parseExportSpecifier(t));
816
+ }
817
+ return e;
818
+ };
819
+ f.parseImport = function(t) {
820
+ return this.next(), this.type === a.string ? (t.specifiers = Fs, t.source = this.parseExprAtom()) : (t.specifiers = this.parseImportSpecifiers(), this.expectContextual("from"), t.source = this.type === a.string ? this.parseExprAtom() : this.unexpected()), this.options.ecmaVersion >= 16 && (t.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(t, "ImportDeclaration");
821
+ };
822
+ f.parseImportSpecifier = function() {
823
+ var t = this.startNode();
824
+ return t.imported = this.parseModuleExportName(), this.eatContextual("as") ? t.local = this.parseIdent() : (this.checkUnreserved(t.imported), t.local = t.imported), this.checkLValSimple(t.local, z), this.finishNode(t, "ImportSpecifier");
825
+ };
826
+ f.parseImportDefaultSpecifier = function() {
827
+ var t = this.startNode();
828
+ return t.local = this.parseIdent(), this.checkLValSimple(t.local, z), this.finishNode(t, "ImportDefaultSpecifier");
829
+ };
830
+ f.parseImportNamespaceSpecifier = function() {
831
+ var t = this.startNode();
832
+ return this.next(), this.expectContextual("as"), t.local = this.parseIdent(), this.checkLValSimple(t.local, z), this.finishNode(t, "ImportNamespaceSpecifier");
833
+ };
834
+ f.parseImportSpecifiers = function() {
835
+ var t = [], e = !0;
836
+ if (this.type === a.name && (t.push(this.parseImportDefaultSpecifier()), !this.eat(a.comma))) return t;
837
+ if (this.type === a.star) return t.push(this.parseImportNamespaceSpecifier()), t;
838
+ for (this.expect(a.braceL); !this.eat(a.braceR); ) {
839
+ if (e) e = !1;
840
+ else if (this.expect(a.comma), this.afterTrailingComma(a.braceR)) break;
841
+ t.push(this.parseImportSpecifier());
842
+ }
843
+ return t;
844
+ };
845
+ f.parseWithClause = function() {
846
+ var t = [];
847
+ if (!this.eat(a._with)) return t;
848
+ this.expect(a.braceL);
849
+ for (var e = {}, s = !0; !this.eat(a.braceR); ) {
850
+ if (s) s = !1;
851
+ else if (this.expect(a.comma), this.afterTrailingComma(a.braceR)) break;
852
+ var i = this.parseImportAttribute(), r = i.key.type === "Identifier" ? i.key.name : i.key.value;
853
+ rt(e, r) && this.raiseRecoverable(i.key.start, "Duplicate attribute key '" + r + "'"), e[r] = !0, t.push(i);
854
+ }
855
+ return t;
856
+ };
857
+ f.parseImportAttribute = function() {
858
+ var t = this.startNode();
859
+ return t.key = this.type === a.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never"), this.expect(a.colon), this.type !== a.string && this.unexpected(), t.value = this.parseExprAtom(), this.finishNode(t, "ImportAttribute");
860
+ };
861
+ f.parseModuleExportName = function() {
862
+ if (this.options.ecmaVersion >= 13 && this.type === a.string) {
863
+ var t = this.parseLiteral(this.value);
864
+ return ks.test(t.value) && this.raise(t.start, "An export name cannot include a lone surrogate."), t;
865
+ }
866
+ return this.parseIdent(!0);
867
+ };
868
+ f.adaptDirectivePrologue = function(t) {
869
+ for (var e = 0; e < t.length && this.isDirectiveCandidate(t[e]); ++e) t[e].directive = t[e].expression.raw.slice(1, -1);
870
+ };
871
+ f.isDirectiveCandidate = function(t) {
872
+ return this.options.ecmaVersion >= 5 && t.type === "ExpressionStatement" && t.expression.type === "Literal" && typeof t.expression.value == "string" && (this.input[t.start] === '"' || this.input[t.start] === "'");
873
+ };
874
+ var M = w.prototype;
875
+ M.toAssignable = function(t, e, s) {
876
+ if (this.options.ecmaVersion >= 6 && t) switch (t.type) {
877
+ case "Identifier":
878
+ this.inAsync && t.name === "await" && this.raise(t.start, "Cannot use 'await' as identifier inside an async function");
879
+ break;
880
+ case "ObjectPattern":
881
+ case "ArrayPattern":
882
+ case "AssignmentPattern":
883
+ case "RestElement":
884
+ break;
885
+ case "ObjectExpression":
886
+ t.type = "ObjectPattern", s && this.checkPatternErrors(s, !0);
887
+ for (var i = 0, r = t.properties; i < r.length; i += 1) {
888
+ var o = r[i];
889
+ this.toAssignable(o, e), o.type === "RestElement" && (o.argument.type === "ArrayPattern" || o.argument.type === "ObjectPattern") && this.raise(o.argument.start, "Unexpected token");
890
+ }
891
+ break;
892
+ case "Property":
893
+ t.kind !== "init" && this.raise(t.key.start, "Object pattern can't contain getter or setter"), this.toAssignable(t.value, e);
894
+ break;
895
+ case "ArrayExpression":
896
+ t.type = "ArrayPattern", s && this.checkPatternErrors(s, !0), this.toAssignableList(t.elements, e);
897
+ break;
898
+ case "SpreadElement":
899
+ t.type = "RestElement", this.toAssignable(t.argument, e), t.argument.type === "AssignmentPattern" && this.raise(t.argument.start, "Rest elements cannot have a default value");
900
+ break;
901
+ case "AssignmentExpression":
902
+ t.operator !== "=" && this.raise(t.left.end, "Only '=' operator can be used for specifying default value."), t.type = "AssignmentPattern", delete t.operator, this.toAssignable(t.left, e);
903
+ break;
904
+ case "ParenthesizedExpression":
905
+ this.toAssignable(t.expression, e, s);
906
+ break;
907
+ case "ChainExpression":
908
+ this.raiseRecoverable(t.start, "Optional chaining cannot appear in left-hand side");
909
+ break;
910
+ case "MemberExpression":
911
+ if (!e) break;
912
+ default:
913
+ this.raise(t.start, "Assigning to rvalue");
914
+ }
915
+ else s && this.checkPatternErrors(s, !0);
916
+ return t;
917
+ };
918
+ M.toAssignableList = function(t, e) {
919
+ for (var s = t.length, i = 0; i < s; i++) {
920
+ var r = t[i];
921
+ r && this.toAssignable(r, e);
922
+ }
923
+ if (s) {
924
+ var o = t[s - 1];
925
+ this.options.ecmaVersion === 6 && e && o && o.type === "RestElement" && o.argument.type !== "Identifier" && this.unexpected(o.argument.start);
926
+ }
927
+ return t;
928
+ };
929
+ M.parseSpread = function(t) {
930
+ var e = this.startNode();
931
+ return this.next(), e.argument = this.parseMaybeAssign(!1, t), this.finishNode(e, "SpreadElement");
932
+ };
933
+ M.parseRestBinding = function() {
934
+ var t = this.startNode();
935
+ return this.next(), this.options.ecmaVersion === 6 && this.type !== a.name && this.unexpected(), t.argument = this.parseBindingAtom(), this.finishNode(t, "RestElement");
936
+ };
937
+ M.parseBindingAtom = function() {
938
+ if (this.options.ecmaVersion >= 6) switch (this.type) {
939
+ case a.bracketL:
940
+ var t = this.startNode();
941
+ return this.next(), t.elements = this.parseBindingList(a.bracketR, !0, !0), this.finishNode(t, "ArrayPattern");
942
+ case a.braceL:
943
+ return this.parseObj(!0);
944
+ }
945
+ return this.parseIdent();
946
+ };
947
+ M.parseBindingList = function(t, e, s, i) {
948
+ for (var r = [], o = !0; !this.eat(t); ) if (o ? o = !1 : this.expect(a.comma), e && this.type === a.comma) r.push(null);
949
+ else {
950
+ if (s && this.afterTrailingComma(t)) break;
951
+ if (this.type === a.ellipsis) {
952
+ var u = this.parseRestBinding();
953
+ this.parseBindingListItem(u), r.push(u), this.type === a.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.expect(t);
954
+ break;
955
+ } else r.push(this.parseAssignableListItem(i));
956
+ }
957
+ return r;
958
+ };
959
+ M.parseAssignableListItem = function(t) {
960
+ var e = this.parseMaybeDefault(this.start, this.startLoc);
961
+ return this.parseBindingListItem(e), e;
962
+ };
963
+ M.parseBindingListItem = function(t) {
964
+ return t;
965
+ };
966
+ M.parseMaybeDefault = function(t, e, s) {
967
+ if (s = s || this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(a.eq)) return s;
968
+ var i = this.startNodeAt(t, e);
969
+ return i.left = s, i.right = this.parseMaybeAssign(), this.finishNode(i, "AssignmentPattern");
970
+ };
971
+ M.checkLValSimple = function(t, e, s) {
972
+ e === void 0 && (e = vt);
973
+ var i = e !== vt;
974
+ switch (t.type) {
975
+ case "Identifier":
976
+ this.strict && this.reservedWordsStrictBind.test(t.name) && this.raiseRecoverable(t.start, (i ? "Binding " : "Assigning to ") + t.name + " in strict mode"), i && (e === z && t.name === "let" && this.raiseRecoverable(t.start, "let is disallowed as a lexically bound name"), s && (rt(s, t.name) && this.raiseRecoverable(t.start, "Argument name clash"), s[t.name] = !0), e !== Te && this.declareName(t.name, e, t.start));
977
+ break;
978
+ case "ChainExpression":
979
+ this.raiseRecoverable(t.start, "Optional chaining cannot appear in left-hand side");
980
+ break;
981
+ case "MemberExpression":
982
+ i && this.raiseRecoverable(t.start, "Binding member expression");
983
+ break;
984
+ case "ParenthesizedExpression":
985
+ return i && this.raiseRecoverable(t.start, "Binding parenthesized expression"), this.checkLValSimple(t.expression, e, s);
986
+ default:
987
+ this.raise(t.start, (i ? "Binding" : "Assigning to") + " rvalue");
988
+ }
989
+ };
990
+ M.checkLValPattern = function(t, e, s) {
991
+ switch (e === void 0 && (e = vt), t.type) {
992
+ case "ObjectPattern":
993
+ for (var i = 0, r = t.properties; i < r.length; i += 1) {
994
+ var o = r[i];
995
+ this.checkLValInnerPattern(o, e, s);
996
+ }
997
+ break;
998
+ case "ArrayPattern":
999
+ for (var u = 0, p = t.elements; u < p.length; u += 1) {
1000
+ var h = p[u];
1001
+ h && this.checkLValInnerPattern(h, e, s);
1002
+ }
1003
+ break;
1004
+ default:
1005
+ this.checkLValSimple(t, e, s);
1006
+ }
1007
+ };
1008
+ M.checkLValInnerPattern = function(t, e, s) {
1009
+ switch (e === void 0 && (e = vt), t.type) {
1010
+ case "Property":
1011
+ this.checkLValInnerPattern(t.value, e, s);
1012
+ break;
1013
+ case "AssignmentPattern":
1014
+ this.checkLValPattern(t.left, e, s);
1015
+ break;
1016
+ case "RestElement":
1017
+ this.checkLValPattern(t.argument, e, s);
1018
+ break;
1019
+ default:
1020
+ this.checkLValPattern(t, e, s);
1021
+ }
1022
+ };
1023
+ var U = function(t, e, s, i, r) {
1024
+ this.token = t, this.isExpr = !!e, this.preserveSpace = !!s, this.override = i, this.generator = !!r;
1025
+ }, T = { b_stat: new U("{", !1), b_expr: new U("{", !0), b_tmpl: new U("${", !1), p_stat: new U("(", !1), p_expr: new U("(", !0), q_tmpl: new U("`", !0, !0, function(t) {
1026
+ return t.tryReadTemplateToken();
1027
+ }), f_stat: new U("function", !1), f_expr: new U("function", !0), f_expr_gen: new U("function", !0, !1, null, !0), f_gen: new U("function", !1, !1, null, !0) }, nt = w.prototype;
1028
+ nt.initialContext = function() {
1029
+ return [T.b_stat];
1030
+ };
1031
+ nt.curContext = function() {
1032
+ return this.context[this.context.length - 1];
1033
+ };
1034
+ nt.braceIsBlock = function(t) {
1035
+ var e = this.curContext();
1036
+ return e === T.f_expr || e === T.f_stat ? !0 : t === a.colon && (e === T.b_stat || e === T.b_expr) ? !e.isExpr : t === a._return || t === a.name && this.exprAllowed ? N.test(this.input.slice(this.lastTokEnd, this.start)) : t === a._else || t === a.semi || t === a.eof || t === a.parenR || t === a.arrow ? !0 : t === a.braceL ? e === T.b_stat : t === a._var || t === a._const || t === a.name ? !1 : !this.exprAllowed;
1037
+ };
1038
+ nt.inGeneratorContext = function() {
1039
+ for (var t = this.context.length - 1; t >= 1; t--) {
1040
+ var e = this.context[t];
1041
+ if (e.token === "function") return e.generator;
1042
+ }
1043
+ return !1;
1044
+ };
1045
+ nt.updateContext = function(t) {
1046
+ var e, s = this.type;
1047
+ s.keyword && t === a.dot ? this.exprAllowed = !1 : (e = s.updateContext) ? e.call(this, t) : this.exprAllowed = s.beforeExpr;
1048
+ };
1049
+ nt.overrideContext = function(t) {
1050
+ this.curContext() !== t && (this.context[this.context.length - 1] = t);
1051
+ };
1052
+ a.parenR.updateContext = a.braceR.updateContext = function() {
1053
+ if (this.context.length === 1) {
1054
+ this.exprAllowed = !0;
1055
+ return;
1056
+ }
1057
+ var t = this.context.pop();
1058
+ t === T.b_stat && this.curContext().token === "function" && (t = this.context.pop()), this.exprAllowed = !t.isExpr;
1059
+ };
1060
+ a.braceL.updateContext = function(t) {
1061
+ this.context.push(this.braceIsBlock(t) ? T.b_stat : T.b_expr), this.exprAllowed = !0;
1062
+ };
1063
+ a.dollarBraceL.updateContext = function() {
1064
+ this.context.push(T.b_tmpl), this.exprAllowed = !0;
1065
+ };
1066
+ a.parenL.updateContext = function(t) {
1067
+ var e = t === a._if || t === a._for || t === a._with || t === a._while;
1068
+ this.context.push(e ? T.p_stat : T.p_expr), this.exprAllowed = !0;
1069
+ };
1070
+ a.incDec.updateContext = function() {
1071
+ };
1072
+ a._function.updateContext = a._class.updateContext = function(t) {
1073
+ t.beforeExpr && t !== a._else && !(t === a.semi && this.curContext() !== T.p_stat) && !(t === a._return && N.test(this.input.slice(this.lastTokEnd, this.start))) && !((t === a.colon || t === a.braceL) && this.curContext() === T.b_stat) ? this.context.push(T.f_expr) : this.context.push(T.f_stat), this.exprAllowed = !1;
1074
+ };
1075
+ a.colon.updateContext = function() {
1076
+ this.curContext().token === "function" && this.context.pop(), this.exprAllowed = !0;
1077
+ };
1078
+ a.backQuote.updateContext = function() {
1079
+ this.curContext() === T.q_tmpl ? this.context.pop() : this.context.push(T.q_tmpl), this.exprAllowed = !1;
1080
+ };
1081
+ a.star.updateContext = function(t) {
1082
+ if (t === a._function) {
1083
+ var e = this.context.length - 1;
1084
+ this.context[e] === T.f_expr ? this.context[e] = T.f_expr_gen : this.context[e] = T.f_gen;
1085
+ }
1086
+ this.exprAllowed = !0;
1087
+ };
1088
+ a.name.updateContext = function(t) {
1089
+ var e = !1;
1090
+ this.options.ecmaVersion >= 6 && t !== a.dot && (this.value === "of" && !this.exprAllowed || this.value === "yield" && this.inGeneratorContext()) && (e = !0), this.exprAllowed = e;
1091
+ };
1092
+ var x = w.prototype;
1093
+ x.checkPropClash = function(t, e, s) {
1094
+ if (!(this.options.ecmaVersion >= 9 && t.type === "SpreadElement") && !(this.options.ecmaVersion >= 6 && (t.computed || t.method || t.shorthand))) {
1095
+ var i = t.key, r;
1096
+ switch (i.type) {
1097
+ case "Identifier":
1098
+ r = i.name;
1099
+ break;
1100
+ case "Literal":
1101
+ r = String(i.value);
1102
+ break;
1103
+ default:
1104
+ return;
1105
+ }
1106
+ var o = t.kind;
1107
+ if (this.options.ecmaVersion >= 6) {
1108
+ r === "__proto__" && o === "init" && (e.proto && (s ? s.doubleProto < 0 && (s.doubleProto = i.start) : this.raiseRecoverable(i.start, "Redefinition of __proto__ property")), e.proto = !0);
1109
+ return;
1110
+ }
1111
+ r = "$" + r;
1112
+ var u = e[r];
1113
+ if (u) {
1114
+ var p;
1115
+ o === "init" ? p = this.strict && u.init || u.get || u.set : p = u.init || u[o], p && this.raiseRecoverable(i.start, "Redefinition of property");
1116
+ } else u = e[r] = { init: !1, get: !1, set: !1 };
1117
+ u[o] = !0;
1118
+ }
1119
+ };
1120
+ x.parseExpression = function(t, e) {
1121
+ var s = this.start, i = this.startLoc, r = this.parseMaybeAssign(t, e);
1122
+ if (this.type === a.comma) {
1123
+ var o = this.startNodeAt(s, i);
1124
+ for (o.expressions = [r]; this.eat(a.comma); ) o.expressions.push(this.parseMaybeAssign(t, e));
1125
+ return this.finishNode(o, "SequenceExpression");
1126
+ }
1127
+ return r;
1128
+ };
1129
+ x.parseMaybeAssign = function(t, e, s) {
1130
+ if (this.isContextual("yield")) {
1131
+ if (this.inGenerator) return this.parseYield(t);
1132
+ this.exprAllowed = !1;
1133
+ }
1134
+ var i = !1, r = -1, o = -1, u = -1;
1135
+ e ? (r = e.parenthesizedAssign, o = e.trailingComma, u = e.doubleProto, e.parenthesizedAssign = e.trailingComma = -1) : (e = new Tt(), i = !0);
1136
+ var p = this.start, h = this.startLoc;
1137
+ (this.type === a.parenL || this.type === a.name) && (this.potentialArrowAt = this.start, this.potentialArrowInForAwait = t === "await");
1138
+ var l = this.parseMaybeConditional(t, e);
1139
+ if (s && (l = s.call(this, l, p, h)), this.type.isAssign) {
1140
+ var m = this.startNodeAt(p, h);
1141
+ return m.operator = this.value, this.type === a.eq && (l = this.toAssignable(l, !1, e)), i || (e.parenthesizedAssign = e.trailingComma = e.doubleProto = -1), e.shorthandAssign >= l.start && (e.shorthandAssign = -1), this.type === a.eq ? this.checkLValPattern(l) : this.checkLValSimple(l), m.left = l, this.next(), m.right = this.parseMaybeAssign(t), u > -1 && (e.doubleProto = u), this.finishNode(m, "AssignmentExpression");
1142
+ } else i && this.checkExpressionErrors(e, !0);
1143
+ return r > -1 && (e.parenthesizedAssign = r), o > -1 && (e.trailingComma = o), l;
1144
+ };
1145
+ x.parseMaybeConditional = function(t, e) {
1146
+ var s = this.start, i = this.startLoc, r = this.parseExprOps(t, e);
1147
+ if (this.checkExpressionErrors(e)) return r;
1148
+ if (this.eat(a.question)) {
1149
+ var o = this.startNodeAt(s, i);
1150
+ return o.test = r, o.consequent = this.parseMaybeAssign(), this.expect(a.colon), o.alternate = this.parseMaybeAssign(t), this.finishNode(o, "ConditionalExpression");
1151
+ }
1152
+ return r;
1153
+ };
1154
+ x.parseExprOps = function(t, e) {
1155
+ var s = this.start, i = this.startLoc, r = this.parseMaybeUnary(e, !1, !1, t);
1156
+ return this.checkExpressionErrors(e) || r.start === s && r.type === "ArrowFunctionExpression" ? r : this.parseExprOp(r, s, i, -1, t);
1157
+ };
1158
+ x.parseExprOp = function(t, e, s, i, r) {
1159
+ var o = this.type.binop;
1160
+ if (o != null && (!r || this.type !== a._in) && o > i) {
1161
+ var u = this.type === a.logicalOR || this.type === a.logicalAND, p = this.type === a.coalesce;
1162
+ p && (o = a.logicalAND.binop);
1163
+ var h = this.value;
1164
+ this.next();
1165
+ var l = this.start, m = this.startLoc, A = this.parseExprOp(this.parseMaybeUnary(null, !1, !1, r), l, m, o, r), S = this.buildBinary(e, s, t, A, h, u || p);
1166
+ return (u && this.type === a.coalesce || p && (this.type === a.logicalOR || this.type === a.logicalAND)) && this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"), this.parseExprOp(S, e, s, i, r);
1167
+ }
1168
+ return t;
1169
+ };
1170
+ x.buildBinary = function(t, e, s, i, r, o) {
1171
+ i.type === "PrivateIdentifier" && this.raise(i.start, "Private identifier can only be left side of binary expression");
1172
+ var u = this.startNodeAt(t, e);
1173
+ return u.left = s, u.operator = r, u.right = i, this.finishNode(u, o ? "LogicalExpression" : "BinaryExpression");
1174
+ };
1175
+ x.parseMaybeUnary = function(t, e, s, i) {
1176
+ var r = this.start, o = this.startLoc, u;
1177
+ if (this.isContextual("await") && this.canAwait) u = this.parseAwait(i), e = !0;
1178
+ else if (this.type.prefix) {
1179
+ var p = this.startNode(), h = this.type === a.incDec;
1180
+ p.operator = this.value, p.prefix = !0, this.next(), p.argument = this.parseMaybeUnary(null, !0, h, i), this.checkExpressionErrors(t, !0), h ? this.checkLValSimple(p.argument) : this.strict && p.operator === "delete" && De(p.argument) ? this.raiseRecoverable(p.start, "Deleting local variable in strict mode") : p.operator === "delete" && Ut(p.argument) ? this.raiseRecoverable(p.start, "Private fields can not be deleted") : e = !0, u = this.finishNode(p, h ? "UpdateExpression" : "UnaryExpression");
1181
+ } else if (!e && this.type === a.privateId) (i || this.privateNameStack.length === 0) && this.options.checkPrivateFields && this.unexpected(), u = this.parsePrivateIdent(), this.type !== a._in && this.unexpected();
1182
+ else {
1183
+ if (u = this.parseExprSubscripts(t, i), this.checkExpressionErrors(t)) return u;
1184
+ for (; this.type.postfix && !this.canInsertSemicolon(); ) {
1185
+ var l = this.startNodeAt(r, o);
1186
+ l.operator = this.value, l.prefix = !1, l.argument = u, this.checkLValSimple(u), this.next(), u = this.finishNode(l, "UpdateExpression");
1187
+ }
1188
+ }
1189
+ if (!s && this.eat(a.starstar)) if (e) this.unexpected(this.lastTokStart);
1190
+ else return this.buildBinary(r, o, u, this.parseMaybeUnary(null, !1, !1, i), "**", !1);
1191
+ else return u;
1192
+ };
1193
+ function De(t) {
1194
+ return t.type === "Identifier" || t.type === "ParenthesizedExpression" && De(t.expression);
1195
+ }
1196
+ function Ut(t) {
1197
+ return t.type === "MemberExpression" && t.property.type === "PrivateIdentifier" || t.type === "ChainExpression" && Ut(t.expression) || t.type === "ParenthesizedExpression" && Ut(t.expression);
1198
+ }
1199
+ x.parseExprSubscripts = function(t, e) {
1200
+ var s = this.start, i = this.startLoc, r = this.parseExprAtom(t, e);
1201
+ if (r.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")") return r;
1202
+ var o = this.parseSubscripts(r, s, i, !1, e);
1203
+ return t && o.type === "MemberExpression" && (t.parenthesizedAssign >= o.start && (t.parenthesizedAssign = -1), t.parenthesizedBind >= o.start && (t.parenthesizedBind = -1), t.trailingComma >= o.start && (t.trailingComma = -1)), o;
1204
+ };
1205
+ x.parseSubscripts = function(t, e, s, i, r) {
1206
+ for (var o = this.options.ecmaVersion >= 8 && t.type === "Identifier" && t.name === "async" && this.lastTokEnd === t.end && !this.canInsertSemicolon() && t.end - t.start === 5 && this.potentialArrowAt === t.start, u = !1; ; ) {
1207
+ var p = this.parseSubscript(t, e, s, i, o, u, r);
1208
+ if (p.optional && (u = !0), p === t || p.type === "ArrowFunctionExpression") {
1209
+ if (u) {
1210
+ var h = this.startNodeAt(e, s);
1211
+ h.expression = p, p = this.finishNode(h, "ChainExpression");
1212
+ }
1213
+ return p;
1214
+ }
1215
+ t = p;
1216
+ }
1217
+ };
1218
+ x.shouldParseAsyncArrow = function() {
1219
+ return !this.canInsertSemicolon() && this.eat(a.arrow);
1220
+ };
1221
+ x.parseSubscriptAsyncArrow = function(t, e, s, i) {
1222
+ return this.parseArrowExpression(this.startNodeAt(t, e), s, !0, i);
1223
+ };
1224
+ x.parseSubscript = function(t, e, s, i, r, o, u) {
1225
+ var p = this.options.ecmaVersion >= 11, h = p && this.eat(a.questionDot);
1226
+ i && h && this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions");
1227
+ var l = this.eat(a.bracketL);
1228
+ if (l || h && this.type !== a.parenL && this.type !== a.backQuote || this.eat(a.dot)) {
1229
+ var m = this.startNodeAt(e, s);
1230
+ m.object = t, l ? (m.property = this.parseExpression(), this.expect(a.bracketR)) : this.type === a.privateId && t.type !== "Super" ? m.property = this.parsePrivateIdent() : m.property = this.parseIdent(this.options.allowReserved !== "never"), m.computed = !!l, p && (m.optional = h), t = this.finishNode(m, "MemberExpression");
1231
+ } else if (!i && this.eat(a.parenL)) {
1232
+ var A = new Tt(), S = this.yieldPos, v = this.awaitPos, k = this.awaitIdentPos;
1233
+ this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0;
1234
+ var L = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, !1, A);
1235
+ if (r && !h && this.shouldParseAsyncArrow()) return this.checkPatternErrors(A, !1), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = S, this.awaitPos = v, this.awaitIdentPos = k, this.parseSubscriptAsyncArrow(e, s, L, u);
1236
+ this.checkExpressionErrors(A, !0), this.yieldPos = S || this.yieldPos, this.awaitPos = v || this.awaitPos, this.awaitIdentPos = k || this.awaitIdentPos;
1237
+ var I = this.startNodeAt(e, s);
1238
+ I.callee = t, I.arguments = L, p && (I.optional = h), t = this.finishNode(I, "CallExpression");
1239
+ } else if (this.type === a.backQuote) {
1240
+ (h || o) && this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
1241
+ var j = this.startNodeAt(e, s);
1242
+ j.tag = t, j.quasi = this.parseTemplate({ isTagged: !0 }), t = this.finishNode(j, "TaggedTemplateExpression");
1243
+ }
1244
+ return t;
1245
+ };
1246
+ x.parseExprAtom = function(t, e, s) {
1247
+ this.type === a.slash && this.readRegexp();
1248
+ var i, r = this.potentialArrowAt === this.start;
1249
+ switch (this.type) {
1250
+ case a._super:
1251
+ return this.allowSuper || this.raise(this.start, "'super' keyword outside a method"), i = this.startNode(), this.next(), this.type === a.parenL && !this.allowDirectSuper && this.raise(i.start, "super() call outside constructor of a subclass"), this.type !== a.dot && this.type !== a.bracketL && this.type !== a.parenL && this.unexpected(), this.finishNode(i, "Super");
1252
+ case a._this:
1253
+ return i = this.startNode(), this.next(), this.finishNode(i, "ThisExpression");
1254
+ case a.name:
1255
+ var o = this.start, u = this.startLoc, p = this.containsEsc, h = this.parseIdent(!1);
1256
+ if (this.options.ecmaVersion >= 8 && !p && h.name === "async" && !this.canInsertSemicolon() && this.eat(a._function)) return this.overrideContext(T.f_expr), this.parseFunction(this.startNodeAt(o, u), 0, !1, !0, e);
1257
+ if (r && !this.canInsertSemicolon()) {
1258
+ if (this.eat(a.arrow)) return this.parseArrowExpression(this.startNodeAt(o, u), [h], !1, e);
1259
+ if (this.options.ecmaVersion >= 8 && h.name === "async" && this.type === a.name && !p && (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) return h = this.parseIdent(!1), (this.canInsertSemicolon() || !this.eat(a.arrow)) && this.unexpected(), this.parseArrowExpression(this.startNodeAt(o, u), [h], !0, e);
1260
+ }
1261
+ return h;
1262
+ case a.regexp:
1263
+ var l = this.value;
1264
+ return i = this.parseLiteral(l.value), i.regex = { pattern: l.pattern, flags: l.flags }, i;
1265
+ case a.num:
1266
+ case a.string:
1267
+ return this.parseLiteral(this.value);
1268
+ case a._null:
1269
+ case a._true:
1270
+ case a._false:
1271
+ return i = this.startNode(), i.value = this.type === a._null ? null : this.type === a._true, i.raw = this.type.keyword, this.next(), this.finishNode(i, "Literal");
1272
+ case a.parenL:
1273
+ var m = this.start, A = this.parseParenAndDistinguishExpression(r, e);
1274
+ return t && (t.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(A) && (t.parenthesizedAssign = m), t.parenthesizedBind < 0 && (t.parenthesizedBind = m)), A;
1275
+ case a.bracketL:
1276
+ return i = this.startNode(), this.next(), i.elements = this.parseExprList(a.bracketR, !0, !0, t), this.finishNode(i, "ArrayExpression");
1277
+ case a.braceL:
1278
+ return this.overrideContext(T.b_expr), this.parseObj(!1, t);
1279
+ case a._function:
1280
+ return i = this.startNode(), this.next(), this.parseFunction(i, 0);
1281
+ case a._class:
1282
+ return this.parseClass(this.startNode(), !1);
1283
+ case a._new:
1284
+ return this.parseNew();
1285
+ case a.backQuote:
1286
+ return this.parseTemplate();
1287
+ case a._import:
1288
+ return this.options.ecmaVersion >= 11 ? this.parseExprImport(s) : this.unexpected();
1289
+ default:
1290
+ return this.parseExprAtomDefault();
1291
+ }
1292
+ };
1293
+ x.parseExprAtomDefault = function() {
1294
+ this.unexpected();
1295
+ };
1296
+ x.parseExprImport = function(t) {
1297
+ var e = this.startNode();
1298
+ if (this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword import"), this.next(), this.type === a.parenL && !t) return this.parseDynamicImport(e);
1299
+ if (this.type === a.dot) {
1300
+ var s = this.startNodeAt(e.start, e.loc && e.loc.start);
1301
+ return s.name = "import", e.meta = this.finishNode(s, "Identifier"), this.parseImportMeta(e);
1302
+ } else this.unexpected();
1303
+ };
1304
+ x.parseDynamicImport = function(t) {
1305
+ if (this.next(), t.source = this.parseMaybeAssign(), this.options.ecmaVersion >= 16) this.eat(a.parenR) ? t.options = null : (this.expect(a.comma), this.afterTrailingComma(a.parenR) ? t.options = null : (t.options = this.parseMaybeAssign(), this.eat(a.parenR) || (this.expect(a.comma), this.afterTrailingComma(a.parenR) || this.unexpected())));
1306
+ else if (!this.eat(a.parenR)) {
1307
+ var e = this.start;
1308
+ this.eat(a.comma) && this.eat(a.parenR) ? this.raiseRecoverable(e, "Trailing comma is not allowed in import()") : this.unexpected(e);
1309
+ }
1310
+ return this.finishNode(t, "ImportExpression");
1311
+ };
1312
+ x.parseImportMeta = function(t) {
1313
+ this.next();
1314
+ var e = this.containsEsc;
1315
+ return t.property = this.parseIdent(!0), t.property.name !== "meta" && this.raiseRecoverable(t.property.start, "The only valid meta property for import is 'import.meta'"), e && this.raiseRecoverable(t.start, "'import.meta' must not contain escaped characters"), this.options.sourceType !== "module" && !this.options.allowImportExportEverywhere && this.raiseRecoverable(t.start, "Cannot use 'import.meta' outside a module"), this.finishNode(t, "MetaProperty");
1316
+ };
1317
+ x.parseLiteral = function(t) {
1318
+ var e = this.startNode();
1319
+ return e.value = t, e.raw = this.input.slice(this.start, this.end), e.raw.charCodeAt(e.raw.length - 1) === 110 && (e.bigint = e.value != null ? e.value.toString() : e.raw.slice(0, -1).replace(/_/g, "")), this.next(), this.finishNode(e, "Literal");
1320
+ };
1321
+ x.parseParenExpression = function() {
1322
+ this.expect(a.parenL);
1323
+ var t = this.parseExpression();
1324
+ return this.expect(a.parenR), t;
1325
+ };
1326
+ x.shouldParseArrow = function(t) {
1327
+ return !this.canInsertSemicolon();
1328
+ };
1329
+ x.parseParenAndDistinguishExpression = function(t, e) {
1330
+ var s = this.start, i = this.startLoc, r, o = this.options.ecmaVersion >= 8;
1331
+ if (this.options.ecmaVersion >= 6) {
1332
+ this.next();
1333
+ var u = this.start, p = this.startLoc, h = [], l = !0, m = !1, A = new Tt(), S = this.yieldPos, v = this.awaitPos, k;
1334
+ for (this.yieldPos = 0, this.awaitPos = 0; this.type !== a.parenR; ) if (l ? l = !1 : this.expect(a.comma), o && this.afterTrailingComma(a.parenR, !0)) {
1335
+ m = !0;
1336
+ break;
1337
+ } else if (this.type === a.ellipsis) {
1338
+ k = this.start, h.push(this.parseParenItem(this.parseRestBinding())), this.type === a.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
1339
+ break;
1340
+ } else h.push(this.parseMaybeAssign(!1, A, this.parseParenItem));
1341
+ var L = this.lastTokEnd, I = this.lastTokEndLoc;
1342
+ if (this.expect(a.parenR), t && this.shouldParseArrow(h) && this.eat(a.arrow)) return this.checkPatternErrors(A, !1), this.checkYieldAwaitInDefaultParams(), this.yieldPos = S, this.awaitPos = v, this.parseParenArrowList(s, i, h, e);
1343
+ (!h.length || m) && this.unexpected(this.lastTokStart), k && this.unexpected(k), this.checkExpressionErrors(A, !0), this.yieldPos = S || this.yieldPos, this.awaitPos = v || this.awaitPos, h.length > 1 ? (r = this.startNodeAt(u, p), r.expressions = h, this.finishNodeAt(r, "SequenceExpression", L, I)) : r = h[0];
1344
+ } else r = this.parseParenExpression();
1345
+ if (this.options.preserveParens) {
1346
+ var j = this.startNodeAt(s, i);
1347
+ return j.expression = r, this.finishNode(j, "ParenthesizedExpression");
1348
+ } else return r;
1349
+ };
1350
+ x.parseParenItem = function(t) {
1351
+ return t;
1352
+ };
1353
+ x.parseParenArrowList = function(t, e, s, i) {
1354
+ return this.parseArrowExpression(this.startNodeAt(t, e), s, !1, i);
1355
+ };
1356
+ var Is = [];
1357
+ x.parseNew = function() {
1358
+ this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword new");
1359
+ var t = this.startNode();
1360
+ if (this.next(), this.options.ecmaVersion >= 6 && this.type === a.dot) {
1361
+ var e = this.startNodeAt(t.start, t.loc && t.loc.start);
1362
+ e.name = "new", t.meta = this.finishNode(e, "Identifier"), this.next();
1363
+ var s = this.containsEsc;
1364
+ return t.property = this.parseIdent(!0), t.property.name !== "target" && this.raiseRecoverable(t.property.start, "The only valid meta property for new is 'new.target'"), s && this.raiseRecoverable(t.start, "'new.target' must not contain escaped characters"), this.allowNewDotTarget || this.raiseRecoverable(t.start, "'new.target' can only be used in functions and class static block"), this.finishNode(t, "MetaProperty");
1365
+ }
1366
+ var i = this.start, r = this.startLoc;
1367
+ return t.callee = this.parseSubscripts(this.parseExprAtom(null, !1, !0), i, r, !0, !1), this.eat(a.parenL) ? t.arguments = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, !1) : t.arguments = Is, this.finishNode(t, "NewExpression");
1368
+ };
1369
+ x.parseTemplateElement = function(t) {
1370
+ var e = t.isTagged, s = this.startNode();
1371
+ return this.type === a.invalidTemplate ? (e || this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal"), s.value = { raw: this.value.replace(/\r\n?/g, `
1372
+ `), cooked: null }) : s.value = { raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, `
1373
+ `), cooked: this.value }, this.next(), s.tail = this.type === a.backQuote, this.finishNode(s, "TemplateElement");
1374
+ };
1375
+ x.parseTemplate = function(t) {
1376
+ t === void 0 && (t = {});
1377
+ var e = t.isTagged;
1378
+ e === void 0 && (e = !1);
1379
+ var s = this.startNode();
1380
+ this.next(), s.expressions = [];
1381
+ var i = this.parseTemplateElement({ isTagged: e });
1382
+ for (s.quasis = [i]; !i.tail; ) this.type === a.eof && this.raise(this.pos, "Unterminated template literal"), this.expect(a.dollarBraceL), s.expressions.push(this.parseExpression()), this.expect(a.braceR), s.quasis.push(i = this.parseTemplateElement({ isTagged: e }));
1383
+ return this.next(), this.finishNode(s, "TemplateLiteral");
1384
+ };
1385
+ x.isAsyncProp = function(t) {
1386
+ return !t.computed && t.key.type === "Identifier" && t.key.name === "async" && (this.type === a.name || this.type === a.num || this.type === a.string || this.type === a.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === a.star) && !N.test(this.input.slice(this.lastTokEnd, this.start));
1387
+ };
1388
+ x.parseObj = function(t, e) {
1389
+ var s = this.startNode(), i = !0, r = {};
1390
+ for (s.properties = [], this.next(); !this.eat(a.braceR); ) {
1391
+ if (i) i = !1;
1392
+ else if (this.expect(a.comma), this.options.ecmaVersion >= 5 && this.afterTrailingComma(a.braceR)) break;
1393
+ var o = this.parseProperty(t, e);
1394
+ t || this.checkPropClash(o, r, e), s.properties.push(o);
1395
+ }
1396
+ return this.finishNode(s, t ? "ObjectPattern" : "ObjectExpression");
1397
+ };
1398
+ x.parseProperty = function(t, e) {
1399
+ var s = this.startNode(), i, r, o, u;
1400
+ if (this.options.ecmaVersion >= 9 && this.eat(a.ellipsis)) return t ? (s.argument = this.parseIdent(!1), this.type === a.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.finishNode(s, "RestElement")) : (s.argument = this.parseMaybeAssign(!1, e), this.type === a.comma && e && e.trailingComma < 0 && (e.trailingComma = this.start), this.finishNode(s, "SpreadElement"));
1401
+ this.options.ecmaVersion >= 6 && (s.method = !1, s.shorthand = !1, (t || e) && (o = this.start, u = this.startLoc), t || (i = this.eat(a.star)));
1402
+ var p = this.containsEsc;
1403
+ return this.parsePropertyName(s), !t && !p && this.options.ecmaVersion >= 8 && !i && this.isAsyncProp(s) ? (r = !0, i = this.options.ecmaVersion >= 9 && this.eat(a.star), this.parsePropertyName(s)) : r = !1, this.parsePropertyValue(s, t, i, r, o, u, e, p), this.finishNode(s, "Property");
1404
+ };
1405
+ x.parseGetterSetter = function(t) {
1406
+ var e = t.key.name;
1407
+ this.parsePropertyName(t), t.value = this.parseMethod(!1), t.kind = e;
1408
+ var s = t.kind === "get" ? 0 : 1;
1409
+ if (t.value.params.length !== s) {
1410
+ var i = t.value.start;
1411
+ t.kind === "get" ? this.raiseRecoverable(i, "getter should have no params") : this.raiseRecoverable(i, "setter should have exactly one param");
1412
+ } else t.kind === "set" && t.value.params[0].type === "RestElement" && this.raiseRecoverable(t.value.params[0].start, "Setter cannot use rest params");
1413
+ };
1414
+ x.parsePropertyValue = function(t, e, s, i, r, o, u, p) {
1415
+ (s || i) && this.type === a.colon && this.unexpected(), this.eat(a.colon) ? (t.value = e ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(!1, u), t.kind = "init") : this.options.ecmaVersion >= 6 && this.type === a.parenL ? (e && this.unexpected(), t.method = !0, t.value = this.parseMethod(s, i), t.kind = "init") : !e && !p && this.options.ecmaVersion >= 5 && !t.computed && t.key.type === "Identifier" && (t.key.name === "get" || t.key.name === "set") && this.type !== a.comma && this.type !== a.braceR && this.type !== a.eq ? ((s || i) && this.unexpected(), this.parseGetterSetter(t)) : this.options.ecmaVersion >= 6 && !t.computed && t.key.type === "Identifier" ? ((s || i) && this.unexpected(), this.checkUnreserved(t.key), t.key.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = r), e ? t.value = this.parseMaybeDefault(r, o, this.copyNode(t.key)) : this.type === a.eq && u ? (u.shorthandAssign < 0 && (u.shorthandAssign = this.start), t.value = this.parseMaybeDefault(r, o, this.copyNode(t.key))) : t.value = this.copyNode(t.key), t.kind = "init", t.shorthand = !0) : this.unexpected();
1416
+ };
1417
+ x.parsePropertyName = function(t) {
1418
+ if (this.options.ecmaVersion >= 6) {
1419
+ if (this.eat(a.bracketL)) return t.computed = !0, t.key = this.parseMaybeAssign(), this.expect(a.bracketR), t.key;
1420
+ t.computed = !1;
1421
+ }
1422
+ return t.key = this.type === a.num || this.type === a.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
1423
+ };
1424
+ x.initFunction = function(t) {
1425
+ t.id = null, this.options.ecmaVersion >= 6 && (t.generator = t.expression = !1), this.options.ecmaVersion >= 8 && (t.async = !1);
1426
+ };
1427
+ x.parseMethod = function(t, e, s) {
1428
+ var i = this.startNode(), r = this.yieldPos, o = this.awaitPos, u = this.awaitIdentPos;
1429
+ return this.initFunction(i), this.options.ecmaVersion >= 6 && (i.generator = t), this.options.ecmaVersion >= 8 && (i.async = !!e), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(Wt(e, i.generator) | kt | (s ? Se : 0)), this.expect(a.parenL), i.params = this.parseBindingList(a.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams(), this.parseFunctionBody(i, !1, !0, !1), this.yieldPos = r, this.awaitPos = o, this.awaitIdentPos = u, this.finishNode(i, "FunctionExpression");
1430
+ };
1431
+ x.parseArrowExpression = function(t, e, s, i) {
1432
+ var r = this.yieldPos, o = this.awaitPos, u = this.awaitIdentPos;
1433
+ return this.enterScope(Wt(s, !1) | Ht), this.initFunction(t), this.options.ecmaVersion >= 8 && (t.async = !!s), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, t.params = this.toAssignableList(e, !0), this.parseFunctionBody(t, !0, !1, i), this.yieldPos = r, this.awaitPos = o, this.awaitIdentPos = u, this.finishNode(t, "ArrowFunctionExpression");
1434
+ };
1435
+ x.parseFunctionBody = function(t, e, s, i) {
1436
+ var r = e && this.type !== a.braceL, o = this.strict, u = !1;
1437
+ if (r) t.body = this.parseMaybeAssign(i), t.expression = !0, this.checkParams(t, !1);
1438
+ else {
1439
+ var p = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(t.params);
1440
+ (!o || p) && (u = this.strictDirective(this.end), u && p && this.raiseRecoverable(t.start, "Illegal 'use strict' directive in function with non-simple parameter list"));
1441
+ var h = this.labels;
1442
+ this.labels = [], u && (this.strict = !0), this.checkParams(t, !o && !u && !e && !s && this.isSimpleParamList(t.params)), this.strict && t.id && this.checkLValSimple(t.id, Te), t.body = this.parseBlock(!1, void 0, u && !o), t.expression = !1, this.adaptDirectivePrologue(t.body.body), this.labels = h;
1443
+ }
1444
+ this.exitScope();
1445
+ };
1446
+ x.isSimpleParamList = function(t) {
1447
+ for (var e = 0, s = t; e < s.length; e += 1) {
1448
+ var i = s[e];
1449
+ if (i.type !== "Identifier") return !1;
1450
+ }
1451
+ return !0;
1452
+ };
1453
+ x.checkParams = function(t, e) {
1454
+ for (var s = /* @__PURE__ */ Object.create(null), i = 0, r = t.params; i < r.length; i += 1) {
1455
+ var o = r[i];
1456
+ this.checkLValInnerPattern(o, zt, e ? null : s);
1457
+ }
1458
+ };
1459
+ x.parseExprList = function(t, e, s, i) {
1460
+ for (var r = [], o = !0; !this.eat(t); ) {
1461
+ if (o) o = !1;
1462
+ else if (this.expect(a.comma), e && this.afterTrailingComma(t)) break;
1463
+ var u = void 0;
1464
+ s && this.type === a.comma ? u = null : this.type === a.ellipsis ? (u = this.parseSpread(i), i && this.type === a.comma && i.trailingComma < 0 && (i.trailingComma = this.start)) : u = this.parseMaybeAssign(!1, i), r.push(u);
1465
+ }
1466
+ return r;
1467
+ };
1468
+ x.checkUnreserved = function(t) {
1469
+ var e = t.start, s = t.end, i = t.name;
1470
+ if (this.inGenerator && i === "yield" && this.raiseRecoverable(e, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && i === "await" && this.raiseRecoverable(e, "Cannot use 'await' as identifier inside an async function"), !(this.currentThisScope().flags & _t) && i === "arguments" && this.raiseRecoverable(e, "Cannot use 'arguments' in class field initializer"), this.inClassStaticBlock && (i === "arguments" || i === "await") && this.raise(e, "Cannot use " + i + " in class static initialization block"), this.keywords.test(i) && this.raise(e, "Unexpected keyword '" + i + "'"), !(this.options.ecmaVersion < 6 && this.input.slice(e, s).indexOf("\\") !== -1)) {
1471
+ var r = this.strict ? this.reservedWordsStrict : this.reservedWords;
1472
+ r.test(i) && (!this.inAsync && i === "await" && this.raiseRecoverable(e, "Cannot use keyword 'await' outside an async function"), this.raiseRecoverable(e, "The keyword '" + i + "' is reserved"));
1473
+ }
1474
+ };
1475
+ x.parseIdent = function(t) {
1476
+ var e = this.parseIdentNode();
1477
+ return this.next(!!t), this.finishNode(e, "Identifier"), t || (this.checkUnreserved(e), e.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = e.start)), e;
1478
+ };
1479
+ x.parseIdentNode = function() {
1480
+ var t = this.startNode();
1481
+ return this.type === a.name ? t.name = this.value : this.type.keyword ? (t.name = this.type.keyword, (t.name === "class" || t.name === "function") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46) && this.context.pop(), this.type = a.name) : this.unexpected(), t;
1482
+ };
1483
+ x.parsePrivateIdent = function() {
1484
+ var t = this.startNode();
1485
+ return this.type === a.privateId ? t.name = this.value : this.unexpected(), this.next(), this.finishNode(t, "PrivateIdentifier"), this.options.checkPrivateFields && (this.privateNameStack.length === 0 ? this.raise(t.start, "Private field '#" + t.name + "' must be declared in an enclosing class") : this.privateNameStack[this.privateNameStack.length - 1].used.push(t)), t;
1486
+ };
1487
+ x.parseYield = function(t) {
1488
+ this.yieldPos || (this.yieldPos = this.start);
1489
+ var e = this.startNode();
1490
+ return this.next(), this.type === a.semi || this.canInsertSemicolon() || this.type !== a.star && !this.type.startsExpr ? (e.delegate = !1, e.argument = null) : (e.delegate = this.eat(a.star), e.argument = this.parseMaybeAssign(t)), this.finishNode(e, "YieldExpression");
1491
+ };
1492
+ x.parseAwait = function(t) {
1493
+ this.awaitPos || (this.awaitPos = this.start);
1494
+ var e = this.startNode();
1495
+ return this.next(), e.argument = this.parseMaybeUnary(null, !0, !1, t), this.finishNode(e, "AwaitExpression");
1496
+ };
1497
+ var Et = w.prototype;
1498
+ Et.raise = function(t, e) {
1499
+ var s = Ce(this.input, t);
1500
+ e += " (" + s.line + ":" + s.column + ")", this.sourceFile && (e += " in " + this.sourceFile);
1501
+ var i = new SyntaxError(e);
1502
+ throw i.pos = t, i.loc = s, i.raisedAt = this.pos, i;
1503
+ };
1504
+ Et.raiseRecoverable = Et.raise;
1505
+ Et.curPosition = function() {
1506
+ if (this.options.locations) return new pt(this.curLine, this.pos - this.lineStart);
1507
+ };
1508
+ var Y = w.prototype, Ps = function(t) {
1509
+ this.flags = t, this.var = [], this.lexical = [], this.functions = [];
1510
+ };
1511
+ Y.enterScope = function(t) {
1512
+ this.scopeStack.push(new Ps(t));
1513
+ };
1514
+ Y.exitScope = function() {
1515
+ this.scopeStack.pop();
1516
+ };
1517
+ Y.treatFunctionsAsVarInScope = function(t) {
1518
+ return t.flags & at || !this.inModule && t.flags & lt;
1519
+ };
1520
+ Y.declareName = function(t, e, s) {
1521
+ var i = !1;
1522
+ if (e === z) {
1523
+ var r = this.currentScope();
1524
+ i = r.lexical.indexOf(t) > -1 || r.functions.indexOf(t) > -1 || r.var.indexOf(t) > -1, r.lexical.push(t), this.inModule && r.flags & lt && delete this.undefinedExports[t];
1525
+ } else if (e === _e) {
1526
+ var o = this.currentScope();
1527
+ o.lexical.push(t);
1528
+ } else if (e === ke) {
1529
+ var u = this.currentScope();
1530
+ this.treatFunctionsAsVar ? i = u.lexical.indexOf(t) > -1 : i = u.lexical.indexOf(t) > -1 || u.var.indexOf(t) > -1, u.functions.push(t);
1531
+ } else for (var p = this.scopeStack.length - 1; p >= 0; --p) {
1532
+ var h = this.scopeStack[p];
1533
+ if (h.lexical.indexOf(t) > -1 && !(h.flags & be && h.lexical[0] === t) || !this.treatFunctionsAsVarInScope(h) && h.functions.indexOf(t) > -1) {
1534
+ i = !0;
1535
+ break;
1536
+ }
1537
+ if (h.var.push(t), this.inModule && h.flags & lt && delete this.undefinedExports[t], h.flags & _t) break;
1538
+ }
1539
+ i && this.raiseRecoverable(s, "Identifier '" + t + "' has already been declared");
1540
+ };
1541
+ Y.checkLocalExport = function(t) {
1542
+ this.scopeStack[0].lexical.indexOf(t.name) === -1 && this.scopeStack[0].var.indexOf(t.name) === -1 && (this.undefinedExports[t.name] = t);
1543
+ };
1544
+ Y.currentScope = function() {
1545
+ return this.scopeStack[this.scopeStack.length - 1];
1546
+ };
1547
+ Y.currentVarScope = function() {
1548
+ for (var t = this.scopeStack.length - 1; ; t--) {
1549
+ var e = this.scopeStack[t];
1550
+ if (e.flags & (_t | ct | et)) return e;
1551
+ }
1552
+ };
1553
+ Y.currentThisScope = function() {
1554
+ for (var t = this.scopeStack.length - 1; ; t--) {
1555
+ var e = this.scopeStack[t];
1556
+ if (e.flags & (_t | ct | et) && !(e.flags & Ht)) return e;
1557
+ }
1558
+ };
1559
+ var wt = function(t, e, s) {
1560
+ this.type = "", this.start = e, this.end = 0, t.options.locations && (this.loc = new St(t, s)), t.options.directSourceFile && (this.sourceFile = t.options.directSourceFile), t.options.ranges && (this.range = [e, 0]);
1561
+ }, dt = w.prototype;
1562
+ dt.startNode = function() {
1563
+ return new wt(this, this.start, this.startLoc);
1564
+ };
1565
+ dt.startNodeAt = function(t, e) {
1566
+ return new wt(this, t, e);
1567
+ };
1568
+ function Fe(t, e, s, i) {
1569
+ return t.type = e, t.end = s, this.options.locations && (t.loc.end = i), this.options.ranges && (t.range[1] = s), t;
1570
+ }
1571
+ dt.finishNode = function(t, e) {
1572
+ return Fe.call(this, t, e, this.lastTokEnd, this.lastTokEndLoc);
1573
+ };
1574
+ dt.finishNodeAt = function(t, e, s, i) {
1575
+ return Fe.call(this, t, e, s, i);
1576
+ };
1577
+ dt.copyNode = function(t) {
1578
+ var e = new wt(this, t.start, this.startLoc);
1579
+ for (var s in t) e[s] = t[s];
1580
+ return e;
1581
+ };
1582
+ var Ns = "Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz", Be = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS", Ie = Be + " Extended_Pictographic", Pe = Ie, Ne = Pe + " EBase EComp EMod EPres ExtPict", Le = Ne, Ls = Le, Vs = { 9: Be, 10: Ie, 11: Pe, 12: Ne, 13: Le, 14: Ls }, Rs = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji", Os = { 9: "", 10: "", 11: "", 12: "", 13: "", 14: Rs }, oe = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu", Ve = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb", Re = Ve + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd", Oe = Re + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho", Me = Oe + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi", je = Me + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith", Ms = je + " " + Ns, js = { 9: Ve, 10: Re, 11: Oe, 12: Me, 13: je, 14: Ms }, Ue = {};
1583
+ function Us(t) {
1584
+ var e = Ue[t] = { binary: Q(Vs[t] + " " + oe), binaryOfStrings: Q(Os[t]), nonBinary: { General_Category: Q(oe), Script: Q(js[t]) } };
1585
+ e.nonBinary.Script_Extensions = e.nonBinary.Script, e.nonBinary.gc = e.nonBinary.General_Category, e.nonBinary.sc = e.nonBinary.Script, e.nonBinary.scx = e.nonBinary.Script_Extensions;
1586
+ }
1587
+ for (yt = 0, Pt = [9, 10, 11, 12, 13, 14]; yt < Pt.length; yt += 1) ue = Pt[yt], Us(ue);
1588
+ var ue, yt, Pt, d = w.prototype, bt = function(t, e) {
1589
+ this.parent = t, this.base = e || this;
1590
+ };
1591
+ bt.prototype.separatedFrom = function(t) {
1592
+ for (var e = this; e; e = e.parent) for (var s = t; s; s = s.parent) if (e.base === s.base && e !== s) return !0;
1593
+ return !1;
1594
+ };
1595
+ bt.prototype.sibling = function() {
1596
+ return new bt(this.parent, this.base);
1597
+ };
1598
+ var K = function(t) {
1599
+ this.parser = t, this.validFlags = "gim" + (t.options.ecmaVersion >= 6 ? "uy" : "") + (t.options.ecmaVersion >= 9 ? "s" : "") + (t.options.ecmaVersion >= 13 ? "d" : "") + (t.options.ecmaVersion >= 15 ? "v" : ""), this.unicodeProperties = Ue[t.options.ecmaVersion >= 14 ? 14 : t.options.ecmaVersion], this.source = "", this.flags = "", this.start = 0, this.switchU = !1, this.switchV = !1, this.switchN = !1, this.pos = 0, this.lastIntValue = 0, this.lastStringValue = "", this.lastAssertionIsQuantifiable = !1, this.numCapturingParens = 0, this.maxBackReference = 0, this.groupNames = /* @__PURE__ */ Object.create(null), this.backReferenceNames = [], this.branchID = null;
1600
+ };
1601
+ K.prototype.reset = function(t, e, s) {
1602
+ var i = s.indexOf("v") !== -1, r = s.indexOf("u") !== -1;
1603
+ this.start = t | 0, this.source = e + "", this.flags = s, i && this.parser.options.ecmaVersion >= 15 ? (this.switchU = !0, this.switchV = !0, this.switchN = !0) : (this.switchU = r && this.parser.options.ecmaVersion >= 6, this.switchV = !1, this.switchN = r && this.parser.options.ecmaVersion >= 9);
1604
+ };
1605
+ K.prototype.raise = function(t) {
1606
+ this.parser.raiseRecoverable(this.start, "Invalid regular expression: /" + this.source + "/: " + t);
1607
+ };
1608
+ K.prototype.at = function(t, e) {
1609
+ e === void 0 && (e = !1);
1610
+ var s = this.source, i = s.length;
1611
+ if (t >= i) return -1;
1612
+ var r = s.charCodeAt(t);
1613
+ if (!(e || this.switchU) || r <= 55295 || r >= 57344 || t + 1 >= i) return r;
1614
+ var o = s.charCodeAt(t + 1);
1615
+ return o >= 56320 && o <= 57343 ? (r << 10) + o - 56613888 : r;
1616
+ };
1617
+ K.prototype.nextIndex = function(t, e) {
1618
+ e === void 0 && (e = !1);
1619
+ var s = this.source, i = s.length;
1620
+ if (t >= i) return i;
1621
+ var r = s.charCodeAt(t), o;
1622
+ return !(e || this.switchU) || r <= 55295 || r >= 57344 || t + 1 >= i || (o = s.charCodeAt(t + 1)) < 56320 || o > 57343 ? t + 1 : t + 2;
1623
+ };
1624
+ K.prototype.current = function(t) {
1625
+ return t === void 0 && (t = !1), this.at(this.pos, t);
1626
+ };
1627
+ K.prototype.lookahead = function(t) {
1628
+ return t === void 0 && (t = !1), this.at(this.nextIndex(this.pos, t), t);
1629
+ };
1630
+ K.prototype.advance = function(t) {
1631
+ t === void 0 && (t = !1), this.pos = this.nextIndex(this.pos, t);
1632
+ };
1633
+ K.prototype.eat = function(t, e) {
1634
+ return e === void 0 && (e = !1), this.current(e) === t ? (this.advance(e), !0) : !1;
1635
+ };
1636
+ K.prototype.eatChars = function(t, e) {
1637
+ e === void 0 && (e = !1);
1638
+ for (var s = this.pos, i = 0, r = t; i < r.length; i += 1) {
1639
+ var o = r[i], u = this.at(s, e);
1640
+ if (u === -1 || u !== o) return !1;
1641
+ s = this.nextIndex(s, e);
1642
+ }
1643
+ return this.pos = s, !0;
1644
+ };
1645
+ d.validateRegExpFlags = function(t) {
1646
+ for (var e = t.validFlags, s = t.flags, i = !1, r = !1, o = 0; o < s.length; o++) {
1647
+ var u = s.charAt(o);
1648
+ e.indexOf(u) === -1 && this.raise(t.start, "Invalid regular expression flag"), s.indexOf(u, o + 1) > -1 && this.raise(t.start, "Duplicate regular expression flag"), u === "u" && (i = !0), u === "v" && (r = !0);
1649
+ }
1650
+ this.options.ecmaVersion >= 15 && i && r && this.raise(t.start, "Invalid regular expression flag");
1651
+ };
1652
+ function qs(t) {
1653
+ for (var e in t) return !0;
1654
+ return !1;
1655
+ }
1656
+ d.validateRegExpPattern = function(t) {
1657
+ this.regexp_pattern(t), !t.switchN && this.options.ecmaVersion >= 9 && qs(t.groupNames) && (t.switchN = !0, this.regexp_pattern(t));
1658
+ };
1659
+ d.regexp_pattern = function(t) {
1660
+ t.pos = 0, t.lastIntValue = 0, t.lastStringValue = "", t.lastAssertionIsQuantifiable = !1, t.numCapturingParens = 0, t.maxBackReference = 0, t.groupNames = /* @__PURE__ */ Object.create(null), t.backReferenceNames.length = 0, t.branchID = null, this.regexp_disjunction(t), t.pos !== t.source.length && (t.eat(41) && t.raise("Unmatched ')'"), (t.eat(93) || t.eat(125)) && t.raise("Lone quantifier brackets")), t.maxBackReference > t.numCapturingParens && t.raise("Invalid escape");
1661
+ for (var e = 0, s = t.backReferenceNames; e < s.length; e += 1) {
1662
+ var i = s[e];
1663
+ t.groupNames[i] || t.raise("Invalid named capture referenced");
1664
+ }
1665
+ };
1666
+ d.regexp_disjunction = function(t) {
1667
+ var e = this.options.ecmaVersion >= 16;
1668
+ for (e && (t.branchID = new bt(t.branchID, null)), this.regexp_alternative(t); t.eat(124); ) e && (t.branchID = t.branchID.sibling()), this.regexp_alternative(t);
1669
+ e && (t.branchID = t.branchID.parent), this.regexp_eatQuantifier(t, !0) && t.raise("Nothing to repeat"), t.eat(123) && t.raise("Lone quantifier brackets");
1670
+ };
1671
+ d.regexp_alternative = function(t) {
1672
+ for (; t.pos < t.source.length && this.regexp_eatTerm(t); ) ;
1673
+ };
1674
+ d.regexp_eatTerm = function(t) {
1675
+ return this.regexp_eatAssertion(t) ? (t.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(t) && t.switchU && t.raise("Invalid quantifier"), !0) : (t.switchU ? this.regexp_eatAtom(t) : this.regexp_eatExtendedAtom(t)) ? (this.regexp_eatQuantifier(t), !0) : !1;
1676
+ };
1677
+ d.regexp_eatAssertion = function(t) {
1678
+ var e = t.pos;
1679
+ if (t.lastAssertionIsQuantifiable = !1, t.eat(94) || t.eat(36)) return !0;
1680
+ if (t.eat(92)) {
1681
+ if (t.eat(66) || t.eat(98)) return !0;
1682
+ t.pos = e;
1683
+ }
1684
+ if (t.eat(40) && t.eat(63)) {
1685
+ var s = !1;
1686
+ if (this.options.ecmaVersion >= 9 && (s = t.eat(60)), t.eat(61) || t.eat(33)) return this.regexp_disjunction(t), t.eat(41) || t.raise("Unterminated group"), t.lastAssertionIsQuantifiable = !s, !0;
1687
+ }
1688
+ return t.pos = e, !1;
1689
+ };
1690
+ d.regexp_eatQuantifier = function(t, e) {
1691
+ return e === void 0 && (e = !1), this.regexp_eatQuantifierPrefix(t, e) ? (t.eat(63), !0) : !1;
1692
+ };
1693
+ d.regexp_eatQuantifierPrefix = function(t, e) {
1694
+ return t.eat(42) || t.eat(43) || t.eat(63) || this.regexp_eatBracedQuantifier(t, e);
1695
+ };
1696
+ d.regexp_eatBracedQuantifier = function(t, e) {
1697
+ var s = t.pos;
1698
+ if (t.eat(123)) {
1699
+ var i = 0, r = -1;
1700
+ if (this.regexp_eatDecimalDigits(t) && (i = t.lastIntValue, t.eat(44) && this.regexp_eatDecimalDigits(t) && (r = t.lastIntValue), t.eat(125))) return r !== -1 && r < i && !e && t.raise("numbers out of order in {} quantifier"), !0;
1701
+ t.switchU && !e && t.raise("Incomplete quantifier"), t.pos = s;
1702
+ }
1703
+ return !1;
1704
+ };
1705
+ d.regexp_eatAtom = function(t) {
1706
+ return this.regexp_eatPatternCharacters(t) || t.eat(46) || this.regexp_eatReverseSolidusAtomEscape(t) || this.regexp_eatCharacterClass(t) || this.regexp_eatUncapturingGroup(t) || this.regexp_eatCapturingGroup(t);
1707
+ };
1708
+ d.regexp_eatReverseSolidusAtomEscape = function(t) {
1709
+ var e = t.pos;
1710
+ if (t.eat(92)) {
1711
+ if (this.regexp_eatAtomEscape(t)) return !0;
1712
+ t.pos = e;
1713
+ }
1714
+ return !1;
1715
+ };
1716
+ d.regexp_eatUncapturingGroup = function(t) {
1717
+ var e = t.pos;
1718
+ if (t.eat(40)) {
1719
+ if (t.eat(63)) {
1720
+ if (this.options.ecmaVersion >= 16) {
1721
+ var s = this.regexp_eatModifiers(t), i = t.eat(45);
1722
+ if (s || i) {
1723
+ for (var r = 0; r < s.length; r++) {
1724
+ var o = s.charAt(r);
1725
+ s.indexOf(o, r + 1) > -1 && t.raise("Duplicate regular expression modifiers");
1726
+ }
1727
+ if (i) {
1728
+ var u = this.regexp_eatModifiers(t);
1729
+ !s && !u && t.current() === 58 && t.raise("Invalid regular expression modifiers");
1730
+ for (var p = 0; p < u.length; p++) {
1731
+ var h = u.charAt(p);
1732
+ (u.indexOf(h, p + 1) > -1 || s.indexOf(h) > -1) && t.raise("Duplicate regular expression modifiers");
1733
+ }
1734
+ }
1735
+ }
1736
+ }
1737
+ if (t.eat(58)) {
1738
+ if (this.regexp_disjunction(t), t.eat(41)) return !0;
1739
+ t.raise("Unterminated group");
1740
+ }
1741
+ }
1742
+ t.pos = e;
1743
+ }
1744
+ return !1;
1745
+ };
1746
+ d.regexp_eatCapturingGroup = function(t) {
1747
+ if (t.eat(40)) {
1748
+ if (this.options.ecmaVersion >= 9 ? this.regexp_groupSpecifier(t) : t.current() === 63 && t.raise("Invalid group"), this.regexp_disjunction(t), t.eat(41)) return t.numCapturingParens += 1, !0;
1749
+ t.raise("Unterminated group");
1750
+ }
1751
+ return !1;
1752
+ };
1753
+ d.regexp_eatModifiers = function(t) {
1754
+ for (var e = "", s = 0; (s = t.current()) !== -1 && Gs(s); ) e += H(s), t.advance();
1755
+ return e;
1756
+ };
1757
+ function Gs(t) {
1758
+ return t === 105 || t === 109 || t === 115;
1759
+ }
1760
+ d.regexp_eatExtendedAtom = function(t) {
1761
+ return t.eat(46) || this.regexp_eatReverseSolidusAtomEscape(t) || this.regexp_eatCharacterClass(t) || this.regexp_eatUncapturingGroup(t) || this.regexp_eatCapturingGroup(t) || this.regexp_eatInvalidBracedQuantifier(t) || this.regexp_eatExtendedPatternCharacter(t);
1762
+ };
1763
+ d.regexp_eatInvalidBracedQuantifier = function(t) {
1764
+ return this.regexp_eatBracedQuantifier(t, !0) && t.raise("Nothing to repeat"), !1;
1765
+ };
1766
+ d.regexp_eatSyntaxCharacter = function(t) {
1767
+ var e = t.current();
1768
+ return qe(e) ? (t.lastIntValue = e, t.advance(), !0) : !1;
1769
+ };
1770
+ function qe(t) {
1771
+ return t === 36 || t >= 40 && t <= 43 || t === 46 || t === 63 || t >= 91 && t <= 94 || t >= 123 && t <= 125;
1772
+ }
1773
+ d.regexp_eatPatternCharacters = function(t) {
1774
+ for (var e = t.pos, s = 0; (s = t.current()) !== -1 && !qe(s); ) t.advance();
1775
+ return t.pos !== e;
1776
+ };
1777
+ d.regexp_eatExtendedPatternCharacter = function(t) {
1778
+ var e = t.current();
1779
+ return e !== -1 && e !== 36 && !(e >= 40 && e <= 43) && e !== 46 && e !== 63 && e !== 91 && e !== 94 && e !== 124 ? (t.advance(), !0) : !1;
1780
+ };
1781
+ d.regexp_groupSpecifier = function(t) {
1782
+ if (t.eat(63)) {
1783
+ this.regexp_eatGroupName(t) || t.raise("Invalid group");
1784
+ var e = this.options.ecmaVersion >= 16, s = t.groupNames[t.lastStringValue];
1785
+ if (s) if (e) for (var i = 0, r = s; i < r.length; i += 1) {
1786
+ var o = r[i];
1787
+ o.separatedFrom(t.branchID) || t.raise("Duplicate capture group name");
1788
+ }
1789
+ else t.raise("Duplicate capture group name");
1790
+ e ? (s || (t.groupNames[t.lastStringValue] = [])).push(t.branchID) : t.groupNames[t.lastStringValue] = !0;
1791
+ }
1792
+ };
1793
+ d.regexp_eatGroupName = function(t) {
1794
+ if (t.lastStringValue = "", t.eat(60)) {
1795
+ if (this.regexp_eatRegExpIdentifierName(t) && t.eat(62)) return !0;
1796
+ t.raise("Invalid capture group name");
1797
+ }
1798
+ return !1;
1799
+ };
1800
+ d.regexp_eatRegExpIdentifierName = function(t) {
1801
+ if (t.lastStringValue = "", this.regexp_eatRegExpIdentifierStart(t)) {
1802
+ for (t.lastStringValue += H(t.lastIntValue); this.regexp_eatRegExpIdentifierPart(t); ) t.lastStringValue += H(t.lastIntValue);
1803
+ return !0;
1804
+ }
1805
+ return !1;
1806
+ };
1807
+ d.regexp_eatRegExpIdentifierStart = function(t) {
1808
+ var e = t.pos, s = this.options.ecmaVersion >= 11, i = t.current(s);
1809
+ return t.advance(s), i === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(t, s) && (i = t.lastIntValue), Js(i) ? (t.lastIntValue = i, !0) : (t.pos = e, !1);
1810
+ };
1811
+ function Js(t) {
1812
+ return G(t, !0) || t === 36 || t === 95;
1813
+ }
1814
+ d.regexp_eatRegExpIdentifierPart = function(t) {
1815
+ var e = t.pos, s = this.options.ecmaVersion >= 11, i = t.current(s);
1816
+ return t.advance(s), i === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(t, s) && (i = t.lastIntValue), Ks(i) ? (t.lastIntValue = i, !0) : (t.pos = e, !1);
1817
+ };
1818
+ function Ks(t) {
1819
+ return $(t, !0) || t === 36 || t === 95 || t === 8204 || t === 8205;
1820
+ }
1821
+ d.regexp_eatAtomEscape = function(t) {
1822
+ return this.regexp_eatBackReference(t) || this.regexp_eatCharacterClassEscape(t) || this.regexp_eatCharacterEscape(t) || t.switchN && this.regexp_eatKGroupName(t) ? !0 : (t.switchU && (t.current() === 99 && t.raise("Invalid unicode escape"), t.raise("Invalid escape")), !1);
1823
+ };
1824
+ d.regexp_eatBackReference = function(t) {
1825
+ var e = t.pos;
1826
+ if (this.regexp_eatDecimalEscape(t)) {
1827
+ var s = t.lastIntValue;
1828
+ if (t.switchU) return s > t.maxBackReference && (t.maxBackReference = s), !0;
1829
+ if (s <= t.numCapturingParens) return !0;
1830
+ t.pos = e;
1831
+ }
1832
+ return !1;
1833
+ };
1834
+ d.regexp_eatKGroupName = function(t) {
1835
+ if (t.eat(107)) {
1836
+ if (this.regexp_eatGroupName(t)) return t.backReferenceNames.push(t.lastStringValue), !0;
1837
+ t.raise("Invalid named reference");
1838
+ }
1839
+ return !1;
1840
+ };
1841
+ d.regexp_eatCharacterEscape = function(t) {
1842
+ return this.regexp_eatControlEscape(t) || this.regexp_eatCControlLetter(t) || this.regexp_eatZero(t) || this.regexp_eatHexEscapeSequence(t) || this.regexp_eatRegExpUnicodeEscapeSequence(t, !1) || !t.switchU && this.regexp_eatLegacyOctalEscapeSequence(t) || this.regexp_eatIdentityEscape(t);
1843
+ };
1844
+ d.regexp_eatCControlLetter = function(t) {
1845
+ var e = t.pos;
1846
+ if (t.eat(99)) {
1847
+ if (this.regexp_eatControlLetter(t)) return !0;
1848
+ t.pos = e;
1849
+ }
1850
+ return !1;
1851
+ };
1852
+ d.regexp_eatZero = function(t) {
1853
+ return t.current() === 48 && !Dt(t.lookahead()) ? (t.lastIntValue = 0, t.advance(), !0) : !1;
1854
+ };
1855
+ d.regexp_eatControlEscape = function(t) {
1856
+ var e = t.current();
1857
+ return e === 116 ? (t.lastIntValue = 9, t.advance(), !0) : e === 110 ? (t.lastIntValue = 10, t.advance(), !0) : e === 118 ? (t.lastIntValue = 11, t.advance(), !0) : e === 102 ? (t.lastIntValue = 12, t.advance(), !0) : e === 114 ? (t.lastIntValue = 13, t.advance(), !0) : !1;
1858
+ };
1859
+ d.regexp_eatControlLetter = function(t) {
1860
+ var e = t.current();
1861
+ return Ge(e) ? (t.lastIntValue = e % 32, t.advance(), !0) : !1;
1862
+ };
1863
+ function Ge(t) {
1864
+ return t >= 65 && t <= 90 || t >= 97 && t <= 122;
1865
+ }
1866
+ d.regexp_eatRegExpUnicodeEscapeSequence = function(t, e) {
1867
+ e === void 0 && (e = !1);
1868
+ var s = t.pos, i = e || t.switchU;
1869
+ if (t.eat(117)) {
1870
+ if (this.regexp_eatFixedHexDigits(t, 4)) {
1871
+ var r = t.lastIntValue;
1872
+ if (i && r >= 55296 && r <= 56319) {
1873
+ var o = t.pos;
1874
+ if (t.eat(92) && t.eat(117) && this.regexp_eatFixedHexDigits(t, 4)) {
1875
+ var u = t.lastIntValue;
1876
+ if (u >= 56320 && u <= 57343) return t.lastIntValue = (r - 55296) * 1024 + (u - 56320) + 65536, !0;
1877
+ }
1878
+ t.pos = o, t.lastIntValue = r;
1879
+ }
1880
+ return !0;
1881
+ }
1882
+ if (i && t.eat(123) && this.regexp_eatHexDigits(t) && t.eat(125) && Xs(t.lastIntValue)) return !0;
1883
+ i && t.raise("Invalid unicode escape"), t.pos = s;
1884
+ }
1885
+ return !1;
1886
+ };
1887
+ function Xs(t) {
1888
+ return t >= 0 && t <= 1114111;
1889
+ }
1890
+ d.regexp_eatIdentityEscape = function(t) {
1891
+ if (t.switchU) return this.regexp_eatSyntaxCharacter(t) ? !0 : t.eat(47) ? (t.lastIntValue = 47, !0) : !1;
1892
+ var e = t.current();
1893
+ return e !== 99 && (!t.switchN || e !== 107) ? (t.lastIntValue = e, t.advance(), !0) : !1;
1894
+ };
1895
+ d.regexp_eatDecimalEscape = function(t) {
1896
+ t.lastIntValue = 0;
1897
+ var e = t.current();
1898
+ if (e >= 49 && e <= 57) {
1899
+ do
1900
+ t.lastIntValue = 10 * t.lastIntValue + (e - 48), t.advance();
1901
+ while ((e = t.current()) >= 48 && e <= 57);
1902
+ return !0;
1903
+ }
1904
+ return !1;
1905
+ };
1906
+ var Je = 0, W = 1, O = 2;
1907
+ d.regexp_eatCharacterClassEscape = function(t) {
1908
+ var e = t.current();
1909
+ if (Hs(e)) return t.lastIntValue = -1, t.advance(), W;
1910
+ var s = !1;
1911
+ if (t.switchU && this.options.ecmaVersion >= 9 && ((s = e === 80) || e === 112)) {
1912
+ t.lastIntValue = -1, t.advance();
1913
+ var i;
1914
+ if (t.eat(123) && (i = this.regexp_eatUnicodePropertyValueExpression(t)) && t.eat(125)) return s && i === O && t.raise("Invalid property name"), i;
1915
+ t.raise("Invalid property name");
1916
+ }
1917
+ return Je;
1918
+ };
1919
+ function Hs(t) {
1920
+ return t === 100 || t === 68 || t === 115 || t === 83 || t === 119 || t === 87;
1921
+ }
1922
+ d.regexp_eatUnicodePropertyValueExpression = function(t) {
1923
+ var e = t.pos;
1924
+ if (this.regexp_eatUnicodePropertyName(t) && t.eat(61)) {
1925
+ var s = t.lastStringValue;
1926
+ if (this.regexp_eatUnicodePropertyValue(t)) {
1927
+ var i = t.lastStringValue;
1928
+ return this.regexp_validateUnicodePropertyNameAndValue(t, s, i), W;
1929
+ }
1930
+ }
1931
+ if (t.pos = e, this.regexp_eatLoneUnicodePropertyNameOrValue(t)) {
1932
+ var r = t.lastStringValue;
1933
+ return this.regexp_validateUnicodePropertyNameOrValue(t, r);
1934
+ }
1935
+ return Je;
1936
+ };
1937
+ d.regexp_validateUnicodePropertyNameAndValue = function(t, e, s) {
1938
+ rt(t.unicodeProperties.nonBinary, e) || t.raise("Invalid property name"), t.unicodeProperties.nonBinary[e].test(s) || t.raise("Invalid property value");
1939
+ };
1940
+ d.regexp_validateUnicodePropertyNameOrValue = function(t, e) {
1941
+ if (t.unicodeProperties.binary.test(e)) return W;
1942
+ if (t.switchV && t.unicodeProperties.binaryOfStrings.test(e)) return O;
1943
+ t.raise("Invalid property name");
1944
+ };
1945
+ d.regexp_eatUnicodePropertyName = function(t) {
1946
+ var e = 0;
1947
+ for (t.lastStringValue = ""; Ke(e = t.current()); ) t.lastStringValue += H(e), t.advance();
1948
+ return t.lastStringValue !== "";
1949
+ };
1950
+ function Ke(t) {
1951
+ return Ge(t) || t === 95;
1952
+ }
1953
+ d.regexp_eatUnicodePropertyValue = function(t) {
1954
+ var e = 0;
1955
+ for (t.lastStringValue = ""; Ws(e = t.current()); ) t.lastStringValue += H(e), t.advance();
1956
+ return t.lastStringValue !== "";
1957
+ };
1958
+ function Ws(t) {
1959
+ return Ke(t) || Dt(t);
1960
+ }
1961
+ d.regexp_eatLoneUnicodePropertyNameOrValue = function(t) {
1962
+ return this.regexp_eatUnicodePropertyValue(t);
1963
+ };
1964
+ d.regexp_eatCharacterClass = function(t) {
1965
+ if (t.eat(91)) {
1966
+ var e = t.eat(94), s = this.regexp_classContents(t);
1967
+ return t.eat(93) || t.raise("Unterminated character class"), e && s === O && t.raise("Negated character class may contain strings"), !0;
1968
+ }
1969
+ return !1;
1970
+ };
1971
+ d.regexp_classContents = function(t) {
1972
+ return t.current() === 93 ? W : t.switchV ? this.regexp_classSetExpression(t) : (this.regexp_nonEmptyClassRanges(t), W);
1973
+ };
1974
+ d.regexp_nonEmptyClassRanges = function(t) {
1975
+ for (; this.regexp_eatClassAtom(t); ) {
1976
+ var e = t.lastIntValue;
1977
+ if (t.eat(45) && this.regexp_eatClassAtom(t)) {
1978
+ var s = t.lastIntValue;
1979
+ t.switchU && (e === -1 || s === -1) && t.raise("Invalid character class"), e !== -1 && s !== -1 && e > s && t.raise("Range out of order in character class");
1980
+ }
1981
+ }
1982
+ };
1983
+ d.regexp_eatClassAtom = function(t) {
1984
+ var e = t.pos;
1985
+ if (t.eat(92)) {
1986
+ if (this.regexp_eatClassEscape(t)) return !0;
1987
+ if (t.switchU) {
1988
+ var s = t.current();
1989
+ (s === 99 || We(s)) && t.raise("Invalid class escape"), t.raise("Invalid escape");
1990
+ }
1991
+ t.pos = e;
1992
+ }
1993
+ var i = t.current();
1994
+ return i !== 93 ? (t.lastIntValue = i, t.advance(), !0) : !1;
1995
+ };
1996
+ d.regexp_eatClassEscape = function(t) {
1997
+ var e = t.pos;
1998
+ if (t.eat(98)) return t.lastIntValue = 8, !0;
1999
+ if (t.switchU && t.eat(45)) return t.lastIntValue = 45, !0;
2000
+ if (!t.switchU && t.eat(99)) {
2001
+ if (this.regexp_eatClassControlLetter(t)) return !0;
2002
+ t.pos = e;
2003
+ }
2004
+ return this.regexp_eatCharacterClassEscape(t) || this.regexp_eatCharacterEscape(t);
2005
+ };
2006
+ d.regexp_classSetExpression = function(t) {
2007
+ var e = W, s;
2008
+ if (!this.regexp_eatClassSetRange(t)) if (s = this.regexp_eatClassSetOperand(t)) {
2009
+ s === O && (e = O);
2010
+ for (var i = t.pos; t.eatChars([38, 38]); ) {
2011
+ if (t.current() !== 38 && (s = this.regexp_eatClassSetOperand(t))) {
2012
+ s !== O && (e = W);
2013
+ continue;
2014
+ }
2015
+ t.raise("Invalid character in character class");
2016
+ }
2017
+ if (i !== t.pos) return e;
2018
+ for (; t.eatChars([45, 45]); ) this.regexp_eatClassSetOperand(t) || t.raise("Invalid character in character class");
2019
+ if (i !== t.pos) return e;
2020
+ } else t.raise("Invalid character in character class");
2021
+ for (; ; ) if (!this.regexp_eatClassSetRange(t)) {
2022
+ if (s = this.regexp_eatClassSetOperand(t), !s) return e;
2023
+ s === O && (e = O);
2024
+ }
2025
+ };
2026
+ d.regexp_eatClassSetRange = function(t) {
2027
+ var e = t.pos;
2028
+ if (this.regexp_eatClassSetCharacter(t)) {
2029
+ var s = t.lastIntValue;
2030
+ if (t.eat(45) && this.regexp_eatClassSetCharacter(t)) {
2031
+ var i = t.lastIntValue;
2032
+ return s !== -1 && i !== -1 && s > i && t.raise("Range out of order in character class"), !0;
2033
+ }
2034
+ t.pos = e;
2035
+ }
2036
+ return !1;
2037
+ };
2038
+ d.regexp_eatClassSetOperand = function(t) {
2039
+ return this.regexp_eatClassSetCharacter(t) ? W : this.regexp_eatClassStringDisjunction(t) || this.regexp_eatNestedClass(t);
2040
+ };
2041
+ d.regexp_eatNestedClass = function(t) {
2042
+ var e = t.pos;
2043
+ if (t.eat(91)) {
2044
+ var s = t.eat(94), i = this.regexp_classContents(t);
2045
+ if (t.eat(93)) return s && i === O && t.raise("Negated character class may contain strings"), i;
2046
+ t.pos = e;
2047
+ }
2048
+ if (t.eat(92)) {
2049
+ var r = this.regexp_eatCharacterClassEscape(t);
2050
+ if (r) return r;
2051
+ t.pos = e;
2052
+ }
2053
+ return null;
2054
+ };
2055
+ d.regexp_eatClassStringDisjunction = function(t) {
2056
+ var e = t.pos;
2057
+ if (t.eatChars([92, 113])) {
2058
+ if (t.eat(123)) {
2059
+ var s = this.regexp_classStringDisjunctionContents(t);
2060
+ if (t.eat(125)) return s;
2061
+ } else t.raise("Invalid escape");
2062
+ t.pos = e;
2063
+ }
2064
+ return null;
2065
+ };
2066
+ d.regexp_classStringDisjunctionContents = function(t) {
2067
+ for (var e = this.regexp_classString(t); t.eat(124); ) this.regexp_classString(t) === O && (e = O);
2068
+ return e;
2069
+ };
2070
+ d.regexp_classString = function(t) {
2071
+ for (var e = 0; this.regexp_eatClassSetCharacter(t); ) e++;
2072
+ return e === 1 ? W : O;
2073
+ };
2074
+ d.regexp_eatClassSetCharacter = function(t) {
2075
+ var e = t.pos;
2076
+ if (t.eat(92)) return this.regexp_eatCharacterEscape(t) || this.regexp_eatClassSetReservedPunctuator(t) ? !0 : t.eat(98) ? (t.lastIntValue = 8, !0) : (t.pos = e, !1);
2077
+ var s = t.current();
2078
+ return s < 0 || s === t.lookahead() && zs(s) || Qs(s) ? !1 : (t.advance(), t.lastIntValue = s, !0);
2079
+ };
2080
+ function zs(t) {
2081
+ return t === 33 || t >= 35 && t <= 38 || t >= 42 && t <= 44 || t === 46 || t >= 58 && t <= 64 || t === 94 || t === 96 || t === 126;
2082
+ }
2083
+ function Qs(t) {
2084
+ return t === 40 || t === 41 || t === 45 || t === 47 || t >= 91 && t <= 93 || t >= 123 && t <= 125;
2085
+ }
2086
+ d.regexp_eatClassSetReservedPunctuator = function(t) {
2087
+ var e = t.current();
2088
+ return $s(e) ? (t.lastIntValue = e, t.advance(), !0) : !1;
2089
+ };
2090
+ function $s(t) {
2091
+ return t === 33 || t === 35 || t === 37 || t === 38 || t === 44 || t === 45 || t >= 58 && t <= 62 || t === 64 || t === 96 || t === 126;
2092
+ }
2093
+ d.regexp_eatClassControlLetter = function(t) {
2094
+ var e = t.current();
2095
+ return Dt(e) || e === 95 ? (t.lastIntValue = e % 32, t.advance(), !0) : !1;
2096
+ };
2097
+ d.regexp_eatHexEscapeSequence = function(t) {
2098
+ var e = t.pos;
2099
+ if (t.eat(120)) {
2100
+ if (this.regexp_eatFixedHexDigits(t, 2)) return !0;
2101
+ t.switchU && t.raise("Invalid escape"), t.pos = e;
2102
+ }
2103
+ return !1;
2104
+ };
2105
+ d.regexp_eatDecimalDigits = function(t) {
2106
+ var e = t.pos, s = 0;
2107
+ for (t.lastIntValue = 0; Dt(s = t.current()); ) t.lastIntValue = 10 * t.lastIntValue + (s - 48), t.advance();
2108
+ return t.pos !== e;
2109
+ };
2110
+ function Dt(t) {
2111
+ return t >= 48 && t <= 57;
2112
+ }
2113
+ d.regexp_eatHexDigits = function(t) {
2114
+ var e = t.pos, s = 0;
2115
+ for (t.lastIntValue = 0; Xe(s = t.current()); ) t.lastIntValue = 16 * t.lastIntValue + He(s), t.advance();
2116
+ return t.pos !== e;
2117
+ };
2118
+ function Xe(t) {
2119
+ return t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102;
2120
+ }
2121
+ function He(t) {
2122
+ return t >= 65 && t <= 70 ? 10 + (t - 65) : t >= 97 && t <= 102 ? 10 + (t - 97) : t - 48;
2123
+ }
2124
+ d.regexp_eatLegacyOctalEscapeSequence = function(t) {
2125
+ if (this.regexp_eatOctalDigit(t)) {
2126
+ var e = t.lastIntValue;
2127
+ if (this.regexp_eatOctalDigit(t)) {
2128
+ var s = t.lastIntValue;
2129
+ e <= 3 && this.regexp_eatOctalDigit(t) ? t.lastIntValue = e * 64 + s * 8 + t.lastIntValue : t.lastIntValue = e * 8 + s;
2130
+ } else t.lastIntValue = e;
2131
+ return !0;
2132
+ }
2133
+ return !1;
2134
+ };
2135
+ d.regexp_eatOctalDigit = function(t) {
2136
+ var e = t.current();
2137
+ return We(e) ? (t.lastIntValue = e - 48, t.advance(), !0) : (t.lastIntValue = 0, !1);
2138
+ };
2139
+ function We(t) {
2140
+ return t >= 48 && t <= 55;
2141
+ }
2142
+ d.regexp_eatFixedHexDigits = function(t, e) {
2143
+ var s = t.pos;
2144
+ t.lastIntValue = 0;
2145
+ for (var i = 0; i < e; ++i) {
2146
+ var r = t.current();
2147
+ if (!Xe(r)) return t.pos = s, !1;
2148
+ t.lastIntValue = 16 * t.lastIntValue + He(r), t.advance();
2149
+ }
2150
+ return !0;
2151
+ };
2152
+ var $t = function(t) {
2153
+ this.type = t.type, this.value = t.value, this.start = t.start, this.end = t.end, t.options.locations && (this.loc = new St(t, t.startLoc, t.endLoc)), t.options.ranges && (this.range = [t.start, t.end]);
2154
+ }, C = w.prototype;
2155
+ C.next = function(t) {
2156
+ !t && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new $t(this)), this.lastTokEnd = this.end, this.lastTokStart = this.start, this.lastTokEndLoc = this.endLoc, this.lastTokStartLoc = this.startLoc, this.nextToken();
2157
+ };
2158
+ C.getToken = function() {
2159
+ return this.next(), new $t(this);
2160
+ };
2161
+ typeof Symbol < "u" && (C[Symbol.iterator] = function() {
2162
+ var t = this;
2163
+ return { next: function() {
2164
+ var e = t.getToken();
2165
+ return { done: e.type === a.eof, value: e };
2166
+ } };
2167
+ });
2168
+ C.nextToken = function() {
2169
+ var t = this.curContext();
2170
+ if ((!t || !t.preserveSpace) && this.skipSpace(), this.start = this.pos, this.options.locations && (this.startLoc = this.curPosition()), this.pos >= this.input.length) return this.finishToken(a.eof);
2171
+ if (t.override) return t.override(this);
2172
+ this.readToken(this.fullCharCodeAtPos());
2173
+ };
2174
+ C.readToken = function(t) {
2175
+ return G(t, this.options.ecmaVersion >= 6) || t === 92 ? this.readWord() : this.getTokenFromCode(t);
2176
+ };
2177
+ C.fullCharCodeAtPos = function() {
2178
+ var t = this.input.charCodeAt(this.pos);
2179
+ if (t <= 55295 || t >= 56320) return t;
2180
+ var e = this.input.charCodeAt(this.pos + 1);
2181
+ return e <= 56319 || e >= 57344 ? t : (t << 10) + e - 56613888;
2182
+ };
2183
+ C.skipBlockComment = function() {
2184
+ var t = this.options.onComment && this.curPosition(), e = this.pos, s = this.input.indexOf("*/", this.pos += 2);
2185
+ if (s === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = s + 2, this.options.locations) for (var i = void 0, r = e; (i = ge(this.input, r, this.pos)) > -1; ) ++this.curLine, r = this.lineStart = i;
2186
+ this.options.onComment && this.options.onComment(!0, this.input.slice(e + 2, s), e, this.pos, t, this.curPosition());
2187
+ };
2188
+ C.skipLineComment = function(t) {
2189
+ for (var e = this.pos, s = this.options.onComment && this.curPosition(), i = this.input.charCodeAt(this.pos += t); this.pos < this.input.length && !it(i); ) i = this.input.charCodeAt(++this.pos);
2190
+ this.options.onComment && this.options.onComment(!1, this.input.slice(e + t, this.pos), e, this.pos, s, this.curPosition());
2191
+ };
2192
+ C.skipSpace = function() {
2193
+ t: for (; this.pos < this.input.length; ) {
2194
+ var t = this.input.charCodeAt(this.pos);
2195
+ switch (t) {
2196
+ case 32:
2197
+ case 160:
2198
+ ++this.pos;
2199
+ break;
2200
+ case 13:
2201
+ this.input.charCodeAt(this.pos + 1) === 10 && ++this.pos;
2202
+ case 10:
2203
+ case 8232:
2204
+ case 8233:
2205
+ ++this.pos, this.options.locations && (++this.curLine, this.lineStart = this.pos);
2206
+ break;
2207
+ case 47:
2208
+ switch (this.input.charCodeAt(this.pos + 1)) {
2209
+ case 42:
2210
+ this.skipBlockComment();
2211
+ break;
2212
+ case 47:
2213
+ this.skipLineComment(2);
2214
+ break;
2215
+ default:
2216
+ break t;
2217
+ }
2218
+ break;
2219
+ default:
2220
+ if (t > 8 && t < 14 || t >= 5760 && Ae.test(String.fromCharCode(t))) ++this.pos;
2221
+ else break t;
2222
+ }
2223
+ }
2224
+ };
2225
+ C.finishToken = function(t, e) {
2226
+ this.end = this.pos, this.options.locations && (this.endLoc = this.curPosition());
2227
+ var s = this.type;
2228
+ this.type = t, this.value = e, this.updateContext(s);
2229
+ };
2230
+ C.readToken_dot = function() {
2231
+ var t = this.input.charCodeAt(this.pos + 1);
2232
+ if (t >= 48 && t <= 57) return this.readNumber(!0);
2233
+ var e = this.input.charCodeAt(this.pos + 2);
2234
+ return this.options.ecmaVersion >= 6 && t === 46 && e === 46 ? (this.pos += 3, this.finishToken(a.ellipsis)) : (++this.pos, this.finishToken(a.dot));
2235
+ };
2236
+ C.readToken_slash = function() {
2237
+ var t = this.input.charCodeAt(this.pos + 1);
2238
+ return this.exprAllowed ? (++this.pos, this.readRegexp()) : t === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.slash, 1);
2239
+ };
2240
+ C.readToken_mult_modulo_exp = function(t) {
2241
+ var e = this.input.charCodeAt(this.pos + 1), s = 1, i = t === 42 ? a.star : a.modulo;
2242
+ return this.options.ecmaVersion >= 7 && t === 42 && e === 42 && (++s, i = a.starstar, e = this.input.charCodeAt(this.pos + 2)), e === 61 ? this.finishOp(a.assign, s + 1) : this.finishOp(i, s);
2243
+ };
2244
+ C.readToken_pipe_amp = function(t) {
2245
+ var e = this.input.charCodeAt(this.pos + 1);
2246
+ if (e === t) {
2247
+ if (this.options.ecmaVersion >= 12) {
2248
+ var s = this.input.charCodeAt(this.pos + 2);
2249
+ if (s === 61) return this.finishOp(a.assign, 3);
2250
+ }
2251
+ return this.finishOp(t === 124 ? a.logicalOR : a.logicalAND, 2);
2252
+ }
2253
+ return e === 61 ? this.finishOp(a.assign, 2) : this.finishOp(t === 124 ? a.bitwiseOR : a.bitwiseAND, 1);
2254
+ };
2255
+ C.readToken_caret = function() {
2256
+ var t = this.input.charCodeAt(this.pos + 1);
2257
+ return t === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.bitwiseXOR, 1);
2258
+ };
2259
+ C.readToken_plus_min = function(t) {
2260
+ var e = this.input.charCodeAt(this.pos + 1);
2261
+ return e === t ? e === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || N.test(this.input.slice(this.lastTokEnd, this.pos))) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(a.incDec, 2) : e === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.plusMin, 1);
2262
+ };
2263
+ C.readToken_lt_gt = function(t) {
2264
+ var e = this.input.charCodeAt(this.pos + 1), s = 1;
2265
+ return e === t ? (s = t === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2, this.input.charCodeAt(this.pos + s) === 61 ? this.finishOp(a.assign, s + 1) : this.finishOp(a.bitShift, s)) : e === 33 && t === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && this.input.charCodeAt(this.pos + 3) === 45 ? (this.skipLineComment(4), this.skipSpace(), this.nextToken()) : (e === 61 && (s = 2), this.finishOp(a.relational, s));
2266
+ };
2267
+ C.readToken_eq_excl = function(t) {
2268
+ var e = this.input.charCodeAt(this.pos + 1);
2269
+ return e === 61 ? this.finishOp(a.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) : t === 61 && e === 62 && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(a.arrow)) : this.finishOp(t === 61 ? a.eq : a.prefix, 1);
2270
+ };
2271
+ C.readToken_question = function() {
2272
+ var t = this.options.ecmaVersion;
2273
+ if (t >= 11) {
2274
+ var e = this.input.charCodeAt(this.pos + 1);
2275
+ if (e === 46) {
2276
+ var s = this.input.charCodeAt(this.pos + 2);
2277
+ if (s < 48 || s > 57) return this.finishOp(a.questionDot, 2);
2278
+ }
2279
+ if (e === 63) {
2280
+ if (t >= 12) {
2281
+ var i = this.input.charCodeAt(this.pos + 2);
2282
+ if (i === 61) return this.finishOp(a.assign, 3);
2283
+ }
2284
+ return this.finishOp(a.coalesce, 2);
2285
+ }
2286
+ }
2287
+ return this.finishOp(a.question, 1);
2288
+ };
2289
+ C.readToken_numberSign = function() {
2290
+ var t = this.options.ecmaVersion, e = 35;
2291
+ if (t >= 13 && (++this.pos, e = this.fullCharCodeAtPos(), G(e, !0) || e === 92)) return this.finishToken(a.privateId, this.readWord1());
2292
+ this.raise(this.pos, "Unexpected character '" + H(e) + "'");
2293
+ };
2294
+ C.getTokenFromCode = function(t) {
2295
+ switch (t) {
2296
+ case 46:
2297
+ return this.readToken_dot();
2298
+ case 40:
2299
+ return ++this.pos, this.finishToken(a.parenL);
2300
+ case 41:
2301
+ return ++this.pos, this.finishToken(a.parenR);
2302
+ case 59:
2303
+ return ++this.pos, this.finishToken(a.semi);
2304
+ case 44:
2305
+ return ++this.pos, this.finishToken(a.comma);
2306
+ case 91:
2307
+ return ++this.pos, this.finishToken(a.bracketL);
2308
+ case 93:
2309
+ return ++this.pos, this.finishToken(a.bracketR);
2310
+ case 123:
2311
+ return ++this.pos, this.finishToken(a.braceL);
2312
+ case 125:
2313
+ return ++this.pos, this.finishToken(a.braceR);
2314
+ case 58:
2315
+ return ++this.pos, this.finishToken(a.colon);
2316
+ case 96:
2317
+ if (this.options.ecmaVersion < 6) break;
2318
+ return ++this.pos, this.finishToken(a.backQuote);
2319
+ case 48:
2320
+ var e = this.input.charCodeAt(this.pos + 1);
2321
+ if (e === 120 || e === 88) return this.readRadixNumber(16);
2322
+ if (this.options.ecmaVersion >= 6) {
2323
+ if (e === 111 || e === 79) return this.readRadixNumber(8);
2324
+ if (e === 98 || e === 66) return this.readRadixNumber(2);
2325
+ }
2326
+ case 49:
2327
+ case 50:
2328
+ case 51:
2329
+ case 52:
2330
+ case 53:
2331
+ case 54:
2332
+ case 55:
2333
+ case 56:
2334
+ case 57:
2335
+ return this.readNumber(!1);
2336
+ case 34:
2337
+ case 39:
2338
+ return this.readString(t);
2339
+ case 47:
2340
+ return this.readToken_slash();
2341
+ case 37:
2342
+ case 42:
2343
+ return this.readToken_mult_modulo_exp(t);
2344
+ case 124:
2345
+ case 38:
2346
+ return this.readToken_pipe_amp(t);
2347
+ case 94:
2348
+ return this.readToken_caret();
2349
+ case 43:
2350
+ case 45:
2351
+ return this.readToken_plus_min(t);
2352
+ case 60:
2353
+ case 62:
2354
+ return this.readToken_lt_gt(t);
2355
+ case 61:
2356
+ case 33:
2357
+ return this.readToken_eq_excl(t);
2358
+ case 63:
2359
+ return this.readToken_question();
2360
+ case 126:
2361
+ return this.finishOp(a.prefix, 1);
2362
+ case 35:
2363
+ return this.readToken_numberSign();
2364
+ }
2365
+ this.raise(this.pos, "Unexpected character '" + H(t) + "'");
2366
+ };
2367
+ C.finishOp = function(t, e) {
2368
+ var s = this.input.slice(this.pos, this.pos + e);
2369
+ return this.pos += e, this.finishToken(t, s);
2370
+ };
2371
+ C.readRegexp = function() {
2372
+ for (var t, e, s = this.pos; ; ) {
2373
+ this.pos >= this.input.length && this.raise(s, "Unterminated regular expression");
2374
+ var i = this.input.charAt(this.pos);
2375
+ if (N.test(i) && this.raise(s, "Unterminated regular expression"), t) t = !1;
2376
+ else {
2377
+ if (i === "[") e = !0;
2378
+ else if (i === "]" && e) e = !1;
2379
+ else if (i === "/" && !e) break;
2380
+ t = i === "\\";
2381
+ }
2382
+ ++this.pos;
2383
+ }
2384
+ var r = this.input.slice(s, this.pos);
2385
+ ++this.pos;
2386
+ var o = this.pos, u = this.readWord1();
2387
+ this.containsEsc && this.unexpected(o);
2388
+ var p = this.regexpState || (this.regexpState = new K(this));
2389
+ p.reset(s, r, u), this.validateRegExpFlags(p), this.validateRegExpPattern(p);
2390
+ var h = null;
2391
+ try {
2392
+ h = new RegExp(r, u);
2393
+ } catch {
2394
+ }
2395
+ return this.finishToken(a.regexp, { pattern: r, flags: u, value: h });
2396
+ };
2397
+ C.readInt = function(t, e, s) {
2398
+ for (var i = this.options.ecmaVersion >= 12 && e === void 0, r = s && this.input.charCodeAt(this.pos) === 48, o = this.pos, u = 0, p = 0, h = 0, l = e ?? 1 / 0; h < l; ++h, ++this.pos) {
2399
+ var m = this.input.charCodeAt(this.pos), A = void 0;
2400
+ if (i && m === 95) {
2401
+ r && this.raiseRecoverable(this.pos, "Numeric separator is not allowed in legacy octal numeric literals"), p === 95 && this.raiseRecoverable(this.pos, "Numeric separator must be exactly one underscore"), h === 0 && this.raiseRecoverable(this.pos, "Numeric separator is not allowed at the first of digits"), p = m;
2402
+ continue;
2403
+ }
2404
+ if (m >= 97 ? A = m - 97 + 10 : m >= 65 ? A = m - 65 + 10 : m >= 48 && m <= 57 ? A = m - 48 : A = 1 / 0, A >= t) break;
2405
+ p = m, u = u * t + A;
2406
+ }
2407
+ return i && p === 95 && this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"), this.pos === o || e != null && this.pos - o !== e ? null : u;
2408
+ };
2409
+ function Ys(t, e) {
2410
+ return e ? parseInt(t, 8) : parseFloat(t.replace(/_/g, ""));
2411
+ }
2412
+ function ze(t) {
2413
+ return typeof BigInt != "function" ? null : BigInt(t.replace(/_/g, ""));
2414
+ }
2415
+ C.readRadixNumber = function(t) {
2416
+ var e = this.pos;
2417
+ this.pos += 2;
2418
+ var s = this.readInt(t);
2419
+ return s == null && this.raise(this.start + 2, "Expected number in radix " + t), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (s = ze(this.input.slice(e, this.pos)), ++this.pos) : G(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(a.num, s);
2420
+ };
2421
+ C.readNumber = function(t) {
2422
+ var e = this.pos;
2423
+ !t && this.readInt(10, void 0, !0) === null && this.raise(e, "Invalid number");
2424
+ var s = this.pos - e >= 2 && this.input.charCodeAt(e) === 48;
2425
+ s && this.strict && this.raise(e, "Invalid number");
2426
+ var i = this.input.charCodeAt(this.pos);
2427
+ if (!s && !t && this.options.ecmaVersion >= 11 && i === 110) {
2428
+ var r = ze(this.input.slice(e, this.pos));
2429
+ return ++this.pos, G(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(a.num, r);
2430
+ }
2431
+ s && /[89]/.test(this.input.slice(e, this.pos)) && (s = !1), i === 46 && !s && (++this.pos, this.readInt(10), i = this.input.charCodeAt(this.pos)), (i === 69 || i === 101) && !s && (i = this.input.charCodeAt(++this.pos), (i === 43 || i === 45) && ++this.pos, this.readInt(10) === null && this.raise(e, "Invalid number")), G(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
2432
+ var o = Ys(this.input.slice(e, this.pos), s);
2433
+ return this.finishToken(a.num, o);
2434
+ };
2435
+ C.readCodePoint = function() {
2436
+ var t = this.input.charCodeAt(this.pos), e;
2437
+ if (t === 123) {
2438
+ this.options.ecmaVersion < 6 && this.unexpected();
2439
+ var s = ++this.pos;
2440
+ e = this.readHexChar(this.input.indexOf("}", this.pos) - this.pos), ++this.pos, e > 1114111 && this.invalidStringToken(s, "Code point out of bounds");
2441
+ } else e = this.readHexChar(4);
2442
+ return e;
2443
+ };
2444
+ C.readString = function(t) {
2445
+ for (var e = "", s = ++this.pos; ; ) {
2446
+ this.pos >= this.input.length && this.raise(this.start, "Unterminated string constant");
2447
+ var i = this.input.charCodeAt(this.pos);
2448
+ if (i === t) break;
2449
+ i === 92 ? (e += this.input.slice(s, this.pos), e += this.readEscapedChar(!1), s = this.pos) : i === 8232 || i === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (it(i) && this.raise(this.start, "Unterminated string constant"), ++this.pos);
2450
+ }
2451
+ return e += this.input.slice(s, this.pos++), this.finishToken(a.string, e);
2452
+ };
2453
+ var Qe = {};
2454
+ C.tryReadTemplateToken = function() {
2455
+ this.inTemplateElement = !0;
2456
+ try {
2457
+ this.readTmplToken();
2458
+ } catch (t) {
2459
+ if (t === Qe) this.readInvalidTemplateToken();
2460
+ else throw t;
2461
+ }
2462
+ this.inTemplateElement = !1;
2463
+ };
2464
+ C.invalidStringToken = function(t, e) {
2465
+ if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw Qe;
2466
+ this.raise(t, e);
2467
+ };
2468
+ C.readTmplToken = function() {
2469
+ for (var t = "", e = this.pos; ; ) {
2470
+ this.pos >= this.input.length && this.raise(this.start, "Unterminated template");
2471
+ var s = this.input.charCodeAt(this.pos);
2472
+ if (s === 96 || s === 36 && this.input.charCodeAt(this.pos + 1) === 123) return this.pos === this.start && (this.type === a.template || this.type === a.invalidTemplate) ? s === 36 ? (this.pos += 2, this.finishToken(a.dollarBraceL)) : (++this.pos, this.finishToken(a.backQuote)) : (t += this.input.slice(e, this.pos), this.finishToken(a.template, t));
2473
+ if (s === 92) t += this.input.slice(e, this.pos), t += this.readEscapedChar(!0), e = this.pos;
2474
+ else if (it(s)) {
2475
+ switch (t += this.input.slice(e, this.pos), ++this.pos, s) {
2476
+ case 13:
2477
+ this.input.charCodeAt(this.pos) === 10 && ++this.pos;
2478
+ case 10:
2479
+ t += `
2480
+ `;
2481
+ break;
2482
+ default:
2483
+ t += String.fromCharCode(s);
2484
+ break;
2485
+ }
2486
+ this.options.locations && (++this.curLine, this.lineStart = this.pos), e = this.pos;
2487
+ } else ++this.pos;
2488
+ }
2489
+ };
2490
+ C.readInvalidTemplateToken = function() {
2491
+ for (; this.pos < this.input.length; this.pos++) switch (this.input[this.pos]) {
2492
+ case "\\":
2493
+ ++this.pos;
2494
+ break;
2495
+ case "$":
2496
+ if (this.input[this.pos + 1] !== "{") break;
2497
+ case "`":
2498
+ return this.finishToken(a.invalidTemplate, this.input.slice(this.start, this.pos));
2499
+ case "\r":
2500
+ this.input[this.pos + 1] === `
2501
+ ` && ++this.pos;
2502
+ case `
2503
+ `:
2504
+ case "\u2028":
2505
+ case "\u2029":
2506
+ ++this.curLine, this.lineStart = this.pos + 1;
2507
+ break;
2508
+ }
2509
+ this.raise(this.start, "Unterminated template");
2510
+ };
2511
+ C.readEscapedChar = function(t) {
2512
+ var e = this.input.charCodeAt(++this.pos);
2513
+ switch (++this.pos, e) {
2514
+ case 110:
2515
+ return `
2516
+ `;
2517
+ case 114:
2518
+ return "\r";
2519
+ case 120:
2520
+ return String.fromCharCode(this.readHexChar(2));
2521
+ case 117:
2522
+ return H(this.readCodePoint());
2523
+ case 116:
2524
+ return " ";
2525
+ case 98:
2526
+ return "\b";
2527
+ case 118:
2528
+ return "\v";
2529
+ case 102:
2530
+ return "\f";
2531
+ case 13:
2532
+ this.input.charCodeAt(this.pos) === 10 && ++this.pos;
2533
+ case 10:
2534
+ return this.options.locations && (this.lineStart = this.pos, ++this.curLine), "";
2535
+ case 56:
2536
+ case 57:
2537
+ if (this.strict && this.invalidStringToken(this.pos - 1, "Invalid escape sequence"), t) {
2538
+ var s = this.pos - 1;
2539
+ this.invalidStringToken(s, "Invalid escape sequence in template string");
2540
+ }
2541
+ default:
2542
+ if (e >= 48 && e <= 55) {
2543
+ var i = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0], r = parseInt(i, 8);
2544
+ return r > 255 && (i = i.slice(0, -1), r = parseInt(i, 8)), this.pos += i.length - 1, e = this.input.charCodeAt(this.pos), (i !== "0" || e === 56 || e === 57) && (this.strict || t) && this.invalidStringToken(this.pos - 1 - i.length, t ? "Octal literal in template string" : "Octal literal in strict mode"), String.fromCharCode(r);
2545
+ }
2546
+ return it(e) ? (this.options.locations && (this.lineStart = this.pos, ++this.curLine), "") : String.fromCharCode(e);
2547
+ }
2548
+ };
2549
+ C.readHexChar = function(t) {
2550
+ var e = this.pos, s = this.readInt(16, t);
2551
+ return s === null && this.invalidStringToken(e, "Bad character escape sequence"), s;
2552
+ };
2553
+ C.readWord1 = function() {
2554
+ this.containsEsc = !1;
2555
+ for (var t = "", e = !0, s = this.pos, i = this.options.ecmaVersion >= 6; this.pos < this.input.length; ) {
2556
+ var r = this.fullCharCodeAtPos();
2557
+ if ($(r, i)) this.pos += r <= 65535 ? 1 : 2;
2558
+ else if (r === 92) {
2559
+ this.containsEsc = !0, t += this.input.slice(s, this.pos);
2560
+ var o = this.pos;
2561
+ this.input.charCodeAt(++this.pos) !== 117 && this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.pos;
2562
+ var u = this.readCodePoint();
2563
+ (e ? G : $)(u, i) || this.invalidStringToken(o, "Invalid Unicode escape"), t += H(u), s = this.pos;
2564
+ } else break;
2565
+ e = !1;
2566
+ }
2567
+ return t + this.input.slice(s, this.pos);
2568
+ };
2569
+ C.readWord = function() {
2570
+ var t = this.readWord1(), e = a.name;
2571
+ return this.keywords.test(t) && (e = Kt[t]), this.finishToken(e, t);
2572
+ };
2573
+ var Zs = "8.15.0";
2574
+ w.acorn = { Parser: w, version: Zs, defaultOptions: Mt, Position: pt, SourceLocation: St, getLineInfo: Ce, Node: wt, TokenType: b, tokTypes: a, keywordTypes: Kt, TokContext: U, tokContexts: T, isIdentifierChar: $, isIdentifierStart: G, Token: $t, isNewLine: it, lineBreak: N, lineBreakG: Es, nonASCIIwhitespace: Ae };
2575
+ var ti = fe(me());
2576
+ function ei(t, e) {
2577
+ let s = new SyntaxError(t + " (" + e.loc.start.line + ":" + e.loc.start.column + ")");
2578
+ return Object.assign(s, e);
2579
+ }
2580
+ var $e = ei;
2581
+ function Ye(t) {
2582
+ let e = [];
2583
+ for (let s of t) try {
2584
+ return s();
2585
+ } catch (i) {
2586
+ e.push(i);
2587
+ }
2588
+ throw Object.assign(new Error("All combinations failed"), { errors: e });
2589
+ }
2590
+ var Yt = (t, e) => (s, i, ...r) => s | 1 && i == null ? void 0 : (e.call(i) ?? i[t]).apply(i, r), si = Array.prototype.findLast ?? function(t) {
2591
+ for (let e = this.length - 1; e >= 0; e--) {
2592
+ let s = this[e];
2593
+ if (t(s, e, this)) return s;
2594
+ }
2595
+ }, ii = Yt("findLast", function() {
2596
+ if (Array.isArray(this)) return si;
2597
+ }), ri = ii;
2598
+ function ai(t) {
2599
+ return this[t < 0 ? this.length + t : t];
2600
+ }
2601
+ var ni = Yt("at", function() {
2602
+ if (Array.isArray(this) || typeof this == "string") return ai;
2603
+ }), Zt = ni;
2604
+ function X(t) {
2605
+ var i, r, o;
2606
+ let e = ((i = t.range) == null ? void 0 : i[0]) ?? t.start, s = (o = ((r = t.declaration) == null ? void 0 : r.decorators) ?? t.decorators) == null ? void 0 : o[0];
2607
+ return s ? Math.min(X(s), e) : e;
2608
+ }
2609
+ function q(t) {
2610
+ var e;
2611
+ return ((e = t.range) == null ? void 0 : e[1]) ?? t.end;
2612
+ }
2613
+ function oi(t) {
2614
+ let e = new Set(t);
2615
+ return (s) => e.has(s == null ? void 0 : s.type);
2616
+ }
2617
+ var te = oi, ui = te(["Block", "CommentBlock", "MultiLine"]), ee = ui, hi = te(["Line", "CommentLine", "SingleLine", "HashbangComment", "HTMLOpen", "HTMLClose", "Hashbang", "InterpreterDirective"]), pi = hi, Nt = /* @__PURE__ */ new WeakMap();
2618
+ function li(t) {
2619
+ return Nt.has(t) || Nt.set(t, ee(t) && t.value[0] === "*" && /@(?:type|satisfies)\b/u.test(t.value)), Nt.get(t);
2620
+ }
2621
+ var ci = li;
2622
+ function di(t) {
2623
+ if (!ee(t)) return !1;
2624
+ let e = `*${t.value}*`.split(`
2625
+ `);
2626
+ return e.length > 1 && e.every((s) => s.trimStart()[0] === "*");
2627
+ }
2628
+ var Lt = /* @__PURE__ */ new WeakMap();
2629
+ function fi(t) {
2630
+ return Lt.has(t) || Lt.set(t, di(t)), Lt.get(t);
2631
+ }
2632
+ var he = fi;
2633
+ function mi(t) {
2634
+ if (t.length < 2) return;
2635
+ let e;
2636
+ for (let s = t.length - 1; s >= 0; s--) {
2637
+ let i = t[s];
2638
+ if (e && q(i) === X(e) && he(i) && he(e) && (t.splice(s + 1, 1), i.value += "*//*" + e.value, i.range = [X(i), q(e)]), !pi(i) && !ee(i)) throw new TypeError(`Unknown comment type: "${i.type}".`);
2639
+ e = i;
2640
+ }
2641
+ }
2642
+ var xi = mi;
2643
+ function yi(t) {
2644
+ return t !== null && typeof t == "object";
2645
+ }
2646
+ var gi = yi, ot = null;
2647
+ function ht(t) {
2648
+ if (ot !== null && typeof ot.property) {
2649
+ let e = ot;
2650
+ return ot = ht.prototype = null, e;
2651
+ }
2652
+ return ot = ht.prototype = t ?? /* @__PURE__ */ Object.create(null), new ht();
2653
+ }
2654
+ var Ai = 10;
2655
+ for (let t = 0; t <= Ai; t++) ht();
2656
+ function vi(t) {
2657
+ return ht(t);
2658
+ }
2659
+ function Ci(t, e = "type") {
2660
+ vi(t);
2661
+ function s(i) {
2662
+ let r = i[e], o = t[r];
2663
+ if (!Array.isArray(o)) throw Object.assign(new Error(`Missing visitor keys for '${r}'.`), { node: i });
2664
+ return o;
2665
+ }
2666
+ return s;
2667
+ }
2668
+ var Ei = Ci, n = [["decorators", "key", "typeAnnotation", "value"], [], ["elementType"], ["expression"], ["expression", "typeAnnotation"], ["left", "right"], ["argument"], ["directives", "body"], ["label"], ["callee", "typeArguments", "arguments"], ["body"], ["decorators", "id", "typeParameters", "superClass", "superTypeArguments", "mixins", "implements", "body", "superTypeParameters"], ["id", "typeParameters"], ["decorators", "key", "typeParameters", "params", "returnType", "body"], ["decorators", "variance", "key", "typeAnnotation", "value"], ["name", "typeAnnotation"], ["test", "consequent", "alternate"], ["checkType", "extendsType", "trueType", "falseType"], ["value"], ["id", "body"], ["declaration", "specifiers", "source", "attributes"], ["id"], ["id", "typeParameters", "extends", "body"], ["typeAnnotation"], ["id", "typeParameters", "right"], ["body", "test"], ["members"], ["id", "init"], ["exported"], ["left", "right", "body"], ["id", "typeParameters", "params", "predicate", "returnType", "body"], ["id", "params", "body", "typeParameters", "returnType"], ["key", "value"], ["local"], ["objectType", "indexType"], ["typeParameter"], ["types"], ["node"], ["object", "property"], ["argument", "cases"], ["pattern", "body", "guard"], ["literal"], ["decorators", "key", "value"], ["expressions"], ["qualification", "id"], ["decorators", "key", "typeAnnotation"], ["typeParameters", "params", "returnType"], ["expression", "typeArguments"], ["params"], ["parameterName", "typeAnnotation"]], bi = { AccessorProperty: n[0], AnyTypeAnnotation: n[1], ArgumentPlaceholder: n[1], ArrayExpression: ["elements"], ArrayPattern: ["elements", "typeAnnotation", "decorators"], ArrayTypeAnnotation: n[2], ArrowFunctionExpression: ["typeParameters", "params", "predicate", "returnType", "body"], AsConstExpression: n[3], AsExpression: n[4], AssignmentExpression: n[5], AssignmentPattern: ["left", "right", "decorators", "typeAnnotation"], AwaitExpression: n[6], BigIntLiteral: n[1], BigIntLiteralTypeAnnotation: n[1], BigIntTypeAnnotation: n[1], BinaryExpression: n[5], BindExpression: ["object", "callee"], BlockStatement: n[7], BooleanLiteral: n[1], BooleanLiteralTypeAnnotation: n[1], BooleanTypeAnnotation: n[1], BreakStatement: n[8], CallExpression: n[9], CatchClause: ["param", "body"], ChainExpression: n[3], ClassAccessorProperty: n[0], ClassBody: n[10], ClassDeclaration: n[11], ClassExpression: n[11], ClassImplements: n[12], ClassMethod: n[13], ClassPrivateMethod: n[13], ClassPrivateProperty: n[14], ClassProperty: n[14], ComponentDeclaration: ["id", "params", "body", "typeParameters", "rendersType"], ComponentParameter: ["name", "local"], ComponentTypeAnnotation: ["params", "rest", "typeParameters", "rendersType"], ComponentTypeParameter: n[15], ConditionalExpression: n[16], ConditionalTypeAnnotation: n[17], ContinueStatement: n[8], DebuggerStatement: n[1], DeclareClass: ["id", "typeParameters", "extends", "mixins", "implements", "body"], DeclareComponent: ["id", "params", "rest", "typeParameters", "rendersType"], DeclaredPredicate: n[18], DeclareEnum: n[19], DeclareExportAllDeclaration: ["source", "attributes"], DeclareExportDeclaration: n[20], DeclareFunction: ["id", "predicate"], DeclareHook: n[21], DeclareInterface: n[22], DeclareModule: n[19], DeclareModuleExports: n[23], DeclareNamespace: n[19], DeclareOpaqueType: ["id", "typeParameters", "supertype", "lowerBound", "upperBound"], DeclareTypeAlias: n[24], DeclareVariable: n[21], Decorator: n[3], Directive: n[18], DirectiveLiteral: n[1], DoExpression: n[10], DoWhileStatement: n[25], EmptyStatement: n[1], EmptyTypeAnnotation: n[1], EnumBigIntBody: n[26], EnumBigIntMember: n[27], EnumBooleanBody: n[26], EnumBooleanMember: n[27], EnumDeclaration: n[19], EnumDefaultedMember: n[21], EnumNumberBody: n[26], EnumNumberMember: n[27], EnumStringBody: n[26], EnumStringMember: n[27], EnumSymbolBody: n[26], ExistsTypeAnnotation: n[1], ExperimentalRestProperty: n[6], ExperimentalSpreadProperty: n[6], ExportAllDeclaration: ["source", "attributes", "exported"], ExportDefaultDeclaration: ["declaration"], ExportDefaultSpecifier: n[28], ExportNamedDeclaration: n[20], ExportNamespaceSpecifier: n[28], ExportSpecifier: ["local", "exported"], ExpressionStatement: n[3], File: ["program"], ForInStatement: n[29], ForOfStatement: n[29], ForStatement: ["init", "test", "update", "body"], FunctionDeclaration: n[30], FunctionExpression: n[30], FunctionTypeAnnotation: ["typeParameters", "this", "params", "rest", "returnType"], FunctionTypeParam: n[15], GenericTypeAnnotation: n[12], HookDeclaration: n[31], HookTypeAnnotation: ["params", "returnType", "rest", "typeParameters"], Identifier: ["typeAnnotation", "decorators"], IfStatement: n[16], ImportAttribute: n[32], ImportDeclaration: ["specifiers", "source", "attributes"], ImportDefaultSpecifier: n[33], ImportExpression: ["source", "options"], ImportNamespaceSpecifier: n[33], ImportSpecifier: ["imported", "local"], IndexedAccessType: n[34], InferredPredicate: n[1], InferTypeAnnotation: n[35], InterfaceDeclaration: n[22], InterfaceExtends: n[12], InterfaceTypeAnnotation: ["extends", "body"], InterpreterDirective: n[1], IntersectionTypeAnnotation: n[36], JsExpressionRoot: n[37], JsonRoot: n[37], JSXAttribute: ["name", "value"], JSXClosingElement: ["name"], JSXClosingFragment: n[1], JSXElement: ["openingElement", "children", "closingElement"], JSXEmptyExpression: n[1], JSXExpressionContainer: n[3], JSXFragment: ["openingFragment", "children", "closingFragment"], JSXIdentifier: n[1], JSXMemberExpression: n[38], JSXNamespacedName: ["namespace", "name"], JSXOpeningElement: ["name", "typeArguments", "attributes"], JSXOpeningFragment: n[1], JSXSpreadAttribute: n[6], JSXSpreadChild: n[3], JSXText: n[1], KeyofTypeAnnotation: n[6], LabeledStatement: ["label", "body"], Literal: n[1], LogicalExpression: n[5], MatchArrayPattern: ["elements", "rest"], MatchAsPattern: ["pattern", "target"], MatchBindingPattern: n[21], MatchExpression: n[39], MatchExpressionCase: n[40], MatchIdentifierPattern: n[21], MatchLiteralPattern: n[41], MatchMemberPattern: ["base", "property"], MatchObjectPattern: ["properties", "rest"], MatchObjectPatternProperty: ["key", "pattern"], MatchOrPattern: ["patterns"], MatchRestPattern: n[6], MatchStatement: n[39], MatchStatementCase: n[40], MatchUnaryPattern: n[6], MatchWildcardPattern: n[1], MemberExpression: n[38], MetaProperty: ["meta", "property"], MethodDefinition: n[42], MixedTypeAnnotation: n[1], ModuleExpression: n[10], NeverTypeAnnotation: n[1], NewExpression: n[9], NGChainedExpression: n[43], NGEmptyExpression: n[1], NGMicrosyntax: n[10], NGMicrosyntaxAs: ["key", "alias"], NGMicrosyntaxExpression: ["expression", "alias"], NGMicrosyntaxKey: n[1], NGMicrosyntaxKeyedExpression: ["key", "expression"], NGMicrosyntaxLet: n[32], NGPipeExpression: ["left", "right", "arguments"], NGRoot: n[37], NullableTypeAnnotation: n[23], NullLiteral: n[1], NullLiteralTypeAnnotation: n[1], NumberLiteralTypeAnnotation: n[1], NumberTypeAnnotation: n[1], NumericLiteral: n[1], ObjectExpression: ["properties"], ObjectMethod: n[13], ObjectPattern: ["decorators", "properties", "typeAnnotation"], ObjectProperty: n[42], ObjectTypeAnnotation: ["properties", "indexers", "callProperties", "internalSlots"], ObjectTypeCallProperty: n[18], ObjectTypeIndexer: ["variance", "id", "key", "value"], ObjectTypeInternalSlot: ["id", "value"], ObjectTypeMappedTypeProperty: ["keyTparam", "propType", "sourceType", "variance"], ObjectTypeProperty: ["key", "value", "variance"], ObjectTypeSpreadProperty: n[6], OpaqueType: ["id", "typeParameters", "supertype", "impltype", "lowerBound", "upperBound"], OptionalCallExpression: n[9], OptionalIndexedAccessType: n[34], OptionalMemberExpression: n[38], ParenthesizedExpression: n[3], PipelineBareFunction: ["callee"], PipelinePrimaryTopicReference: n[1], PipelineTopicExpression: n[3], Placeholder: n[1], PrivateIdentifier: n[1], PrivateName: n[21], Program: n[7], Property: n[32], PropertyDefinition: n[14], QualifiedTypeIdentifier: n[44], QualifiedTypeofIdentifier: n[44], RegExpLiteral: n[1], RestElement: ["argument", "typeAnnotation", "decorators"], ReturnStatement: n[6], SatisfiesExpression: n[4], SequenceExpression: n[43], SpreadElement: n[6], StaticBlock: n[10], StringLiteral: n[1], StringLiteralTypeAnnotation: n[1], StringTypeAnnotation: n[1], Super: n[1], SwitchCase: ["test", "consequent"], SwitchStatement: ["discriminant", "cases"], SymbolTypeAnnotation: n[1], TaggedTemplateExpression: ["tag", "typeArguments", "quasi"], TemplateElement: n[1], TemplateLiteral: ["quasis", "expressions"], ThisExpression: n[1], ThisTypeAnnotation: n[1], ThrowStatement: n[6], TopicReference: n[1], TryStatement: ["block", "handler", "finalizer"], TSAbstractAccessorProperty: n[45], TSAbstractKeyword: n[1], TSAbstractMethodDefinition: n[32], TSAbstractPropertyDefinition: n[45], TSAnyKeyword: n[1], TSArrayType: n[2], TSAsExpression: n[4], TSAsyncKeyword: n[1], TSBigIntKeyword: n[1], TSBooleanKeyword: n[1], TSCallSignatureDeclaration: n[46], TSClassImplements: n[47], TSConditionalType: n[17], TSConstructorType: n[46], TSConstructSignatureDeclaration: n[46], TSDeclareFunction: n[31], TSDeclareKeyword: n[1], TSDeclareMethod: ["decorators", "key", "typeParameters", "params", "returnType"], TSEmptyBodyFunctionExpression: ["id", "typeParameters", "params", "returnType"], TSEnumBody: n[26], TSEnumDeclaration: n[19], TSEnumMember: ["id", "initializer"], TSExportAssignment: n[3], TSExportKeyword: n[1], TSExternalModuleReference: n[3], TSFunctionType: n[46], TSImportEqualsDeclaration: ["id", "moduleReference"], TSImportType: ["options", "qualifier", "typeArguments", "source"], TSIndexedAccessType: n[34], TSIndexSignature: ["parameters", "typeAnnotation"], TSInferType: n[35], TSInstantiationExpression: n[47], TSInterfaceBody: n[10], TSInterfaceDeclaration: n[22], TSInterfaceHeritage: n[47], TSIntersectionType: n[36], TSIntrinsicKeyword: n[1], TSJSDocAllType: n[1], TSJSDocNonNullableType: n[23], TSJSDocNullableType: n[23], TSJSDocUnknownType: n[1], TSLiteralType: n[41], TSMappedType: ["key", "constraint", "nameType", "typeAnnotation"], TSMethodSignature: ["key", "typeParameters", "params", "returnType"], TSModuleBlock: n[10], TSModuleDeclaration: n[19], TSNamedTupleMember: ["label", "elementType"], TSNamespaceExportDeclaration: n[21], TSNeverKeyword: n[1], TSNonNullExpression: n[3], TSNullKeyword: n[1], TSNumberKeyword: n[1], TSObjectKeyword: n[1], TSOptionalType: n[23], TSParameterProperty: ["parameter", "decorators"], TSParenthesizedType: n[23], TSPrivateKeyword: n[1], TSPropertySignature: ["key", "typeAnnotation"], TSProtectedKeyword: n[1], TSPublicKeyword: n[1], TSQualifiedName: n[5], TSReadonlyKeyword: n[1], TSRestType: n[23], TSSatisfiesExpression: n[4], TSStaticKeyword: n[1], TSStringKeyword: n[1], TSSymbolKeyword: n[1], TSTemplateLiteralType: ["quasis", "types"], TSThisType: n[1], TSTupleType: ["elementTypes"], TSTypeAliasDeclaration: ["id", "typeParameters", "typeAnnotation"], TSTypeAnnotation: n[23], TSTypeAssertion: n[4], TSTypeLiteral: n[26], TSTypeOperator: n[23], TSTypeParameter: ["name", "constraint", "default"], TSTypeParameterDeclaration: n[48], TSTypeParameterInstantiation: n[48], TSTypePredicate: n[49], TSTypeQuery: ["exprName", "typeArguments"], TSTypeReference: ["typeName", "typeArguments"], TSUndefinedKeyword: n[1], TSUnionType: n[36], TSUnknownKeyword: n[1], TSVoidKeyword: n[1], TupleTypeAnnotation: ["types", "elementTypes"], TupleTypeLabeledElement: ["label", "elementType", "variance"], TupleTypeSpreadElement: ["label", "typeAnnotation"], TypeAlias: n[24], TypeAnnotation: n[23], TypeCastExpression: n[4], TypeofTypeAnnotation: ["argument", "typeArguments"], TypeOperator: n[23], TypeParameter: ["bound", "default", "variance"], TypeParameterDeclaration: n[48], TypeParameterInstantiation: n[48], TypePredicate: n[49], UnaryExpression: n[6], UndefinedTypeAnnotation: n[1], UnionTypeAnnotation: n[36], UnknownTypeAnnotation: n[1], UpdateExpression: n[6], V8IntrinsicIdentifier: n[1], VariableDeclaration: ["declarations"], VariableDeclarator: n[27], Variance: n[1], VoidPattern: n[1], VoidTypeAnnotation: n[1], WhileStatement: n[25], WithStatement: ["object", "body"], YieldExpression: n[6] }, Si = Ei(bi), ki = Si;
2669
+ function At(t, e) {
2670
+ if (!gi(t)) return t;
2671
+ if (Array.isArray(t)) {
2672
+ for (let i = 0; i < t.length; i++) t[i] = At(t[i], e);
2673
+ return t;
2674
+ }
2675
+ if (e.onEnter) {
2676
+ let i = e.onEnter(t) ?? t;
2677
+ if (i !== t) return At(i, e);
2678
+ t = i;
2679
+ }
2680
+ let s = ki(t);
2681
+ for (let i = 0; i < s.length; i++) t[s[i]] = At(t[s[i]], e);
2682
+ return e.onLeave && (t = e.onLeave(t) || t), t;
2683
+ }
2684
+ var _i = At;
2685
+ te(["RegExpLiteral", "BigIntLiteral", "NumericLiteral", "StringLiteral", "DirectiveLiteral", "Literal", "JSXText", "TemplateElement", "StringLiteralTypeAnnotation", "NumberLiteralTypeAnnotation", "BigIntLiteralTypeAnnotation"]);
2686
+ function Ti(t, e) {
2687
+ let { parser: s, text: i } = e, { comments: r } = t, o = s === "oxc" && e.oxcAstType === "ts";
2688
+ xi(r);
2689
+ let u = t.type === "File" ? t.program : t;
2690
+ u.interpreter && (r.unshift(u.interpreter), delete u.interpreter), o && t.hashbang && (r.unshift(t.hashbang), delete t.hashbang), t.type === "Program" && (t.range = [0, i.length]);
2691
+ let p;
2692
+ return t = _i(t, { onEnter(h) {
2693
+ switch (h.type) {
2694
+ case "ParenthesizedExpression": {
2695
+ let { expression: l } = h, m = X(h);
2696
+ if (l.type === "TypeCastExpression") return l.range = [m, q(h)], l;
2697
+ let A = !1;
2698
+ if (!o) {
2699
+ if (!p) {
2700
+ p = [];
2701
+ for (let v of r) ci(v) && p.push(q(v));
2702
+ }
2703
+ let S = ri(0, p, (v) => v <= m);
2704
+ A = S && i.slice(S, m).trim().length === 0;
2705
+ }
2706
+ return A ? void 0 : (l.extra = { ...l.extra, parenthesized: !0 }, l);
2707
+ }
2708
+ case "TemplateLiteral":
2709
+ if (h.expressions.length !== h.quasis.length - 1) throw new Error("Malformed template literal.");
2710
+ break;
2711
+ case "TemplateElement":
2712
+ if (s === "flow" || s === "hermes" || s === "espree" || s === "typescript" || o) {
2713
+ let l = X(h) + 1, m = q(h) - (h.tail ? 1 : 2);
2714
+ h.range = [l, m];
2715
+ }
2716
+ break;
2717
+ case "VariableDeclaration": {
2718
+ let l = Zt(0, h.declarations, -1);
2719
+ l != null && l.init && i[q(l)] !== ";" && (h.range = [X(h), q(l)]);
2720
+ break;
2721
+ }
2722
+ case "TSParenthesizedType":
2723
+ return h.typeAnnotation;
2724
+ case "TopicReference":
2725
+ t.extra = { ...t.extra, __isUsingHackPipeline: !0 };
2726
+ break;
2727
+ case "TSUnionType":
2728
+ case "TSIntersectionType":
2729
+ if (h.types.length === 1) return h.types[0];
2730
+ break;
2731
+ case "ImportExpression":
2732
+ s === "hermes" && h.attributes && !h.options && (h.options = h.attributes);
2733
+ break;
2734
+ }
2735
+ }, onLeave(h) {
2736
+ switch (h.type) {
2737
+ case "LogicalExpression":
2738
+ if (Ze(h)) return qt(h);
2739
+ break;
2740
+ case "TSImportType":
2741
+ !h.source && h.argument.type === "TSLiteralType" && (h.source = h.argument.literal, delete h.argument);
2742
+ break;
2743
+ }
2744
+ } }), t;
2745
+ }
2746
+ function Ze(t) {
2747
+ return t.type === "LogicalExpression" && t.right.type === "LogicalExpression" && t.operator === t.right.operator;
2748
+ }
2749
+ function qt(t) {
2750
+ return Ze(t) ? qt({ type: "LogicalExpression", operator: t.operator, left: qt({ type: "LogicalExpression", operator: t.operator, left: t.left, right: t.right.left, range: [X(t.left), q(t.right.left)] }), right: t.right.right, range: [X(t), q(t)] }) : t;
2751
+ }
2752
+ var ts = Ti, wi = String.prototype.replaceAll ?? function(t, e) {
2753
+ return t.global ? this.replace(t, e) : this.split(t).join(e);
2754
+ }, Di = Yt("replaceAll", function() {
2755
+ if (typeof this == "string") return wi;
2756
+ }), gt = Di, Fi = /\*\/$/, Bi = /^\/\*\*?/, Ii = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/, Pi = /(^|\s+)\/\/([^\n\r]*)/g, pe = /^(\r?\n)+/, Ni = /(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g, le = /(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g, Li = /(\r?\n|^) *\* ?/g, Vi = [];
2757
+ function Ri(t) {
2758
+ let e = t.match(Ii);
2759
+ return e ? e[0].trimStart() : "";
2760
+ }
2761
+ function Oi(t) {
2762
+ t = gt(0, t.replace(Bi, "").replace(Fi, ""), Li, "$1");
2763
+ let e = "";
2764
+ for (; e !== t; ) e = t, t = gt(0, t, Ni, `
2765
+ $1 $2
2766
+ `);
2767
+ t = t.replace(pe, "").trimEnd();
2768
+ let s = /* @__PURE__ */ Object.create(null), i = gt(0, t, le, "").replace(pe, "").trimEnd(), r;
2769
+ for (; r = le.exec(t); ) {
2770
+ let o = gt(0, r[2], Pi, "");
2771
+ if (typeof s[r[1]] == "string" || Array.isArray(s[r[1]])) {
2772
+ let u = s[r[1]];
2773
+ s[r[1]] = [...Vi, ...Array.isArray(u) ? u : [u], o];
2774
+ } else s[r[1]] = o;
2775
+ }
2776
+ return { comments: i, pragmas: s };
2777
+ }
2778
+ var Mi = ["noformat", "noprettier"], ji = ["format", "prettier"];
2779
+ function Ui(t) {
2780
+ if (!t.startsWith("#!")) return "";
2781
+ let e = t.indexOf(`
2782
+ `);
2783
+ return e === -1 ? t : t.slice(0, e);
2784
+ }
2785
+ var qi = Ui;
2786
+ function es(t) {
2787
+ let e = qi(t);
2788
+ e && (t = t.slice(e.length + 1));
2789
+ let s = Ri(t), { pragmas: i, comments: r } = Oi(s);
2790
+ return { shebang: e, text: t, pragmas: i, comments: r };
2791
+ }
2792
+ function Gi(t) {
2793
+ let { pragmas: e } = es(t);
2794
+ return ji.some((s) => Object.prototype.hasOwnProperty.call(e, s));
2795
+ }
2796
+ function Ji(t) {
2797
+ let { pragmas: e } = es(t);
2798
+ return Mi.some((s) => Object.prototype.hasOwnProperty.call(e, s));
2799
+ }
2800
+ function Ki(t) {
2801
+ return t = typeof t == "function" ? { parse: t } : t, { astFormat: "estree", hasPragma: Gi, hasIgnorePragma: Ji, locStart: X, locEnd: q, ...t };
2802
+ }
2803
+ var ss = Ki, se = "module", Xi = "script", ie = "commonjs", is = [se, ie];
2804
+ function rs(t) {
2805
+ if (typeof t == "string") {
2806
+ if (t = t.toLowerCase(), /\.(?:mjs|mts)$/iu.test(t)) return se;
2807
+ if (/\.(?:cjs|cts)$/iu.test(t)) return ie;
2808
+ }
2809
+ }
2810
+ var Hi = { ecmaVersion: "latest", allowReserved: !0, allowReturnOutsideFunction: !0, allowSuperOutsideMethod: !0, checkPrivateFields: !1, locations: !1, ranges: !0, preserveParens: !0 };
2811
+ function Wi(t) {
2812
+ let { message: e, loc: s } = t;
2813
+ if (!s) return t;
2814
+ let { line: i, column: r } = s;
2815
+ return $e(e.replace(/ \(\d+:\d+\)$/u, ""), { loc: { start: { line: i, column: r + 1 } }, cause: t });
2816
+ }
2817
+ var Vt, zi = () => (Vt ?? (Vt = w.extend((0, ti.default)())), Vt);
2818
+ function Qi(t, e) {
2819
+ let s = zi(), i = [], r = s.parse(t, { ...Hi, sourceType: e === ie ? Xi : e, allowImportExportEverywhere: e === se, onComment: i });
2820
+ return r.comments = i, r;
2821
+ }
2822
+ function $i(t, e) {
2823
+ let s = rs(e == null ? void 0 : e.filepath), i = (s ? [s] : is).map((o) => () => Qi(t, o)), r;
2824
+ try {
2825
+ r = Ye(i);
2826
+ } catch ({ errors: [o] }) {
2827
+ throw Wi(o);
2828
+ }
2829
+ return ts(r, { text: t });
2830
+ }
2831
+ var Yi = ss($i), Zi = fe(me()), F = { Boolean: "Boolean", Identifier: "Identifier", PrivateIdentifier: "PrivateIdentifier", Keyword: "Keyword", Null: "Null", Numeric: "Numeric", Punctuator: "Punctuator", String: "String", RegularExpression: "RegularExpression", Template: "Template", JSXIdentifier: "JSXIdentifier", JSXText: "JSXText" };
2832
+ function tr(t, e) {
2833
+ let s = t[0], i = Zt(0, t, -1), r = { type: F.Template, value: e.slice(s.start, i.end) };
2834
+ return s.loc && (r.loc = { start: s.loc.start, end: i.loc.end }), s.range && (r.start = s.range[0], r.end = i.range[1], r.range = [r.start, r.end]), r;
2835
+ }
2836
+ function Gt(t, e) {
2837
+ this._acornTokTypes = t, this._tokens = [], this._curlyBrace = null, this._code = e;
2838
+ }
2839
+ Gt.prototype = { constructor: Gt, translate(t, e) {
2840
+ let s = t.type, i = this._acornTokTypes;
2841
+ if (s === i.name) t.type = F.Identifier, t.value === "static" && (t.type = F.Keyword), e.ecmaVersion > 5 && (t.value === "yield" || t.value === "let") && (t.type = F.Keyword);
2842
+ else if (s === i.privateId) t.type = F.PrivateIdentifier;
2843
+ else if (s === i.semi || s === i.comma || s === i.parenL || s === i.parenR || s === i.braceL || s === i.braceR || s === i.dot || s === i.bracketL || s === i.colon || s === i.question || s === i.bracketR || s === i.ellipsis || s === i.arrow || s === i.jsxTagStart || s === i.incDec || s === i.starstar || s === i.jsxTagEnd || s === i.prefix || s === i.questionDot || s.binop && !s.keyword || s.isAssign) t.type = F.Punctuator, t.value = this._code.slice(t.start, t.end);
2844
+ else if (s === i.jsxName) t.type = F.JSXIdentifier;
2845
+ else if (s.label === "jsxText" || s === i.jsxAttrValueToken) t.type = F.JSXText;
2846
+ else if (s.keyword) s.keyword === "true" || s.keyword === "false" ? t.type = F.Boolean : s.keyword === "null" ? t.type = F.Null : t.type = F.Keyword;
2847
+ else if (s === i.num) t.type = F.Numeric, t.value = this._code.slice(t.start, t.end);
2848
+ else if (s === i.string) e.jsxAttrValueToken ? (e.jsxAttrValueToken = !1, t.type = F.JSXText) : t.type = F.String, t.value = this._code.slice(t.start, t.end);
2849
+ else if (s === i.regexp) {
2850
+ t.type = F.RegularExpression;
2851
+ let r = t.value;
2852
+ t.regex = { flags: r.flags, pattern: r.pattern }, t.value = `/${r.pattern}/${r.flags}`;
2853
+ }
2854
+ return t;
2855
+ }, onToken(t, e) {
2856
+ let s = this._acornTokTypes, i = e.tokens, r = this._tokens, o = () => {
2857
+ i.push(tr(this._tokens, this._code)), this._tokens = [];
2858
+ };
2859
+ if (t.type === s.eof) {
2860
+ this._curlyBrace && i.push(this.translate(this._curlyBrace, e));
2861
+ return;
2862
+ }
2863
+ if (t.type === s.backQuote) {
2864
+ this._curlyBrace && (i.push(this.translate(this._curlyBrace, e)), this._curlyBrace = null), r.push(t), r.length > 1 && o();
2865
+ return;
2866
+ }
2867
+ if (t.type === s.dollarBraceL) {
2868
+ r.push(t), o();
2869
+ return;
2870
+ }
2871
+ if (t.type === s.braceR) {
2872
+ this._curlyBrace && i.push(this.translate(this._curlyBrace, e)), this._curlyBrace = t;
2873
+ return;
2874
+ }
2875
+ if (t.type === s.template || t.type === s.invalidTemplate) {
2876
+ this._curlyBrace && (r.push(this._curlyBrace), this._curlyBrace = null), r.push(t);
2877
+ return;
2878
+ }
2879
+ this._curlyBrace && (i.push(this.translate(this._curlyBrace, e)), this._curlyBrace = null), i.push(this.translate(t, e));
2880
+ } };
2881
+ var er = Gt, as = [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];
2882
+ function sr() {
2883
+ return Zt(0, as, -1);
2884
+ }
2885
+ function ir(t = 5) {
2886
+ let e = t === "latest" ? sr() : t;
2887
+ if (typeof e != "number") throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof t} instead.`);
2888
+ if (e >= 2015 && (e -= 2009), !as.includes(e)) throw new Error("Invalid ecmaVersion.");
2889
+ return e;
2890
+ }
2891
+ function rr(t = "script") {
2892
+ if (t === "script" || t === "module") return t;
2893
+ if (t === "commonjs") return "script";
2894
+ throw new Error("Invalid sourceType.");
2895
+ }
2896
+ function ar(t) {
2897
+ let e = ir(t.ecmaVersion), s = rr(t.sourceType), i = t.range === !0, r = t.loc === !0;
2898
+ if (e !== 3 && t.allowReserved) throw new Error("`allowReserved` is only supported when ecmaVersion is 3");
2899
+ if (typeof t.allowReserved < "u" && typeof t.allowReserved != "boolean") throw new Error("`allowReserved`, when present, must be `true` or `false`");
2900
+ let o = e === 3 ? t.allowReserved || "never" : !1, u = t.ecmaFeatures || {}, p = t.sourceType === "commonjs" || !!u.globalReturn;
2901
+ if (s === "module" && e < 6) throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");
2902
+ return Object.assign({}, t, { ecmaVersion: e, sourceType: s, ranges: i, locations: r, allowReserved: o, allowReturnOutsideFunction: p });
2903
+ }
2904
+ var tt = Symbol("espree's internal state"), Rt = Symbol("espree's esprimaFinishNode");
2905
+ function nr(t, e, s, i, r, o, u) {
2906
+ let p;
2907
+ t ? p = "Block" : u.slice(s, s + 2) === "#!" ? p = "Hashbang" : p = "Line";
2908
+ let h = { type: p, value: e };
2909
+ return typeof s == "number" && (h.start = s, h.end = i, h.range = [s, i]), typeof r == "object" && (h.loc = { start: r, end: o }), h;
2910
+ }
2911
+ var ce = () => (t) => {
2912
+ let e = Object.assign({}, t.acorn.tokTypes);
2913
+ return t.acornJsx && Object.assign(e, t.acornJsx.tokTypes), class extends t {
2914
+ constructor(s, i) {
2915
+ (typeof s != "object" || s === null) && (s = {}), typeof i != "string" && !(i instanceof String) && (i = String(i));
2916
+ let r = s.sourceType, o = ar(s), u = o.ecmaFeatures || {}, p = o.tokens === !0 ? new er(e, i) : null, h = { originalSourceType: r || o.sourceType, tokens: p ? [] : null, comments: o.comment === !0 ? [] : null, impliedStrict: u.impliedStrict === !0 && o.ecmaVersion >= 5, ecmaVersion: o.ecmaVersion, jsxAttrValueToken: !1, lastToken: null, templateElements: [] };
2917
+ super({ ecmaVersion: o.ecmaVersion, sourceType: o.sourceType, ranges: o.ranges, locations: o.locations, allowReserved: o.allowReserved, allowReturnOutsideFunction: o.allowReturnOutsideFunction, onToken(l) {
2918
+ p && p.onToken(l, h), l.type !== e.eof && (h.lastToken = l);
2919
+ }, onComment(l, m, A, S, v, k) {
2920
+ if (h.comments) {
2921
+ let L = nr(l, m, A, S, v, k, i);
2922
+ h.comments.push(L);
2923
+ }
2924
+ } }, i), this[tt] = h;
2925
+ }
2926
+ tokenize() {
2927
+ do
2928
+ this.next();
2929
+ while (this.type !== e.eof);
2930
+ this.next();
2931
+ let s = this[tt], i = s.tokens;
2932
+ return s.comments && (i.comments = s.comments), i;
2933
+ }
2934
+ finishNode(...s) {
2935
+ let i = super.finishNode(...s);
2936
+ return this[Rt](i);
2937
+ }
2938
+ finishNodeAt(...s) {
2939
+ let i = super.finishNodeAt(...s);
2940
+ return this[Rt](i);
2941
+ }
2942
+ parse() {
2943
+ let s = this[tt], i = super.parse();
2944
+ return i.sourceType = s.originalSourceType, s.comments && (i.comments = s.comments), s.tokens && (i.tokens = s.tokens), this[tt].templateElements.forEach((r) => {
2945
+ let o = r.tail ? 1 : 2;
2946
+ r.start += -1, r.end += o, r.range && (r.range[0] += -1, r.range[1] += o), r.loc && (r.loc.start.column += -1, r.loc.end.column += o);
2947
+ }), i;
2948
+ }
2949
+ parseTopLevel(s) {
2950
+ return this[tt].impliedStrict && (this.strict = !0), super.parseTopLevel(s);
2951
+ }
2952
+ raise(s, i) {
2953
+ let r = t.acorn.getLineInfo(this.input, s), o = new SyntaxError(i);
2954
+ throw o.index = s, o.lineNumber = r.line, o.column = r.column + 1, o;
2955
+ }
2956
+ raiseRecoverable(s, i) {
2957
+ this.raise(s, i);
2958
+ }
2959
+ unexpected(s) {
2960
+ let i = "Unexpected token";
2961
+ if (s != null) {
2962
+ if (this.pos = s, this.options.locations) for (; this.pos < this.lineStart; ) this.lineStart = this.input.lastIndexOf(`
2963
+ `, this.lineStart - 2) + 1, --this.curLine;
2964
+ this.nextToken();
2965
+ }
2966
+ this.end > this.start && (i += ` ${this.input.slice(this.start, this.end)}`), this.raise(this.start, i);
2967
+ }
2968
+ jsx_readString(s) {
2969
+ let i = super.jsx_readString(s);
2970
+ return this.type === e.string && (this[tt].jsxAttrValueToken = !0), i;
2971
+ }
2972
+ [Rt](s) {
2973
+ return s.type === "TemplateElement" && this[tt].templateElements.push(s), s.type.includes("Function") && !s.generator && (s.generator = !1), s;
2974
+ }
2975
+ };
2976
+ }, or = { _regular: null, _jsx: null, get regular() {
2977
+ return this._regular === null && (this._regular = w.extend(ce())), this._regular;
2978
+ }, get jsx() {
2979
+ return this._jsx === null && (this._jsx = w.extend((0, Zi.default)(), ce())), this._jsx;
2980
+ }, get(t) {
2981
+ return t && t.ecmaFeatures && t.ecmaFeatures.jsx ? this.jsx : this.regular;
2982
+ } };
2983
+ function ur(t, e) {
2984
+ let s = or.get(e);
2985
+ return new s(e, t).parse();
2986
+ }
2987
+ var hr = { ecmaVersion: "latest", range: !0, loc: !1, comment: !0, tokens: !1, ecmaFeatures: { jsx: !0, impliedStrict: !1 } };
2988
+ function pr(t) {
2989
+ let { message: e, lineNumber: s, column: i } = t;
2990
+ return typeof s != "number" ? t : $e(e, { loc: { start: { line: s, column: i } }, cause: t });
2991
+ }
2992
+ function lr(t, e) {
2993
+ let s = rs(e == null ? void 0 : e.filepath), i = (s ? [s] : is).map((o) => () => ur(t, { ...hr, sourceType: o })), r;
2994
+ try {
2995
+ r = Ye(i);
2996
+ } catch ({ errors: [o] }) {
2997
+ throw pr(o);
2998
+ }
2999
+ return ts(r, { parser: "espree", text: t });
3000
+ }
3001
+ var cr = ss(lr), dr = { acorn: Yi, espree: cr };
3002
+ export {
3003
+ ms as default,
3004
+ dr as parsers
3005
+ };