@rexeus/typeweaver 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,50 +1,50 @@
1
- var di = Object.create;
2
- var we = Object.defineProperty;
3
- var mi = Object.getOwnPropertyDescriptor;
4
- var xi = Object.getOwnPropertyNames;
5
- var yi = Object.getPrototypeOf, gi = Object.prototype.hasOwnProperty;
6
- var $e = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), vi = (e, t) => {
7
- for (var i in t) we(e, i, { get: t[i], enumerable: true });
8
- }, bi = (e, t, i, s) => {
9
- if (t && typeof t == "object" || typeof t == "function") for (let r of xi(t)) !gi.call(e, r) && r !== i && we(e, r, { get: () => t[r], enumerable: !(s = mi(t, r)) || s.enumerable });
1
+ var wi = Object.create;
2
+ var Le = Object.defineProperty;
3
+ var Pi = Object.getOwnPropertyDescriptor;
4
+ var Ii = Object.getOwnPropertyNames;
5
+ var Ni = Object.getPrototypeOf, Li = Object.prototype.hasOwnProperty;
6
+ var nt = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), Vi = (e, t) => {
7
+ for (var i in t) Le(e, i, { get: t[i], enumerable: true });
8
+ }, Ri = (e, t, i, s) => {
9
+ if (t && typeof t == "object" || typeof t == "function") for (let r of Ii(t)) !Li.call(e, r) && r !== i && Le(e, r, { get: () => t[r], enumerable: !(s = Pi(t, r)) || s.enumerable });
10
10
  return e;
11
11
  };
12
- var et = (e, t, i) => (i = e != null ? di(yi(e)) : {}, bi(we(i, "default", { value: e, enumerable: true }) , e));
13
- var Gt = $e((Qs, qt) => {
14
- qt.exports = {};
12
+ var ot = (e, t, i) => (i = e != null ? wi(Ni(e)) : {}, Ri(Le(i, "default", { value: e, enumerable: true }) , e));
13
+ var zt = nt((fr, Xt) => {
14
+ Xt.exports = {};
15
15
  });
16
- var Je = $e((Ys, Ge) => {
17
- var ns = Gt(), os = /^[\da-fA-F]+$/, us = /^\d+$/, Jt = /* @__PURE__ */ new WeakMap();
18
- function Kt(e) {
16
+ var Xe = nt((dr, We) => {
17
+ var bs = zt(), Ss = /^[\da-fA-F]+$/, _s = /^\d+$/, Qt = /* @__PURE__ */ new WeakMap();
18
+ function Yt(e) {
19
19
  e = e.Parser.acorn || e;
20
- let t = Jt.get(e);
20
+ let t = Qt.get(e);
21
21
  if (!t) {
22
- let i = e.tokTypes, s = e.TokContext, r = e.TokenType, n = new s("<tag", false), o = new s("</tag", false), u = new s("<tag>...</tag>", true, true), p = { tc_oTag: n, tc_cTag: o, tc_expr: u }, d = { jsxName: new r("jsxName"), jsxText: new r("jsxText", { beforeExpr: true }), jsxTagStart: new r("jsxTagStart", { startsExpr: true }), jsxTagEnd: new r("jsxTagEnd") };
23
- d.jsxTagStart.updateContext = function() {
24
- this.context.push(u), this.context.push(n), this.exprAllowed = false;
25
- }, d.jsxTagEnd.updateContext = function(f) {
26
- let C = this.context.pop();
27
- C === n && f === i.slash || C === o ? (this.context.pop(), this.exprAllowed = this.curContext() === u) : this.exprAllowed = true;
28
- }, t = { tokContexts: p, tokTypes: d }, Jt.set(e, t);
22
+ let i = e.tokTypes, s = e.TokContext, r = e.TokenType, n = new s("<tag", false), o = new s("</tag", false), p = new s("<tag>...</tag>", true, true), u = { tc_oTag: n, tc_cTag: o, tc_expr: p }, c = { jsxName: new r("jsxName"), jsxText: new r("jsxText", { beforeExpr: true }), jsxTagStart: new r("jsxTagStart", { startsExpr: true }), jsxTagEnd: new r("jsxTagEnd") };
23
+ c.jsxTagStart.updateContext = function() {
24
+ this.context.push(p), this.context.push(n), this.exprAllowed = false;
25
+ }, c.jsxTagEnd.updateContext = function(f) {
26
+ let v = this.context.pop();
27
+ v === n && f === i.slash || v === o ? (this.context.pop(), this.exprAllowed = this.curContext() === p) : this.exprAllowed = true;
28
+ }, t = { tokContexts: u, tokTypes: c }, Qt.set(e, t);
29
29
  }
30
30
  return t;
31
31
  }
32
- function ne(e) {
32
+ function pe(e) {
33
33
  if (!e) return e;
34
34
  if (e.type === "JSXIdentifier") return e.name;
35
35
  if (e.type === "JSXNamespacedName") return e.namespace.name + ":" + e.name.name;
36
- if (e.type === "JSXMemberExpression") return ne(e.object) + "." + ne(e.property);
36
+ if (e.type === "JSXMemberExpression") return pe(e.object) + "." + pe(e.property);
37
37
  }
38
- Ge.exports = function(e) {
38
+ We.exports = function(e) {
39
39
  return e = e || {}, function(t) {
40
- return ps({ allowNamespaces: e.allowNamespaces !== false, allowNamespacedObjects: !!e.allowNamespacedObjects }, t);
40
+ return Ts({ allowNamespaces: e.allowNamespaces !== false, allowNamespacedObjects: !!e.allowNamespacedObjects }, t);
41
41
  };
42
42
  };
43
- Object.defineProperty(Ge.exports, "tokTypes", { get: function() {
44
- return Kt(void 0).tokTypes;
43
+ Object.defineProperty(We.exports, "tokTypes", { get: function() {
44
+ return Yt(void 0).tokTypes;
45
45
  }, configurable: true, enumerable: true });
46
- function ps(e, t) {
47
- let i = t.acorn || void 0, s = Kt(i), r = i.tokTypes, n = s.tokTypes, o = i.tokContexts, u = s.tokContexts.tc_oTag, p = s.tokContexts.tc_cTag, d = s.tokContexts.tc_expr, f = i.isNewLine, C = i.isIdentifierStart, B = i.isIdentifierChar;
46
+ function Ts(e, t) {
47
+ let i = t.acorn || void 0, s = Yt(i), r = i.tokTypes, n = s.tokTypes, o = i.tokContexts, p = s.tokContexts.tc_oTag, u = s.tokContexts.tc_cTag, c = s.tokContexts.tc_expr, f = i.isNewLine, v = i.isIdentifierStart, T = i.isIdentifierChar;
48
48
  return class extends t {
49
49
  static get acornJsx() {
50
50
  return s;
@@ -88,21 +88,21 @@ var Je = $e((Ys, Ge) => {
88
88
  jsx_readEntity() {
89
89
  let h = "", m = 0, x, g = this.input[this.pos];
90
90
  g !== "&" && this.raise(this.pos, "Entity must start with an ampersand");
91
- let w = ++this.pos;
91
+ let N = ++this.pos;
92
92
  for (; this.pos < this.input.length && m++ < 10; ) {
93
93
  if (g = this.input[this.pos++], g === ";") {
94
- h[0] === "#" ? h[1] === "x" ? (h = h.substr(2), os.test(h) && (x = String.fromCharCode(parseInt(h, 16)))) : (h = h.substr(1), us.test(h) && (x = String.fromCharCode(parseInt(h, 10)))) : x = ns[h];
94
+ h[0] === "#" ? h[1] === "x" ? (h = h.substr(2), Ss.test(h) && (x = String.fromCharCode(parseInt(h, 16)))) : (h = h.substr(1), _s.test(h) && (x = String.fromCharCode(parseInt(h, 10)))) : x = bs[h];
95
95
  break;
96
96
  }
97
97
  h += g;
98
98
  }
99
- return x || (this.pos = w, "&");
99
+ return x || (this.pos = N, "&");
100
100
  }
101
101
  jsx_readWord() {
102
102
  let h, m = this.pos;
103
103
  do
104
104
  h = this.input.charCodeAt(++this.pos);
105
- while (B(h) || h === 45);
105
+ while (T(h) || h === 45);
106
106
  return this.finishToken(n.jsxName, this.input.slice(m, this.pos));
107
107
  }
108
108
  jsx_parseIdentifier() {
@@ -160,12 +160,12 @@ var Je = $e((Ys, Ge) => {
160
160
  return g && (x.name = g), this.expect(n.jsxTagEnd), this.finishNode(x, g ? "JSXClosingElement" : "JSXClosingFragment");
161
161
  }
162
162
  jsx_parseElementAt(h, m) {
163
- let x = this.startNodeAt(h, m), g = [], w = this.jsx_parseOpeningElementAt(h, m), he = null;
164
- if (!w.selfClosing) {
163
+ let x = this.startNodeAt(h, m), g = [], N = this.jsx_parseOpeningElementAt(h, m), le = null;
164
+ if (!N.selfClosing) {
165
165
  e: for (; ; ) switch (this.type) {
166
166
  case n.jsxTagStart:
167
167
  if (h = this.start, m = this.startLoc, this.next(), this.eat(r.slash)) {
168
- he = this.jsx_parseClosingElementAt(h, m);
168
+ le = this.jsx_parseClosingElementAt(h, m);
169
169
  break e;
170
170
  }
171
171
  g.push(this.jsx_parseElementAt(h, m));
@@ -179,10 +179,10 @@ var Je = $e((Ys, Ge) => {
179
179
  default:
180
180
  this.unexpected();
181
181
  }
182
- ne(he.name) !== ne(w.name) && this.raise(he.start, "Expected corresponding JSX closing tag for <" + ne(w.name) + ">");
182
+ pe(le.name) !== pe(N.name) && this.raise(le.start, "Expected corresponding JSX closing tag for <" + pe(N.name) + ">");
183
183
  }
184
- let Ee = w.name ? "Element" : "Fragment";
185
- return x["opening" + Ee] = w, x["closing" + Ee] = he, x.children = g, this.type === r.relational && this.value === "<" && this.raise(this.start, "Adjacent JSX elements must be wrapped in an enclosing tag"), this.finishNode(x, "JSX" + Ee);
184
+ let Ne = N.name ? "Element" : "Fragment";
185
+ return x["opening" + Ne] = N, x["closing" + Ne] = le, x.children = g, this.type === r.relational && this.value === "<" && this.raise(this.start, "Adjacent JSX elements must be wrapped in an enclosing tag"), this.finishNode(x, "JSX" + Ne);
186
186
  }
187
187
  jsx_parseText() {
188
188
  let h = this.parseLiteral(this.value);
@@ -197,28 +197,28 @@ var Je = $e((Ys, Ge) => {
197
197
  }
198
198
  readToken(h) {
199
199
  let m = this.curContext();
200
- if (m === d) return this.jsx_readToken();
201
- if (m === u || m === p) {
202
- if (C(h)) return this.jsx_readWord();
200
+ if (m === c) return this.jsx_readToken();
201
+ if (m === p || m === u) {
202
+ if (v(h)) return this.jsx_readWord();
203
203
  if (h == 62) return ++this.pos, this.finishToken(n.jsxTagEnd);
204
- if ((h === 34 || h === 39) && m == u) return this.jsx_readString(h);
204
+ if ((h === 34 || h === 39) && m == p) return this.jsx_readString(h);
205
205
  }
206
206
  return h === 60 && this.exprAllowed && this.input.charCodeAt(this.pos + 1) !== 33 ? (++this.pos, this.finishToken(n.jsxTagStart)) : super.readToken(h);
207
207
  }
208
208
  updateContext(h) {
209
209
  if (this.type == r.braceL) {
210
210
  var m = this.curContext();
211
- m == u ? this.context.push(o.b_expr) : m == d ? this.context.push(o.b_tmpl) : super.updateContext(h), this.exprAllowed = true;
212
- } else if (this.type === r.slash && h === n.jsxTagStart) this.context.length -= 2, this.context.push(p), this.exprAllowed = false;
211
+ m == p ? this.context.push(o.b_expr) : m == c ? this.context.push(o.b_tmpl) : super.updateContext(h), this.exprAllowed = true;
212
+ } else if (this.type === r.slash && h === n.jsxTagStart) this.context.length -= 2, this.context.push(u), this.exprAllowed = false;
213
213
  else return super.updateContext(h);
214
214
  }
215
215
  };
216
216
  }
217
217
  });
218
- var Ze = {};
219
- vi(Ze, { parsers: () => zs });
220
- var Si = [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], nt = [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], Ci = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", ot = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC", Ae = { 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" }, Pe = "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", _i = { 5: Pe, "5module": Pe + " export import", 6: Pe + " const class extends export import super" }, Ti = /^in(stanceof)?$/, ki = new RegExp("[" + ot + "]"), Ei = new RegExp("[" + ot + Ci + "]");
221
- function Ne(e, t) {
218
+ var at = {};
219
+ Vi(at, { parsers: () => cr });
220
+ var Oi = [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], ft = [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], Bi = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", dt = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC", Ve = { 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" }, Re = "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", Di = { 5: Re, "5module": Re + " export import", 6: Re + " const class extends export import super" }, Fi = /^in(stanceof)?$/, Mi = new RegExp("[" + dt + "]"), ji = new RegExp("[" + dt + Bi + "]");
221
+ function Be(e, t) {
222
222
  for (var i = 65536, s = 0; s < t.length; s += 2) {
223
223
  if (i += t[s], i > e) return false;
224
224
  if (i += t[s + 1], i >= e) return true;
@@ -226,214 +226,217 @@ function Ne(e, t) {
226
226
  return false;
227
227
  }
228
228
  function M(e, t) {
229
- return e < 65 ? e === 36 : e < 91 ? true : e < 97 ? e === 95 : e < 123 ? true : e <= 65535 ? e >= 170 && ki.test(String.fromCharCode(e)) : t === false ? false : Ne(e, nt);
229
+ return e < 65 ? e === 36 : e < 91 ? true : e < 97 ? e === 95 : e < 123 ? true : e <= 65535 ? e >= 170 && Mi.test(String.fromCharCode(e)) : t === false ? false : Be(e, ft);
230
230
  }
231
- function H(e, t) {
232
- return e < 48 ? e === 36 : e < 58 ? true : e < 65 ? false : e < 91 ? true : e < 97 ? e === 95 : e < 123 ? true : e <= 65535 ? e >= 170 && Ei.test(String.fromCharCode(e)) : t === false ? false : Ne(e, nt) || Ne(e, Si);
231
+ function K(e, t) {
232
+ return e < 48 ? e === 36 : e < 58 ? true : e < 65 ? false : e < 91 ? true : e < 97 ? e === 95 : e < 123 ? true : e <= 65535 ? e >= 170 && ji.test(String.fromCharCode(e)) : t === false ? false : Be(e, ft) || Be(e, Oi);
233
233
  }
234
- var S = function(t, i) {
234
+ var _ = function(t, i) {
235
235
  i === void 0 && (i = {}), this.label = t, this.keyword = i.keyword, this.beforeExpr = !!i.beforeExpr, this.startsExpr = !!i.startsExpr, this.isLoop = !!i.isLoop, this.isAssign = !!i.isAssign, this.prefix = !!i.prefix, this.postfix = !!i.postfix, this.binop = i.binop || null, this.updateContext = null;
236
236
  };
237
- function P(e, t) {
238
- return new S(e, { beforeExpr: true, binop: t });
237
+ function R(e, t) {
238
+ return new _(e, { beforeExpr: true, binop: t });
239
239
  }
240
- var I = { beforeExpr: true }, A = { startsExpr: true }, Oe = {};
241
- function b(e, t) {
242
- return t === void 0 && (t = {}), t.keyword = e, Oe[e] = new S(e, t);
240
+ var O = { beforeExpr: true }, L = { startsExpr: true }, je = {};
241
+ function S(e, t) {
242
+ return t === void 0 && (t = {}), t.keyword = e, je[e] = new _(e, t);
243
243
  }
244
- var a = { num: new S("num", A), regexp: new S("regexp", A), string: new S("string", A), name: new S("name", A), privateId: new S("privateId", A), eof: new S("eof"), bracketL: new S("[", { beforeExpr: true, startsExpr: true }), bracketR: new S("]"), braceL: new S("{", { beforeExpr: true, startsExpr: true }), braceR: new S("}"), parenL: new S("(", { beforeExpr: true, startsExpr: true }), parenR: new S(")"), comma: new S(",", I), semi: new S(";", I), colon: new S(":", I), dot: new S("."), question: new S("?", I), questionDot: new S("?."), arrow: new S("=>", I), template: new S("template"), invalidTemplate: new S("invalidTemplate"), ellipsis: new S("...", I), backQuote: new S("`", A), dollarBraceL: new S("${", { beforeExpr: true, startsExpr: true }), eq: new S("=", { beforeExpr: true, isAssign: true }), assign: new S("_=", { beforeExpr: true, isAssign: true }), incDec: new S("++/--", { prefix: true, postfix: true, startsExpr: true }), prefix: new S("!/~", { beforeExpr: true, prefix: true, startsExpr: true }), logicalOR: P("||", 1), logicalAND: P("&&", 2), bitwiseOR: P("|", 3), bitwiseXOR: P("^", 4), bitwiseAND: P("&", 5), equality: P("==/!=/===/!==", 6), relational: P("</>/<=/>=", 7), bitShift: P("<</>>/>>>", 8), plusMin: new S("+/-", { beforeExpr: true, binop: 9, prefix: true, startsExpr: true }), modulo: P("%", 10), star: P("*", 10), slash: P("/", 10), starstar: new S("**", { beforeExpr: true }), coalesce: P("??", 1), _break: b("break"), _case: b("case", I), _catch: b("catch"), _continue: b("continue"), _debugger: b("debugger"), _default: b("default", I), _do: b("do", { isLoop: true, beforeExpr: true }), _else: b("else", I), _finally: b("finally"), _for: b("for", { isLoop: true }), _function: b("function", A), _if: b("if"), _return: b("return", I), _switch: b("switch"), _throw: b("throw", I), _try: b("try"), _var: b("var"), _const: b("const"), _while: b("while", { isLoop: true }), _with: b("with"), _new: b("new", { beforeExpr: true, startsExpr: true }), _this: b("this", A), _super: b("super", A), _class: b("class", A), _extends: b("extends", I), _export: b("export"), _import: b("import", A), _null: b("null", A), _true: b("true", A), _false: b("false", A), _in: b("in", { beforeExpr: true, binop: 7 }), _instanceof: b("instanceof", { beforeExpr: true, binop: 7 }), _typeof: b("typeof", { beforeExpr: true, prefix: true, startsExpr: true }), _void: b("void", { beforeExpr: true, prefix: true, startsExpr: true }), _delete: b("delete", { beforeExpr: true, prefix: true, startsExpr: true }) }, L = /\r\n?|\n|\u2028|\u2029/, wi = new RegExp(L.source, "g");
245
- function Q(e) {
244
+ var a = { num: new _("num", L), regexp: new _("regexp", L), string: new _("string", L), name: new _("name", L), privateId: new _("privateId", L), eof: new _("eof"), bracketL: new _("[", { beforeExpr: true, startsExpr: true }), bracketR: new _("]"), braceL: new _("{", { beforeExpr: true, startsExpr: true }), braceR: new _("}"), parenL: new _("(", { beforeExpr: true, startsExpr: true }), parenR: new _(")"), comma: new _(",", O), semi: new _(";", O), colon: new _(":", O), dot: new _("."), question: new _("?", O), questionDot: new _("?."), arrow: new _("=>", O), template: new _("template"), invalidTemplate: new _("invalidTemplate"), ellipsis: new _("...", O), backQuote: new _("`", L), dollarBraceL: new _("${", { beforeExpr: true, startsExpr: true }), eq: new _("=", { beforeExpr: true, isAssign: true }), assign: new _("_=", { beforeExpr: true, isAssign: true }), incDec: new _("++/--", { prefix: true, postfix: true, startsExpr: true }), prefix: new _("!/~", { beforeExpr: true, prefix: true, startsExpr: true }), logicalOR: R("||", 1), logicalAND: R("&&", 2), bitwiseOR: R("|", 3), bitwiseXOR: R("^", 4), bitwiseAND: R("&", 5), equality: R("==/!=/===/!==", 6), relational: R("</>/<=/>=", 7), bitShift: R("<</>>/>>>", 8), plusMin: new _("+/-", { beforeExpr: true, binop: 9, prefix: true, startsExpr: true }), modulo: R("%", 10), star: R("*", 10), slash: R("/", 10), starstar: new _("**", { beforeExpr: true }), coalesce: R("??", 1), _break: S("break"), _case: S("case", O), _catch: S("catch"), _continue: S("continue"), _debugger: S("debugger"), _default: S("default", O), _do: S("do", { isLoop: true, beforeExpr: true }), _else: S("else", O), _finally: S("finally"), _for: S("for", { isLoop: true }), _function: S("function", L), _if: S("if"), _return: S("return", O), _switch: S("switch"), _throw: S("throw", O), _try: S("try"), _var: S("var"), _const: S("const"), _while: S("while", { isLoop: true }), _with: S("with"), _new: S("new", { beforeExpr: true, startsExpr: true }), _this: S("this", L), _super: S("super", L), _class: S("class", L), _extends: S("extends", O), _export: S("export"), _import: S("import", L), _null: S("null", L), _true: S("true", L), _false: S("false", L), _in: S("in", { beforeExpr: true, binop: 7 }), _instanceof: S("instanceof", { beforeExpr: true, binop: 7 }), _typeof: S("typeof", { beforeExpr: true, prefix: true, startsExpr: true }), _void: S("void", { beforeExpr: true, prefix: true, startsExpr: true }), _delete: S("delete", { beforeExpr: true, prefix: true, startsExpr: true }) }, V = /\r\n?|\n|\u2028|\u2029/, Ui = new RegExp(V.source, "g");
245
+ function Y(e) {
246
246
  return e === 10 || e === 13 || e === 8232 || e === 8233;
247
247
  }
248
- function ut(e, t, i) {
248
+ function mt(e, t, i) {
249
249
  i === void 0 && (i = e.length);
250
250
  for (var s = t; s < i; s++) {
251
251
  var r = e.charCodeAt(s);
252
- if (Q(r)) return s < i - 1 && r === 13 && e.charCodeAt(s + 1) === 10 ? s + 2 : s + 1;
252
+ if (Y(r)) return s < i - 1 && r === 13 && e.charCodeAt(s + 1) === 10 ? s + 2 : s + 1;
253
253
  }
254
254
  return -1;
255
255
  }
256
- var pt = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/, N = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, ht = Object.prototype, Ai = ht.hasOwnProperty, Pi = ht.toString, Y = Object.hasOwn || function(e, t) {
257
- return Ai.call(e, t);
258
- }, tt = Array.isArray || function(e) {
259
- return Pi.call(e) === "[object Array]";
260
- }, it = /* @__PURE__ */ Object.create(null);
261
- function K(e) {
262
- return it[e] || (it[e] = new RegExp("^(?:" + e.replace(/ /g, "|") + ")$"));
256
+ var xt = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/, A = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, yt = Object.prototype, Gi = yt.hasOwnProperty, qi = yt.toString, $ = Object.hasOwn || function(e, t) {
257
+ return Gi.call(e, t);
258
+ }, ut = Array.isArray || function(e) {
259
+ return qi.call(e) === "[object Array]";
260
+ }, pt = /* @__PURE__ */ Object.create(null);
261
+ function H(e) {
262
+ return pt[e] || (pt[e] = new RegExp("^(?:" + e.replace(/ /g, "|") + ")$"));
263
263
  }
264
- function U(e) {
264
+ function G(e) {
265
265
  return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode((e >> 10) + 55296, (e & 1023) + 56320));
266
266
  }
267
- var Ii = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/, ie = function(t, i) {
267
+ var Ji = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/, ae = function(t, i) {
268
268
  this.line = t, this.column = i;
269
269
  };
270
- ie.prototype.offset = function(t) {
271
- return new ie(this.line, this.column + t);
270
+ ae.prototype.offset = function(t) {
271
+ return new ae(this.line, this.column + t);
272
272
  };
273
- var xe = function(t, i, s) {
273
+ var ge = function(t, i, s) {
274
274
  this.start = i, this.end = s, t.sourceFile !== null && (this.source = t.sourceFile);
275
275
  };
276
- function ct(e, t) {
276
+ function gt(e, t) {
277
277
  for (var i = 1, s = 0; ; ) {
278
- var r = ut(e, s, t);
279
- if (r < 0) return new ie(i, t - s);
278
+ var r = mt(e, s, t);
279
+ if (r < 0) return new ae(i, t - s);
280
280
  ++i, s = r;
281
281
  }
282
282
  }
283
- var Ve = { ecmaVersion: null, sourceType: "script", onInsertedSemicolon: null, onTrailingComma: null, allowReserved: null, allowReturnOutsideFunction: false, allowImportExportEverywhere: false, allowAwaitOutsideFunction: null, allowSuperOutsideMethod: null, allowHashBang: false, checkPrivateFields: true, locations: false, onToken: null, onComment: null, ranges: false, program: null, sourceFile: null, directSourceFile: null, preserveParens: false }, st = false;
284
- function Ni(e) {
283
+ var De = { ecmaVersion: null, sourceType: "script", onInsertedSemicolon: null, onTrailingComma: null, allowReserved: null, allowReturnOutsideFunction: false, allowImportExportEverywhere: false, allowAwaitOutsideFunction: null, allowSuperOutsideMethod: null, allowHashBang: false, checkPrivateFields: true, locations: false, onToken: null, onComment: null, ranges: false, program: null, sourceFile: null, directSourceFile: null, preserveParens: false }, ht = false;
284
+ function Hi(e) {
285
285
  var t = {};
286
- for (var i in Ve) t[i] = e && Y(e, i) ? e[i] : Ve[i];
287
- if (t.ecmaVersion === "latest" ? t.ecmaVersion = 1e8 : t.ecmaVersion == null ? (!st && typeof console == "object" && console.warn && (st = true, console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
288
- Defaulting to 2020, but this will stop working in the future.`)), t.ecmaVersion = 11) : t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), t.allowReserved == null && (t.allowReserved = t.ecmaVersion < 5), (!e || e.allowHashBang == null) && (t.allowHashBang = t.ecmaVersion >= 14), tt(t.onToken)) {
286
+ for (var i in De) t[i] = e && $(e, i) ? e[i] : De[i];
287
+ if (t.ecmaVersion === "latest" ? t.ecmaVersion = 1e8 : t.ecmaVersion == null ? (!ht && typeof console == "object" && console.warn && (ht = true, console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required.
288
+ Defaulting to 2020, but this will stop working in the future.`)), t.ecmaVersion = 11) : t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), t.allowReserved == null && (t.allowReserved = t.ecmaVersion < 5), (!e || e.allowHashBang == null) && (t.allowHashBang = t.ecmaVersion >= 14), ut(t.onToken)) {
289
289
  var s = t.onToken;
290
290
  t.onToken = function(r) {
291
291
  return s.push(r);
292
292
  };
293
293
  }
294
- return tt(t.onComment) && (t.onComment = Vi(t, t.onComment)), t;
294
+ return ut(t.onComment) && (t.onComment = Ki(t, t.onComment)), t;
295
295
  }
296
- function Vi(e, t) {
297
- return function(i, s, r, n, o, u) {
298
- var p = { type: i ? "Block" : "Line", value: s, start: r, end: n };
299
- e.locations && (p.loc = new xe(this, o, u)), e.ranges && (p.range = [r, n]), t.push(p);
296
+ function Ki(e, t) {
297
+ return function(i, s, r, n, o, p) {
298
+ var u = { type: i ? "Block" : "Line", value: s, start: r, end: n };
299
+ e.locations && (u.loc = new ge(this, o, p)), e.ranges && (u.range = [r, n]), t.push(u);
300
300
  };
301
301
  }
302
- var se = 1, Z = 2, Be = 4, lt = 8, ft = 16, dt = 32, De = 64, mt = 128, re = 256, Fe = se | Z | re;
303
- function je(e, t) {
304
- return Z | (e ? Be : 0) | (t ? lt : 0);
302
+ var ne = 1, Z = 2, Ue = 4, vt = 8, Ge = 16, bt = 32, ve = 64, St = 128, X = 256, oe = 512, be = ne | Z | X;
303
+ function qe(e, t) {
304
+ return Z | (e ? Ue : 0) | (t ? vt : 0);
305
305
  }
306
- var le = 0, Me = 1, G = 2, xt = 3, yt = 4, gt = 5, T = function(t, i, s) {
307
- this.options = t = Ni(t), this.sourceFile = t.sourceFile, this.keywords = K(_i[t.ecmaVersion >= 6 ? 6 : t.sourceType === "module" ? "5module" : 5]);
306
+ var de = 0, Je = 1, J = 2, _t = 3, Tt = 4, Ct = 5, E = function(t, i, s) {
307
+ this.options = t = Hi(t), this.sourceFile = t.sourceFile, this.keywords = H(Di[t.ecmaVersion >= 6 ? 6 : t.sourceType === "module" ? "5module" : 5]);
308
308
  var r = "";
309
- t.allowReserved !== true && (r = Ae[t.ecmaVersion >= 6 ? 6 : t.ecmaVersion === 5 ? 5 : 3], t.sourceType === "module" && (r += " await")), this.reservedWords = K(r);
310
- var n = (r ? r + " " : "") + Ae.strict;
311
- this.reservedWordsStrict = K(n), this.reservedWordsStrictBind = K(n + " " + Ae.strictBind), this.input = String(i), this.containsEsc = false, s ? (this.pos = s, this.lineStart = this.input.lastIndexOf(`
312
- `, s - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(L).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 = true, this.inModule = t.sourceType === "module", this.strict = this.inModule || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = false, 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(se), this.regexpState = null, this.privateNameStack = [];
313
- }, F = { inFunction: { configurable: true }, inGenerator: { configurable: true }, inAsync: { configurable: true }, canAwait: { configurable: true }, allowSuper: { configurable: true }, allowDirectSuper: { configurable: true }, treatFunctionsAsVar: { configurable: true }, allowNewDotTarget: { configurable: true }, inClassStaticBlock: { configurable: true } };
314
- T.prototype.parse = function() {
309
+ t.allowReserved !== true && (r = Ve[t.ecmaVersion >= 6 ? 6 : t.ecmaVersion === 5 ? 5 : 3], t.sourceType === "module" && (r += " await")), this.reservedWords = H(r);
310
+ var n = (r ? r + " " : "") + Ve.strict;
311
+ this.reservedWordsStrict = H(n), this.reservedWordsStrictBind = H(n + " " + Ve.strictBind), this.input = String(i), this.containsEsc = false, s ? (this.pos = s, this.lineStart = this.input.lastIndexOf(`
312
+ `, s - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(V).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 = true, this.inModule = t.sourceType === "module", this.strict = this.inModule || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = false, 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(ne), this.regexpState = null, this.privateNameStack = [];
313
+ }, j = { inFunction: { configurable: true }, inGenerator: { configurable: true }, inAsync: { configurable: true }, canAwait: { configurable: true }, allowSuper: { configurable: true }, allowDirectSuper: { configurable: true }, treatFunctionsAsVar: { configurable: true }, allowNewDotTarget: { configurable: true }, inClassStaticBlock: { configurable: true } };
314
+ E.prototype.parse = function() {
315
315
  var t = this.options.program || this.startNode();
316
316
  return this.nextToken(), this.parseTopLevel(t);
317
317
  };
318
- F.inFunction.get = function() {
318
+ j.inFunction.get = function() {
319
319
  return (this.currentVarScope().flags & Z) > 0;
320
320
  };
321
- F.inGenerator.get = function() {
322
- return (this.currentVarScope().flags & lt) > 0 && !this.currentVarScope().inClassFieldInit;
321
+ j.inGenerator.get = function() {
322
+ return (this.currentVarScope().flags & vt) > 0;
323
323
  };
324
- F.inAsync.get = function() {
325
- return (this.currentVarScope().flags & Be) > 0 && !this.currentVarScope().inClassFieldInit;
324
+ j.inAsync.get = function() {
325
+ return (this.currentVarScope().flags & Ue) > 0;
326
326
  };
327
- F.canAwait.get = function() {
327
+ j.canAwait.get = function() {
328
328
  for (var e = this.scopeStack.length - 1; e >= 0; e--) {
329
- var t = this.scopeStack[e];
330
- if (t.inClassFieldInit || t.flags & re) return false;
331
- if (t.flags & Z) return (t.flags & Be) > 0;
329
+ var t = this.scopeStack[e], i = t.flags;
330
+ if (i & (X | oe)) return false;
331
+ if (i & Z) return (i & Ue) > 0;
332
332
  }
333
333
  return this.inModule && this.options.ecmaVersion >= 13 || this.options.allowAwaitOutsideFunction;
334
334
  };
335
- F.allowSuper.get = function() {
336
- var e = this.currentThisScope(), t = e.flags, i = e.inClassFieldInit;
337
- return (t & De) > 0 || i || this.options.allowSuperOutsideMethod;
335
+ j.allowSuper.get = function() {
336
+ var e = this.currentThisScope(), t = e.flags;
337
+ return (t & ve) > 0 || this.options.allowSuperOutsideMethod;
338
338
  };
339
- F.allowDirectSuper.get = function() {
340
- return (this.currentThisScope().flags & mt) > 0;
339
+ j.allowDirectSuper.get = function() {
340
+ return (this.currentThisScope().flags & St) > 0;
341
341
  };
342
- F.treatFunctionsAsVar.get = function() {
342
+ j.treatFunctionsAsVar.get = function() {
343
343
  return this.treatFunctionsAsVarInScope(this.currentScope());
344
344
  };
345
- F.allowNewDotTarget.get = function() {
346
- var e = this.currentThisScope(), t = e.flags, i = e.inClassFieldInit;
347
- return (t & (Z | re)) > 0 || i;
345
+ j.allowNewDotTarget.get = function() {
346
+ for (var e = this.scopeStack.length - 1; e >= 0; e--) {
347
+ var t = this.scopeStack[e], i = t.flags;
348
+ if (i & (X | oe) || i & Z && !(i & Ge)) return true;
349
+ }
350
+ return false;
348
351
  };
349
- F.inClassStaticBlock.get = function() {
350
- return (this.currentVarScope().flags & re) > 0;
352
+ j.inClassStaticBlock.get = function() {
353
+ return (this.currentVarScope().flags & X) > 0;
351
354
  };
352
- T.extend = function() {
355
+ E.extend = function() {
353
356
  for (var t = [], i = arguments.length; i--; ) t[i] = arguments[i];
354
357
  for (var s = this, r = 0; r < t.length; r++) s = t[r](s);
355
358
  return s;
356
359
  };
357
- T.parse = function(t, i) {
360
+ E.parse = function(t, i) {
358
361
  return new this(i, t).parse();
359
362
  };
360
- T.parseExpressionAt = function(t, i, s) {
363
+ E.parseExpressionAt = function(t, i, s) {
361
364
  var r = new this(s, t, i);
362
365
  return r.nextToken(), r.parseExpression();
363
366
  };
364
- T.tokenizer = function(t, i) {
367
+ E.tokenizer = function(t, i) {
365
368
  return new this(i, t);
366
369
  };
367
- Object.defineProperties(T.prototype, F);
368
- var k = T.prototype, Li = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
369
- k.strictDirective = function(e) {
370
+ Object.defineProperties(E.prototype, j);
371
+ var P = E.prototype, Wi = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
372
+ P.strictDirective = function(e) {
370
373
  if (this.options.ecmaVersion < 5) return false;
371
374
  for (; ; ) {
372
- N.lastIndex = e, e += N.exec(this.input)[0].length;
373
- var t = Li.exec(this.input.slice(e));
375
+ A.lastIndex = e, e += A.exec(this.input)[0].length;
376
+ var t = Wi.exec(this.input.slice(e));
374
377
  if (!t) return false;
375
378
  if ((t[1] || t[2]) === "use strict") {
376
- N.lastIndex = e + t[0].length;
377
- var i = N.exec(this.input), s = i.index + i[0].length, r = this.input.charAt(s);
378
- return r === ";" || r === "}" || L.test(i[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(r) || r === "!" && this.input.charAt(s + 1) === "=");
379
+ A.lastIndex = e + t[0].length;
380
+ var i = A.exec(this.input), s = i.index + i[0].length, r = this.input.charAt(s);
381
+ return r === ";" || r === "}" || V.test(i[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(r) || r === "!" && this.input.charAt(s + 1) === "=");
379
382
  }
380
- e += t[0].length, N.lastIndex = e, e += N.exec(this.input)[0].length, this.input[e] === ";" && e++;
383
+ e += t[0].length, A.lastIndex = e, e += A.exec(this.input)[0].length, this.input[e] === ";" && e++;
381
384
  }
382
385
  };
383
- k.eat = function(e) {
386
+ P.eat = function(e) {
384
387
  return this.type === e ? (this.next(), true) : false;
385
388
  };
386
- k.isContextual = function(e) {
389
+ P.isContextual = function(e) {
387
390
  return this.type === a.name && this.value === e && !this.containsEsc;
388
391
  };
389
- k.eatContextual = function(e) {
392
+ P.eatContextual = function(e) {
390
393
  return this.isContextual(e) ? (this.next(), true) : false;
391
394
  };
392
- k.expectContextual = function(e) {
395
+ P.expectContextual = function(e) {
393
396
  this.eatContextual(e) || this.unexpected();
394
397
  };
395
- k.canInsertSemicolon = function() {
396
- return this.type === a.eof || this.type === a.braceR || L.test(this.input.slice(this.lastTokEnd, this.start));
398
+ P.canInsertSemicolon = function() {
399
+ return this.type === a.eof || this.type === a.braceR || V.test(this.input.slice(this.lastTokEnd, this.start));
397
400
  };
398
- k.insertSemicolon = function() {
401
+ P.insertSemicolon = function() {
399
402
  if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc), true;
400
403
  };
401
- k.semicolon = function() {
404
+ P.semicolon = function() {
402
405
  !this.eat(a.semi) && !this.insertSemicolon() && this.unexpected();
403
406
  };
404
- k.afterTrailingComma = function(e, t) {
407
+ P.afterTrailingComma = function(e, t) {
405
408
  if (this.type === e) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc), t || this.next(), true;
406
409
  };
407
- k.expect = function(e) {
410
+ P.expect = function(e) {
408
411
  this.eat(e) || this.unexpected();
409
412
  };
410
- k.unexpected = function(e) {
413
+ P.unexpected = function(e) {
411
414
  this.raise(e ?? this.start, "Unexpected token");
412
415
  };
413
- var ye = function() {
416
+ var Se = function() {
414
417
  this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1;
415
418
  };
416
- k.checkPatternErrors = function(e, t) {
419
+ P.checkPatternErrors = function(e, t) {
417
420
  if (e) {
418
421
  e.trailingComma > -1 && this.raiseRecoverable(e.trailingComma, "Comma is not permitted after the rest element");
419
422
  var i = t ? e.parenthesizedAssign : e.parenthesizedBind;
420
423
  i > -1 && this.raiseRecoverable(i, t ? "Assigning to rvalue" : "Parenthesized pattern");
421
424
  }
422
425
  };
423
- k.checkExpressionErrors = function(e, t) {
426
+ P.checkExpressionErrors = function(e, t) {
424
427
  if (!e) return false;
425
428
  var i = e.shorthandAssign, s = e.doubleProto;
426
429
  if (!t) return i >= 0 || s >= 0;
427
430
  i >= 0 && this.raise(i, "Shorthand property assignments are valid only in destructuring patterns"), s >= 0 && this.raiseRecoverable(s, "Redefinition of __proto__ property");
428
431
  };
429
- k.checkYieldAwaitInDefaultParams = function() {
432
+ P.checkYieldAwaitInDefaultParams = function() {
430
433
  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");
431
434
  };
432
- k.isSimpleAssignTarget = function(e) {
435
+ P.isSimpleAssignTarget = function(e) {
433
436
  return e.type === "ParenthesizedExpression" ? this.isSimpleAssignTarget(e.expression) : e.type === "Identifier" || e.type === "MemberExpression";
434
437
  };
435
- var l = T.prototype;
436
- l.parseTopLevel = function(e) {
438
+ var d = E.prototype;
439
+ d.parseTopLevel = function(e) {
437
440
  var t = /* @__PURE__ */ Object.create(null);
438
441
  for (e.body || (e.body = []); this.type !== a.eof; ) {
439
442
  var i = this.parseStatement(null, true, t);
@@ -445,29 +448,54 @@ l.parseTopLevel = function(e) {
445
448
  }
446
449
  return this.adaptDirectivePrologue(e.body), this.next(), e.sourceType = this.options.sourceType, this.finishNode(e, "Program");
447
450
  };
448
- var Ue = { kind: "loop" }, Ri = { kind: "switch" };
449
- l.isLet = function(e) {
451
+ var He = { kind: "loop" }, Xi = { kind: "switch" };
452
+ d.isLet = function(e) {
450
453
  if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return false;
451
- N.lastIndex = this.pos;
452
- var t = N.exec(this.input), i = this.pos + t[0].length, s = this.input.charCodeAt(i);
454
+ A.lastIndex = this.pos;
455
+ var t = A.exec(this.input), i = this.pos + t[0].length, s = this.input.charCodeAt(i);
453
456
  if (s === 91 || s === 92) return true;
454
457
  if (e) return false;
455
458
  if (s === 123 || s > 55295 && s < 56320) return true;
456
459
  if (M(s, true)) {
457
- for (var r = i + 1; H(s = this.input.charCodeAt(r), true); ) ++r;
460
+ for (var r = i + 1; K(s = this.input.charCodeAt(r), true); ) ++r;
458
461
  if (s === 92 || s > 55295 && s < 56320) return true;
459
462
  var n = this.input.slice(i, r);
460
- if (!Ti.test(n)) return true;
463
+ if (!Fi.test(n)) return true;
461
464
  }
462
465
  return false;
463
466
  };
464
- l.isAsyncFunction = function() {
467
+ d.isAsyncFunction = function() {
465
468
  if (this.options.ecmaVersion < 8 || !this.isContextual("async")) return false;
466
- N.lastIndex = this.pos;
467
- var e = N.exec(this.input), t = this.pos + e[0].length, i;
468
- return !L.test(this.input.slice(this.pos, t)) && this.input.slice(t, t + 8) === "function" && (t + 8 === this.input.length || !(H(i = this.input.charCodeAt(t + 8)) || i > 55295 && i < 56320));
469
+ A.lastIndex = this.pos;
470
+ var e = A.exec(this.input), t = this.pos + e[0].length, i;
471
+ return !V.test(this.input.slice(this.pos, t)) && this.input.slice(t, t + 8) === "function" && (t + 8 === this.input.length || !(K(i = this.input.charCodeAt(t + 8)) || i > 55295 && i < 56320));
472
+ };
473
+ d.isUsingKeyword = function(e, t) {
474
+ if (this.options.ecmaVersion < 17 || !this.isContextual(e ? "await" : "using")) return false;
475
+ A.lastIndex = this.pos;
476
+ var i = A.exec(this.input), s = this.pos + i[0].length;
477
+ if (V.test(this.input.slice(this.pos, s))) return false;
478
+ if (e) {
479
+ var r = s + 5, n;
480
+ if (this.input.slice(s, r) !== "using" || r === this.input.length || K(n = this.input.charCodeAt(r)) || n > 55295 && n < 56320) return false;
481
+ A.lastIndex = r;
482
+ var o = A.exec(this.input);
483
+ if (o && V.test(this.input.slice(r, r + o[0].length))) return false;
484
+ }
485
+ if (t) {
486
+ var p = s + 2, u;
487
+ if (this.input.slice(s, p) === "of" && (p === this.input.length || !K(u = this.input.charCodeAt(p)) && !(u > 55295 && u < 56320))) return false;
488
+ }
489
+ var c = this.input.charCodeAt(s);
490
+ return M(c, true) || c === 92;
491
+ };
492
+ d.isAwaitUsing = function(e) {
493
+ return this.isUsingKeyword(true, e);
494
+ };
495
+ d.isUsing = function(e) {
496
+ return this.isUsingKeyword(false, e);
469
497
  };
470
- l.parseStatement = function(e, t, i) {
498
+ d.parseStatement = function(e, t, i) {
471
499
  var s = this.type, r = this.startNode(), n;
472
500
  switch (this.isLet(e) && (s = a._var, n = "let"), s) {
473
501
  case a._break:
@@ -507,18 +535,20 @@ l.parseStatement = function(e, t, i) {
507
535
  case a._export:
508
536
  case a._import:
509
537
  if (this.options.ecmaVersion > 10 && s === a._import) {
510
- N.lastIndex = this.pos;
511
- var o = N.exec(this.input), u = this.pos + o[0].length, p = this.input.charCodeAt(u);
512
- if (p === 40 || p === 46) return this.parseExpressionStatement(r, this.parseExpression());
538
+ A.lastIndex = this.pos;
539
+ var o = A.exec(this.input), p = this.pos + o[0].length, u = this.input.charCodeAt(p);
540
+ if (u === 40 || u === 46) return this.parseExpressionStatement(r, this.parseExpression());
513
541
  }
514
542
  return this.options.allowImportExportEverywhere || (t || 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'")), s === a._import ? this.parseImport(r) : this.parseExport(r, i);
515
543
  default:
516
544
  if (this.isAsyncFunction()) return e && this.unexpected(), this.next(), this.parseFunctionStatement(r, true, !e);
517
- var d = this.value, f = this.parseExpression();
518
- return s === a.name && f.type === "Identifier" && this.eat(a.colon) ? this.parseLabeledStatement(r, d, f, e) : this.parseExpressionStatement(r, f);
545
+ var c = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
546
+ if (c) return t && this.options.sourceType === "script" && this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script`"), c === "await using" && (this.canAwait || this.raise(this.start, "Await using cannot appear outside of async function"), this.next()), this.next(), this.parseVar(r, false, c), this.semicolon(), this.finishNode(r, "VariableDeclaration");
547
+ var f = this.value, v = this.parseExpression();
548
+ return s === a.name && v.type === "Identifier" && this.eat(a.colon) ? this.parseLabeledStatement(r, f, v, e) : this.parseExpressionStatement(r, v);
519
549
  }
520
550
  };
521
- l.parseBreakContinueStatement = function(e, t) {
551
+ d.parseBreakContinueStatement = function(e, t) {
522
552
  var i = t === "break";
523
553
  this.next(), this.eat(a.semi) || this.insertSemicolon() ? e.label = null : this.type !== a.name ? this.unexpected() : (e.label = this.parseIdent(), this.semicolon());
524
554
  for (var s = 0; s < this.labels.length; ++s) {
@@ -527,204 +557,208 @@ l.parseBreakContinueStatement = function(e, t) {
527
557
  }
528
558
  return s === this.labels.length && this.raise(e.start, "Unsyntactic " + t), this.finishNode(e, i ? "BreakStatement" : "ContinueStatement");
529
559
  };
530
- l.parseDebuggerStatement = function(e) {
560
+ d.parseDebuggerStatement = function(e) {
531
561
  return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
532
562
  };
533
- l.parseDoStatement = function(e) {
534
- return this.next(), this.labels.push(Ue), e.body = this.parseStatement("do"), this.labels.pop(), this.expect(a._while), e.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(a.semi) : this.semicolon(), this.finishNode(e, "DoWhileStatement");
563
+ d.parseDoStatement = function(e) {
564
+ return this.next(), this.labels.push(He), e.body = this.parseStatement("do"), this.labels.pop(), this.expect(a._while), e.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(a.semi) : this.semicolon(), this.finishNode(e, "DoWhileStatement");
535
565
  };
536
- l.parseForStatement = function(e) {
566
+ d.parseForStatement = function(e) {
537
567
  this.next();
538
568
  var t = this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await") ? this.lastTokStart : -1;
539
- if (this.labels.push(Ue), this.enterScope(0), this.expect(a.parenL), this.type === a.semi) return t > -1 && this.unexpected(t), this.parseFor(e, null);
569
+ if (this.labels.push(He), this.enterScope(0), this.expect(a.parenL), this.type === a.semi) return t > -1 && this.unexpected(t), this.parseFor(e, null);
540
570
  var i = this.isLet();
541
571
  if (this.type === a._var || this.type === a._const || i) {
542
572
  var s = this.startNode(), r = i ? "let" : this.value;
543
- return this.next(), this.parseVar(s, true, r), this.finishNode(s, "VariableDeclaration"), (this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && s.declarations.length === 1 ? (this.options.ecmaVersion >= 9 && (this.type === a._in ? t > -1 && this.unexpected(t) : e.await = t > -1), this.parseForIn(e, s)) : (t > -1 && this.unexpected(t), this.parseFor(e, s));
573
+ return this.next(), this.parseVar(s, true, r), this.finishNode(s, "VariableDeclaration"), this.parseForAfterInit(e, s, t);
544
574
  }
545
- var n = this.isContextual("let"), o = false, u = this.containsEsc, p = new ye(), d = this.start, f = t > -1 ? this.parseExprSubscripts(p, "await") : this.parseExpression(true, p);
546
- return this.type === a._in || (o = this.options.ecmaVersion >= 6 && this.isContextual("of")) ? (t > -1 ? (this.type === a._in && this.unexpected(t), e.await = true) : o && this.options.ecmaVersion >= 8 && (f.start === d && !u && f.type === "Identifier" && f.name === "async" ? this.unexpected() : this.options.ecmaVersion >= 9 && (e.await = false)), n && o && this.raise(f.start, "The left-hand side of a for-of loop may not start with 'let'."), this.toAssignable(f, false, p), this.checkLValPattern(f), this.parseForIn(e, f)) : (this.checkExpressionErrors(p, true), t > -1 && this.unexpected(t), this.parseFor(e, f));
575
+ var n = this.isContextual("let"), o = false, p = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
576
+ if (p) {
577
+ var u = this.startNode();
578
+ return this.next(), p === "await using" && this.next(), this.parseVar(u, true, p), this.finishNode(u, "VariableDeclaration"), this.parseForAfterInit(e, u, t);
579
+ }
580
+ var c = this.containsEsc, f = new Se(), v = this.start, T = t > -1 ? this.parseExprSubscripts(f, "await") : this.parseExpression(true, f);
581
+ return this.type === a._in || (o = this.options.ecmaVersion >= 6 && this.isContextual("of")) ? (t > -1 ? (this.type === a._in && this.unexpected(t), e.await = true) : o && this.options.ecmaVersion >= 8 && (T.start === v && !c && T.type === "Identifier" && T.name === "async" ? this.unexpected() : this.options.ecmaVersion >= 9 && (e.await = false)), n && o && this.raise(T.start, "The left-hand side of a for-of loop may not start with 'let'."), this.toAssignable(T, false, f), this.checkLValPattern(T), this.parseForIn(e, T)) : (this.checkExpressionErrors(f, true), t > -1 && this.unexpected(t), this.parseFor(e, T));
582
+ };
583
+ d.parseForAfterInit = function(e, t, i) {
584
+ return (this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && t.declarations.length === 1 ? (this.options.ecmaVersion >= 9 && (this.type === a._in ? i > -1 && this.unexpected(i) : e.await = i > -1), this.parseForIn(e, t)) : (i > -1 && this.unexpected(i), this.parseFor(e, t));
547
585
  };
548
- l.parseFunctionStatement = function(e, t, i) {
549
- return this.next(), this.parseFunction(e, te | (i ? 0 : Le), false, t);
586
+ d.parseFunctionStatement = function(e, t, i) {
587
+ return this.next(), this.parseFunction(e, re | (i ? 0 : Fe), false, t);
550
588
  };
551
- l.parseIfStatement = function(e) {
589
+ d.parseIfStatement = function(e) {
552
590
  return this.next(), e.test = this.parseParenExpression(), e.consequent = this.parseStatement("if"), e.alternate = this.eat(a._else) ? this.parseStatement("if") : null, this.finishNode(e, "IfStatement");
553
591
  };
554
- l.parseReturnStatement = function(e) {
592
+ d.parseReturnStatement = function(e) {
555
593
  return !this.inFunction && !this.options.allowReturnOutsideFunction && this.raise(this.start, "'return' outside of function"), this.next(), this.eat(a.semi) || this.insertSemicolon() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
556
594
  };
557
- l.parseSwitchStatement = function(e) {
558
- this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(a.braceL), this.labels.push(Ri), this.enterScope(0);
595
+ d.parseSwitchStatement = function(e) {
596
+ this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(a.braceL), this.labels.push(Xi), this.enterScope(0);
559
597
  for (var t, i = false; this.type !== a.braceR; ) if (this.type === a._case || this.type === a._default) {
560
598
  var s = this.type === a._case;
561
599
  t && this.finishNode(t, "SwitchCase"), e.cases.push(t = this.startNode()), t.consequent = [], this.next(), s ? t.test = this.parseExpression() : (i && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), i = true, t.test = null), this.expect(a.colon);
562
600
  } else t || this.unexpected(), t.consequent.push(this.parseStatement(null));
563
601
  return this.exitScope(), t && this.finishNode(t, "SwitchCase"), this.next(), this.labels.pop(), this.finishNode(e, "SwitchStatement");
564
602
  };
565
- l.parseThrowStatement = function(e) {
566
- return this.next(), L.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, "Illegal newline after throw"), e.argument = this.parseExpression(), this.semicolon(), this.finishNode(e, "ThrowStatement");
603
+ d.parseThrowStatement = function(e) {
604
+ return this.next(), V.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, "Illegal newline after throw"), e.argument = this.parseExpression(), this.semicolon(), this.finishNode(e, "ThrowStatement");
567
605
  };
568
- var Oi = [];
569
- l.parseCatchClauseParam = function() {
606
+ var zi = [];
607
+ d.parseCatchClauseParam = function() {
570
608
  var e = this.parseBindingAtom(), t = e.type === "Identifier";
571
- return this.enterScope(t ? dt : 0), this.checkLValPattern(e, t ? yt : G), this.expect(a.parenR), e;
609
+ return this.enterScope(t ? bt : 0), this.checkLValPattern(e, t ? Tt : J), this.expect(a.parenR), e;
572
610
  };
573
- l.parseTryStatement = function(e) {
611
+ d.parseTryStatement = function(e) {
574
612
  if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === a._catch) {
575
613
  var t = this.startNode();
576
614
  this.next(), this.eat(a.parenL) ? t.param = this.parseCatchClauseParam() : (this.options.ecmaVersion < 10 && this.unexpected(), t.param = null, this.enterScope(0)), t.body = this.parseBlock(false), this.exitScope(), e.handler = this.finishNode(t, "CatchClause");
577
615
  }
578
616
  return e.finalizer = this.eat(a._finally) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(e.start, "Missing catch or finally clause"), this.finishNode(e, "TryStatement");
579
617
  };
580
- l.parseVarStatement = function(e, t, i) {
618
+ d.parseVarStatement = function(e, t, i) {
581
619
  return this.next(), this.parseVar(e, false, t, i), this.semicolon(), this.finishNode(e, "VariableDeclaration");
582
620
  };
583
- l.parseWhileStatement = function(e) {
584
- return this.next(), e.test = this.parseParenExpression(), this.labels.push(Ue), e.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e, "WhileStatement");
621
+ d.parseWhileStatement = function(e) {
622
+ return this.next(), e.test = this.parseParenExpression(), this.labels.push(He), e.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e, "WhileStatement");
585
623
  };
586
- l.parseWithStatement = function(e) {
624
+ d.parseWithStatement = function(e) {
587
625
  return this.strict && this.raise(this.start, "'with' in strict mode"), this.next(), e.object = this.parseParenExpression(), e.body = this.parseStatement("with"), this.finishNode(e, "WithStatement");
588
626
  };
589
- l.parseEmptyStatement = function(e) {
627
+ d.parseEmptyStatement = function(e) {
590
628
  return this.next(), this.finishNode(e, "EmptyStatement");
591
629
  };
592
- l.parseLabeledStatement = function(e, t, i, s) {
630
+ d.parseLabeledStatement = function(e, t, i, s) {
593
631
  for (var r = 0, n = this.labels; r < n.length; r += 1) {
594
632
  var o = n[r];
595
633
  o.name === t && this.raise(i.start, "Label '" + t + "' is already declared");
596
634
  }
597
- for (var u = this.type.isLoop ? "loop" : this.type === a._switch ? "switch" : null, p = this.labels.length - 1; p >= 0; p--) {
598
- var d = this.labels[p];
599
- if (d.statementStart === e.start) d.statementStart = this.start, d.kind = u;
635
+ for (var p = this.type.isLoop ? "loop" : this.type === a._switch ? "switch" : null, u = this.labels.length - 1; u >= 0; u--) {
636
+ var c = this.labels[u];
637
+ if (c.statementStart === e.start) c.statementStart = this.start, c.kind = p;
600
638
  else break;
601
639
  }
602
- return this.labels.push({ name: t, kind: u, statementStart: this.start }), e.body = this.parseStatement(s ? s.indexOf("label") === -1 ? s + "label" : s : "label"), this.labels.pop(), e.label = i, this.finishNode(e, "LabeledStatement");
640
+ return this.labels.push({ name: t, kind: p, statementStart: this.start }), e.body = this.parseStatement(s ? s.indexOf("label") === -1 ? s + "label" : s : "label"), this.labels.pop(), e.label = i, this.finishNode(e, "LabeledStatement");
603
641
  };
604
- l.parseExpressionStatement = function(e, t) {
642
+ d.parseExpressionStatement = function(e, t) {
605
643
  return e.expression = t, this.semicolon(), this.finishNode(e, "ExpressionStatement");
606
644
  };
607
- l.parseBlock = function(e, t, i) {
645
+ d.parseBlock = function(e, t, i) {
608
646
  for (e === void 0 && (e = true), t === void 0 && (t = this.startNode()), t.body = [], this.expect(a.braceL), e && this.enterScope(0); this.type !== a.braceR; ) {
609
647
  var s = this.parseStatement(null);
610
648
  t.body.push(s);
611
649
  }
612
650
  return i && (this.strict = false), this.next(), e && this.exitScope(), this.finishNode(t, "BlockStatement");
613
651
  };
614
- l.parseFor = function(e, t) {
652
+ d.parseFor = function(e, t) {
615
653
  return e.init = t, this.expect(a.semi), e.test = this.type === a.semi ? null : this.parseExpression(), this.expect(a.semi), e.update = this.type === a.parenR ? null : this.parseExpression(), this.expect(a.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, "ForStatement");
616
654
  };
617
- l.parseForIn = function(e, t) {
655
+ d.parseForIn = function(e, t) {
618
656
  var i = this.type === a._in;
619
657
  return this.next(), t.type === "VariableDeclaration" && t.declarations[0].init != null && (!i || this.options.ecmaVersion < 8 || this.strict || t.kind !== "var" || t.declarations[0].id.type !== "Identifier") && this.raise(t.start, (i ? "for-in" : "for-of") + " loop variable declaration may not have an initializer"), e.left = t, e.right = i ? this.parseExpression() : this.parseMaybeAssign(), this.expect(a.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, i ? "ForInStatement" : "ForOfStatement");
620
658
  };
621
- l.parseVar = function(e, t, i, s) {
659
+ d.parseVar = function(e, t, i, s) {
622
660
  for (e.declarations = [], e.kind = i; ; ) {
623
661
  var r = this.startNode();
624
- if (this.parseVarId(r, i), this.eat(a.eq) ? r.init = this.parseMaybeAssign(t) : !s && i === "const" && !(this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) ? this.unexpected() : !s && r.id.type !== "Identifier" && !(t && (this.type === a._in || this.isContextual("of"))) ? this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : r.init = null, e.declarations.push(this.finishNode(r, "VariableDeclarator")), !this.eat(a.comma)) break;
662
+ if (this.parseVarId(r, i), this.eat(a.eq) ? r.init = this.parseMaybeAssign(t) : !s && i === "const" && !(this.type === a._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) ? this.unexpected() : !s && (i === "using" || i === "await using") && this.options.ecmaVersion >= 17 && this.type !== a._in && !this.isContextual("of") ? this.raise(this.lastTokEnd, "Missing initializer in " + i + " declaration") : !s && r.id.type !== "Identifier" && !(t && (this.type === a._in || this.isContextual("of"))) ? this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : r.init = null, e.declarations.push(this.finishNode(r, "VariableDeclarator")), !this.eat(a.comma)) break;
625
663
  }
626
664
  return e;
627
665
  };
628
- l.parseVarId = function(e, t) {
629
- e.id = this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ? Me : G, false);
666
+ d.parseVarId = function(e, t) {
667
+ e.id = t === "using" || t === "await using" ? this.parseIdent() : this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ? Je : J, false);
630
668
  };
631
- var te = 1, Le = 2, vt = 4;
632
- l.parseFunction = function(e, t, i, s, r) {
633
- this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !s) && (this.type === a.star && t & Le && this.unexpected(), e.generator = this.eat(a.star)), this.options.ecmaVersion >= 8 && (e.async = !!s), t & te && (e.id = t & vt && this.type !== a.name ? null : this.parseIdent(), e.id && !(t & Le) && this.checkLValSimple(e.id, this.strict || e.generator || e.async ? this.treatFunctionsAsVar ? Me : G : xt));
634
- var n = this.yieldPos, o = this.awaitPos, u = this.awaitIdentPos;
635
- return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(je(e.async, e.generator)), t & te || (e.id = this.type === a.name ? this.parseIdent() : null), this.parseFunctionParams(e), this.parseFunctionBody(e, i, false, r), this.yieldPos = n, this.awaitPos = o, this.awaitIdentPos = u, this.finishNode(e, t & te ? "FunctionDeclaration" : "FunctionExpression");
669
+ var re = 1, Fe = 2, Et = 4;
670
+ d.parseFunction = function(e, t, i, s, r) {
671
+ this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !s) && (this.type === a.star && t & Fe && this.unexpected(), e.generator = this.eat(a.star)), this.options.ecmaVersion >= 8 && (e.async = !!s), t & re && (e.id = t & Et && this.type !== a.name ? null : this.parseIdent(), e.id && !(t & Fe) && this.checkLValSimple(e.id, this.strict || e.generator || e.async ? this.treatFunctionsAsVar ? Je : J : _t));
672
+ var n = this.yieldPos, o = this.awaitPos, p = this.awaitIdentPos;
673
+ return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(qe(e.async, e.generator)), t & re || (e.id = this.type === a.name ? this.parseIdent() : null), this.parseFunctionParams(e), this.parseFunctionBody(e, i, false, r), this.yieldPos = n, this.awaitPos = o, this.awaitIdentPos = p, this.finishNode(e, t & re ? "FunctionDeclaration" : "FunctionExpression");
636
674
  };
637
- l.parseFunctionParams = function(e) {
675
+ d.parseFunctionParams = function(e) {
638
676
  this.expect(a.parenL), e.params = this.parseBindingList(a.parenR, false, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams();
639
677
  };
640
- l.parseClass = function(e, t) {
678
+ d.parseClass = function(e, t) {
641
679
  this.next();
642
680
  var i = this.strict;
643
681
  this.strict = true, this.parseClassId(e, t), this.parseClassSuper(e);
644
682
  var s = this.enterClassBody(), r = this.startNode(), n = false;
645
683
  for (r.body = [], this.expect(a.braceL); this.type !== a.braceR; ) {
646
684
  var o = this.parseClassElement(e.superClass !== null);
647
- o && (r.body.push(o), o.type === "MethodDefinition" && o.kind === "constructor" ? (n && this.raiseRecoverable(o.start, "Duplicate constructor in the same class"), n = true) : o.key && o.key.type === "PrivateIdentifier" && Bi(s, o) && this.raiseRecoverable(o.key.start, "Identifier '#" + o.key.name + "' has already been declared"));
685
+ o && (r.body.push(o), o.type === "MethodDefinition" && o.kind === "constructor" ? (n && this.raiseRecoverable(o.start, "Duplicate constructor in the same class"), n = true) : o.key && o.key.type === "PrivateIdentifier" && Qi(s, o) && this.raiseRecoverable(o.key.start, "Identifier '#" + o.key.name + "' has already been declared"));
648
686
  }
649
687
  return this.strict = i, this.next(), e.body = this.finishNode(r, "ClassBody"), this.exitClassBody(), this.finishNode(e, t ? "ClassDeclaration" : "ClassExpression");
650
688
  };
651
- l.parseClassElement = function(e) {
689
+ d.parseClassElement = function(e) {
652
690
  if (this.eat(a.semi)) return null;
653
- var t = this.options.ecmaVersion, i = this.startNode(), s = "", r = false, n = false, o = "method", u = false;
691
+ var t = this.options.ecmaVersion, i = this.startNode(), s = "", r = false, n = false, o = "method", p = false;
654
692
  if (this.eatContextual("static")) {
655
693
  if (t >= 13 && this.eat(a.braceL)) return this.parseClassStaticBlock(i), i;
656
- this.isClassElementNameStart() || this.type === a.star ? u = true : s = "static";
694
+ this.isClassElementNameStart() || this.type === a.star ? p = true : s = "static";
657
695
  }
658
- if (i.static = u, !s && t >= 8 && this.eatContextual("async") && ((this.isClassElementNameStart() || this.type === a.star) && !this.canInsertSemicolon() ? n = true : s = "async"), !s && (t >= 9 || !n) && this.eat(a.star) && (r = true), !s && !n && !r) {
659
- var p = this.value;
660
- (this.eatContextual("get") || this.eatContextual("set")) && (this.isClassElementNameStart() ? o = p : s = p);
696
+ if (i.static = p, !s && t >= 8 && this.eatContextual("async") && ((this.isClassElementNameStart() || this.type === a.star) && !this.canInsertSemicolon() ? n = true : s = "async"), !s && (t >= 9 || !n) && this.eat(a.star) && (r = true), !s && !n && !r) {
697
+ var u = this.value;
698
+ (this.eatContextual("get") || this.eatContextual("set")) && (this.isClassElementNameStart() ? o = u : s = u);
661
699
  }
662
700
  if (s ? (i.computed = false, i.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc), i.key.name = s, this.finishNode(i.key, "Identifier")) : this.parseClassElementName(i), t < 13 || this.type === a.parenL || o !== "method" || r || n) {
663
- var d = !i.static && fe(i, "constructor"), f = d && e;
664
- d && o !== "method" && this.raise(i.key.start, "Constructor can't have get/set modifier"), i.kind = d ? "constructor" : o, this.parseClassMethod(i, r, n, f);
701
+ var c = !i.static && me(i, "constructor"), f = c && e;
702
+ c && o !== "method" && this.raise(i.key.start, "Constructor can't have get/set modifier"), i.kind = c ? "constructor" : o, this.parseClassMethod(i, r, n, f);
665
703
  } else this.parseClassField(i);
666
704
  return i;
667
705
  };
668
- l.isClassElementNameStart = function() {
706
+ d.isClassElementNameStart = function() {
669
707
  return this.type === a.name || this.type === a.privateId || this.type === a.num || this.type === a.string || this.type === a.bracketL || this.type.keyword;
670
708
  };
671
- l.parseClassElementName = function(e) {
709
+ d.parseClassElementName = function(e) {
672
710
  this.type === a.privateId ? (this.value === "constructor" && this.raise(this.start, "Classes can't have an element named '#constructor'"), e.computed = false, e.key = this.parsePrivateIdent()) : this.parsePropertyName(e);
673
711
  };
674
- l.parseClassMethod = function(e, t, i, s) {
712
+ d.parseClassMethod = function(e, t, i, s) {
675
713
  var r = e.key;
676
- e.kind === "constructor" ? (t && this.raise(r.start, "Constructor can't be a generator"), i && this.raise(r.start, "Constructor can't be an async method")) : e.static && fe(e, "prototype") && this.raise(r.start, "Classes may not have a static property named prototype");
714
+ e.kind === "constructor" ? (t && this.raise(r.start, "Constructor can't be a generator"), i && this.raise(r.start, "Constructor can't be an async method")) : e.static && me(e, "prototype") && this.raise(r.start, "Classes may not have a static property named prototype");
677
715
  var n = e.value = this.parseMethod(t, i, s);
678
716
  return e.kind === "get" && n.params.length !== 0 && this.raiseRecoverable(n.start, "getter should have no params"), e.kind === "set" && n.params.length !== 1 && this.raiseRecoverable(n.start, "setter should have exactly one param"), e.kind === "set" && n.params[0].type === "RestElement" && this.raiseRecoverable(n.params[0].start, "Setter cannot use rest params"), this.finishNode(e, "MethodDefinition");
679
717
  };
680
- l.parseClassField = function(e) {
681
- if (fe(e, "constructor") ? this.raise(e.key.start, "Classes can't have a field named 'constructor'") : e.static && fe(e, "prototype") && this.raise(e.key.start, "Classes can't have a static field named 'prototype'"), this.eat(a.eq)) {
682
- var t = this.currentThisScope(), i = t.inClassFieldInit;
683
- t.inClassFieldInit = true, e.value = this.parseMaybeAssign(), t.inClassFieldInit = i;
684
- } else e.value = null;
685
- return this.semicolon(), this.finishNode(e, "PropertyDefinition");
718
+ d.parseClassField = function(e) {
719
+ return me(e, "constructor") ? this.raise(e.key.start, "Classes can't have a field named 'constructor'") : e.static && me(e, "prototype") && this.raise(e.key.start, "Classes can't have a static field named 'prototype'"), this.eat(a.eq) ? (this.enterScope(oe | ve), e.value = this.parseMaybeAssign(), this.exitScope()) : e.value = null, this.semicolon(), this.finishNode(e, "PropertyDefinition");
686
720
  };
687
- l.parseClassStaticBlock = function(e) {
721
+ d.parseClassStaticBlock = function(e) {
688
722
  e.body = [];
689
723
  var t = this.labels;
690
- for (this.labels = [], this.enterScope(re | De); this.type !== a.braceR; ) {
724
+ for (this.labels = [], this.enterScope(X | ve); this.type !== a.braceR; ) {
691
725
  var i = this.parseStatement(null);
692
726
  e.body.push(i);
693
727
  }
694
728
  return this.next(), this.exitScope(), this.labels = t, this.finishNode(e, "StaticBlock");
695
729
  };
696
- l.parseClassId = function(e, t) {
697
- this.type === a.name ? (e.id = this.parseIdent(), t && this.checkLValSimple(e.id, G, false)) : (t === true && this.unexpected(), e.id = null);
730
+ d.parseClassId = function(e, t) {
731
+ this.type === a.name ? (e.id = this.parseIdent(), t && this.checkLValSimple(e.id, J, false)) : (t === true && this.unexpected(), e.id = null);
698
732
  };
699
- l.parseClassSuper = function(e) {
733
+ d.parseClassSuper = function(e) {
700
734
  e.superClass = this.eat(a._extends) ? this.parseExprSubscripts(null, false) : null;
701
735
  };
702
- l.enterClassBody = function() {
736
+ d.enterClassBody = function() {
703
737
  var e = { declared: /* @__PURE__ */ Object.create(null), used: [] };
704
738
  return this.privateNameStack.push(e), e.declared;
705
739
  };
706
- l.exitClassBody = function() {
740
+ d.exitClassBody = function() {
707
741
  var e = this.privateNameStack.pop(), t = e.declared, i = e.used;
708
742
  if (this.options.checkPrivateFields) for (var s = this.privateNameStack.length, r = s === 0 ? null : this.privateNameStack[s - 1], n = 0; n < i.length; ++n) {
709
743
  var o = i[n];
710
- Y(t, o.name) || (r ? r.used.push(o) : this.raiseRecoverable(o.start, "Private field '#" + o.name + "' must be declared in an enclosing class"));
744
+ $(t, o.name) || (r ? r.used.push(o) : this.raiseRecoverable(o.start, "Private field '#" + o.name + "' must be declared in an enclosing class"));
711
745
  }
712
746
  };
713
- function Bi(e, t) {
747
+ function Qi(e, t) {
714
748
  var i = t.key.name, s = e[i], r = "true";
715
749
  return t.type === "MethodDefinition" && (t.kind === "get" || t.kind === "set") && (r = (t.static ? "s" : "i") + t.kind), s === "iget" && r === "iset" || s === "iset" && r === "iget" || s === "sget" && r === "sset" || s === "sset" && r === "sget" ? (e[i] = "true", false) : s ? true : (e[i] = r, false);
716
750
  }
717
- function fe(e, t) {
751
+ function me(e, t) {
718
752
  var i = e.computed, s = e.key;
719
753
  return !i && (s.type === "Identifier" && s.name === t || s.type === "Literal" && s.value === t);
720
754
  }
721
- l.parseExportAllDeclaration = function(e, t) {
755
+ d.parseExportAllDeclaration = function(e, t) {
722
756
  return this.options.ecmaVersion >= 11 && (this.eatContextual("as") ? (e.exported = this.parseModuleExportName(), this.checkExport(t, e.exported, this.lastTokStart)) : e.exported = null), this.expectContextual("from"), this.type !== a.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ExportAllDeclaration");
723
757
  };
724
- l.parseExport = function(e, t) {
758
+ d.parseExport = function(e, t) {
725
759
  if (this.next(), this.eat(a.star)) return this.parseExportAllDeclaration(e, t);
726
760
  if (this.eat(a._default)) return this.checkExport(t, "default", this.lastTokStart), e.declaration = this.parseExportDefaultDeclaration(), this.finishNode(e, "ExportDefaultDeclaration");
727
- if (this.shouldParseExportStatement()) e.declaration = this.parseExportDeclaration(e), e.declaration.type === "VariableDeclaration" ? this.checkVariableExport(t, e.declaration.declarations) : this.checkExport(t, e.declaration.id, e.declaration.id.start), e.specifiers = [], e.source = null;
761
+ if (this.shouldParseExportStatement()) e.declaration = this.parseExportDeclaration(e), e.declaration.type === "VariableDeclaration" ? this.checkVariableExport(t, e.declaration.declarations) : this.checkExport(t, e.declaration.id, e.declaration.id.start), e.specifiers = [], e.source = null, this.options.ecmaVersion >= 16 && (e.attributes = []);
728
762
  else {
729
763
  if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(t), this.eatContextual("from")) this.type !== a.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause());
730
764
  else {
@@ -732,20 +766,20 @@ l.parseExport = function(e, t) {
732
766
  var r = s[i];
733
767
  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`.");
734
768
  }
735
- e.source = null;
769
+ e.source = null, this.options.ecmaVersion >= 16 && (e.attributes = []);
736
770
  }
737
771
  this.semicolon();
738
772
  }
739
773
  return this.finishNode(e, "ExportNamedDeclaration");
740
774
  };
741
- l.parseExportDeclaration = function(e) {
775
+ d.parseExportDeclaration = function(e) {
742
776
  return this.parseStatement(null);
743
777
  };
744
- l.parseExportDefaultDeclaration = function() {
778
+ d.parseExportDefaultDeclaration = function() {
745
779
  var e;
746
780
  if (this.type === a._function || (e = this.isAsyncFunction())) {
747
781
  var t = this.startNode();
748
- return this.next(), e && this.next(), this.parseFunction(t, te | vt, false, e);
782
+ return this.next(), e && this.next(), this.parseFunction(t, re | Et, false, e);
749
783
  } else if (this.type === a._class) {
750
784
  var i = this.startNode();
751
785
  return this.parseClass(i, "nullableID");
@@ -754,36 +788,36 @@ l.parseExportDefaultDeclaration = function() {
754
788
  return this.semicolon(), s;
755
789
  }
756
790
  };
757
- l.checkExport = function(e, t, i) {
758
- e && (typeof t != "string" && (t = t.type === "Identifier" ? t.name : t.value), Y(e, t) && this.raiseRecoverable(i, "Duplicate export '" + t + "'"), e[t] = true);
791
+ d.checkExport = function(e, t, i) {
792
+ e && (typeof t != "string" && (t = t.type === "Identifier" ? t.name : t.value), $(e, t) && this.raiseRecoverable(i, "Duplicate export '" + t + "'"), e[t] = true);
759
793
  };
760
- l.checkPatternExport = function(e, t) {
794
+ d.checkPatternExport = function(e, t) {
761
795
  var i = t.type;
762
796
  if (i === "Identifier") this.checkExport(e, t, t.start);
763
797
  else if (i === "ObjectPattern") for (var s = 0, r = t.properties; s < r.length; s += 1) {
764
798
  var n = r[s];
765
799
  this.checkPatternExport(e, n);
766
800
  }
767
- else if (i === "ArrayPattern") for (var o = 0, u = t.elements; o < u.length; o += 1) {
768
- var p = u[o];
769
- p && this.checkPatternExport(e, p);
801
+ else if (i === "ArrayPattern") for (var o = 0, p = t.elements; o < p.length; o += 1) {
802
+ var u = p[o];
803
+ u && this.checkPatternExport(e, u);
770
804
  }
771
805
  else i === "Property" ? this.checkPatternExport(e, t.value) : i === "AssignmentPattern" ? this.checkPatternExport(e, t.left) : i === "RestElement" && this.checkPatternExport(e, t.argument);
772
806
  };
773
- l.checkVariableExport = function(e, t) {
807
+ d.checkVariableExport = function(e, t) {
774
808
  if (e) for (var i = 0, s = t; i < s.length; i += 1) {
775
809
  var r = s[i];
776
810
  this.checkPatternExport(e, r.id);
777
811
  }
778
812
  };
779
- l.shouldParseExportStatement = function() {
813
+ d.shouldParseExportStatement = function() {
780
814
  return this.type.keyword === "var" || this.type.keyword === "const" || this.type.keyword === "class" || this.type.keyword === "function" || this.isLet() || this.isAsyncFunction();
781
815
  };
782
- l.parseExportSpecifier = function(e) {
816
+ d.parseExportSpecifier = function(e) {
783
817
  var t = this.startNode();
784
818
  return t.local = this.parseModuleExportName(), t.exported = this.eatContextual("as") ? this.parseModuleExportName() : t.local, this.checkExport(e, t.exported, t.exported.start), this.finishNode(t, "ExportSpecifier");
785
819
  };
786
- l.parseExportSpecifiers = function(e) {
820
+ d.parseExportSpecifiers = function(e) {
787
821
  var t = [], i = true;
788
822
  for (this.expect(a.braceL); !this.eat(a.braceR); ) {
789
823
  if (i) i = false;
@@ -792,22 +826,22 @@ l.parseExportSpecifiers = function(e) {
792
826
  }
793
827
  return t;
794
828
  };
795
- l.parseImport = function(e) {
796
- return this.next(), this.type === a.string ? (e.specifiers = Oi, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual("from"), e.source = this.type === a.string ? this.parseExprAtom() : this.unexpected()), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ImportDeclaration");
829
+ d.parseImport = function(e) {
830
+ return this.next(), this.type === a.string ? (e.specifiers = zi, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual("from"), e.source = this.type === a.string ? this.parseExprAtom() : this.unexpected()), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ImportDeclaration");
797
831
  };
798
- l.parseImportSpecifier = function() {
832
+ d.parseImportSpecifier = function() {
799
833
  var e = this.startNode();
800
- return e.imported = this.parseModuleExportName(), this.eatContextual("as") ? e.local = this.parseIdent() : (this.checkUnreserved(e.imported), e.local = e.imported), this.checkLValSimple(e.local, G), this.finishNode(e, "ImportSpecifier");
834
+ return e.imported = this.parseModuleExportName(), this.eatContextual("as") ? e.local = this.parseIdent() : (this.checkUnreserved(e.imported), e.local = e.imported), this.checkLValSimple(e.local, J), this.finishNode(e, "ImportSpecifier");
801
835
  };
802
- l.parseImportDefaultSpecifier = function() {
836
+ d.parseImportDefaultSpecifier = function() {
803
837
  var e = this.startNode();
804
- return e.local = this.parseIdent(), this.checkLValSimple(e.local, G), this.finishNode(e, "ImportDefaultSpecifier");
838
+ return e.local = this.parseIdent(), this.checkLValSimple(e.local, J), this.finishNode(e, "ImportDefaultSpecifier");
805
839
  };
806
- l.parseImportNamespaceSpecifier = function() {
840
+ d.parseImportNamespaceSpecifier = function() {
807
841
  var e = this.startNode();
808
- return this.next(), this.expectContextual("as"), e.local = this.parseIdent(), this.checkLValSimple(e.local, G), this.finishNode(e, "ImportNamespaceSpecifier");
842
+ return this.next(), this.expectContextual("as"), e.local = this.parseIdent(), this.checkLValSimple(e.local, J), this.finishNode(e, "ImportNamespaceSpecifier");
809
843
  };
810
- l.parseImportSpecifiers = function() {
844
+ d.parseImportSpecifiers = function() {
811
845
  var e = [], t = true;
812
846
  if (this.type === a.name && (e.push(this.parseImportDefaultSpecifier()), !this.eat(a.comma))) return e;
813
847
  if (this.type === a.star) return e.push(this.parseImportNamespaceSpecifier()), e;
@@ -818,7 +852,7 @@ l.parseImportSpecifiers = function() {
818
852
  }
819
853
  return e;
820
854
  };
821
- l.parseWithClause = function() {
855
+ d.parseWithClause = function() {
822
856
  var e = [];
823
857
  if (!this.eat(a._with)) return e;
824
858
  this.expect(a.braceL);
@@ -826,29 +860,29 @@ l.parseWithClause = function() {
826
860
  if (i) i = false;
827
861
  else if (this.expect(a.comma), this.afterTrailingComma(a.braceR)) break;
828
862
  var s = this.parseImportAttribute(), r = s.key.type === "Identifier" ? s.key.name : s.key.value;
829
- Y(t, r) && this.raiseRecoverable(s.key.start, "Duplicate attribute key '" + r + "'"), t[r] = true, e.push(s);
863
+ $(t, r) && this.raiseRecoverable(s.key.start, "Duplicate attribute key '" + r + "'"), t[r] = true, e.push(s);
830
864
  }
831
865
  return e;
832
866
  };
833
- l.parseImportAttribute = function() {
867
+ d.parseImportAttribute = function() {
834
868
  var e = this.startNode();
835
869
  return e.key = this.type === a.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never"), this.expect(a.colon), this.type !== a.string && this.unexpected(), e.value = this.parseExprAtom(), this.finishNode(e, "ImportAttribute");
836
870
  };
837
- l.parseModuleExportName = function() {
871
+ d.parseModuleExportName = function() {
838
872
  if (this.options.ecmaVersion >= 13 && this.type === a.string) {
839
873
  var e = this.parseLiteral(this.value);
840
- return Ii.test(e.value) && this.raise(e.start, "An export name cannot include a lone surrogate."), e;
874
+ return Ji.test(e.value) && this.raise(e.start, "An export name cannot include a lone surrogate."), e;
841
875
  }
842
876
  return this.parseIdent(true);
843
877
  };
844
- l.adaptDirectivePrologue = function(e) {
878
+ d.adaptDirectivePrologue = function(e) {
845
879
  for (var t = 0; t < e.length && this.isDirectiveCandidate(e[t]); ++t) e[t].directive = e[t].expression.raw.slice(1, -1);
846
880
  };
847
- l.isDirectiveCandidate = function(e) {
881
+ d.isDirectiveCandidate = function(e) {
848
882
  return this.options.ecmaVersion >= 5 && e.type === "ExpressionStatement" && e.expression.type === "Literal" && typeof e.expression.value == "string" && (this.input[e.start] === '"' || this.input[e.start] === "'");
849
883
  };
850
- var R = T.prototype;
851
- R.toAssignable = function(e, t, i) {
884
+ var D = E.prototype;
885
+ D.toAssignable = function(e, t, i) {
852
886
  if (this.options.ecmaVersion >= 6 && e) switch (e.type) {
853
887
  case "Identifier":
854
888
  this.inAsync && e.name === "await" && this.raise(e.start, "Cannot use 'await' as identifier inside an async function");
@@ -891,7 +925,7 @@ R.toAssignable = function(e, t, i) {
891
925
  else i && this.checkPatternErrors(i, true);
892
926
  return e;
893
927
  };
894
- R.toAssignableList = function(e, t) {
928
+ D.toAssignableList = function(e, t) {
895
929
  for (var i = e.length, s = 0; s < i; s++) {
896
930
  var r = e[s];
897
931
  r && this.toAssignable(r, t);
@@ -902,15 +936,15 @@ R.toAssignableList = function(e, t) {
902
936
  }
903
937
  return e;
904
938
  };
905
- R.parseSpread = function(e) {
939
+ D.parseSpread = function(e) {
906
940
  var t = this.startNode();
907
941
  return this.next(), t.argument = this.parseMaybeAssign(false, e), this.finishNode(t, "SpreadElement");
908
942
  };
909
- R.parseRestBinding = function() {
943
+ D.parseRestBinding = function() {
910
944
  var e = this.startNode();
911
945
  return this.next(), this.options.ecmaVersion === 6 && this.type !== a.name && this.unexpected(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
912
946
  };
913
- R.parseBindingAtom = function() {
947
+ D.parseBindingAtom = function() {
914
948
  if (this.options.ecmaVersion >= 6) switch (this.type) {
915
949
  case a.bracketL:
916
950
  var e = this.startNode();
@@ -920,7 +954,7 @@ R.parseBindingAtom = function() {
920
954
  }
921
955
  return this.parseIdent();
922
956
  };
923
- R.parseBindingList = function(e, t, i, s) {
957
+ D.parseBindingList = function(e, t, i, s) {
924
958
  for (var r = [], n = true; !this.eat(e); ) if (n ? n = false : this.expect(a.comma), t && this.type === a.comma) r.push(null);
925
959
  else {
926
960
  if (i && this.afterTrailingComma(e)) break;
@@ -932,24 +966,24 @@ R.parseBindingList = function(e, t, i, s) {
932
966
  }
933
967
  return r;
934
968
  };
935
- R.parseAssignableListItem = function(e) {
969
+ D.parseAssignableListItem = function(e) {
936
970
  var t = this.parseMaybeDefault(this.start, this.startLoc);
937
971
  return this.parseBindingListItem(t), t;
938
972
  };
939
- R.parseBindingListItem = function(e) {
973
+ D.parseBindingListItem = function(e) {
940
974
  return e;
941
975
  };
942
- R.parseMaybeDefault = function(e, t, i) {
976
+ D.parseMaybeDefault = function(e, t, i) {
943
977
  if (i = i || this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(a.eq)) return i;
944
978
  var s = this.startNodeAt(e, t);
945
979
  return s.left = i, s.right = this.parseMaybeAssign(), this.finishNode(s, "AssignmentPattern");
946
980
  };
947
- R.checkLValSimple = function(e, t, i) {
948
- t === void 0 && (t = le);
949
- var s = t !== le;
981
+ D.checkLValSimple = function(e, t, i) {
982
+ t === void 0 && (t = de);
983
+ var s = t !== de;
950
984
  switch (e.type) {
951
985
  case "Identifier":
952
- this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (s ? "Binding " : "Assigning to ") + e.name + " in strict mode"), s && (t === G && e.name === "let" && this.raiseRecoverable(e.start, "let is disallowed as a lexically bound name"), i && (Y(i, e.name) && this.raiseRecoverable(e.start, "Argument name clash"), i[e.name] = true), t !== gt && this.declareName(e.name, t, e.start));
986
+ this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (s ? "Binding " : "Assigning to ") + e.name + " in strict mode"), s && (t === J && e.name === "let" && this.raiseRecoverable(e.start, "let is disallowed as a lexically bound name"), i && ($(i, e.name) && this.raiseRecoverable(e.start, "Argument name clash"), i[e.name] = true), t !== Ct && this.declareName(e.name, t, e.start));
953
987
  break;
954
988
  case "ChainExpression":
955
989
  this.raiseRecoverable(e.start, "Optional chaining cannot appear in left-hand side");
@@ -963,8 +997,8 @@ R.checkLValSimple = function(e, t, i) {
963
997
  this.raise(e.start, (s ? "Binding" : "Assigning to") + " rvalue");
964
998
  }
965
999
  };
966
- R.checkLValPattern = function(e, t, i) {
967
- switch (t === void 0 && (t = le), e.type) {
1000
+ D.checkLValPattern = function(e, t, i) {
1001
+ switch (t === void 0 && (t = de), e.type) {
968
1002
  case "ObjectPattern":
969
1003
  for (var s = 0, r = e.properties; s < r.length; s += 1) {
970
1004
  var n = r[s];
@@ -972,17 +1006,17 @@ R.checkLValPattern = function(e, t, i) {
972
1006
  }
973
1007
  break;
974
1008
  case "ArrayPattern":
975
- for (var o = 0, u = e.elements; o < u.length; o += 1) {
976
- var p = u[o];
977
- p && this.checkLValInnerPattern(p, t, i);
1009
+ for (var o = 0, p = e.elements; o < p.length; o += 1) {
1010
+ var u = p[o];
1011
+ u && this.checkLValInnerPattern(u, t, i);
978
1012
  }
979
1013
  break;
980
1014
  default:
981
1015
  this.checkLValSimple(e, t, i);
982
1016
  }
983
1017
  };
984
- R.checkLValInnerPattern = function(e, t, i) {
985
- switch (t === void 0 && (t = le), e.type) {
1018
+ D.checkLValInnerPattern = function(e, t, i) {
1019
+ switch (t === void 0 && (t = de), e.type) {
986
1020
  case "Property":
987
1021
  this.checkLValInnerPattern(e.value, t, i);
988
1022
  break;
@@ -996,33 +1030,33 @@ R.checkLValInnerPattern = function(e, t, i) {
996
1030
  this.checkLValPattern(e, t, i);
997
1031
  }
998
1032
  };
999
- var D = function(t, i, s, r, n) {
1033
+ var F = function(t, i, s, r, n) {
1000
1034
  this.token = t, this.isExpr = !!i, this.preserveSpace = !!s, this.override = r, this.generator = !!n;
1001
- }, _ = { b_stat: new D("{", false), b_expr: new D("{", true), b_tmpl: new D("${", false), p_stat: new D("(", false), p_expr: new D("(", true), q_tmpl: new D("`", true, true, function(e) {
1035
+ }, C = { b_stat: new F("{", false), b_expr: new F("{", true), b_tmpl: new F("${", false), p_stat: new F("(", false), p_expr: new F("(", true), q_tmpl: new F("`", true, true, function(e) {
1002
1036
  return e.tryReadTemplateToken();
1003
- }), f_stat: new D("function", false), f_expr: new D("function", true), f_expr_gen: new D("function", true, false, null, true), f_gen: new D("function", false, false, null, true) }, $ = T.prototype;
1004
- $.initialContext = function() {
1005
- return [_.b_stat];
1037
+ }), f_stat: new F("function", false), f_expr: new F("function", true), f_expr_gen: new F("function", true, false, null, true), f_gen: new F("function", false, false, null, true) }, ee = E.prototype;
1038
+ ee.initialContext = function() {
1039
+ return [C.b_stat];
1006
1040
  };
1007
- $.curContext = function() {
1041
+ ee.curContext = function() {
1008
1042
  return this.context[this.context.length - 1];
1009
1043
  };
1010
- $.braceIsBlock = function(e) {
1044
+ ee.braceIsBlock = function(e) {
1011
1045
  var t = this.curContext();
1012
- return t === _.f_expr || t === _.f_stat ? true : e === a.colon && (t === _.b_stat || t === _.b_expr) ? !t.isExpr : e === a._return || e === a.name && this.exprAllowed ? L.test(this.input.slice(this.lastTokEnd, this.start)) : e === a._else || e === a.semi || e === a.eof || e === a.parenR || e === a.arrow ? true : e === a.braceL ? t === _.b_stat : e === a._var || e === a._const || e === a.name ? false : !this.exprAllowed;
1046
+ return t === C.f_expr || t === C.f_stat ? true : e === a.colon && (t === C.b_stat || t === C.b_expr) ? !t.isExpr : e === a._return || e === a.name && this.exprAllowed ? V.test(this.input.slice(this.lastTokEnd, this.start)) : e === a._else || e === a.semi || e === a.eof || e === a.parenR || e === a.arrow ? true : e === a.braceL ? t === C.b_stat : e === a._var || e === a._const || e === a.name ? false : !this.exprAllowed;
1013
1047
  };
1014
- $.inGeneratorContext = function() {
1048
+ ee.inGeneratorContext = function() {
1015
1049
  for (var e = this.context.length - 1; e >= 1; e--) {
1016
1050
  var t = this.context[e];
1017
1051
  if (t.token === "function") return t.generator;
1018
1052
  }
1019
1053
  return false;
1020
1054
  };
1021
- $.updateContext = function(e) {
1055
+ ee.updateContext = function(e) {
1022
1056
  var t, i = this.type;
1023
1057
  i.keyword && e === a.dot ? this.exprAllowed = false : (t = i.updateContext) ? t.call(this, e) : this.exprAllowed = i.beforeExpr;
1024
1058
  };
1025
- $.overrideContext = function(e) {
1059
+ ee.overrideContext = function(e) {
1026
1060
  this.curContext() !== e && (this.context[this.context.length - 1] = e);
1027
1061
  };
1028
1062
  a.parenR.updateContext = a.braceR.updateContext = function() {
@@ -1031,33 +1065,33 @@ a.parenR.updateContext = a.braceR.updateContext = function() {
1031
1065
  return;
1032
1066
  }
1033
1067
  var e = this.context.pop();
1034
- e === _.b_stat && this.curContext().token === "function" && (e = this.context.pop()), this.exprAllowed = !e.isExpr;
1068
+ e === C.b_stat && this.curContext().token === "function" && (e = this.context.pop()), this.exprAllowed = !e.isExpr;
1035
1069
  };
1036
1070
  a.braceL.updateContext = function(e) {
1037
- this.context.push(this.braceIsBlock(e) ? _.b_stat : _.b_expr), this.exprAllowed = true;
1071
+ this.context.push(this.braceIsBlock(e) ? C.b_stat : C.b_expr), this.exprAllowed = true;
1038
1072
  };
1039
1073
  a.dollarBraceL.updateContext = function() {
1040
- this.context.push(_.b_tmpl), this.exprAllowed = true;
1074
+ this.context.push(C.b_tmpl), this.exprAllowed = true;
1041
1075
  };
1042
1076
  a.parenL.updateContext = function(e) {
1043
1077
  var t = e === a._if || e === a._for || e === a._with || e === a._while;
1044
- this.context.push(t ? _.p_stat : _.p_expr), this.exprAllowed = true;
1078
+ this.context.push(t ? C.p_stat : C.p_expr), this.exprAllowed = true;
1045
1079
  };
1046
1080
  a.incDec.updateContext = function() {
1047
1081
  };
1048
1082
  a._function.updateContext = a._class.updateContext = function(e) {
1049
- e.beforeExpr && e !== a._else && !(e === a.semi && this.curContext() !== _.p_stat) && !(e === a._return && L.test(this.input.slice(this.lastTokEnd, this.start))) && !((e === a.colon || e === a.braceL) && this.curContext() === _.b_stat) ? this.context.push(_.f_expr) : this.context.push(_.f_stat), this.exprAllowed = false;
1083
+ e.beforeExpr && e !== a._else && !(e === a.semi && this.curContext() !== C.p_stat) && !(e === a._return && V.test(this.input.slice(this.lastTokEnd, this.start))) && !((e === a.colon || e === a.braceL) && this.curContext() === C.b_stat) ? this.context.push(C.f_expr) : this.context.push(C.f_stat), this.exprAllowed = false;
1050
1084
  };
1051
1085
  a.colon.updateContext = function() {
1052
1086
  this.curContext().token === "function" && this.context.pop(), this.exprAllowed = true;
1053
1087
  };
1054
1088
  a.backQuote.updateContext = function() {
1055
- this.curContext() === _.q_tmpl ? this.context.pop() : this.context.push(_.q_tmpl), this.exprAllowed = false;
1089
+ this.curContext() === C.q_tmpl ? this.context.pop() : this.context.push(C.q_tmpl), this.exprAllowed = false;
1056
1090
  };
1057
1091
  a.star.updateContext = function(e) {
1058
1092
  if (e === a._function) {
1059
1093
  var t = this.context.length - 1;
1060
- this.context[t] === _.f_expr ? this.context[t] = _.f_expr_gen : this.context[t] = _.f_gen;
1094
+ this.context[t] === C.f_expr ? this.context[t] = C.f_expr_gen : this.context[t] = C.f_gen;
1061
1095
  }
1062
1096
  this.exprAllowed = true;
1063
1097
  };
@@ -1065,7 +1099,7 @@ a.name.updateContext = function(e) {
1065
1099
  var t = false;
1066
1100
  this.options.ecmaVersion >= 6 && e !== a.dot && (this.value === "of" && !this.exprAllowed || this.value === "yield" && this.inGeneratorContext()) && (t = true), this.exprAllowed = t;
1067
1101
  };
1068
- var y = T.prototype;
1102
+ var y = E.prototype;
1069
1103
  y.checkPropClash = function(e, t, i) {
1070
1104
  if (!(this.options.ecmaVersion >= 9 && e.type === "SpreadElement") && !(this.options.ecmaVersion >= 6 && (e.computed || e.method || e.shorthand))) {
1071
1105
  var s = e.key, r;
@@ -1087,8 +1121,8 @@ y.checkPropClash = function(e, t, i) {
1087
1121
  r = "$" + r;
1088
1122
  var o = t[r];
1089
1123
  if (o) {
1090
- var u;
1091
- n === "init" ? u = this.strict && o.init || o.get || o.set : u = o.init || o[n], u && this.raiseRecoverable(s.start, "Redefinition of property");
1124
+ var p;
1125
+ n === "init" ? p = this.strict && o.init || o.get || o.set : p = o.init || o[n], p && this.raiseRecoverable(s.start, "Redefinition of property");
1092
1126
  } else o = t[r] = { init: false, get: false, set: false };
1093
1127
  o[n] = true;
1094
1128
  }
@@ -1108,15 +1142,15 @@ y.parseMaybeAssign = function(e, t, i) {
1108
1142
  this.exprAllowed = false;
1109
1143
  }
1110
1144
  var s = false, r = -1, n = -1, o = -1;
1111
- t ? (r = t.parenthesizedAssign, n = t.trailingComma, o = t.doubleProto, t.parenthesizedAssign = t.trailingComma = -1) : (t = new ye(), s = true);
1112
- var u = this.start, p = this.startLoc;
1145
+ t ? (r = t.parenthesizedAssign, n = t.trailingComma, o = t.doubleProto, t.parenthesizedAssign = t.trailingComma = -1) : (t = new Se(), s = true);
1146
+ var p = this.start, u = this.startLoc;
1113
1147
  (this.type === a.parenL || this.type === a.name) && (this.potentialArrowAt = this.start, this.potentialArrowInForAwait = e === "await");
1114
- var d = this.parseMaybeConditional(e, t);
1115
- if (i && (d = i.call(this, d, u, p)), this.type.isAssign) {
1116
- var f = this.startNodeAt(u, p);
1117
- return f.operator = this.value, this.type === a.eq && (d = this.toAssignable(d, false, t)), s || (t.parenthesizedAssign = t.trailingComma = t.doubleProto = -1), t.shorthandAssign >= d.start && (t.shorthandAssign = -1), this.type === a.eq ? this.checkLValPattern(d) : this.checkLValSimple(d), f.left = d, this.next(), f.right = this.parseMaybeAssign(e), o > -1 && (t.doubleProto = o), this.finishNode(f, "AssignmentExpression");
1148
+ var c = this.parseMaybeConditional(e, t);
1149
+ if (i && (c = i.call(this, c, p, u)), this.type.isAssign) {
1150
+ var f = this.startNodeAt(p, u);
1151
+ return f.operator = this.value, this.type === a.eq && (c = this.toAssignable(c, false, t)), s || (t.parenthesizedAssign = t.trailingComma = t.doubleProto = -1), t.shorthandAssign >= c.start && (t.shorthandAssign = -1), this.type === a.eq ? this.checkLValPattern(c) : this.checkLValSimple(c), f.left = c, this.next(), f.right = this.parseMaybeAssign(e), o > -1 && (t.doubleProto = o), this.finishNode(f, "AssignmentExpression");
1118
1152
  } else s && this.checkExpressionErrors(t, true);
1119
- return r > -1 && (t.parenthesizedAssign = r), n > -1 && (t.trailingComma = n), d;
1153
+ return r > -1 && (t.parenthesizedAssign = r), n > -1 && (t.trailingComma = n), c;
1120
1154
  };
1121
1155
  y.parseMaybeConditional = function(e, t) {
1122
1156
  var i = this.start, s = this.startLoc, r = this.parseExprOps(e, t);
@@ -1134,12 +1168,12 @@ y.parseExprOps = function(e, t) {
1134
1168
  y.parseExprOp = function(e, t, i, s, r) {
1135
1169
  var n = this.type.binop;
1136
1170
  if (n != null && (!r || this.type !== a._in) && n > s) {
1137
- var o = this.type === a.logicalOR || this.type === a.logicalAND, u = this.type === a.coalesce;
1138
- u && (n = a.logicalAND.binop);
1139
- var p = this.value;
1171
+ var o = this.type === a.logicalOR || this.type === a.logicalAND, p = this.type === a.coalesce;
1172
+ p && (n = a.logicalAND.binop);
1173
+ var u = this.value;
1140
1174
  this.next();
1141
- var d = this.start, f = this.startLoc, C = this.parseExprOp(this.parseMaybeUnary(null, false, false, r), d, f, n, r), B = this.buildBinary(t, i, e, C, p, o || u);
1142
- return (o && this.type === a.coalesce || u && (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(B, t, i, s, r);
1175
+ var c = this.start, f = this.startLoc, v = this.parseExprOp(this.parseMaybeUnary(null, false, false, r), c, f, n, r), T = this.buildBinary(t, i, e, v, u, o || p);
1176
+ return (o && 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(T, t, i, s, r);
1143
1177
  }
1144
1178
  return e;
1145
1179
  };
@@ -1152,25 +1186,25 @@ y.parseMaybeUnary = function(e, t, i, s) {
1152
1186
  var r = this.start, n = this.startLoc, o;
1153
1187
  if (this.isContextual("await") && this.canAwait) o = this.parseAwait(s), t = true;
1154
1188
  else if (this.type.prefix) {
1155
- var u = this.startNode(), p = this.type === a.incDec;
1156
- u.operator = this.value, u.prefix = true, this.next(), u.argument = this.parseMaybeUnary(null, true, p, s), this.checkExpressionErrors(e, true), p ? this.checkLValSimple(u.argument) : this.strict && u.operator === "delete" && bt(u.argument) ? this.raiseRecoverable(u.start, "Deleting local variable in strict mode") : u.operator === "delete" && Re(u.argument) ? this.raiseRecoverable(u.start, "Private fields can not be deleted") : t = true, o = this.finishNode(u, p ? "UpdateExpression" : "UnaryExpression");
1189
+ var p = this.startNode(), u = this.type === a.incDec;
1190
+ p.operator = this.value, p.prefix = true, this.next(), p.argument = this.parseMaybeUnary(null, true, u, s), this.checkExpressionErrors(e, true), u ? this.checkLValSimple(p.argument) : this.strict && p.operator === "delete" && kt(p.argument) ? this.raiseRecoverable(p.start, "Deleting local variable in strict mode") : p.operator === "delete" && Me(p.argument) ? this.raiseRecoverable(p.start, "Private fields can not be deleted") : t = true, o = this.finishNode(p, u ? "UpdateExpression" : "UnaryExpression");
1157
1191
  } else if (!t && this.type === a.privateId) (s || this.privateNameStack.length === 0) && this.options.checkPrivateFields && this.unexpected(), o = this.parsePrivateIdent(), this.type !== a._in && this.unexpected();
1158
1192
  else {
1159
1193
  if (o = this.parseExprSubscripts(e, s), this.checkExpressionErrors(e)) return o;
1160
1194
  for (; this.type.postfix && !this.canInsertSemicolon(); ) {
1161
- var d = this.startNodeAt(r, n);
1162
- d.operator = this.value, d.prefix = false, d.argument = o, this.checkLValSimple(o), this.next(), o = this.finishNode(d, "UpdateExpression");
1195
+ var c = this.startNodeAt(r, n);
1196
+ c.operator = this.value, c.prefix = false, c.argument = o, this.checkLValSimple(o), this.next(), o = this.finishNode(c, "UpdateExpression");
1163
1197
  }
1164
1198
  }
1165
1199
  if (!i && this.eat(a.starstar)) if (t) this.unexpected(this.lastTokStart);
1166
1200
  else return this.buildBinary(r, n, o, this.parseMaybeUnary(null, false, false, s), "**", false);
1167
1201
  else return o;
1168
1202
  };
1169
- function bt(e) {
1170
- return e.type === "Identifier" || e.type === "ParenthesizedExpression" && bt(e.expression);
1203
+ function kt(e) {
1204
+ return e.type === "Identifier" || e.type === "ParenthesizedExpression" && kt(e.expression);
1171
1205
  }
1172
- function Re(e) {
1173
- return e.type === "MemberExpression" && e.property.type === "PrivateIdentifier" || e.type === "ChainExpression" && Re(e.expression) || e.type === "ParenthesizedExpression" && Re(e.expression);
1206
+ function Me(e) {
1207
+ return e.type === "MemberExpression" && e.property.type === "PrivateIdentifier" || e.type === "ChainExpression" && Me(e.expression) || e.type === "ParenthesizedExpression" && Me(e.expression);
1174
1208
  }
1175
1209
  y.parseExprSubscripts = function(e, t) {
1176
1210
  var i = this.start, s = this.startLoc, r = this.parseExprAtom(e, t);
@@ -1180,15 +1214,15 @@ y.parseExprSubscripts = function(e, t) {
1180
1214
  };
1181
1215
  y.parseSubscripts = function(e, t, i, s, r) {
1182
1216
  for (var n = this.options.ecmaVersion >= 8 && e.type === "Identifier" && e.name === "async" && this.lastTokEnd === e.end && !this.canInsertSemicolon() && e.end - e.start === 5 && this.potentialArrowAt === e.start, o = false; ; ) {
1183
- var u = this.parseSubscript(e, t, i, s, n, o, r);
1184
- if (u.optional && (o = true), u === e || u.type === "ArrowFunctionExpression") {
1217
+ var p = this.parseSubscript(e, t, i, s, n, o, r);
1218
+ if (p.optional && (o = true), p === e || p.type === "ArrowFunctionExpression") {
1185
1219
  if (o) {
1186
- var p = this.startNodeAt(t, i);
1187
- p.expression = u, u = this.finishNode(p, "ChainExpression");
1220
+ var u = this.startNodeAt(t, i);
1221
+ u.expression = p, p = this.finishNode(u, "ChainExpression");
1188
1222
  }
1189
- return u;
1223
+ return p;
1190
1224
  }
1191
- e = u;
1225
+ e = p;
1192
1226
  }
1193
1227
  };
1194
1228
  y.shouldParseAsyncArrow = function() {
@@ -1198,24 +1232,24 @@ y.parseSubscriptAsyncArrow = function(e, t, i, s) {
1198
1232
  return this.parseArrowExpression(this.startNodeAt(e, t), i, true, s);
1199
1233
  };
1200
1234
  y.parseSubscript = function(e, t, i, s, r, n, o) {
1201
- var u = this.options.ecmaVersion >= 11, p = u && this.eat(a.questionDot);
1202
- s && p && this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions");
1203
- var d = this.eat(a.bracketL);
1204
- if (d || p && this.type !== a.parenL && this.type !== a.backQuote || this.eat(a.dot)) {
1235
+ var p = this.options.ecmaVersion >= 11, u = p && this.eat(a.questionDot);
1236
+ s && u && this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions");
1237
+ var c = this.eat(a.bracketL);
1238
+ if (c || u && this.type !== a.parenL && this.type !== a.backQuote || this.eat(a.dot)) {
1205
1239
  var f = this.startNodeAt(t, i);
1206
- f.object = e, d ? (f.property = this.parseExpression(), this.expect(a.bracketR)) : this.type === a.privateId && e.type !== "Super" ? f.property = this.parsePrivateIdent() : f.property = this.parseIdent(this.options.allowReserved !== "never"), f.computed = !!d, u && (f.optional = p), e = this.finishNode(f, "MemberExpression");
1240
+ f.object = e, c ? (f.property = this.parseExpression(), this.expect(a.bracketR)) : this.type === a.privateId && e.type !== "Super" ? f.property = this.parsePrivateIdent() : f.property = this.parseIdent(this.options.allowReserved !== "never"), f.computed = !!c, p && (f.optional = u), e = this.finishNode(f, "MemberExpression");
1207
1241
  } else if (!s && this.eat(a.parenL)) {
1208
- var C = new ye(), B = this.yieldPos, h = this.awaitPos, m = this.awaitIdentPos;
1242
+ var v = new Se(), T = this.yieldPos, h = this.awaitPos, m = this.awaitIdentPos;
1209
1243
  this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0;
1210
- var x = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, false, C);
1211
- if (r && !p && this.shouldParseAsyncArrow()) return this.checkPatternErrors(C, false), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = B, this.awaitPos = h, this.awaitIdentPos = m, this.parseSubscriptAsyncArrow(t, i, x, o);
1212
- this.checkExpressionErrors(C, true), this.yieldPos = B || this.yieldPos, this.awaitPos = h || this.awaitPos, this.awaitIdentPos = m || this.awaitIdentPos;
1244
+ var x = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, false, v);
1245
+ if (r && !u && this.shouldParseAsyncArrow()) return this.checkPatternErrors(v, false), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = T, this.awaitPos = h, this.awaitIdentPos = m, this.parseSubscriptAsyncArrow(t, i, x, o);
1246
+ this.checkExpressionErrors(v, true), this.yieldPos = T || this.yieldPos, this.awaitPos = h || this.awaitPos, this.awaitIdentPos = m || this.awaitIdentPos;
1213
1247
  var g = this.startNodeAt(t, i);
1214
- g.callee = e, g.arguments = x, u && (g.optional = p), e = this.finishNode(g, "CallExpression");
1248
+ g.callee = e, g.arguments = x, p && (g.optional = u), e = this.finishNode(g, "CallExpression");
1215
1249
  } else if (this.type === a.backQuote) {
1216
- (p || n) && this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
1217
- var w = this.startNodeAt(t, i);
1218
- w.tag = e, w.quasi = this.parseTemplate({ isTagged: true }), e = this.finishNode(w, "TaggedTemplateExpression");
1250
+ (u || n) && this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
1251
+ var N = this.startNodeAt(t, i);
1252
+ N.tag = e, N.quasi = this.parseTemplate({ isTagged: true }), e = this.finishNode(N, "TaggedTemplateExpression");
1219
1253
  }
1220
1254
  return e;
1221
1255
  };
@@ -1228,16 +1262,16 @@ y.parseExprAtom = function(e, t, i) {
1228
1262
  case a._this:
1229
1263
  return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");
1230
1264
  case a.name:
1231
- var n = this.start, o = this.startLoc, u = this.containsEsc, p = this.parseIdent(false);
1232
- if (this.options.ecmaVersion >= 8 && !u && p.name === "async" && !this.canInsertSemicolon() && this.eat(a._function)) return this.overrideContext(_.f_expr), this.parseFunction(this.startNodeAt(n, o), 0, false, true, t);
1265
+ var n = this.start, o = this.startLoc, p = this.containsEsc, u = this.parseIdent(false);
1266
+ if (this.options.ecmaVersion >= 8 && !p && u.name === "async" && !this.canInsertSemicolon() && this.eat(a._function)) return this.overrideContext(C.f_expr), this.parseFunction(this.startNodeAt(n, o), 0, false, true, t);
1233
1267
  if (r && !this.canInsertSemicolon()) {
1234
- if (this.eat(a.arrow)) return this.parseArrowExpression(this.startNodeAt(n, o), [p], false, t);
1235
- if (this.options.ecmaVersion >= 8 && p.name === "async" && this.type === a.name && !u && (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) return p = this.parseIdent(false), (this.canInsertSemicolon() || !this.eat(a.arrow)) && this.unexpected(), this.parseArrowExpression(this.startNodeAt(n, o), [p], true, t);
1268
+ if (this.eat(a.arrow)) return this.parseArrowExpression(this.startNodeAt(n, o), [u], false, t);
1269
+ if (this.options.ecmaVersion >= 8 && u.name === "async" && this.type === a.name && !p && (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) return u = this.parseIdent(false), (this.canInsertSemicolon() || !this.eat(a.arrow)) && this.unexpected(), this.parseArrowExpression(this.startNodeAt(n, o), [u], true, t);
1236
1270
  }
1237
- return p;
1271
+ return u;
1238
1272
  case a.regexp:
1239
- var d = this.value;
1240
- return s = this.parseLiteral(d.value), s.regex = { pattern: d.pattern, flags: d.flags }, s;
1273
+ var c = this.value;
1274
+ return s = this.parseLiteral(c.value), s.regex = { pattern: c.pattern, flags: c.flags }, s;
1241
1275
  case a.num:
1242
1276
  case a.string:
1243
1277
  return this.parseLiteral(this.value);
@@ -1246,12 +1280,12 @@ y.parseExprAtom = function(e, t, i) {
1246
1280
  case a._false:
1247
1281
  return s = this.startNode(), s.value = this.type === a._null ? null : this.type === a._true, s.raw = this.type.keyword, this.next(), this.finishNode(s, "Literal");
1248
1282
  case a.parenL:
1249
- var f = this.start, C = this.parseParenAndDistinguishExpression(r, t);
1250
- return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(C) && (e.parenthesizedAssign = f), e.parenthesizedBind < 0 && (e.parenthesizedBind = f)), C;
1283
+ var f = this.start, v = this.parseParenAndDistinguishExpression(r, t);
1284
+ return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(v) && (e.parenthesizedAssign = f), e.parenthesizedBind < 0 && (e.parenthesizedBind = f)), v;
1251
1285
  case a.bracketL:
1252
1286
  return s = this.startNode(), this.next(), s.elements = this.parseExprList(a.bracketR, true, true, e), this.finishNode(s, "ArrayExpression");
1253
1287
  case a.braceL:
1254
- return this.overrideContext(_.b_expr), this.parseObj(false, e);
1288
+ return this.overrideContext(C.b_expr), this.parseObj(false, e);
1255
1289
  case a._function:
1256
1290
  return s = this.startNode(), this.next(), this.parseFunction(s, 0);
1257
1291
  case a._class:
@@ -1292,7 +1326,7 @@ y.parseImportMeta = function(e) {
1292
1326
  };
1293
1327
  y.parseLiteral = function(e) {
1294
1328
  var t = this.startNode();
1295
- return t.value = e, t.raw = this.input.slice(this.start, this.end), t.raw.charCodeAt(t.raw.length - 1) === 110 && (t.bigint = t.raw.slice(0, -1).replace(/_/g, "")), this.next(), this.finishNode(t, "Literal");
1329
+ return t.value = e, t.raw = this.input.slice(this.start, this.end), t.raw.charCodeAt(t.raw.length - 1) === 110 && (t.bigint = t.value != null ? t.value.toString() : t.raw.slice(0, -1).replace(/_/g, "")), this.next(), this.finishNode(t, "Literal");
1296
1330
  };
1297
1331
  y.parseParenExpression = function() {
1298
1332
  this.expect(a.parenL);
@@ -1306,21 +1340,21 @@ y.parseParenAndDistinguishExpression = function(e, t) {
1306
1340
  var i = this.start, s = this.startLoc, r, n = this.options.ecmaVersion >= 8;
1307
1341
  if (this.options.ecmaVersion >= 6) {
1308
1342
  this.next();
1309
- var o = this.start, u = this.startLoc, p = [], d = true, f = false, C = new ye(), B = this.yieldPos, h = this.awaitPos, m;
1310
- for (this.yieldPos = 0, this.awaitPos = 0; this.type !== a.parenR; ) if (d ? d = false : this.expect(a.comma), n && this.afterTrailingComma(a.parenR, true)) {
1343
+ var o = this.start, p = this.startLoc, u = [], c = true, f = false, v = new Se(), T = this.yieldPos, h = this.awaitPos, m;
1344
+ for (this.yieldPos = 0, this.awaitPos = 0; this.type !== a.parenR; ) if (c ? c = false : this.expect(a.comma), n && this.afterTrailingComma(a.parenR, true)) {
1311
1345
  f = true;
1312
1346
  break;
1313
1347
  } else if (this.type === a.ellipsis) {
1314
- m = this.start, p.push(this.parseParenItem(this.parseRestBinding())), this.type === a.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
1348
+ m = this.start, u.push(this.parseParenItem(this.parseRestBinding())), this.type === a.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
1315
1349
  break;
1316
- } else p.push(this.parseMaybeAssign(false, C, this.parseParenItem));
1350
+ } else u.push(this.parseMaybeAssign(false, v, this.parseParenItem));
1317
1351
  var x = this.lastTokEnd, g = this.lastTokEndLoc;
1318
- if (this.expect(a.parenR), e && this.shouldParseArrow(p) && this.eat(a.arrow)) return this.checkPatternErrors(C, false), this.checkYieldAwaitInDefaultParams(), this.yieldPos = B, this.awaitPos = h, this.parseParenArrowList(i, s, p, t);
1319
- (!p.length || f) && this.unexpected(this.lastTokStart), m && this.unexpected(m), this.checkExpressionErrors(C, true), this.yieldPos = B || this.yieldPos, this.awaitPos = h || this.awaitPos, p.length > 1 ? (r = this.startNodeAt(o, u), r.expressions = p, this.finishNodeAt(r, "SequenceExpression", x, g)) : r = p[0];
1352
+ if (this.expect(a.parenR), e && this.shouldParseArrow(u) && this.eat(a.arrow)) return this.checkPatternErrors(v, false), this.checkYieldAwaitInDefaultParams(), this.yieldPos = T, this.awaitPos = h, this.parseParenArrowList(i, s, u, t);
1353
+ (!u.length || f) && this.unexpected(this.lastTokStart), m && this.unexpected(m), this.checkExpressionErrors(v, true), this.yieldPos = T || this.yieldPos, this.awaitPos = h || this.awaitPos, u.length > 1 ? (r = this.startNodeAt(o, p), r.expressions = u, this.finishNodeAt(r, "SequenceExpression", x, g)) : r = u[0];
1320
1354
  } else r = this.parseParenExpression();
1321
1355
  if (this.options.preserveParens) {
1322
- var w = this.startNodeAt(i, s);
1323
- return w.expression = r, this.finishNode(w, "ParenthesizedExpression");
1356
+ var N = this.startNodeAt(i, s);
1357
+ return N.expression = r, this.finishNode(N, "ParenthesizedExpression");
1324
1358
  } else return r;
1325
1359
  };
1326
1360
  y.parseParenItem = function(e) {
@@ -1329,7 +1363,7 @@ y.parseParenItem = function(e) {
1329
1363
  y.parseParenArrowList = function(e, t, i, s) {
1330
1364
  return this.parseArrowExpression(this.startNodeAt(e, t), i, false, s);
1331
1365
  };
1332
- var Di = [];
1366
+ var Yi = [];
1333
1367
  y.parseNew = function() {
1334
1368
  this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword new");
1335
1369
  var e = this.startNode();
@@ -1340,7 +1374,7 @@ y.parseNew = function() {
1340
1374
  return e.property = this.parseIdent(true), e.property.name !== "target" && this.raiseRecoverable(e.property.start, "The only valid meta property for new is 'new.target'"), i && this.raiseRecoverable(e.start, "'new.target' must not contain escaped characters"), this.allowNewDotTarget || this.raiseRecoverable(e.start, "'new.target' can only be used in functions and class static block"), this.finishNode(e, "MetaProperty");
1341
1375
  }
1342
1376
  var s = this.start, r = this.startLoc;
1343
- return e.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), s, r, true, false), this.eat(a.parenL) ? e.arguments = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, false) : e.arguments = Di, this.finishNode(e, "NewExpression");
1377
+ return e.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), s, r, true, false), this.eat(a.parenL) ? e.arguments = this.parseExprList(a.parenR, this.options.ecmaVersion >= 8, false) : e.arguments = Yi, this.finishNode(e, "NewExpression");
1344
1378
  };
1345
1379
  y.parseTemplateElement = function(e) {
1346
1380
  var t = e.isTagged, i = this.startNode();
@@ -1359,7 +1393,7 @@ y.parseTemplate = function(e) {
1359
1393
  return this.next(), this.finishNode(i, "TemplateLiteral");
1360
1394
  };
1361
1395
  y.isAsyncProp = function(e) {
1362
- return !e.computed && e.key.type === "Identifier" && e.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) && !L.test(this.input.slice(this.lastTokEnd, this.start));
1396
+ return !e.computed && e.key.type === "Identifier" && e.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) && !V.test(this.input.slice(this.lastTokEnd, this.start));
1363
1397
  };
1364
1398
  y.parseObj = function(e, t) {
1365
1399
  var i = this.startNode(), s = true, r = {};
@@ -1375,19 +1409,20 @@ y.parseProperty = function(e, t) {
1375
1409
  var i = this.startNode(), s, r, n, o;
1376
1410
  if (this.options.ecmaVersion >= 9 && this.eat(a.ellipsis)) return e ? (i.argument = this.parseIdent(false), this.type === a.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.finishNode(i, "RestElement")) : (i.argument = this.parseMaybeAssign(false, t), this.type === a.comma && t && t.trailingComma < 0 && (t.trailingComma = this.start), this.finishNode(i, "SpreadElement"));
1377
1411
  this.options.ecmaVersion >= 6 && (i.method = false, i.shorthand = false, (e || t) && (n = this.start, o = this.startLoc), e || (s = this.eat(a.star)));
1378
- var u = this.containsEsc;
1379
- return this.parsePropertyName(i), !e && !u && this.options.ecmaVersion >= 8 && !s && this.isAsyncProp(i) ? (r = true, s = this.options.ecmaVersion >= 9 && this.eat(a.star), this.parsePropertyName(i)) : r = false, this.parsePropertyValue(i, e, s, r, n, o, t, u), this.finishNode(i, "Property");
1412
+ var p = this.containsEsc;
1413
+ return this.parsePropertyName(i), !e && !p && this.options.ecmaVersion >= 8 && !s && this.isAsyncProp(i) ? (r = true, s = this.options.ecmaVersion >= 9 && this.eat(a.star), this.parsePropertyName(i)) : r = false, this.parsePropertyValue(i, e, s, r, n, o, t, p), this.finishNode(i, "Property");
1380
1414
  };
1381
1415
  y.parseGetterSetter = function(e) {
1382
- e.kind = e.key.name, this.parsePropertyName(e), e.value = this.parseMethod(false);
1383
- var t = e.kind === "get" ? 0 : 1;
1384
- if (e.value.params.length !== t) {
1385
- var i = e.value.start;
1386
- e.kind === "get" ? this.raiseRecoverable(i, "getter should have no params") : this.raiseRecoverable(i, "setter should have exactly one param");
1416
+ var t = e.key.name;
1417
+ this.parsePropertyName(e), e.value = this.parseMethod(false), e.kind = t;
1418
+ var i = e.kind === "get" ? 0 : 1;
1419
+ if (e.value.params.length !== i) {
1420
+ var s = e.value.start;
1421
+ e.kind === "get" ? this.raiseRecoverable(s, "getter should have no params") : this.raiseRecoverable(s, "setter should have exactly one param");
1387
1422
  } else e.kind === "set" && e.value.params[0].type === "RestElement" && this.raiseRecoverable(e.value.params[0].start, "Setter cannot use rest params");
1388
1423
  };
1389
- y.parsePropertyValue = function(e, t, i, s, r, n, o, u) {
1390
- (i || s) && this.type === a.colon && this.unexpected(), this.eat(a.colon) ? (e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, o), e.kind = "init") : this.options.ecmaVersion >= 6 && this.type === a.parenL ? (t && this.unexpected(), e.kind = "init", e.method = true, e.value = this.parseMethod(i, s)) : !t && !u && this.options.ecmaVersion >= 5 && !e.computed && e.key.type === "Identifier" && (e.key.name === "get" || e.key.name === "set") && this.type !== a.comma && this.type !== a.braceR && this.type !== a.eq ? ((i || s) && this.unexpected(), this.parseGetterSetter(e)) : this.options.ecmaVersion >= 6 && !e.computed && e.key.type === "Identifier" ? ((i || s) && this.unexpected(), this.checkUnreserved(e.key), e.key.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = r), e.kind = "init", t ? e.value = this.parseMaybeDefault(r, n, this.copyNode(e.key)) : this.type === a.eq && o ? (o.shorthandAssign < 0 && (o.shorthandAssign = this.start), e.value = this.parseMaybeDefault(r, n, this.copyNode(e.key))) : e.value = this.copyNode(e.key), e.shorthand = true) : this.unexpected();
1424
+ y.parsePropertyValue = function(e, t, i, s, r, n, o, p) {
1425
+ (i || s) && this.type === a.colon && this.unexpected(), this.eat(a.colon) ? (e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, o), e.kind = "init") : this.options.ecmaVersion >= 6 && this.type === a.parenL ? (t && this.unexpected(), e.method = true, e.value = this.parseMethod(i, s), e.kind = "init") : !t && !p && this.options.ecmaVersion >= 5 && !e.computed && e.key.type === "Identifier" && (e.key.name === "get" || e.key.name === "set") && this.type !== a.comma && this.type !== a.braceR && this.type !== a.eq ? ((i || s) && this.unexpected(), this.parseGetterSetter(e)) : this.options.ecmaVersion >= 6 && !e.computed && e.key.type === "Identifier" ? ((i || s) && this.unexpected(), this.checkUnreserved(e.key), e.key.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = r), t ? e.value = this.parseMaybeDefault(r, n, this.copyNode(e.key)) : this.type === a.eq && o ? (o.shorthandAssign < 0 && (o.shorthandAssign = this.start), e.value = this.parseMaybeDefault(r, n, this.copyNode(e.key))) : e.value = this.copyNode(e.key), e.kind = "init", e.shorthand = true) : this.unexpected();
1391
1426
  };
1392
1427
  y.parsePropertyName = function(e) {
1393
1428
  if (this.options.ecmaVersion >= 6) {
@@ -1401,20 +1436,20 @@ y.initFunction = function(e) {
1401
1436
  };
1402
1437
  y.parseMethod = function(e, t, i) {
1403
1438
  var s = this.startNode(), r = this.yieldPos, n = this.awaitPos, o = this.awaitIdentPos;
1404
- return this.initFunction(s), this.options.ecmaVersion >= 6 && (s.generator = e), this.options.ecmaVersion >= 8 && (s.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(je(t, s.generator) | De | (i ? mt : 0)), this.expect(a.parenL), s.params = this.parseBindingList(a.parenR, false, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams(), this.parseFunctionBody(s, false, true, false), this.yieldPos = r, this.awaitPos = n, this.awaitIdentPos = o, this.finishNode(s, "FunctionExpression");
1439
+ return this.initFunction(s), this.options.ecmaVersion >= 6 && (s.generator = e), this.options.ecmaVersion >= 8 && (s.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(qe(t, s.generator) | ve | (i ? St : 0)), this.expect(a.parenL), s.params = this.parseBindingList(a.parenR, false, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams(), this.parseFunctionBody(s, false, true, false), this.yieldPos = r, this.awaitPos = n, this.awaitIdentPos = o, this.finishNode(s, "FunctionExpression");
1405
1440
  };
1406
1441
  y.parseArrowExpression = function(e, t, i, s) {
1407
1442
  var r = this.yieldPos, n = this.awaitPos, o = this.awaitIdentPos;
1408
- return this.enterScope(je(i, false) | ft), this.initFunction(e), this.options.ecmaVersion >= 8 && (e.async = !!i), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, e.params = this.toAssignableList(t, true), this.parseFunctionBody(e, true, false, s), this.yieldPos = r, this.awaitPos = n, this.awaitIdentPos = o, this.finishNode(e, "ArrowFunctionExpression");
1443
+ return this.enterScope(qe(i, false) | Ge), this.initFunction(e), this.options.ecmaVersion >= 8 && (e.async = !!i), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, e.params = this.toAssignableList(t, true), this.parseFunctionBody(e, true, false, s), this.yieldPos = r, this.awaitPos = n, this.awaitIdentPos = o, this.finishNode(e, "ArrowFunctionExpression");
1409
1444
  };
1410
1445
  y.parseFunctionBody = function(e, t, i, s) {
1411
1446
  var r = t && this.type !== a.braceL, n = this.strict, o = false;
1412
1447
  if (r) e.body = this.parseMaybeAssign(s), e.expression = true, this.checkParams(e, false);
1413
1448
  else {
1414
- var u = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(e.params);
1415
- (!n || u) && (o = this.strictDirective(this.end), o && u && this.raiseRecoverable(e.start, "Illegal 'use strict' directive in function with non-simple parameter list"));
1416
- var p = this.labels;
1417
- this.labels = [], o && (this.strict = true), this.checkParams(e, !n && !o && !t && !i && this.isSimpleParamList(e.params)), this.strict && e.id && this.checkLValSimple(e.id, gt), e.body = this.parseBlock(false, void 0, o && !n), e.expression = false, this.adaptDirectivePrologue(e.body.body), this.labels = p;
1449
+ var p = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(e.params);
1450
+ (!n || p) && (o = this.strictDirective(this.end), o && p && this.raiseRecoverable(e.start, "Illegal 'use strict' directive in function with non-simple parameter list"));
1451
+ var u = this.labels;
1452
+ this.labels = [], o && (this.strict = true), this.checkParams(e, !n && !o && !t && !i && this.isSimpleParamList(e.params)), this.strict && e.id && this.checkLValSimple(e.id, Ct), e.body = this.parseBlock(false, void 0, o && !n), e.expression = false, this.adaptDirectivePrologue(e.body.body), this.labels = u;
1418
1453
  }
1419
1454
  this.exitScope();
1420
1455
  };
@@ -1428,7 +1463,7 @@ y.isSimpleParamList = function(e) {
1428
1463
  y.checkParams = function(e, t) {
1429
1464
  for (var i = /* @__PURE__ */ Object.create(null), s = 0, r = e.params; s < r.length; s += 1) {
1430
1465
  var n = r[s];
1431
- this.checkLValInnerPattern(n, Me, t ? null : i);
1466
+ this.checkLValInnerPattern(n, Je, t ? null : i);
1432
1467
  }
1433
1468
  };
1434
1469
  y.parseExprList = function(e, t, i, s) {
@@ -1442,7 +1477,7 @@ y.parseExprList = function(e, t, i, s) {
1442
1477
  };
1443
1478
  y.checkUnreserved = function(e) {
1444
1479
  var t = e.start, i = e.end, s = e.name;
1445
- if (this.inGenerator && s === "yield" && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && s === "await" && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), this.currentThisScope().inClassFieldInit && s === "arguments" && this.raiseRecoverable(t, "Cannot use 'arguments' in class field initializer"), this.inClassStaticBlock && (s === "arguments" || s === "await") && this.raise(t, "Cannot use " + s + " in class static initialization block"), this.keywords.test(s) && this.raise(t, "Unexpected keyword '" + s + "'"), !(this.options.ecmaVersion < 6 && this.input.slice(t, i).indexOf("\\") !== -1)) {
1480
+ if (this.inGenerator && s === "yield" && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && s === "await" && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), !(this.currentThisScope().flags & be) && s === "arguments" && this.raiseRecoverable(t, "Cannot use 'arguments' in class field initializer"), this.inClassStaticBlock && (s === "arguments" || s === "await") && this.raise(t, "Cannot use " + s + " in class static initialization block"), this.keywords.test(s) && this.raise(t, "Unexpected keyword '" + s + "'"), !(this.options.ecmaVersion < 6 && this.input.slice(t, i).indexOf("\\") !== -1)) {
1446
1481
  var r = this.strict ? this.reservedWordsStrict : this.reservedWords;
1447
1482
  r.test(s) && (!this.inAsync && s === "await" && this.raiseRecoverable(t, "Cannot use keyword 'await' outside an async function"), this.raiseRecoverable(t, "The keyword '" + s + "' is reserved"));
1448
1483
  }
@@ -1469,47 +1504,47 @@ y.parseAwait = function(e) {
1469
1504
  var t = this.startNode();
1470
1505
  return this.next(), t.argument = this.parseMaybeUnary(null, true, false, e), this.finishNode(t, "AwaitExpression");
1471
1506
  };
1472
- var de = T.prototype;
1473
- de.raise = function(e, t) {
1474
- var i = ct(this.input, e);
1475
- t += " (" + i.line + ":" + i.column + ")";
1507
+ var xe = E.prototype;
1508
+ xe.raise = function(e, t) {
1509
+ var i = gt(this.input, e);
1510
+ t += " (" + i.line + ":" + i.column + ")", this.sourceFile && (t += " in " + this.sourceFile);
1476
1511
  var s = new SyntaxError(t);
1477
1512
  throw s.pos = e, s.loc = i, s.raisedAt = this.pos, s;
1478
1513
  };
1479
- de.raiseRecoverable = de.raise;
1480
- de.curPosition = function() {
1481
- if (this.options.locations) return new ie(this.curLine, this.pos - this.lineStart);
1514
+ xe.raiseRecoverable = xe.raise;
1515
+ xe.curPosition = function() {
1516
+ if (this.options.locations) return new ae(this.curLine, this.pos - this.lineStart);
1482
1517
  };
1483
- var W = T.prototype, Fi = function(t) {
1484
- this.flags = t, this.var = [], this.lexical = [], this.functions = [], this.inClassFieldInit = false;
1518
+ var W = E.prototype, $i = function(t) {
1519
+ this.flags = t, this.var = [], this.lexical = [], this.functions = [];
1485
1520
  };
1486
1521
  W.enterScope = function(e) {
1487
- this.scopeStack.push(new Fi(e));
1522
+ this.scopeStack.push(new $i(e));
1488
1523
  };
1489
1524
  W.exitScope = function() {
1490
1525
  this.scopeStack.pop();
1491
1526
  };
1492
1527
  W.treatFunctionsAsVarInScope = function(e) {
1493
- return e.flags & Z || !this.inModule && e.flags & se;
1528
+ return e.flags & Z || !this.inModule && e.flags & ne;
1494
1529
  };
1495
1530
  W.declareName = function(e, t, i) {
1496
1531
  var s = false;
1497
- if (t === G) {
1532
+ if (t === J) {
1498
1533
  var r = this.currentScope();
1499
- s = r.lexical.indexOf(e) > -1 || r.functions.indexOf(e) > -1 || r.var.indexOf(e) > -1, r.lexical.push(e), this.inModule && r.flags & se && delete this.undefinedExports[e];
1500
- } else if (t === yt) {
1534
+ s = r.lexical.indexOf(e) > -1 || r.functions.indexOf(e) > -1 || r.var.indexOf(e) > -1, r.lexical.push(e), this.inModule && r.flags & ne && delete this.undefinedExports[e];
1535
+ } else if (t === Tt) {
1501
1536
  var n = this.currentScope();
1502
1537
  n.lexical.push(e);
1503
- } else if (t === xt) {
1538
+ } else if (t === _t) {
1504
1539
  var o = this.currentScope();
1505
1540
  this.treatFunctionsAsVar ? s = o.lexical.indexOf(e) > -1 : s = o.lexical.indexOf(e) > -1 || o.var.indexOf(e) > -1, o.functions.push(e);
1506
- } else for (var u = this.scopeStack.length - 1; u >= 0; --u) {
1507
- var p = this.scopeStack[u];
1508
- if (p.lexical.indexOf(e) > -1 && !(p.flags & dt && p.lexical[0] === e) || !this.treatFunctionsAsVarInScope(p) && p.functions.indexOf(e) > -1) {
1541
+ } else for (var p = this.scopeStack.length - 1; p >= 0; --p) {
1542
+ var u = this.scopeStack[p];
1543
+ if (u.lexical.indexOf(e) > -1 && !(u.flags & bt && u.lexical[0] === e) || !this.treatFunctionsAsVarInScope(u) && u.functions.indexOf(e) > -1) {
1509
1544
  s = true;
1510
1545
  break;
1511
1546
  }
1512
- if (p.var.push(e), this.inModule && p.flags & se && delete this.undefinedExports[e], p.flags & Fe) break;
1547
+ if (u.var.push(e), this.inModule && u.flags & ne && delete this.undefinedExports[e], u.flags & be) break;
1513
1548
  }
1514
1549
  s && this.raiseRecoverable(i, "Identifier '" + e + "' has already been declared");
1515
1550
  };
@@ -1522,65 +1557,65 @@ W.currentScope = function() {
1522
1557
  W.currentVarScope = function() {
1523
1558
  for (var e = this.scopeStack.length - 1; ; e--) {
1524
1559
  var t = this.scopeStack[e];
1525
- if (t.flags & Fe) return t;
1560
+ if (t.flags & (be | oe | X)) return t;
1526
1561
  }
1527
1562
  };
1528
1563
  W.currentThisScope = function() {
1529
1564
  for (var e = this.scopeStack.length - 1; ; e--) {
1530
1565
  var t = this.scopeStack[e];
1531
- if (t.flags & Fe && !(t.flags & ft)) return t;
1566
+ if (t.flags & (be | oe | X) && !(t.flags & Ge)) return t;
1532
1567
  }
1533
1568
  };
1534
- var ge = function(t, i, s) {
1535
- this.type = "", this.start = i, this.end = 0, t.options.locations && (this.loc = new xe(t, s)), t.options.directSourceFile && (this.sourceFile = t.options.directSourceFile), t.options.ranges && (this.range = [i, 0]);
1536
- }, ae = T.prototype;
1537
- ae.startNode = function() {
1538
- return new ge(this, this.start, this.startLoc);
1569
+ var _e = function(t, i, s) {
1570
+ this.type = "", this.start = i, this.end = 0, t.options.locations && (this.loc = new ge(t, s)), t.options.directSourceFile && (this.sourceFile = t.options.directSourceFile), t.options.ranges && (this.range = [i, 0]);
1571
+ }, ue = E.prototype;
1572
+ ue.startNode = function() {
1573
+ return new _e(this, this.start, this.startLoc);
1539
1574
  };
1540
- ae.startNodeAt = function(e, t) {
1541
- return new ge(this, e, t);
1575
+ ue.startNodeAt = function(e, t) {
1576
+ return new _e(this, e, t);
1542
1577
  };
1543
- function St(e, t, i, s) {
1578
+ function At(e, t, i, s) {
1544
1579
  return e.type = t, e.end = i, this.options.locations && (e.loc.end = s), this.options.ranges && (e.range[1] = i), e;
1545
1580
  }
1546
- ae.finishNode = function(e, t) {
1547
- return St.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc);
1581
+ ue.finishNode = function(e, t) {
1582
+ return At.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc);
1548
1583
  };
1549
- ae.finishNodeAt = function(e, t, i, s) {
1550
- return St.call(this, e, t, i, s);
1584
+ ue.finishNodeAt = function(e, t, i, s) {
1585
+ return At.call(this, e, t, i, s);
1551
1586
  };
1552
- ae.copyNode = function(e) {
1553
- var t = new ge(this, e.start, this.startLoc);
1587
+ ue.copyNode = function(e) {
1588
+ var t = new _e(this, e.start, this.startLoc);
1554
1589
  for (var i in e) t[i] = e[i];
1555
1590
  return t;
1556
1591
  };
1557
- var ji = "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", Ct = "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", _t = Ct + " Extended_Pictographic", Tt = _t, kt = Tt + " EBase EComp EMod EPres ExtPict", Et = kt, Mi = Et, Ui = { 9: Ct, 10: _t, 11: Tt, 12: kt, 13: Et, 14: Mi }, qi = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji", Gi = { 9: "", 10: "", 11: "", 12: "", 13: "", 14: qi }, rt = "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", wt = "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", At = wt + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd", Pt = At + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho", It = Pt + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi", Nt = It + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith", Ji = Nt + " " + ji, Ki = { 9: wt, 10: At, 11: Pt, 12: It, 13: Nt, 14: Ji }, Vt = {};
1558
- function Wi(e) {
1559
- var t = Vt[e] = { binary: K(Ui[e] + " " + rt), binaryOfStrings: K(Gi[e]), nonBinary: { General_Category: K(rt), Script: K(Ki[e]) } };
1592
+ var Zi = "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", wt = "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", Pt = wt + " Extended_Pictographic", It = Pt, Nt = It + " EBase EComp EMod EPres ExtPict", Lt = Nt, es = Lt, ts = { 9: wt, 10: Pt, 11: It, 12: Nt, 13: Lt, 14: es }, is = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji", ss = { 9: "", 10: "", 11: "", 12: "", 13: "", 14: is }, ct = "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", Vt = "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", Rt = Vt + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd", Ot = Rt + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho", Bt = Ot + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi", Dt = Bt + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith", rs = Dt + " " + Zi, as = { 9: Vt, 10: Rt, 11: Ot, 12: Bt, 13: Dt, 14: rs }, Ft = {};
1593
+ function ns(e) {
1594
+ var t = Ft[e] = { binary: H(ts[e] + " " + ct), binaryOfStrings: H(ss[e]), nonBinary: { General_Category: H(ct), Script: H(as[e]) } };
1560
1595
  t.nonBinary.Script_Extensions = t.nonBinary.Script, t.nonBinary.gc = t.nonBinary.General_Category, t.nonBinary.sc = t.nonBinary.Script, t.nonBinary.scx = t.nonBinary.Script_Extensions;
1561
1596
  }
1562
- for (ce = 0, Ie = [9, 10, 11, 12, 13, 14]; ce < Ie.length; ce += 1) at = Ie[ce], Wi(at);
1563
- var at, ce, Ie, c = T.prototype, me = function(t, i) {
1597
+ for (fe = 0, Oe = [9, 10, 11, 12, 13, 14]; fe < Oe.length; fe += 1) lt = Oe[fe], ns(lt);
1598
+ var lt, fe, Oe, l = E.prototype, ye = function(t, i) {
1564
1599
  this.parent = t, this.base = i || this;
1565
1600
  };
1566
- me.prototype.separatedFrom = function(t) {
1601
+ ye.prototype.separatedFrom = function(t) {
1567
1602
  for (var i = this; i; i = i.parent) for (var s = t; s; s = s.parent) if (i.base === s.base && i !== s) return true;
1568
1603
  return false;
1569
1604
  };
1570
- me.prototype.sibling = function() {
1571
- return new me(this.parent, this.base);
1605
+ ye.prototype.sibling = function() {
1606
+ return new ye(this.parent, this.base);
1572
1607
  };
1573
- var j = function(t) {
1574
- 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 = Vt[t.options.ecmaVersion >= 14 ? 14 : t.options.ecmaVersion], this.source = "", this.flags = "", this.start = 0, this.switchU = false, this.switchV = false, this.switchN = false, this.pos = 0, this.lastIntValue = 0, this.lastStringValue = "", this.lastAssertionIsQuantifiable = false, this.numCapturingParens = 0, this.maxBackReference = 0, this.groupNames = /* @__PURE__ */ Object.create(null), this.backReferenceNames = [], this.branchID = null;
1608
+ var U = function(t) {
1609
+ 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 = Ft[t.options.ecmaVersion >= 14 ? 14 : t.options.ecmaVersion], this.source = "", this.flags = "", this.start = 0, this.switchU = false, this.switchV = false, this.switchN = false, this.pos = 0, this.lastIntValue = 0, this.lastStringValue = "", this.lastAssertionIsQuantifiable = false, this.numCapturingParens = 0, this.maxBackReference = 0, this.groupNames = /* @__PURE__ */ Object.create(null), this.backReferenceNames = [], this.branchID = null;
1575
1610
  };
1576
- j.prototype.reset = function(t, i, s) {
1611
+ U.prototype.reset = function(t, i, s) {
1577
1612
  var r = s.indexOf("v") !== -1, n = s.indexOf("u") !== -1;
1578
1613
  this.start = t | 0, this.source = i + "", this.flags = s, r && this.parser.options.ecmaVersion >= 15 ? (this.switchU = true, this.switchV = true, this.switchN = true) : (this.switchU = n && this.parser.options.ecmaVersion >= 6, this.switchV = false, this.switchN = n && this.parser.options.ecmaVersion >= 9);
1579
1614
  };
1580
- j.prototype.raise = function(t) {
1615
+ U.prototype.raise = function(t) {
1581
1616
  this.parser.raiseRecoverable(this.start, "Invalid regular expression: /" + this.source + "/: " + t);
1582
1617
  };
1583
- j.prototype.at = function(t, i) {
1618
+ U.prototype.at = function(t, i) {
1584
1619
  i === void 0 && (i = false);
1585
1620
  var s = this.source, r = s.length;
1586
1621
  if (t >= r) return -1;
@@ -1589,67 +1624,67 @@ j.prototype.at = function(t, i) {
1589
1624
  var o = s.charCodeAt(t + 1);
1590
1625
  return o >= 56320 && o <= 57343 ? (n << 10) + o - 56613888 : n;
1591
1626
  };
1592
- j.prototype.nextIndex = function(t, i) {
1627
+ U.prototype.nextIndex = function(t, i) {
1593
1628
  i === void 0 && (i = false);
1594
1629
  var s = this.source, r = s.length;
1595
1630
  if (t >= r) return r;
1596
1631
  var n = s.charCodeAt(t), o;
1597
1632
  return !(i || this.switchU) || n <= 55295 || n >= 57344 || t + 1 >= r || (o = s.charCodeAt(t + 1)) < 56320 || o > 57343 ? t + 1 : t + 2;
1598
1633
  };
1599
- j.prototype.current = function(t) {
1634
+ U.prototype.current = function(t) {
1600
1635
  return t === void 0 && (t = false), this.at(this.pos, t);
1601
1636
  };
1602
- j.prototype.lookahead = function(t) {
1637
+ U.prototype.lookahead = function(t) {
1603
1638
  return t === void 0 && (t = false), this.at(this.nextIndex(this.pos, t), t);
1604
1639
  };
1605
- j.prototype.advance = function(t) {
1640
+ U.prototype.advance = function(t) {
1606
1641
  t === void 0 && (t = false), this.pos = this.nextIndex(this.pos, t);
1607
1642
  };
1608
- j.prototype.eat = function(t, i) {
1643
+ U.prototype.eat = function(t, i) {
1609
1644
  return i === void 0 && (i = false), this.current(i) === t ? (this.advance(i), true) : false;
1610
1645
  };
1611
- j.prototype.eatChars = function(t, i) {
1646
+ U.prototype.eatChars = function(t, i) {
1612
1647
  i === void 0 && (i = false);
1613
1648
  for (var s = this.pos, r = 0, n = t; r < n.length; r += 1) {
1614
- var o = n[r], u = this.at(s, i);
1615
- if (u === -1 || u !== o) return false;
1649
+ var o = n[r], p = this.at(s, i);
1650
+ if (p === -1 || p !== o) return false;
1616
1651
  s = this.nextIndex(s, i);
1617
1652
  }
1618
1653
  return this.pos = s, true;
1619
1654
  };
1620
- c.validateRegExpFlags = function(e) {
1655
+ l.validateRegExpFlags = function(e) {
1621
1656
  for (var t = e.validFlags, i = e.flags, s = false, r = false, n = 0; n < i.length; n++) {
1622
1657
  var o = i.charAt(n);
1623
1658
  t.indexOf(o) === -1 && this.raise(e.start, "Invalid regular expression flag"), i.indexOf(o, n + 1) > -1 && this.raise(e.start, "Duplicate regular expression flag"), o === "u" && (s = true), o === "v" && (r = true);
1624
1659
  }
1625
1660
  this.options.ecmaVersion >= 15 && s && r && this.raise(e.start, "Invalid regular expression flag");
1626
1661
  };
1627
- function Xi(e) {
1662
+ function os(e) {
1628
1663
  for (var t in e) return true;
1629
1664
  return false;
1630
1665
  }
1631
- c.validateRegExpPattern = function(e) {
1632
- this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 && Xi(e.groupNames) && (e.switchN = true, this.regexp_pattern(e));
1666
+ l.validateRegExpPattern = function(e) {
1667
+ this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 && os(e.groupNames) && (e.switchN = true, this.regexp_pattern(e));
1633
1668
  };
1634
- c.regexp_pattern = function(e) {
1669
+ l.regexp_pattern = function(e) {
1635
1670
  e.pos = 0, e.lastIntValue = 0, e.lastStringValue = "", e.lastAssertionIsQuantifiable = false, e.numCapturingParens = 0, e.maxBackReference = 0, e.groupNames = /* @__PURE__ */ Object.create(null), e.backReferenceNames.length = 0, e.branchID = null, this.regexp_disjunction(e), e.pos !== e.source.length && (e.eat(41) && e.raise("Unmatched ')'"), (e.eat(93) || e.eat(125)) && e.raise("Lone quantifier brackets")), e.maxBackReference > e.numCapturingParens && e.raise("Invalid escape");
1636
1671
  for (var t = 0, i = e.backReferenceNames; t < i.length; t += 1) {
1637
1672
  var s = i[t];
1638
1673
  e.groupNames[s] || e.raise("Invalid named capture referenced");
1639
1674
  }
1640
1675
  };
1641
- c.regexp_disjunction = function(e) {
1676
+ l.regexp_disjunction = function(e) {
1642
1677
  var t = this.options.ecmaVersion >= 16;
1643
- for (t && (e.branchID = new me(e.branchID, null)), this.regexp_alternative(e); e.eat(124); ) t && (e.branchID = e.branchID.sibling()), this.regexp_alternative(e);
1678
+ for (t && (e.branchID = new ye(e.branchID, null)), this.regexp_alternative(e); e.eat(124); ) t && (e.branchID = e.branchID.sibling()), this.regexp_alternative(e);
1644
1679
  t && (e.branchID = e.branchID.parent), this.regexp_eatQuantifier(e, true) && e.raise("Nothing to repeat"), e.eat(123) && e.raise("Lone quantifier brackets");
1645
1680
  };
1646
- c.regexp_alternative = function(e) {
1681
+ l.regexp_alternative = function(e) {
1647
1682
  for (; e.pos < e.source.length && this.regexp_eatTerm(e); ) ;
1648
1683
  };
1649
- c.regexp_eatTerm = function(e) {
1684
+ l.regexp_eatTerm = function(e) {
1650
1685
  return this.regexp_eatAssertion(e) ? (e.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(e) && e.switchU && e.raise("Invalid quantifier"), true) : (e.switchU ? this.regexp_eatAtom(e) : this.regexp_eatExtendedAtom(e)) ? (this.regexp_eatQuantifier(e), true) : false;
1651
1686
  };
1652
- c.regexp_eatAssertion = function(e) {
1687
+ l.regexp_eatAssertion = function(e) {
1653
1688
  var t = e.pos;
1654
1689
  if (e.lastAssertionIsQuantifiable = false, e.eat(94) || e.eat(36)) return true;
1655
1690
  if (e.eat(92)) {
@@ -1662,13 +1697,13 @@ c.regexp_eatAssertion = function(e) {
1662
1697
  }
1663
1698
  return e.pos = t, false;
1664
1699
  };
1665
- c.regexp_eatQuantifier = function(e, t) {
1700
+ l.regexp_eatQuantifier = function(e, t) {
1666
1701
  return t === void 0 && (t = false), this.regexp_eatQuantifierPrefix(e, t) ? (e.eat(63), true) : false;
1667
1702
  };
1668
- c.regexp_eatQuantifierPrefix = function(e, t) {
1703
+ l.regexp_eatQuantifierPrefix = function(e, t) {
1669
1704
  return e.eat(42) || e.eat(43) || e.eat(63) || this.regexp_eatBracedQuantifier(e, t);
1670
1705
  };
1671
- c.regexp_eatBracedQuantifier = function(e, t) {
1706
+ l.regexp_eatBracedQuantifier = function(e, t) {
1672
1707
  var i = e.pos;
1673
1708
  if (e.eat(123)) {
1674
1709
  var s = 0, r = -1;
@@ -1677,10 +1712,10 @@ c.regexp_eatBracedQuantifier = function(e, t) {
1677
1712
  }
1678
1713
  return false;
1679
1714
  };
1680
- c.regexp_eatAtom = function(e) {
1715
+ l.regexp_eatAtom = function(e) {
1681
1716
  return this.regexp_eatPatternCharacters(e) || e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e);
1682
1717
  };
1683
- c.regexp_eatReverseSolidusAtomEscape = function(e) {
1718
+ l.regexp_eatReverseSolidusAtomEscape = function(e) {
1684
1719
  var t = e.pos;
1685
1720
  if (e.eat(92)) {
1686
1721
  if (this.regexp_eatAtomEscape(e)) return true;
@@ -1688,7 +1723,7 @@ c.regexp_eatReverseSolidusAtomEscape = function(e) {
1688
1723
  }
1689
1724
  return false;
1690
1725
  };
1691
- c.regexp_eatUncapturingGroup = function(e) {
1726
+ l.regexp_eatUncapturingGroup = function(e) {
1692
1727
  var t = e.pos;
1693
1728
  if (e.eat(40)) {
1694
1729
  if (e.eat(63)) {
@@ -1702,9 +1737,9 @@ c.regexp_eatUncapturingGroup = function(e) {
1702
1737
  if (s) {
1703
1738
  var o = this.regexp_eatModifiers(e);
1704
1739
  !i && !o && e.current() === 58 && e.raise("Invalid regular expression modifiers");
1705
- for (var u = 0; u < o.length; u++) {
1706
- var p = o.charAt(u);
1707
- (o.indexOf(p, u + 1) > -1 || i.indexOf(p) > -1) && e.raise("Duplicate regular expression modifiers");
1740
+ for (var p = 0; p < o.length; p++) {
1741
+ var u = o.charAt(p);
1742
+ (o.indexOf(u, p + 1) > -1 || i.indexOf(u) > -1) && e.raise("Duplicate regular expression modifiers");
1708
1743
  }
1709
1744
  }
1710
1745
  }
@@ -1718,42 +1753,42 @@ c.regexp_eatUncapturingGroup = function(e) {
1718
1753
  }
1719
1754
  return false;
1720
1755
  };
1721
- c.regexp_eatCapturingGroup = function(e) {
1756
+ l.regexp_eatCapturingGroup = function(e) {
1722
1757
  if (e.eat(40)) {
1723
1758
  if (this.options.ecmaVersion >= 9 ? this.regexp_groupSpecifier(e) : e.current() === 63 && e.raise("Invalid group"), this.regexp_disjunction(e), e.eat(41)) return e.numCapturingParens += 1, true;
1724
1759
  e.raise("Unterminated group");
1725
1760
  }
1726
1761
  return false;
1727
1762
  };
1728
- c.regexp_eatModifiers = function(e) {
1729
- for (var t = "", i = 0; (i = e.current()) !== -1 && zi(i); ) t += U(i), e.advance();
1763
+ l.regexp_eatModifiers = function(e) {
1764
+ for (var t = "", i = 0; (i = e.current()) !== -1 && us(i); ) t += G(i), e.advance();
1730
1765
  return t;
1731
1766
  };
1732
- function zi(e) {
1767
+ function us(e) {
1733
1768
  return e === 105 || e === 109 || e === 115;
1734
1769
  }
1735
- c.regexp_eatExtendedAtom = function(e) {
1770
+ l.regexp_eatExtendedAtom = function(e) {
1736
1771
  return e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e) || this.regexp_eatInvalidBracedQuantifier(e) || this.regexp_eatExtendedPatternCharacter(e);
1737
1772
  };
1738
- c.regexp_eatInvalidBracedQuantifier = function(e) {
1773
+ l.regexp_eatInvalidBracedQuantifier = function(e) {
1739
1774
  return this.regexp_eatBracedQuantifier(e, true) && e.raise("Nothing to repeat"), false;
1740
1775
  };
1741
- c.regexp_eatSyntaxCharacter = function(e) {
1776
+ l.regexp_eatSyntaxCharacter = function(e) {
1742
1777
  var t = e.current();
1743
- return Lt(t) ? (e.lastIntValue = t, e.advance(), true) : false;
1778
+ return Mt(t) ? (e.lastIntValue = t, e.advance(), true) : false;
1744
1779
  };
1745
- function Lt(e) {
1780
+ function Mt(e) {
1746
1781
  return e === 36 || e >= 40 && e <= 43 || e === 46 || e === 63 || e >= 91 && e <= 94 || e >= 123 && e <= 125;
1747
1782
  }
1748
- c.regexp_eatPatternCharacters = function(e) {
1749
- for (var t = e.pos, i = 0; (i = e.current()) !== -1 && !Lt(i); ) e.advance();
1783
+ l.regexp_eatPatternCharacters = function(e) {
1784
+ for (var t = e.pos, i = 0; (i = e.current()) !== -1 && !Mt(i); ) e.advance();
1750
1785
  return e.pos !== t;
1751
1786
  };
1752
- c.regexp_eatExtendedPatternCharacter = function(e) {
1787
+ l.regexp_eatExtendedPatternCharacter = function(e) {
1753
1788
  var t = e.current();
1754
1789
  return t !== -1 && t !== 36 && !(t >= 40 && t <= 43) && t !== 46 && t !== 63 && t !== 91 && t !== 94 && t !== 124 ? (e.advance(), true) : false;
1755
1790
  };
1756
- c.regexp_groupSpecifier = function(e) {
1791
+ l.regexp_groupSpecifier = function(e) {
1757
1792
  if (e.eat(63)) {
1758
1793
  this.regexp_eatGroupName(e) || e.raise("Invalid group");
1759
1794
  var t = this.options.ecmaVersion >= 16, i = e.groupNames[e.lastStringValue];
@@ -1765,38 +1800,38 @@ c.regexp_groupSpecifier = function(e) {
1765
1800
  t ? (i || (e.groupNames[e.lastStringValue] = [])).push(e.branchID) : e.groupNames[e.lastStringValue] = true;
1766
1801
  }
1767
1802
  };
1768
- c.regexp_eatGroupName = function(e) {
1803
+ l.regexp_eatGroupName = function(e) {
1769
1804
  if (e.lastStringValue = "", e.eat(60)) {
1770
1805
  if (this.regexp_eatRegExpIdentifierName(e) && e.eat(62)) return true;
1771
1806
  e.raise("Invalid capture group name");
1772
1807
  }
1773
1808
  return false;
1774
1809
  };
1775
- c.regexp_eatRegExpIdentifierName = function(e) {
1810
+ l.regexp_eatRegExpIdentifierName = function(e) {
1776
1811
  if (e.lastStringValue = "", this.regexp_eatRegExpIdentifierStart(e)) {
1777
- for (e.lastStringValue += U(e.lastIntValue); this.regexp_eatRegExpIdentifierPart(e); ) e.lastStringValue += U(e.lastIntValue);
1812
+ for (e.lastStringValue += G(e.lastIntValue); this.regexp_eatRegExpIdentifierPart(e); ) e.lastStringValue += G(e.lastIntValue);
1778
1813
  return true;
1779
1814
  }
1780
1815
  return false;
1781
1816
  };
1782
- c.regexp_eatRegExpIdentifierStart = function(e) {
1817
+ l.regexp_eatRegExpIdentifierStart = function(e) {
1783
1818
  var t = e.pos, i = this.options.ecmaVersion >= 11, s = e.current(i);
1784
- return e.advance(i), s === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, i) && (s = e.lastIntValue), Hi(s) ? (e.lastIntValue = s, true) : (e.pos = t, false);
1819
+ return e.advance(i), s === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, i) && (s = e.lastIntValue), ps(s) ? (e.lastIntValue = s, true) : (e.pos = t, false);
1785
1820
  };
1786
- function Hi(e) {
1821
+ function ps(e) {
1787
1822
  return M(e, true) || e === 36 || e === 95;
1788
1823
  }
1789
- c.regexp_eatRegExpIdentifierPart = function(e) {
1824
+ l.regexp_eatRegExpIdentifierPart = function(e) {
1790
1825
  var t = e.pos, i = this.options.ecmaVersion >= 11, s = e.current(i);
1791
- return e.advance(i), s === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, i) && (s = e.lastIntValue), Qi(s) ? (e.lastIntValue = s, true) : (e.pos = t, false);
1826
+ return e.advance(i), s === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, i) && (s = e.lastIntValue), hs(s) ? (e.lastIntValue = s, true) : (e.pos = t, false);
1792
1827
  };
1793
- function Qi(e) {
1794
- return H(e, true) || e === 36 || e === 95 || e === 8204 || e === 8205;
1828
+ function hs(e) {
1829
+ return K(e, true) || e === 36 || e === 95 || e === 8204 || e === 8205;
1795
1830
  }
1796
- c.regexp_eatAtomEscape = function(e) {
1831
+ l.regexp_eatAtomEscape = function(e) {
1797
1832
  return this.regexp_eatBackReference(e) || this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e) || e.switchN && this.regexp_eatKGroupName(e) ? true : (e.switchU && (e.current() === 99 && e.raise("Invalid unicode escape"), e.raise("Invalid escape")), false);
1798
1833
  };
1799
- c.regexp_eatBackReference = function(e) {
1834
+ l.regexp_eatBackReference = function(e) {
1800
1835
  var t = e.pos;
1801
1836
  if (this.regexp_eatDecimalEscape(e)) {
1802
1837
  var i = e.lastIntValue;
@@ -1806,17 +1841,17 @@ c.regexp_eatBackReference = function(e) {
1806
1841
  }
1807
1842
  return false;
1808
1843
  };
1809
- c.regexp_eatKGroupName = function(e) {
1844
+ l.regexp_eatKGroupName = function(e) {
1810
1845
  if (e.eat(107)) {
1811
1846
  if (this.regexp_eatGroupName(e)) return e.backReferenceNames.push(e.lastStringValue), true;
1812
1847
  e.raise("Invalid named reference");
1813
1848
  }
1814
1849
  return false;
1815
1850
  };
1816
- c.regexp_eatCharacterEscape = function(e) {
1851
+ l.regexp_eatCharacterEscape = function(e) {
1817
1852
  return this.regexp_eatControlEscape(e) || this.regexp_eatCControlLetter(e) || this.regexp_eatZero(e) || this.regexp_eatHexEscapeSequence(e) || this.regexp_eatRegExpUnicodeEscapeSequence(e, false) || !e.switchU && this.regexp_eatLegacyOctalEscapeSequence(e) || this.regexp_eatIdentityEscape(e);
1818
1853
  };
1819
- c.regexp_eatCControlLetter = function(e) {
1854
+ l.regexp_eatCControlLetter = function(e) {
1820
1855
  var t = e.pos;
1821
1856
  if (e.eat(99)) {
1822
1857
  if (this.regexp_eatControlLetter(e)) return true;
@@ -1824,21 +1859,21 @@ c.regexp_eatCControlLetter = function(e) {
1824
1859
  }
1825
1860
  return false;
1826
1861
  };
1827
- c.regexp_eatZero = function(e) {
1828
- return e.current() === 48 && !ve(e.lookahead()) ? (e.lastIntValue = 0, e.advance(), true) : false;
1862
+ l.regexp_eatZero = function(e) {
1863
+ return e.current() === 48 && !Te(e.lookahead()) ? (e.lastIntValue = 0, e.advance(), true) : false;
1829
1864
  };
1830
- c.regexp_eatControlEscape = function(e) {
1865
+ l.regexp_eatControlEscape = function(e) {
1831
1866
  var t = e.current();
1832
1867
  return t === 116 ? (e.lastIntValue = 9, e.advance(), true) : t === 110 ? (e.lastIntValue = 10, e.advance(), true) : t === 118 ? (e.lastIntValue = 11, e.advance(), true) : t === 102 ? (e.lastIntValue = 12, e.advance(), true) : t === 114 ? (e.lastIntValue = 13, e.advance(), true) : false;
1833
1868
  };
1834
- c.regexp_eatControlLetter = function(e) {
1869
+ l.regexp_eatControlLetter = function(e) {
1835
1870
  var t = e.current();
1836
- return Rt(t) ? (e.lastIntValue = t % 32, e.advance(), true) : false;
1871
+ return jt(t) ? (e.lastIntValue = t % 32, e.advance(), true) : false;
1837
1872
  };
1838
- function Rt(e) {
1873
+ function jt(e) {
1839
1874
  return e >= 65 && e <= 90 || e >= 97 && e <= 122;
1840
1875
  }
1841
- c.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
1876
+ l.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
1842
1877
  t === void 0 && (t = false);
1843
1878
  var i = e.pos, s = t || e.switchU;
1844
1879
  if (e.eat(117)) {
@@ -1854,20 +1889,20 @@ c.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
1854
1889
  }
1855
1890
  return true;
1856
1891
  }
1857
- if (s && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) && Yi(e.lastIntValue)) return true;
1892
+ if (s && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) && cs(e.lastIntValue)) return true;
1858
1893
  s && e.raise("Invalid unicode escape"), e.pos = i;
1859
1894
  }
1860
1895
  return false;
1861
1896
  };
1862
- function Yi(e) {
1897
+ function cs(e) {
1863
1898
  return e >= 0 && e <= 1114111;
1864
1899
  }
1865
- c.regexp_eatIdentityEscape = function(e) {
1900
+ l.regexp_eatIdentityEscape = function(e) {
1866
1901
  if (e.switchU) return this.regexp_eatSyntaxCharacter(e) ? true : e.eat(47) ? (e.lastIntValue = 47, true) : false;
1867
1902
  var t = e.current();
1868
1903
  return t !== 99 && (!e.switchN || t !== 107) ? (e.lastIntValue = t, e.advance(), true) : false;
1869
1904
  };
1870
- c.regexp_eatDecimalEscape = function(e) {
1905
+ l.regexp_eatDecimalEscape = function(e) {
1871
1906
  e.lastIntValue = 0;
1872
1907
  var t = e.current();
1873
1908
  if (t >= 49 && t <= 57) {
@@ -1878,23 +1913,23 @@ c.regexp_eatDecimalEscape = function(e) {
1878
1913
  }
1879
1914
  return false;
1880
1915
  };
1881
- var Ot = 0, q = 1, V = 2;
1882
- c.regexp_eatCharacterClassEscape = function(e) {
1916
+ var Ut = 0, q = 1, B = 2;
1917
+ l.regexp_eatCharacterClassEscape = function(e) {
1883
1918
  var t = e.current();
1884
- if (Zi(t)) return e.lastIntValue = -1, e.advance(), q;
1919
+ if (ls(t)) return e.lastIntValue = -1, e.advance(), q;
1885
1920
  var i = false;
1886
1921
  if (e.switchU && this.options.ecmaVersion >= 9 && ((i = t === 80) || t === 112)) {
1887
1922
  e.lastIntValue = -1, e.advance();
1888
1923
  var s;
1889
- if (e.eat(123) && (s = this.regexp_eatUnicodePropertyValueExpression(e)) && e.eat(125)) return i && s === V && e.raise("Invalid property name"), s;
1924
+ if (e.eat(123) && (s = this.regexp_eatUnicodePropertyValueExpression(e)) && e.eat(125)) return i && s === B && e.raise("Invalid property name"), s;
1890
1925
  e.raise("Invalid property name");
1891
1926
  }
1892
- return Ot;
1927
+ return Ut;
1893
1928
  };
1894
- function Zi(e) {
1929
+ function ls(e) {
1895
1930
  return e === 100 || e === 68 || e === 115 || e === 83 || e === 119 || e === 87;
1896
1931
  }
1897
- c.regexp_eatUnicodePropertyValueExpression = function(e) {
1932
+ l.regexp_eatUnicodePropertyValueExpression = function(e) {
1898
1933
  var t = e.pos;
1899
1934
  if (this.regexp_eatUnicodePropertyName(e) && e.eat(61)) {
1900
1935
  var i = e.lastStringValue;
@@ -1907,46 +1942,46 @@ c.regexp_eatUnicodePropertyValueExpression = function(e) {
1907
1942
  var r = e.lastStringValue;
1908
1943
  return this.regexp_validateUnicodePropertyNameOrValue(e, r);
1909
1944
  }
1910
- return Ot;
1945
+ return Ut;
1911
1946
  };
1912
- c.regexp_validateUnicodePropertyNameAndValue = function(e, t, i) {
1913
- Y(e.unicodeProperties.nonBinary, t) || e.raise("Invalid property name"), e.unicodeProperties.nonBinary[t].test(i) || e.raise("Invalid property value");
1947
+ l.regexp_validateUnicodePropertyNameAndValue = function(e, t, i) {
1948
+ $(e.unicodeProperties.nonBinary, t) || e.raise("Invalid property name"), e.unicodeProperties.nonBinary[t].test(i) || e.raise("Invalid property value");
1914
1949
  };
1915
- c.regexp_validateUnicodePropertyNameOrValue = function(e, t) {
1950
+ l.regexp_validateUnicodePropertyNameOrValue = function(e, t) {
1916
1951
  if (e.unicodeProperties.binary.test(t)) return q;
1917
- if (e.switchV && e.unicodeProperties.binaryOfStrings.test(t)) return V;
1952
+ if (e.switchV && e.unicodeProperties.binaryOfStrings.test(t)) return B;
1918
1953
  e.raise("Invalid property name");
1919
1954
  };
1920
- c.regexp_eatUnicodePropertyName = function(e) {
1955
+ l.regexp_eatUnicodePropertyName = function(e) {
1921
1956
  var t = 0;
1922
- for (e.lastStringValue = ""; Bt(t = e.current()); ) e.lastStringValue += U(t), e.advance();
1957
+ for (e.lastStringValue = ""; Gt(t = e.current()); ) e.lastStringValue += G(t), e.advance();
1923
1958
  return e.lastStringValue !== "";
1924
1959
  };
1925
- function Bt(e) {
1926
- return Rt(e) || e === 95;
1960
+ function Gt(e) {
1961
+ return jt(e) || e === 95;
1927
1962
  }
1928
- c.regexp_eatUnicodePropertyValue = function(e) {
1963
+ l.regexp_eatUnicodePropertyValue = function(e) {
1929
1964
  var t = 0;
1930
- for (e.lastStringValue = ""; $i(t = e.current()); ) e.lastStringValue += U(t), e.advance();
1965
+ for (e.lastStringValue = ""; fs(t = e.current()); ) e.lastStringValue += G(t), e.advance();
1931
1966
  return e.lastStringValue !== "";
1932
1967
  };
1933
- function $i(e) {
1934
- return Bt(e) || ve(e);
1968
+ function fs(e) {
1969
+ return Gt(e) || Te(e);
1935
1970
  }
1936
- c.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
1971
+ l.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
1937
1972
  return this.regexp_eatUnicodePropertyValue(e);
1938
1973
  };
1939
- c.regexp_eatCharacterClass = function(e) {
1974
+ l.regexp_eatCharacterClass = function(e) {
1940
1975
  if (e.eat(91)) {
1941
1976
  var t = e.eat(94), i = this.regexp_classContents(e);
1942
- return e.eat(93) || e.raise("Unterminated character class"), t && i === V && e.raise("Negated character class may contain strings"), true;
1977
+ return e.eat(93) || e.raise("Unterminated character class"), t && i === B && e.raise("Negated character class may contain strings"), true;
1943
1978
  }
1944
1979
  return false;
1945
1980
  };
1946
- c.regexp_classContents = function(e) {
1981
+ l.regexp_classContents = function(e) {
1947
1982
  return e.current() === 93 ? q : e.switchV ? this.regexp_classSetExpression(e) : (this.regexp_nonEmptyClassRanges(e), q);
1948
1983
  };
1949
- c.regexp_nonEmptyClassRanges = function(e) {
1984
+ l.regexp_nonEmptyClassRanges = function(e) {
1950
1985
  for (; this.regexp_eatClassAtom(e); ) {
1951
1986
  var t = e.lastIntValue;
1952
1987
  if (e.eat(45) && this.regexp_eatClassAtom(e)) {
@@ -1955,20 +1990,20 @@ c.regexp_nonEmptyClassRanges = function(e) {
1955
1990
  }
1956
1991
  }
1957
1992
  };
1958
- c.regexp_eatClassAtom = function(e) {
1993
+ l.regexp_eatClassAtom = function(e) {
1959
1994
  var t = e.pos;
1960
1995
  if (e.eat(92)) {
1961
1996
  if (this.regexp_eatClassEscape(e)) return true;
1962
1997
  if (e.switchU) {
1963
1998
  var i = e.current();
1964
- (i === 99 || jt(i)) && e.raise("Invalid class escape"), e.raise("Invalid escape");
1999
+ (i === 99 || Ht(i)) && e.raise("Invalid class escape"), e.raise("Invalid escape");
1965
2000
  }
1966
2001
  e.pos = t;
1967
2002
  }
1968
2003
  var s = e.current();
1969
2004
  return s !== 93 ? (e.lastIntValue = s, e.advance(), true) : false;
1970
2005
  };
1971
- c.regexp_eatClassEscape = function(e) {
2006
+ l.regexp_eatClassEscape = function(e) {
1972
2007
  var t = e.pos;
1973
2008
  if (e.eat(98)) return e.lastIntValue = 8, true;
1974
2009
  if (e.switchU && e.eat(45)) return e.lastIntValue = 45, true;
@@ -1978,13 +2013,13 @@ c.regexp_eatClassEscape = function(e) {
1978
2013
  }
1979
2014
  return this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e);
1980
2015
  };
1981
- c.regexp_classSetExpression = function(e) {
2016
+ l.regexp_classSetExpression = function(e) {
1982
2017
  var t = q, i;
1983
2018
  if (!this.regexp_eatClassSetRange(e)) if (i = this.regexp_eatClassSetOperand(e)) {
1984
- i === V && (t = V);
2019
+ i === B && (t = B);
1985
2020
  for (var s = e.pos; e.eatChars([38, 38]); ) {
1986
2021
  if (e.current() !== 38 && (i = this.regexp_eatClassSetOperand(e))) {
1987
- i !== V && (t = q);
2022
+ i !== B && (t = q);
1988
2023
  continue;
1989
2024
  }
1990
2025
  e.raise("Invalid character in character class");
@@ -1995,10 +2030,10 @@ c.regexp_classSetExpression = function(e) {
1995
2030
  } else e.raise("Invalid character in character class");
1996
2031
  for (; ; ) if (!this.regexp_eatClassSetRange(e)) {
1997
2032
  if (i = this.regexp_eatClassSetOperand(e), !i) return t;
1998
- i === V && (t = V);
2033
+ i === B && (t = B);
1999
2034
  }
2000
2035
  };
2001
- c.regexp_eatClassSetRange = function(e) {
2036
+ l.regexp_eatClassSetRange = function(e) {
2002
2037
  var t = e.pos;
2003
2038
  if (this.regexp_eatClassSetCharacter(e)) {
2004
2039
  var i = e.lastIntValue;
@@ -2010,14 +2045,14 @@ c.regexp_eatClassSetRange = function(e) {
2010
2045
  }
2011
2046
  return false;
2012
2047
  };
2013
- c.regexp_eatClassSetOperand = function(e) {
2048
+ l.regexp_eatClassSetOperand = function(e) {
2014
2049
  return this.regexp_eatClassSetCharacter(e) ? q : this.regexp_eatClassStringDisjunction(e) || this.regexp_eatNestedClass(e);
2015
2050
  };
2016
- c.regexp_eatNestedClass = function(e) {
2051
+ l.regexp_eatNestedClass = function(e) {
2017
2052
  var t = e.pos;
2018
2053
  if (e.eat(91)) {
2019
2054
  var i = e.eat(94), s = this.regexp_classContents(e);
2020
- if (e.eat(93)) return i && s === V && e.raise("Negated character class may contain strings"), s;
2055
+ if (e.eat(93)) return i && s === B && e.raise("Negated character class may contain strings"), s;
2021
2056
  e.pos = t;
2022
2057
  }
2023
2058
  if (e.eat(92)) {
@@ -2027,7 +2062,7 @@ c.regexp_eatNestedClass = function(e) {
2027
2062
  }
2028
2063
  return null;
2029
2064
  };
2030
- c.regexp_eatClassStringDisjunction = function(e) {
2065
+ l.regexp_eatClassStringDisjunction = function(e) {
2031
2066
  var t = e.pos;
2032
2067
  if (e.eatChars([92, 113])) {
2033
2068
  if (e.eat(123)) {
@@ -2038,38 +2073,38 @@ c.regexp_eatClassStringDisjunction = function(e) {
2038
2073
  }
2039
2074
  return null;
2040
2075
  };
2041
- c.regexp_classStringDisjunctionContents = function(e) {
2042
- for (var t = this.regexp_classString(e); e.eat(124); ) this.regexp_classString(e) === V && (t = V);
2076
+ l.regexp_classStringDisjunctionContents = function(e) {
2077
+ for (var t = this.regexp_classString(e); e.eat(124); ) this.regexp_classString(e) === B && (t = B);
2043
2078
  return t;
2044
2079
  };
2045
- c.regexp_classString = function(e) {
2080
+ l.regexp_classString = function(e) {
2046
2081
  for (var t = 0; this.regexp_eatClassSetCharacter(e); ) t++;
2047
- return t === 1 ? q : V;
2082
+ return t === 1 ? q : B;
2048
2083
  };
2049
- c.regexp_eatClassSetCharacter = function(e) {
2084
+ l.regexp_eatClassSetCharacter = function(e) {
2050
2085
  var t = e.pos;
2051
2086
  if (e.eat(92)) return this.regexp_eatCharacterEscape(e) || this.regexp_eatClassSetReservedPunctuator(e) ? true : e.eat(98) ? (e.lastIntValue = 8, true) : (e.pos = t, false);
2052
2087
  var i = e.current();
2053
- return i < 0 || i === e.lookahead() && es(i) || ts(i) ? false : (e.advance(), e.lastIntValue = i, true);
2088
+ return i < 0 || i === e.lookahead() && ds(i) || ms(i) ? false : (e.advance(), e.lastIntValue = i, true);
2054
2089
  };
2055
- function es(e) {
2090
+ function ds(e) {
2056
2091
  return e === 33 || e >= 35 && e <= 38 || e >= 42 && e <= 44 || e === 46 || e >= 58 && e <= 64 || e === 94 || e === 96 || e === 126;
2057
2092
  }
2058
- function ts(e) {
2093
+ function ms(e) {
2059
2094
  return e === 40 || e === 41 || e === 45 || e === 47 || e >= 91 && e <= 93 || e >= 123 && e <= 125;
2060
2095
  }
2061
- c.regexp_eatClassSetReservedPunctuator = function(e) {
2096
+ l.regexp_eatClassSetReservedPunctuator = function(e) {
2062
2097
  var t = e.current();
2063
- return is(t) ? (e.lastIntValue = t, e.advance(), true) : false;
2098
+ return xs(t) ? (e.lastIntValue = t, e.advance(), true) : false;
2064
2099
  };
2065
- function is(e) {
2100
+ function xs(e) {
2066
2101
  return e === 33 || e === 35 || e === 37 || e === 38 || e === 44 || e === 45 || e >= 58 && e <= 62 || e === 64 || e === 96 || e === 126;
2067
2102
  }
2068
- c.regexp_eatClassControlLetter = function(e) {
2103
+ l.regexp_eatClassControlLetter = function(e) {
2069
2104
  var t = e.current();
2070
- return ve(t) || t === 95 ? (e.lastIntValue = t % 32, e.advance(), true) : false;
2105
+ return Te(t) || t === 95 ? (e.lastIntValue = t % 32, e.advance(), true) : false;
2071
2106
  };
2072
- c.regexp_eatHexEscapeSequence = function(e) {
2107
+ l.regexp_eatHexEscapeSequence = function(e) {
2073
2108
  var t = e.pos;
2074
2109
  if (e.eat(120)) {
2075
2110
  if (this.regexp_eatFixedHexDigits(e, 2)) return true;
@@ -2077,26 +2112,26 @@ c.regexp_eatHexEscapeSequence = function(e) {
2077
2112
  }
2078
2113
  return false;
2079
2114
  };
2080
- c.regexp_eatDecimalDigits = function(e) {
2115
+ l.regexp_eatDecimalDigits = function(e) {
2081
2116
  var t = e.pos, i = 0;
2082
- for (e.lastIntValue = 0; ve(i = e.current()); ) e.lastIntValue = 10 * e.lastIntValue + (i - 48), e.advance();
2117
+ for (e.lastIntValue = 0; Te(i = e.current()); ) e.lastIntValue = 10 * e.lastIntValue + (i - 48), e.advance();
2083
2118
  return e.pos !== t;
2084
2119
  };
2085
- function ve(e) {
2120
+ function Te(e) {
2086
2121
  return e >= 48 && e <= 57;
2087
2122
  }
2088
- c.regexp_eatHexDigits = function(e) {
2123
+ l.regexp_eatHexDigits = function(e) {
2089
2124
  var t = e.pos, i = 0;
2090
- for (e.lastIntValue = 0; Dt(i = e.current()); ) e.lastIntValue = 16 * e.lastIntValue + Ft(i), e.advance();
2125
+ for (e.lastIntValue = 0; qt(i = e.current()); ) e.lastIntValue = 16 * e.lastIntValue + Jt(i), e.advance();
2091
2126
  return e.pos !== t;
2092
2127
  };
2093
- function Dt(e) {
2128
+ function qt(e) {
2094
2129
  return e >= 48 && e <= 57 || e >= 65 && e <= 70 || e >= 97 && e <= 102;
2095
2130
  }
2096
- function Ft(e) {
2131
+ function Jt(e) {
2097
2132
  return e >= 65 && e <= 70 ? 10 + (e - 65) : e >= 97 && e <= 102 ? 10 + (e - 97) : e - 48;
2098
2133
  }
2099
- c.regexp_eatLegacyOctalEscapeSequence = function(e) {
2134
+ l.regexp_eatLegacyOctalEscapeSequence = function(e) {
2100
2135
  if (this.regexp_eatOctalDigit(e)) {
2101
2136
  var t = e.lastIntValue;
2102
2137
  if (this.regexp_eatOctalDigit(e)) {
@@ -2107,64 +2142,64 @@ c.regexp_eatLegacyOctalEscapeSequence = function(e) {
2107
2142
  }
2108
2143
  return false;
2109
2144
  };
2110
- c.regexp_eatOctalDigit = function(e) {
2145
+ l.regexp_eatOctalDigit = function(e) {
2111
2146
  var t = e.current();
2112
- return jt(t) ? (e.lastIntValue = t - 48, e.advance(), true) : (e.lastIntValue = 0, false);
2147
+ return Ht(t) ? (e.lastIntValue = t - 48, e.advance(), true) : (e.lastIntValue = 0, false);
2113
2148
  };
2114
- function jt(e) {
2149
+ function Ht(e) {
2115
2150
  return e >= 48 && e <= 55;
2116
2151
  }
2117
- c.regexp_eatFixedHexDigits = function(e, t) {
2152
+ l.regexp_eatFixedHexDigits = function(e, t) {
2118
2153
  var i = e.pos;
2119
2154
  e.lastIntValue = 0;
2120
2155
  for (var s = 0; s < t; ++s) {
2121
2156
  var r = e.current();
2122
- if (!Dt(r)) return e.pos = i, false;
2123
- e.lastIntValue = 16 * e.lastIntValue + Ft(r), e.advance();
2157
+ if (!qt(r)) return e.pos = i, false;
2158
+ e.lastIntValue = 16 * e.lastIntValue + Jt(r), e.advance();
2124
2159
  }
2125
2160
  return true;
2126
2161
  };
2127
- var qe = function(t) {
2128
- this.type = t.type, this.value = t.value, this.start = t.start, this.end = t.end, t.options.locations && (this.loc = new xe(t, t.startLoc, t.endLoc)), t.options.ranges && (this.range = [t.start, t.end]);
2129
- }, v = T.prototype;
2130
- v.next = function(e) {
2131
- !e && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new qe(this)), this.lastTokEnd = this.end, this.lastTokStart = this.start, this.lastTokEndLoc = this.endLoc, this.lastTokStartLoc = this.startLoc, this.nextToken();
2162
+ var Ke = function(t) {
2163
+ this.type = t.type, this.value = t.value, this.start = t.start, this.end = t.end, t.options.locations && (this.loc = new ge(t, t.startLoc, t.endLoc)), t.options.ranges && (this.range = [t.start, t.end]);
2164
+ }, b = E.prototype;
2165
+ b.next = function(e) {
2166
+ !e && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new Ke(this)), this.lastTokEnd = this.end, this.lastTokStart = this.start, this.lastTokEndLoc = this.endLoc, this.lastTokStartLoc = this.startLoc, this.nextToken();
2132
2167
  };
2133
- v.getToken = function() {
2134
- return this.next(), new qe(this);
2168
+ b.getToken = function() {
2169
+ return this.next(), new Ke(this);
2135
2170
  };
2136
- typeof Symbol < "u" && (v[Symbol.iterator] = function() {
2171
+ typeof Symbol < "u" && (b[Symbol.iterator] = function() {
2137
2172
  var e = this;
2138
2173
  return { next: function() {
2139
2174
  var t = e.getToken();
2140
2175
  return { done: t.type === a.eof, value: t };
2141
2176
  } };
2142
2177
  });
2143
- v.nextToken = function() {
2178
+ b.nextToken = function() {
2144
2179
  var e = this.curContext();
2145
2180
  if ((!e || !e.preserveSpace) && this.skipSpace(), this.start = this.pos, this.options.locations && (this.startLoc = this.curPosition()), this.pos >= this.input.length) return this.finishToken(a.eof);
2146
2181
  if (e.override) return e.override(this);
2147
2182
  this.readToken(this.fullCharCodeAtPos());
2148
2183
  };
2149
- v.readToken = function(e) {
2184
+ b.readToken = function(e) {
2150
2185
  return M(e, this.options.ecmaVersion >= 6) || e === 92 ? this.readWord() : this.getTokenFromCode(e);
2151
2186
  };
2152
- v.fullCharCodeAtPos = function() {
2187
+ b.fullCharCodeAtPos = function() {
2153
2188
  var e = this.input.charCodeAt(this.pos);
2154
2189
  if (e <= 55295 || e >= 56320) return e;
2155
2190
  var t = this.input.charCodeAt(this.pos + 1);
2156
2191
  return t <= 56319 || t >= 57344 ? e : (e << 10) + t - 56613888;
2157
2192
  };
2158
- v.skipBlockComment = function() {
2193
+ b.skipBlockComment = function() {
2159
2194
  var e = this.options.onComment && this.curPosition(), t = this.pos, i = this.input.indexOf("*/", this.pos += 2);
2160
- if (i === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = i + 2, this.options.locations) for (var s = void 0, r = t; (s = ut(this.input, r, this.pos)) > -1; ) ++this.curLine, r = this.lineStart = s;
2195
+ if (i === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = i + 2, this.options.locations) for (var s = void 0, r = t; (s = mt(this.input, r, this.pos)) > -1; ) ++this.curLine, r = this.lineStart = s;
2161
2196
  this.options.onComment && this.options.onComment(true, this.input.slice(t + 2, i), t, this.pos, e, this.curPosition());
2162
2197
  };
2163
- v.skipLineComment = function(e) {
2164
- for (var t = this.pos, i = this.options.onComment && this.curPosition(), s = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !Q(s); ) s = this.input.charCodeAt(++this.pos);
2198
+ b.skipLineComment = function(e) {
2199
+ for (var t = this.pos, i = this.options.onComment && this.curPosition(), s = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !Y(s); ) s = this.input.charCodeAt(++this.pos);
2165
2200
  this.options.onComment && this.options.onComment(false, this.input.slice(t + e, this.pos), t, this.pos, i, this.curPosition());
2166
2201
  };
2167
- v.skipSpace = function() {
2202
+ b.skipSpace = function() {
2168
2203
  e: for (; this.pos < this.input.length; ) {
2169
2204
  var e = this.input.charCodeAt(this.pos);
2170
2205
  switch (e) {
@@ -2192,31 +2227,31 @@ v.skipSpace = function() {
2192
2227
  }
2193
2228
  break;
2194
2229
  default:
2195
- if (e > 8 && e < 14 || e >= 5760 && pt.test(String.fromCharCode(e))) ++this.pos;
2230
+ if (e > 8 && e < 14 || e >= 5760 && xt.test(String.fromCharCode(e))) ++this.pos;
2196
2231
  else break e;
2197
2232
  }
2198
2233
  }
2199
2234
  };
2200
- v.finishToken = function(e, t) {
2235
+ b.finishToken = function(e, t) {
2201
2236
  this.end = this.pos, this.options.locations && (this.endLoc = this.curPosition());
2202
2237
  var i = this.type;
2203
2238
  this.type = e, this.value = t, this.updateContext(i);
2204
2239
  };
2205
- v.readToken_dot = function() {
2240
+ b.readToken_dot = function() {
2206
2241
  var e = this.input.charCodeAt(this.pos + 1);
2207
2242
  if (e >= 48 && e <= 57) return this.readNumber(true);
2208
2243
  var t = this.input.charCodeAt(this.pos + 2);
2209
2244
  return this.options.ecmaVersion >= 6 && e === 46 && t === 46 ? (this.pos += 3, this.finishToken(a.ellipsis)) : (++this.pos, this.finishToken(a.dot));
2210
2245
  };
2211
- v.readToken_slash = function() {
2246
+ b.readToken_slash = function() {
2212
2247
  var e = this.input.charCodeAt(this.pos + 1);
2213
2248
  return this.exprAllowed ? (++this.pos, this.readRegexp()) : e === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.slash, 1);
2214
2249
  };
2215
- v.readToken_mult_modulo_exp = function(e) {
2250
+ b.readToken_mult_modulo_exp = function(e) {
2216
2251
  var t = this.input.charCodeAt(this.pos + 1), i = 1, s = e === 42 ? a.star : a.modulo;
2217
2252
  return this.options.ecmaVersion >= 7 && e === 42 && t === 42 && (++i, s = a.starstar, t = this.input.charCodeAt(this.pos + 2)), t === 61 ? this.finishOp(a.assign, i + 1) : this.finishOp(s, i);
2218
2253
  };
2219
- v.readToken_pipe_amp = function(e) {
2254
+ b.readToken_pipe_amp = function(e) {
2220
2255
  var t = this.input.charCodeAt(this.pos + 1);
2221
2256
  if (t === e) {
2222
2257
  if (this.options.ecmaVersion >= 12) {
@@ -2227,23 +2262,23 @@ v.readToken_pipe_amp = function(e) {
2227
2262
  }
2228
2263
  return t === 61 ? this.finishOp(a.assign, 2) : this.finishOp(e === 124 ? a.bitwiseOR : a.bitwiseAND, 1);
2229
2264
  };
2230
- v.readToken_caret = function() {
2265
+ b.readToken_caret = function() {
2231
2266
  var e = this.input.charCodeAt(this.pos + 1);
2232
2267
  return e === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.bitwiseXOR, 1);
2233
2268
  };
2234
- v.readToken_plus_min = function(e) {
2269
+ b.readToken_plus_min = function(e) {
2235
2270
  var t = this.input.charCodeAt(this.pos + 1);
2236
- return t === e ? t === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || L.test(this.input.slice(this.lastTokEnd, this.pos))) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(a.incDec, 2) : t === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.plusMin, 1);
2271
+ return t === e ? t === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || V.test(this.input.slice(this.lastTokEnd, this.pos))) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(a.incDec, 2) : t === 61 ? this.finishOp(a.assign, 2) : this.finishOp(a.plusMin, 1);
2237
2272
  };
2238
- v.readToken_lt_gt = function(e) {
2273
+ b.readToken_lt_gt = function(e) {
2239
2274
  var t = this.input.charCodeAt(this.pos + 1), i = 1;
2240
2275
  return t === e ? (i = e === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2, this.input.charCodeAt(this.pos + i) === 61 ? this.finishOp(a.assign, i + 1) : this.finishOp(a.bitShift, i)) : t === 33 && e === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && this.input.charCodeAt(this.pos + 3) === 45 ? (this.skipLineComment(4), this.skipSpace(), this.nextToken()) : (t === 61 && (i = 2), this.finishOp(a.relational, i));
2241
2276
  };
2242
- v.readToken_eq_excl = function(e) {
2277
+ b.readToken_eq_excl = function(e) {
2243
2278
  var t = this.input.charCodeAt(this.pos + 1);
2244
2279
  return t === 61 ? this.finishOp(a.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) : e === 61 && t === 62 && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(a.arrow)) : this.finishOp(e === 61 ? a.eq : a.prefix, 1);
2245
2280
  };
2246
- v.readToken_question = function() {
2281
+ b.readToken_question = function() {
2247
2282
  var e = this.options.ecmaVersion;
2248
2283
  if (e >= 11) {
2249
2284
  var t = this.input.charCodeAt(this.pos + 1);
@@ -2261,12 +2296,12 @@ v.readToken_question = function() {
2261
2296
  }
2262
2297
  return this.finishOp(a.question, 1);
2263
2298
  };
2264
- v.readToken_numberSign = function() {
2299
+ b.readToken_numberSign = function() {
2265
2300
  var e = this.options.ecmaVersion, t = 35;
2266
2301
  if (e >= 13 && (++this.pos, t = this.fullCharCodeAtPos(), M(t, true) || t === 92)) return this.finishToken(a.privateId, this.readWord1());
2267
- this.raise(this.pos, "Unexpected character '" + U(t) + "'");
2302
+ this.raise(this.pos, "Unexpected character '" + G(t) + "'");
2268
2303
  };
2269
- v.getTokenFromCode = function(e) {
2304
+ b.getTokenFromCode = function(e) {
2270
2305
  switch (e) {
2271
2306
  case 46:
2272
2307
  return this.readToken_dot();
@@ -2337,17 +2372,17 @@ v.getTokenFromCode = function(e) {
2337
2372
  case 35:
2338
2373
  return this.readToken_numberSign();
2339
2374
  }
2340
- this.raise(this.pos, "Unexpected character '" + U(e) + "'");
2375
+ this.raise(this.pos, "Unexpected character '" + G(e) + "'");
2341
2376
  };
2342
- v.finishOp = function(e, t) {
2377
+ b.finishOp = function(e, t) {
2343
2378
  var i = this.input.slice(this.pos, this.pos + t);
2344
2379
  return this.pos += t, this.finishToken(e, i);
2345
2380
  };
2346
- v.readRegexp = function() {
2381
+ b.readRegexp = function() {
2347
2382
  for (var e, t, i = this.pos; ; ) {
2348
2383
  this.pos >= this.input.length && this.raise(i, "Unterminated regular expression");
2349
2384
  var s = this.input.charAt(this.pos);
2350
- if (L.test(s) && this.raise(i, "Unterminated regular expression"), e) e = false;
2385
+ if (V.test(s) && this.raise(i, "Unterminated regular expression"), e) e = false;
2351
2386
  else {
2352
2387
  if (s === "[") t = true;
2353
2388
  else if (s === "]" && t) t = false;
@@ -2360,54 +2395,54 @@ v.readRegexp = function() {
2360
2395
  ++this.pos;
2361
2396
  var n = this.pos, o = this.readWord1();
2362
2397
  this.containsEsc && this.unexpected(n);
2363
- var u = this.regexpState || (this.regexpState = new j(this));
2364
- u.reset(i, r, o), this.validateRegExpFlags(u), this.validateRegExpPattern(u);
2365
- var p = null;
2398
+ var p = this.regexpState || (this.regexpState = new U(this));
2399
+ p.reset(i, r, o), this.validateRegExpFlags(p), this.validateRegExpPattern(p);
2400
+ var u = null;
2366
2401
  try {
2367
- p = new RegExp(r, o);
2402
+ u = new RegExp(r, o);
2368
2403
  } catch {
2369
2404
  }
2370
- return this.finishToken(a.regexp, { pattern: r, flags: o, value: p });
2405
+ return this.finishToken(a.regexp, { pattern: r, flags: o, value: u });
2371
2406
  };
2372
- v.readInt = function(e, t, i) {
2373
- for (var s = this.options.ecmaVersion >= 12 && t === void 0, r = i && this.input.charCodeAt(this.pos) === 48, n = this.pos, o = 0, u = 0, p = 0, d = t ?? 1 / 0; p < d; ++p, ++this.pos) {
2374
- var f = this.input.charCodeAt(this.pos), C = void 0;
2407
+ b.readInt = function(e, t, i) {
2408
+ for (var s = this.options.ecmaVersion >= 12 && t === void 0, r = i && this.input.charCodeAt(this.pos) === 48, n = this.pos, o = 0, p = 0, u = 0, c = t ?? 1 / 0; u < c; ++u, ++this.pos) {
2409
+ var f = this.input.charCodeAt(this.pos), v = void 0;
2375
2410
  if (s && f === 95) {
2376
- r && this.raiseRecoverable(this.pos, "Numeric separator is not allowed in legacy octal numeric literals"), u === 95 && this.raiseRecoverable(this.pos, "Numeric separator must be exactly one underscore"), p === 0 && this.raiseRecoverable(this.pos, "Numeric separator is not allowed at the first of digits"), u = f;
2411
+ 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"), u === 0 && this.raiseRecoverable(this.pos, "Numeric separator is not allowed at the first of digits"), p = f;
2377
2412
  continue;
2378
2413
  }
2379
- if (f >= 97 ? C = f - 97 + 10 : f >= 65 ? C = f - 65 + 10 : f >= 48 && f <= 57 ? C = f - 48 : C = 1 / 0, C >= e) break;
2380
- u = f, o = o * e + C;
2414
+ if (f >= 97 ? v = f - 97 + 10 : f >= 65 ? v = f - 65 + 10 : f >= 48 && f <= 57 ? v = f - 48 : v = 1 / 0, v >= e) break;
2415
+ p = f, o = o * e + v;
2381
2416
  }
2382
- return s && u === 95 && this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"), this.pos === n || t != null && this.pos - n !== t ? null : o;
2417
+ return s && p === 95 && this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"), this.pos === n || t != null && this.pos - n !== t ? null : o;
2383
2418
  };
2384
- function ss(e, t) {
2419
+ function ys(e, t) {
2385
2420
  return t ? parseInt(e, 8) : parseFloat(e.replace(/_/g, ""));
2386
2421
  }
2387
- function Mt(e) {
2422
+ function Kt(e) {
2388
2423
  return typeof BigInt != "function" ? null : BigInt(e.replace(/_/g, ""));
2389
2424
  }
2390
- v.readRadixNumber = function(e) {
2425
+ b.readRadixNumber = function(e) {
2391
2426
  var t = this.pos;
2392
2427
  this.pos += 2;
2393
2428
  var i = this.readInt(e);
2394
- return i == null && this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (i = Mt(this.input.slice(t, this.pos)), ++this.pos) : M(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(a.num, i);
2429
+ return i == null && this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (i = Kt(this.input.slice(t, this.pos)), ++this.pos) : M(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(a.num, i);
2395
2430
  };
2396
- v.readNumber = function(e) {
2431
+ b.readNumber = function(e) {
2397
2432
  var t = this.pos;
2398
2433
  !e && this.readInt(10, void 0, true) === null && this.raise(t, "Invalid number");
2399
2434
  var i = this.pos - t >= 2 && this.input.charCodeAt(t) === 48;
2400
2435
  i && this.strict && this.raise(t, "Invalid number");
2401
2436
  var s = this.input.charCodeAt(this.pos);
2402
2437
  if (!i && !e && this.options.ecmaVersion >= 11 && s === 110) {
2403
- var r = Mt(this.input.slice(t, this.pos));
2438
+ var r = Kt(this.input.slice(t, this.pos));
2404
2439
  return ++this.pos, M(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(a.num, r);
2405
2440
  }
2406
2441
  i && /[89]/.test(this.input.slice(t, this.pos)) && (i = false), s === 46 && !i && (++this.pos, this.readInt(10), s = this.input.charCodeAt(this.pos)), (s === 69 || s === 101) && !i && (s = this.input.charCodeAt(++this.pos), (s === 43 || s === 45) && ++this.pos, this.readInt(10) === null && this.raise(t, "Invalid number")), M(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
2407
- var n = ss(this.input.slice(t, this.pos), i);
2442
+ var n = ys(this.input.slice(t, this.pos), i);
2408
2443
  return this.finishToken(a.num, n);
2409
2444
  };
2410
- v.readCodePoint = function() {
2445
+ b.readCodePoint = function() {
2411
2446
  var e = this.input.charCodeAt(this.pos), t;
2412
2447
  if (e === 123) {
2413
2448
  this.options.ecmaVersion < 6 && this.unexpected();
@@ -2416,37 +2451,37 @@ v.readCodePoint = function() {
2416
2451
  } else t = this.readHexChar(4);
2417
2452
  return t;
2418
2453
  };
2419
- v.readString = function(e) {
2454
+ b.readString = function(e) {
2420
2455
  for (var t = "", i = ++this.pos; ; ) {
2421
2456
  this.pos >= this.input.length && this.raise(this.start, "Unterminated string constant");
2422
2457
  var s = this.input.charCodeAt(this.pos);
2423
2458
  if (s === e) break;
2424
- s === 92 ? (t += this.input.slice(i, this.pos), t += this.readEscapedChar(false), i = this.pos) : s === 8232 || s === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (Q(s) && this.raise(this.start, "Unterminated string constant"), ++this.pos);
2459
+ s === 92 ? (t += this.input.slice(i, this.pos), t += this.readEscapedChar(false), i = this.pos) : s === 8232 || s === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (Y(s) && this.raise(this.start, "Unterminated string constant"), ++this.pos);
2425
2460
  }
2426
2461
  return t += this.input.slice(i, this.pos++), this.finishToken(a.string, t);
2427
2462
  };
2428
- var Ut = {};
2429
- v.tryReadTemplateToken = function() {
2463
+ var Wt = {};
2464
+ b.tryReadTemplateToken = function() {
2430
2465
  this.inTemplateElement = true;
2431
2466
  try {
2432
2467
  this.readTmplToken();
2433
2468
  } catch (e) {
2434
- if (e === Ut) this.readInvalidTemplateToken();
2469
+ if (e === Wt) this.readInvalidTemplateToken();
2435
2470
  else throw e;
2436
2471
  }
2437
2472
  this.inTemplateElement = false;
2438
2473
  };
2439
- v.invalidStringToken = function(e, t) {
2440
- if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw Ut;
2474
+ b.invalidStringToken = function(e, t) {
2475
+ if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw Wt;
2441
2476
  this.raise(e, t);
2442
2477
  };
2443
- v.readTmplToken = function() {
2478
+ b.readTmplToken = function() {
2444
2479
  for (var e = "", t = this.pos; ; ) {
2445
2480
  this.pos >= this.input.length && this.raise(this.start, "Unterminated template");
2446
2481
  var i = this.input.charCodeAt(this.pos);
2447
2482
  if (i === 96 || i === 36 && this.input.charCodeAt(this.pos + 1) === 123) return this.pos === this.start && (this.type === a.template || this.type === a.invalidTemplate) ? i === 36 ? (this.pos += 2, this.finishToken(a.dollarBraceL)) : (++this.pos, this.finishToken(a.backQuote)) : (e += this.input.slice(t, this.pos), this.finishToken(a.template, e));
2448
2483
  if (i === 92) e += this.input.slice(t, this.pos), e += this.readEscapedChar(true), t = this.pos;
2449
- else if (Q(i)) {
2484
+ else if (Y(i)) {
2450
2485
  switch (e += this.input.slice(t, this.pos), ++this.pos, i) {
2451
2486
  case 13:
2452
2487
  this.input.charCodeAt(this.pos) === 10 && ++this.pos;
@@ -2462,7 +2497,7 @@ v.readTmplToken = function() {
2462
2497
  } else ++this.pos;
2463
2498
  }
2464
2499
  };
2465
- v.readInvalidTemplateToken = function() {
2500
+ b.readInvalidTemplateToken = function() {
2466
2501
  for (; this.pos < this.input.length; this.pos++) switch (this.input[this.pos]) {
2467
2502
  case "\\":
2468
2503
  ++this.pos;
@@ -2483,7 +2518,7 @@ v.readInvalidTemplateToken = function() {
2483
2518
  }
2484
2519
  this.raise(this.start, "Unterminated template");
2485
2520
  };
2486
- v.readEscapedChar = function(e) {
2521
+ b.readEscapedChar = function(e) {
2487
2522
  var t = this.input.charCodeAt(++this.pos);
2488
2523
  switch (++this.pos, t) {
2489
2524
  case 110:
@@ -2494,7 +2529,7 @@ v.readEscapedChar = function(e) {
2494
2529
  case 120:
2495
2530
  return String.fromCharCode(this.readHexChar(2));
2496
2531
  case 117:
2497
- return U(this.readCodePoint());
2532
+ return G(this.readCodePoint());
2498
2533
  case 116:
2499
2534
  return " ";
2500
2535
  case 98:
@@ -2518,42 +2553,42 @@ v.readEscapedChar = function(e) {
2518
2553
  var s = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0], r = parseInt(s, 8);
2519
2554
  return r > 255 && (s = s.slice(0, -1), r = parseInt(s, 8)), this.pos += s.length - 1, t = this.input.charCodeAt(this.pos), (s !== "0" || t === 56 || t === 57) && (this.strict || e) && this.invalidStringToken(this.pos - 1 - s.length, e ? "Octal literal in template string" : "Octal literal in strict mode"), String.fromCharCode(r);
2520
2555
  }
2521
- return Q(t) ? (this.options.locations && (this.lineStart = this.pos, ++this.curLine), "") : String.fromCharCode(t);
2556
+ return Y(t) ? (this.options.locations && (this.lineStart = this.pos, ++this.curLine), "") : String.fromCharCode(t);
2522
2557
  }
2523
2558
  };
2524
- v.readHexChar = function(e) {
2559
+ b.readHexChar = function(e) {
2525
2560
  var t = this.pos, i = this.readInt(16, e);
2526
2561
  return i === null && this.invalidStringToken(t, "Bad character escape sequence"), i;
2527
2562
  };
2528
- v.readWord1 = function() {
2563
+ b.readWord1 = function() {
2529
2564
  this.containsEsc = false;
2530
2565
  for (var e = "", t = true, i = this.pos, s = this.options.ecmaVersion >= 6; this.pos < this.input.length; ) {
2531
2566
  var r = this.fullCharCodeAtPos();
2532
- if (H(r, s)) this.pos += r <= 65535 ? 1 : 2;
2567
+ if (K(r, s)) this.pos += r <= 65535 ? 1 : 2;
2533
2568
  else if (r === 92) {
2534
2569
  this.containsEsc = true, e += this.input.slice(i, this.pos);
2535
2570
  var n = this.pos;
2536
2571
  this.input.charCodeAt(++this.pos) !== 117 && this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.pos;
2537
2572
  var o = this.readCodePoint();
2538
- (t ? M : H)(o, s) || this.invalidStringToken(n, "Invalid Unicode escape"), e += U(o), i = this.pos;
2573
+ (t ? M : K)(o, s) || this.invalidStringToken(n, "Invalid Unicode escape"), e += G(o), i = this.pos;
2539
2574
  } else break;
2540
2575
  t = false;
2541
2576
  }
2542
2577
  return e + this.input.slice(i, this.pos);
2543
2578
  };
2544
- v.readWord = function() {
2579
+ b.readWord = function() {
2545
2580
  var e = this.readWord1(), t = a.name;
2546
- return this.keywords.test(e) && (t = Oe[e]), this.finishToken(t, e);
2581
+ return this.keywords.test(e) && (t = je[e]), this.finishToken(t, e);
2547
2582
  };
2548
- var rs = "8.14.0";
2549
- T.acorn = { Parser: T, version: rs, defaultOptions: Ve, Position: ie, SourceLocation: xe, getLineInfo: ct, Node: ge, TokenType: S, tokTypes: a, keywordTypes: Oe, TokContext: D, tokContexts: _, isIdentifierChar: H, isIdentifierStart: M, Token: qe, isNewLine: Q, lineBreak: L, lineBreakG: wi, nonASCIIwhitespace: pt };
2550
- var ni = et(Je());
2551
- function hs(e, t) {
2583
+ var gs = "8.15.0";
2584
+ E.acorn = { Parser: E, version: gs, defaultOptions: De, Position: ae, SourceLocation: ge, getLineInfo: gt, Node: _e, TokenType: _, tokTypes: a, keywordTypes: je, TokContext: F, tokContexts: C, isIdentifierChar: K, isIdentifierStart: M, Token: Ke, isNewLine: Y, lineBreak: V, lineBreakG: Ui, nonASCIIwhitespace: xt };
2585
+ var bi = ot(Xe());
2586
+ function Cs(e, t) {
2552
2587
  let i = new SyntaxError(e + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
2553
2588
  return Object.assign(i, t);
2554
2589
  }
2555
- var be = hs;
2556
- function cs(e) {
2590
+ var Ce = Cs;
2591
+ function Es(e) {
2557
2592
  let t = [];
2558
2593
  for (let i of e) try {
2559
2594
  return i();
@@ -2562,54 +2597,91 @@ function cs(e) {
2562
2597
  }
2563
2598
  throw Object.assign(new Error("All combinations failed"), { errors: t });
2564
2599
  }
2565
- var Se = cs;
2566
- var ls = (e, t, i) => {
2600
+ var Ee = Es;
2601
+ var ks = (e, t, i) => {
2602
+ if (!(e && t == null)) {
2603
+ if (t.findLast) return t.findLast(i);
2604
+ for (let s = t.length - 1; s >= 0; s--) {
2605
+ let r = t[s];
2606
+ if (i(r, s, t)) return r;
2607
+ }
2608
+ }
2609
+ }, $t = ks;
2610
+ var As = (e, t, i) => {
2567
2611
  if (!(e && t == null)) return Array.isArray(t) || typeof t == "string" ? t[i < 0 ? t.length + i : i] : t.at(i);
2568
- }, X = ls;
2569
- function fs(e) {
2570
- return Array.isArray(e) && e.length > 0;
2571
- }
2572
- var Wt = fs;
2573
- function O(e) {
2612
+ }, te = As;
2613
+ var ws = new Proxy(() => {
2614
+ }, { get: () => ws });
2615
+ function w(e) {
2574
2616
  var s, r, n;
2575
2617
  let t = ((s = e.range) == null ? void 0 : s[0]) ?? e.start, i = (n = ((r = e.declaration) == null ? void 0 : r.decorators) ?? e.decorators) == null ? void 0 : n[0];
2576
- return i ? Math.min(O(i), t) : t;
2618
+ return i ? Math.min(w(i), t) : t;
2577
2619
  }
2578
- function J(e) {
2579
- var t;
2580
- return ((t = e.range) == null ? void 0 : t[1]) ?? e.end;
2620
+ function k(e) {
2621
+ var i;
2622
+ return ((i = e.range) == null ? void 0 : i[1]) ?? e.end;
2581
2623
  }
2582
- function ds(e) {
2624
+ function Ps(e) {
2583
2625
  let t = new Set(e);
2584
2626
  return (i) => t.has(i == null ? void 0 : i.type);
2585
2627
  }
2586
- var Xt = ds;
2587
- var ms = Xt(["Block", "CommentBlock", "MultiLine"]), oe = ms;
2588
- function xs(e) {
2628
+ var ie = Ps;
2629
+ function Is(e, t, i) {
2630
+ let s = e.originalText.slice(t, i);
2631
+ for (let r of e[Symbol.for("comments")]) {
2632
+ let n = w(r);
2633
+ if (n > i) break;
2634
+ let o = k(r);
2635
+ if (o < t) continue;
2636
+ let p = o - n;
2637
+ s = s.slice(0, n - t) + " ".repeat(p) + s.slice(o - t);
2638
+ }
2639
+ return s;
2640
+ }
2641
+ var Zt = Is;
2642
+ var Ns = ie(["Block", "CommentBlock", "MultiLine"]), z = Ns;
2643
+ var Ls = ie(["Line", "CommentLine", "SingleLine", "HashbangComment", "HTMLOpen", "HTMLClose", "Hashbang", "InterpreterDirective"]), ze = Ls;
2644
+ var Qe = /* @__PURE__ */ new WeakMap();
2645
+ function Vs(e) {
2646
+ return Qe.has(e) || Qe.set(e, z(e) && e.value[0] === "*" && /@(?:type|satisfies)\b/u.test(e.value)), Qe.get(e);
2647
+ }
2648
+ var ei = Vs;
2649
+ function Rs(e) {
2650
+ if (!z(e)) return false;
2589
2651
  let t = `*${e.value}*`.split(`
2590
2652
  `);
2591
2653
  return t.length > 1 && t.every((i) => i.trimStart()[0] === "*");
2592
2654
  }
2593
- var Ke = xs;
2594
- function ys(e) {
2595
- return oe(e) && e.value[0] === "*" && /@(?:type|satisfies)\b/u.test(e.value);
2596
- }
2597
- var zt = ys;
2598
- var ue = null;
2599
- function pe(e) {
2600
- if (ue !== null && typeof ue.property) {
2601
- let t = ue;
2602
- return ue = pe.prototype = null, t;
2603
- }
2604
- return ue = pe.prototype = e ?? /* @__PURE__ */ Object.create(null), new pe();
2605
- }
2606
- var gs = 10;
2607
- for (let e = 0; e <= gs; e++) pe();
2608
- function We(e) {
2609
- return pe(e);
2610
- }
2611
- function vs(e, t = "type") {
2612
- We(e);
2655
+ var Ye = /* @__PURE__ */ new WeakMap();
2656
+ function Os(e) {
2657
+ return Ye.has(e) || Ye.set(e, Rs(e)), Ye.get(e);
2658
+ }
2659
+ var $e = Os;
2660
+ function Bs(e) {
2661
+ if (e.length < 2) return;
2662
+ let t;
2663
+ for (let i = e.length - 1; i >= 0; i--) {
2664
+ let s = e[i];
2665
+ if (t && k(s) === w(t) && $e(s) && $e(t) && (e.splice(i + 1, 1), s.value += "*//*" + t.value, s.range = [w(s), k(t)]), !ze(s) && !z(s)) throw new TypeError(`Unknown comment type: "${s.type}".`);
2666
+ t = s;
2667
+ }
2668
+ }
2669
+ var ti = Bs;
2670
+ var he = null;
2671
+ function ce(e) {
2672
+ if (he !== null && typeof he.property) {
2673
+ let t = he;
2674
+ return he = ce.prototype = null, t;
2675
+ }
2676
+ return he = ce.prototype = e ?? /* @__PURE__ */ Object.create(null), new ce();
2677
+ }
2678
+ var Ds = 10;
2679
+ for (let e = 0; e <= Ds; e++) ce();
2680
+ function Ze(e) {
2681
+ return ce(e);
2682
+ }
2683
+ function Fs(e, t = "type") {
2684
+ Ze(e);
2613
2685
  function i(s) {
2614
2686
  let r = s[t], n = e[r];
2615
2687
  if (!Array.isArray(n)) throw Object.assign(new Error(`Missing visitor keys for '${r}'.`), { node: s });
@@ -2617,186 +2689,213 @@ function vs(e, t = "type") {
2617
2689
  }
2618
2690
  return i;
2619
2691
  }
2620
- var Ht = vs;
2621
- var Qt = { ArrayExpression: ["elements"], AssignmentExpression: ["left", "right"], BinaryExpression: ["left", "right"], InterpreterDirective: [], Directive: ["value"], DirectiveLiteral: [], BlockStatement: ["directives", "body"], BreakStatement: ["label"], CallExpression: ["callee", "arguments", "typeParameters", "typeArguments"], CatchClause: ["param", "body"], ConditionalExpression: ["test", "consequent", "alternate"], ContinueStatement: ["label"], DebuggerStatement: [], DoWhileStatement: ["body", "test"], EmptyStatement: [], ExpressionStatement: ["expression"], File: ["program"], ForInStatement: ["left", "right", "body"], ForStatement: ["init", "test", "update", "body"], FunctionDeclaration: ["id", "typeParameters", "params", "predicate", "returnType", "body"], FunctionExpression: ["id", "typeParameters", "params", "returnType", "body"], Identifier: ["typeAnnotation", "decorators"], IfStatement: ["test", "consequent", "alternate"], LabeledStatement: ["label", "body"], StringLiteral: [], NumericLiteral: [], NullLiteral: [], BooleanLiteral: [], RegExpLiteral: [], LogicalExpression: ["left", "right"], MemberExpression: ["object", "property"], NewExpression: ["callee", "arguments", "typeParameters", "typeArguments"], Program: ["directives", "body"], ObjectExpression: ["properties"], ObjectMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], ObjectProperty: ["key", "value", "decorators"], RestElement: ["argument", "typeAnnotation", "decorators"], ReturnStatement: ["argument"], SequenceExpression: ["expressions"], ParenthesizedExpression: ["expression"], SwitchCase: ["test", "consequent"], SwitchStatement: ["discriminant", "cases"], ThisExpression: [], ThrowStatement: ["argument"], TryStatement: ["block", "handler", "finalizer"], UnaryExpression: ["argument"], UpdateExpression: ["argument"], VariableDeclaration: ["declarations"], VariableDeclarator: ["id", "init"], WhileStatement: ["test", "body"], WithStatement: ["object", "body"], AssignmentPattern: ["left", "right", "decorators", "typeAnnotation"], ArrayPattern: ["elements", "typeAnnotation", "decorators"], ArrowFunctionExpression: ["typeParameters", "params", "predicate", "returnType", "body"], ClassBody: ["body"], ClassExpression: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body", "superTypeArguments"], ClassDeclaration: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body", "superTypeArguments"], ExportAllDeclaration: ["source", "attributes", "exported"], ExportDefaultDeclaration: ["declaration"], ExportNamedDeclaration: ["declaration", "specifiers", "source", "attributes"], ExportSpecifier: ["local", "exported"], ForOfStatement: ["left", "right", "body"], ImportDeclaration: ["specifiers", "source", "attributes"], ImportDefaultSpecifier: ["local"], ImportNamespaceSpecifier: ["local"], ImportSpecifier: ["imported", "local"], ImportExpression: ["source", "options"], MetaProperty: ["meta", "property"], ClassMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], ObjectPattern: ["properties", "typeAnnotation", "decorators"], SpreadElement: ["argument"], Super: [], TaggedTemplateExpression: ["tag", "typeParameters", "quasi", "typeArguments"], TemplateElement: [], TemplateLiteral: ["quasis", "expressions"], YieldExpression: ["argument"], AwaitExpression: ["argument"], BigIntLiteral: [], ExportNamespaceSpecifier: ["exported"], OptionalMemberExpression: ["object", "property"], OptionalCallExpression: ["callee", "arguments", "typeParameters", "typeArguments"], ClassProperty: ["decorators", "variance", "key", "typeAnnotation", "value"], ClassAccessorProperty: ["decorators", "key", "typeAnnotation", "value"], ClassPrivateProperty: ["decorators", "variance", "key", "typeAnnotation", "value"], ClassPrivateMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], PrivateName: ["id"], StaticBlock: ["body"], AnyTypeAnnotation: [], ArrayTypeAnnotation: ["elementType"], BooleanTypeAnnotation: [], BooleanLiteralTypeAnnotation: [], NullLiteralTypeAnnotation: [], ClassImplements: ["id", "typeParameters"], DeclareClass: ["id", "typeParameters", "extends", "mixins", "implements", "body"], DeclareFunction: ["id", "predicate"], DeclareInterface: ["id", "typeParameters", "extends", "body"], DeclareModule: ["id", "body"], DeclareModuleExports: ["typeAnnotation"], DeclareTypeAlias: ["id", "typeParameters", "right"], DeclareOpaqueType: ["id", "typeParameters", "supertype"], DeclareVariable: ["id"], DeclareExportDeclaration: ["declaration", "specifiers", "source", "attributes"], DeclareExportAllDeclaration: ["source", "attributes"], DeclaredPredicate: ["value"], ExistsTypeAnnotation: [], FunctionTypeAnnotation: ["typeParameters", "this", "params", "rest", "returnType"], FunctionTypeParam: ["name", "typeAnnotation"], GenericTypeAnnotation: ["id", "typeParameters"], InferredPredicate: [], InterfaceExtends: ["id", "typeParameters"], InterfaceDeclaration: ["id", "typeParameters", "extends", "body"], InterfaceTypeAnnotation: ["extends", "body"], IntersectionTypeAnnotation: ["types"], MixedTypeAnnotation: [], EmptyTypeAnnotation: [], NullableTypeAnnotation: ["typeAnnotation"], NumberLiteralTypeAnnotation: [], NumberTypeAnnotation: [], ObjectTypeAnnotation: ["properties", "indexers", "callProperties", "internalSlots"], ObjectTypeInternalSlot: ["id", "value"], ObjectTypeCallProperty: ["value"], ObjectTypeIndexer: ["variance", "id", "key", "value"], ObjectTypeProperty: ["key", "value", "variance"], ObjectTypeSpreadProperty: ["argument"], OpaqueType: ["id", "typeParameters", "supertype", "impltype"], QualifiedTypeIdentifier: ["qualification", "id"], StringLiteralTypeAnnotation: [], StringTypeAnnotation: [], SymbolTypeAnnotation: [], ThisTypeAnnotation: [], TupleTypeAnnotation: ["types", "elementTypes"], TypeofTypeAnnotation: ["argument", "typeArguments"], TypeAlias: ["id", "typeParameters", "right"], TypeAnnotation: ["typeAnnotation"], TypeCastExpression: ["expression", "typeAnnotation"], TypeParameter: ["bound", "default", "variance"], TypeParameterDeclaration: ["params"], TypeParameterInstantiation: ["params"], UnionTypeAnnotation: ["types"], Variance: [], VoidTypeAnnotation: [], EnumDeclaration: ["id", "body"], EnumBooleanBody: ["members"], EnumNumberBody: ["members"], EnumStringBody: ["members"], EnumSymbolBody: ["members"], EnumBooleanMember: ["id", "init"], EnumNumberMember: ["id", "init"], EnumStringMember: ["id", "init"], EnumDefaultedMember: ["id"], IndexedAccessType: ["objectType", "indexType"], OptionalIndexedAccessType: ["objectType", "indexType"], JSXAttribute: ["name", "value"], JSXClosingElement: ["name"], JSXElement: ["openingElement", "children", "closingElement"], JSXEmptyExpression: [], JSXExpressionContainer: ["expression"], JSXSpreadChild: ["expression"], JSXIdentifier: [], JSXMemberExpression: ["object", "property"], JSXNamespacedName: ["namespace", "name"], JSXOpeningElement: ["name", "typeParameters", "typeArguments", "attributes"], JSXSpreadAttribute: ["argument"], JSXText: [], JSXFragment: ["openingFragment", "children", "closingFragment"], JSXOpeningFragment: [], JSXClosingFragment: [], Noop: [], Placeholder: [], V8IntrinsicIdentifier: [], ArgumentPlaceholder: [], BindExpression: ["object", "callee"], ImportAttribute: ["key", "value"], Decorator: ["expression"], DoExpression: ["body"], ExportDefaultSpecifier: ["exported"], RecordExpression: ["properties"], TupleExpression: ["elements"], ModuleExpression: ["body"], TopicReference: [], PipelineTopicExpression: ["expression"], PipelineBareFunction: ["callee"], PipelinePrimaryTopicReference: [], TSParameterProperty: ["parameter", "decorators"], TSDeclareFunction: ["id", "typeParameters", "params", "returnType", "body"], TSDeclareMethod: ["decorators", "key", "typeParameters", "params", "returnType"], TSQualifiedName: ["left", "right"], TSCallSignatureDeclaration: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSConstructSignatureDeclaration: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSPropertySignature: ["key", "typeAnnotation"], TSMethodSignature: ["key", "typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSIndexSignature: ["parameters", "typeAnnotation"], TSAnyKeyword: [], TSBooleanKeyword: [], TSBigIntKeyword: [], TSIntrinsicKeyword: [], TSNeverKeyword: [], TSNullKeyword: [], TSNumberKeyword: [], TSObjectKeyword: [], TSStringKeyword: [], TSSymbolKeyword: [], TSUndefinedKeyword: [], TSUnknownKeyword: [], TSVoidKeyword: [], TSThisType: [], TSFunctionType: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSConstructorType: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSTypeReference: ["typeName", "typeParameters", "typeArguments"], TSTypePredicate: ["parameterName", "typeAnnotation"], TSTypeQuery: ["exprName", "typeParameters", "typeArguments"], TSTypeLiteral: ["members"], TSArrayType: ["elementType"], TSTupleType: ["elementTypes"], TSOptionalType: ["typeAnnotation"], TSRestType: ["typeAnnotation"], TSNamedTupleMember: ["label", "elementType"], TSUnionType: ["types"], TSIntersectionType: ["types"], TSConditionalType: ["checkType", "extendsType", "trueType", "falseType"], TSInferType: ["typeParameter"], TSParenthesizedType: ["typeAnnotation"], TSTypeOperator: ["typeAnnotation"], TSIndexedAccessType: ["objectType", "indexType"], TSMappedType: ["typeParameter", "nameType", "typeAnnotation"], TSTemplateLiteralType: ["quasis", "types"], TSLiteralType: ["literal"], TSExpressionWithTypeArguments: ["expression", "typeParameters"], TSInterfaceDeclaration: ["id", "typeParameters", "extends", "body"], TSInterfaceBody: ["body"], TSTypeAliasDeclaration: ["id", "typeParameters", "typeAnnotation"], TSInstantiationExpression: ["expression", "typeParameters", "typeArguments"], TSAsExpression: ["expression", "typeAnnotation"], TSSatisfiesExpression: ["expression", "typeAnnotation"], TSTypeAssertion: ["typeAnnotation", "expression"], TSEnumBody: ["members"], TSEnumDeclaration: ["id", "members"], TSEnumMember: ["id", "initializer"], TSModuleDeclaration: ["id", "body"], TSModuleBlock: ["body"], TSImportType: ["argument", "options", "qualifier", "typeParameters", "typeArguments"], TSImportEqualsDeclaration: ["id", "moduleReference"], TSExternalModuleReference: ["expression"], TSNonNullExpression: ["expression"], TSExportAssignment: ["expression"], TSNamespaceExportDeclaration: ["id"], TSTypeAnnotation: ["typeAnnotation"], TSTypeParameterInstantiation: ["params"], TSTypeParameterDeclaration: ["params"], TSTypeParameter: ["constraint", "default", "name"], ChainExpression: ["expression"], ExperimentalRestProperty: ["argument"], ExperimentalSpreadProperty: ["argument"], Literal: [], MethodDefinition: ["decorators", "key", "value"], PrivateIdentifier: [], Property: ["key", "value"], PropertyDefinition: ["decorators", "key", "typeAnnotation", "value", "variance"], AccessorProperty: ["decorators", "key", "typeAnnotation", "value"], TSAbstractAccessorProperty: ["decorators", "key", "typeAnnotation"], TSAbstractKeyword: [], TSAbstractMethodDefinition: ["key", "value"], TSAbstractPropertyDefinition: ["decorators", "key", "typeAnnotation"], TSAsyncKeyword: [], TSClassImplements: ["expression", "typeArguments", "typeParameters"], TSDeclareKeyword: [], TSEmptyBodyFunctionExpression: ["id", "typeParameters", "params", "returnType"], TSExportKeyword: [], TSInterfaceHeritage: ["expression", "typeArguments", "typeParameters"], TSPrivateKeyword: [], TSProtectedKeyword: [], TSPublicKeyword: [], TSReadonlyKeyword: [], TSStaticKeyword: [], AsConstExpression: ["expression"], AsExpression: ["expression", "typeAnnotation"], BigIntLiteralTypeAnnotation: [], BigIntTypeAnnotation: [], ComponentDeclaration: ["id", "params", "body", "typeParameters", "rendersType"], ComponentParameter: ["name", "local"], ComponentTypeAnnotation: ["params", "rest", "typeParameters", "rendersType"], ComponentTypeParameter: ["name", "typeAnnotation"], ConditionalTypeAnnotation: ["checkType", "extendsType", "trueType", "falseType"], DeclareComponent: ["id", "params", "rest", "typeParameters", "rendersType"], DeclareEnum: ["id", "body"], DeclareHook: ["id"], DeclareNamespace: ["id", "body"], EnumBigIntBody: ["members"], EnumBigIntMember: ["id", "init"], HookDeclaration: ["id", "params", "body", "typeParameters", "returnType"], HookTypeAnnotation: ["params", "returnType", "rest", "typeParameters"], InferTypeAnnotation: ["typeParameter"], KeyofTypeAnnotation: ["argument"], ObjectTypeMappedTypeProperty: ["keyTparam", "propType", "sourceType", "variance"], QualifiedTypeofIdentifier: ["qualification", "id"], TupleTypeLabeledElement: ["label", "elementType", "variance"], TupleTypeSpreadElement: ["label", "typeAnnotation"], TypeOperator: ["typeAnnotation"], TypePredicate: ["parameterName", "typeAnnotation", "asserts"], NGRoot: ["node"], NGPipeExpression: ["left", "right", "arguments"], NGChainedExpression: ["expressions"], NGEmptyExpression: [], NGMicrosyntax: ["body"], NGMicrosyntaxKey: [], NGMicrosyntaxExpression: ["expression", "alias"], NGMicrosyntaxKeyedExpression: ["key", "expression"], NGMicrosyntaxLet: ["key", "value"], NGMicrosyntaxAs: ["key", "alias"], JsExpressionRoot: ["node"], JsonRoot: ["node"], TSJSDocAllType: [], TSJSDocUnknownType: [], TSJSDocNullableType: ["typeAnnotation"], TSJSDocNonNullableType: ["typeAnnotation"], NeverTypeAnnotation: [], UndefinedTypeAnnotation: [], UnknownTypeAnnotation: [], SatisfiesExpression: ["expression", "typeAnnotation"] };
2622
- var bs = Ht(Qt), Yt = bs;
2623
- function Xe(e, t) {
2692
+ var ii = Fs;
2693
+ var si = { ArrayExpression: ["elements"], AssignmentExpression: ["left", "right"], BinaryExpression: ["left", "right"], InterpreterDirective: [], Directive: ["value"], DirectiveLiteral: [], BlockStatement: ["directives", "body"], BreakStatement: ["label"], CallExpression: ["callee", "typeParameters", "typeArguments", "arguments"], CatchClause: ["param", "body"], ConditionalExpression: ["test", "consequent", "alternate"], ContinueStatement: ["label"], DebuggerStatement: [], DoWhileStatement: ["body", "test"], EmptyStatement: [], ExpressionStatement: ["expression"], File: ["program"], ForInStatement: ["left", "right", "body"], ForStatement: ["init", "test", "update", "body"], FunctionDeclaration: ["id", "typeParameters", "params", "predicate", "returnType", "body"], FunctionExpression: ["id", "typeParameters", "params", "returnType", "body"], Identifier: ["typeAnnotation", "decorators"], IfStatement: ["test", "consequent", "alternate"], LabeledStatement: ["label", "body"], StringLiteral: [], NumericLiteral: [], NullLiteral: [], BooleanLiteral: [], RegExpLiteral: [], LogicalExpression: ["left", "right"], MemberExpression: ["object", "property"], NewExpression: ["callee", "typeParameters", "typeArguments", "arguments"], Program: ["directives", "body"], ObjectExpression: ["properties"], ObjectMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], ObjectProperty: ["decorators", "key", "value"], RestElement: ["argument", "typeAnnotation", "decorators"], ReturnStatement: ["argument"], SequenceExpression: ["expressions"], ParenthesizedExpression: ["expression"], SwitchCase: ["test", "consequent"], SwitchStatement: ["discriminant", "cases"], ThisExpression: [], ThrowStatement: ["argument"], TryStatement: ["block", "handler", "finalizer"], UnaryExpression: ["argument"], UpdateExpression: ["argument"], VariableDeclaration: ["declarations"], VariableDeclarator: ["id", "init"], WhileStatement: ["test", "body"], WithStatement: ["object", "body"], AssignmentPattern: ["left", "right", "decorators", "typeAnnotation"], ArrayPattern: ["elements", "typeAnnotation", "decorators"], ArrowFunctionExpression: ["typeParameters", "params", "predicate", "returnType", "body"], ClassBody: ["body"], ClassExpression: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body", "superTypeArguments"], ClassDeclaration: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body", "superTypeArguments"], ExportAllDeclaration: ["source", "attributes", "exported"], ExportDefaultDeclaration: ["declaration"], ExportNamedDeclaration: ["declaration", "specifiers", "source", "attributes"], ExportSpecifier: ["local", "exported"], ForOfStatement: ["left", "right", "body"], ImportDeclaration: ["specifiers", "source", "attributes"], ImportDefaultSpecifier: ["local"], ImportNamespaceSpecifier: ["local"], ImportSpecifier: ["imported", "local"], ImportExpression: ["source", "options"], MetaProperty: ["meta", "property"], ClassMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], ObjectPattern: ["decorators", "properties", "typeAnnotation"], SpreadElement: ["argument"], Super: [], TaggedTemplateExpression: ["tag", "typeParameters", "quasi", "typeArguments"], TemplateElement: [], TemplateLiteral: ["quasis", "expressions"], YieldExpression: ["argument"], AwaitExpression: ["argument"], BigIntLiteral: [], ExportNamespaceSpecifier: ["exported"], OptionalMemberExpression: ["object", "property"], OptionalCallExpression: ["callee", "typeParameters", "typeArguments", "arguments"], ClassProperty: ["decorators", "variance", "key", "typeAnnotation", "value"], ClassAccessorProperty: ["decorators", "key", "typeAnnotation", "value"], ClassPrivateProperty: ["decorators", "variance", "key", "typeAnnotation", "value"], ClassPrivateMethod: ["decorators", "key", "typeParameters", "params", "returnType", "body"], PrivateName: ["id"], StaticBlock: ["body"], ImportAttribute: ["key", "value"], AnyTypeAnnotation: [], ArrayTypeAnnotation: ["elementType"], BooleanTypeAnnotation: [], BooleanLiteralTypeAnnotation: [], NullLiteralTypeAnnotation: [], ClassImplements: ["id", "typeParameters"], DeclareClass: ["id", "typeParameters", "extends", "mixins", "implements", "body"], DeclareFunction: ["id", "predicate"], DeclareInterface: ["id", "typeParameters", "extends", "body"], DeclareModule: ["id", "body"], DeclareModuleExports: ["typeAnnotation"], DeclareTypeAlias: ["id", "typeParameters", "right"], DeclareOpaqueType: ["id", "typeParameters", "supertype"], DeclareVariable: ["id"], DeclareExportDeclaration: ["declaration", "specifiers", "source", "attributes"], DeclareExportAllDeclaration: ["source", "attributes"], DeclaredPredicate: ["value"], ExistsTypeAnnotation: [], FunctionTypeAnnotation: ["typeParameters", "this", "params", "rest", "returnType"], FunctionTypeParam: ["name", "typeAnnotation"], GenericTypeAnnotation: ["id", "typeParameters"], InferredPredicate: [], InterfaceExtends: ["id", "typeParameters"], InterfaceDeclaration: ["id", "typeParameters", "extends", "body"], InterfaceTypeAnnotation: ["extends", "body"], IntersectionTypeAnnotation: ["types"], MixedTypeAnnotation: [], EmptyTypeAnnotation: [], NullableTypeAnnotation: ["typeAnnotation"], NumberLiteralTypeAnnotation: [], NumberTypeAnnotation: [], ObjectTypeAnnotation: ["properties", "indexers", "callProperties", "internalSlots"], ObjectTypeInternalSlot: ["id", "value"], ObjectTypeCallProperty: ["value"], ObjectTypeIndexer: ["variance", "id", "key", "value"], ObjectTypeProperty: ["key", "value", "variance"], ObjectTypeSpreadProperty: ["argument"], OpaqueType: ["id", "typeParameters", "supertype", "impltype"], QualifiedTypeIdentifier: ["qualification", "id"], StringLiteralTypeAnnotation: [], StringTypeAnnotation: [], SymbolTypeAnnotation: [], ThisTypeAnnotation: [], TupleTypeAnnotation: ["types", "elementTypes"], TypeofTypeAnnotation: ["argument", "typeArguments"], TypeAlias: ["id", "typeParameters", "right"], TypeAnnotation: ["typeAnnotation"], TypeCastExpression: ["expression", "typeAnnotation"], TypeParameter: ["bound", "default", "variance"], TypeParameterDeclaration: ["params"], TypeParameterInstantiation: ["params"], UnionTypeAnnotation: ["types"], Variance: [], VoidTypeAnnotation: [], EnumDeclaration: ["id", "body"], EnumBooleanBody: ["members"], EnumNumberBody: ["members"], EnumStringBody: ["members"], EnumSymbolBody: ["members"], EnumBooleanMember: ["id", "init"], EnumNumberMember: ["id", "init"], EnumStringMember: ["id", "init"], EnumDefaultedMember: ["id"], IndexedAccessType: ["objectType", "indexType"], OptionalIndexedAccessType: ["objectType", "indexType"], JSXAttribute: ["name", "value"], JSXClosingElement: ["name"], JSXElement: ["openingElement", "children", "closingElement"], JSXEmptyExpression: [], JSXExpressionContainer: ["expression"], JSXSpreadChild: ["expression"], JSXIdentifier: [], JSXMemberExpression: ["object", "property"], JSXNamespacedName: ["namespace", "name"], JSXOpeningElement: ["name", "typeParameters", "typeArguments", "attributes"], JSXSpreadAttribute: ["argument"], JSXText: [], JSXFragment: ["openingFragment", "children", "closingFragment"], JSXOpeningFragment: [], JSXClosingFragment: [], Noop: [], Placeholder: [], V8IntrinsicIdentifier: [], ArgumentPlaceholder: [], BindExpression: ["object", "callee"], Decorator: ["expression"], DoExpression: ["body"], ExportDefaultSpecifier: ["exported"], ModuleExpression: ["body"], TopicReference: [], PipelineTopicExpression: ["expression"], PipelineBareFunction: ["callee"], PipelinePrimaryTopicReference: [], TSParameterProperty: ["parameter", "decorators"], TSDeclareFunction: ["id", "typeParameters", "params", "returnType", "body"], TSDeclareMethod: ["decorators", "key", "typeParameters", "params", "returnType"], TSQualifiedName: ["left", "right"], TSCallSignatureDeclaration: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSConstructSignatureDeclaration: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSPropertySignature: ["key", "typeAnnotation"], TSMethodSignature: ["key", "typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSIndexSignature: ["parameters", "typeAnnotation"], TSAnyKeyword: [], TSBooleanKeyword: [], TSBigIntKeyword: [], TSIntrinsicKeyword: [], TSNeverKeyword: [], TSNullKeyword: [], TSNumberKeyword: [], TSObjectKeyword: [], TSStringKeyword: [], TSSymbolKeyword: [], TSUndefinedKeyword: [], TSUnknownKeyword: [], TSVoidKeyword: [], TSThisType: [], TSFunctionType: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSConstructorType: ["typeParameters", "parameters", "typeAnnotation", "params", "returnType"], TSTypeReference: ["typeName", "typeParameters", "typeArguments"], TSTypePredicate: ["parameterName", "typeAnnotation"], TSTypeQuery: ["exprName", "typeParameters", "typeArguments"], TSTypeLiteral: ["members"], TSArrayType: ["elementType"], TSTupleType: ["elementTypes"], TSOptionalType: ["typeAnnotation"], TSRestType: ["typeAnnotation"], TSNamedTupleMember: ["label", "elementType"], TSUnionType: ["types"], TSIntersectionType: ["types"], TSConditionalType: ["checkType", "extendsType", "trueType", "falseType"], TSInferType: ["typeParameter"], TSParenthesizedType: ["typeAnnotation"], TSTypeOperator: ["typeAnnotation"], TSIndexedAccessType: ["objectType", "indexType"], TSMappedType: ["nameType", "typeAnnotation", "key", "constraint"], TSTemplateLiteralType: ["quasis", "types"], TSLiteralType: ["literal"], TSExpressionWithTypeArguments: ["expression", "typeParameters"], TSInterfaceDeclaration: ["id", "typeParameters", "extends", "body"], TSInterfaceBody: ["body"], TSTypeAliasDeclaration: ["id", "typeParameters", "typeAnnotation"], TSInstantiationExpression: ["expression", "typeParameters", "typeArguments"], TSAsExpression: ["expression", "typeAnnotation"], TSSatisfiesExpression: ["expression", "typeAnnotation"], TSTypeAssertion: ["typeAnnotation", "expression"], TSEnumBody: ["members"], TSEnumDeclaration: ["id", "body"], TSEnumMember: ["id", "initializer"], TSModuleDeclaration: ["id", "body"], TSModuleBlock: ["body"], TSImportType: ["argument", "options", "qualifier", "typeParameters", "typeArguments"], TSImportEqualsDeclaration: ["id", "moduleReference"], TSExternalModuleReference: ["expression"], TSNonNullExpression: ["expression"], TSExportAssignment: ["expression"], TSNamespaceExportDeclaration: ["id"], TSTypeAnnotation: ["typeAnnotation"], TSTypeParameterInstantiation: ["params"], TSTypeParameterDeclaration: ["params"], TSTypeParameter: ["constraint", "default", "name"], ChainExpression: ["expression"], ExperimentalRestProperty: ["argument"], ExperimentalSpreadProperty: ["argument"], Literal: [], MethodDefinition: ["decorators", "key", "value"], PrivateIdentifier: [], Property: ["key", "value"], PropertyDefinition: ["decorators", "key", "typeAnnotation", "value", "variance"], AccessorProperty: ["decorators", "key", "typeAnnotation", "value"], TSAbstractAccessorProperty: ["decorators", "key", "typeAnnotation"], TSAbstractKeyword: [], TSAbstractMethodDefinition: ["key", "value"], TSAbstractPropertyDefinition: ["decorators", "key", "typeAnnotation"], TSAsyncKeyword: [], TSClassImplements: ["expression", "typeArguments", "typeParameters"], TSDeclareKeyword: [], TSEmptyBodyFunctionExpression: ["id", "typeParameters", "params", "returnType"], TSExportKeyword: [], TSInterfaceHeritage: ["expression", "typeArguments", "typeParameters"], TSPrivateKeyword: [], TSProtectedKeyword: [], TSPublicKeyword: [], TSReadonlyKeyword: [], TSStaticKeyword: [], AsConstExpression: ["expression"], AsExpression: ["expression", "typeAnnotation"], BigIntLiteralTypeAnnotation: [], BigIntTypeAnnotation: [], ComponentDeclaration: ["id", "params", "body", "typeParameters", "rendersType"], ComponentParameter: ["name", "local"], ComponentTypeAnnotation: ["params", "rest", "typeParameters", "rendersType"], ComponentTypeParameter: ["name", "typeAnnotation"], ConditionalTypeAnnotation: ["checkType", "extendsType", "trueType", "falseType"], DeclareComponent: ["id", "params", "rest", "typeParameters", "rendersType"], DeclareEnum: ["id", "body"], DeclareHook: ["id"], DeclareNamespace: ["id", "body"], EnumBigIntBody: ["members"], EnumBigIntMember: ["id", "init"], HookDeclaration: ["id", "params", "body", "typeParameters", "returnType"], HookTypeAnnotation: ["params", "returnType", "rest", "typeParameters"], InferTypeAnnotation: ["typeParameter"], KeyofTypeAnnotation: ["argument"], ObjectTypeMappedTypeProperty: ["keyTparam", "propType", "sourceType", "variance"], QualifiedTypeofIdentifier: ["qualification", "id"], TupleTypeLabeledElement: ["label", "elementType", "variance"], TupleTypeSpreadElement: ["label", "typeAnnotation"], TypeOperator: ["typeAnnotation"], TypePredicate: ["parameterName", "typeAnnotation", "asserts"], NGChainedExpression: ["expressions"], NGEmptyExpression: [], NGPipeExpression: ["left", "right", "arguments"], NGMicrosyntax: ["body"], NGMicrosyntaxAs: ["key", "alias"], NGMicrosyntaxExpression: ["expression", "alias"], NGMicrosyntaxKey: [], NGMicrosyntaxKeyedExpression: ["key", "expression"], NGMicrosyntaxLet: ["key", "value"], NGRoot: ["node"], JsExpressionRoot: ["node"], JsonRoot: ["node"], TSJSDocAllType: [], TSJSDocUnknownType: [], TSJSDocNullableType: ["typeAnnotation"], TSJSDocNonNullableType: ["typeAnnotation"], NeverTypeAnnotation: [], SatisfiesExpression: ["expression", "typeAnnotation"], UndefinedTypeAnnotation: [], UnknownTypeAnnotation: [] };
2694
+ var Ms = ii(si), ri = Ms;
2695
+ function et(e, t) {
2624
2696
  if (!(e !== null && typeof e == "object")) return e;
2625
2697
  if (Array.isArray(e)) {
2626
- for (let s = 0; s < e.length; s++) e[s] = Xe(e[s], t);
2698
+ for (let s = 0; s < e.length; s++) e[s] = et(e[s], t);
2627
2699
  return e;
2628
2700
  }
2629
- let i = Yt(e);
2630
- for (let s = 0; s < i.length; s++) e[i[s]] = Xe(e[i[s]], t);
2701
+ let i = ri(e);
2702
+ for (let s = 0; s < i.length; s++) e[i[s]] = et(e[i[s]], t);
2631
2703
  return t(e) || e;
2632
2704
  }
2633
- var Ce = Xe;
2634
- function Ss(e, t) {
2635
- let { parser: i, text: s } = t;
2636
- if (e.type === "File" && e.program.interpreter) {
2637
- let { program: { interpreter: r }, comments: n } = e;
2638
- delete e.program.interpreter, n.unshift(r);
2639
- }
2640
- if (i === "babel") {
2641
- let r = /* @__PURE__ */ new Set();
2642
- e = Ce(e, (n) => {
2643
- var o;
2644
- (o = n.leadingComments) != null && o.some(zt) && r.add(O(n));
2645
- }), e = Ce(e, (n) => {
2646
- if (n.type === "ParenthesizedExpression") {
2647
- let { expression: o } = n;
2648
- if (o.type === "TypeCastExpression") return o.range = [...n.range], o;
2649
- let u = O(n);
2650
- if (!r.has(u)) return o.extra = { ...o.extra, parenthesized: true }, o;
2705
+ var ai = et;
2706
+ ie(["RegExpLiteral", "BigIntLiteral", "NumericLiteral", "StringLiteral", "DirectiveLiteral", "Literal", "JSXText", "TemplateElement", "StringLiteralTypeAnnotation", "NumberLiteralTypeAnnotation", "BigIntLiteralTypeAnnotation"]);
2707
+ function js(e, t) {
2708
+ let { parser: i, text: s } = t, { comments: r } = e, n = i === "oxc" && t.oxcAstType === "ts";
2709
+ ti(r);
2710
+ let o;
2711
+ e = ai(e, (u) => {
2712
+ switch (u.type) {
2713
+ case "ParenthesizedExpression": {
2714
+ let { expression: c } = u, f = w(u);
2715
+ if (c.type === "TypeCastExpression") return c.range = [f, k(u)], c;
2716
+ let v = false;
2717
+ if (!n) {
2718
+ if (!o) {
2719
+ o = [];
2720
+ for (let h of r) ei(h) && o.push(k(h));
2721
+ }
2722
+ let T = $t(false, o, (h) => h <= f);
2723
+ v = T && s.slice(T, f).trim().length === 0;
2724
+ }
2725
+ if (!v) return c.extra = { ...c.extra, parenthesized: true }, c;
2726
+ break;
2651
2727
  }
2652
- });
2653
- }
2654
- if (e = Ce(e, (r) => {
2655
- switch (r.type) {
2656
2728
  case "LogicalExpression":
2657
- if (Zt(r)) return ze(r);
2729
+ if (oi(u)) return tt(u);
2730
+ break;
2731
+ case "TemplateLiteral":
2732
+ if (u.expressions.length !== u.quasis.length - 1) throw new Error("Malformed template literal.");
2733
+ break;
2734
+ case "TemplateElement":
2735
+ if (i === "flow" || i === "hermes" || i === "espree" || i === "typescript" || n) {
2736
+ let c = w(u) + 1, f = k(u) - (u.tail ? 1 : 2);
2737
+ u.range = [c, f];
2738
+ }
2658
2739
  break;
2659
2740
  case "VariableDeclaration": {
2660
- let n = X(false, r.declarations, -1);
2661
- n != null && n.init && s[J(n)] !== ";" && (r.range = [O(r), J(n)]);
2741
+ let c = te(false, u.declarations, -1);
2742
+ c != null && c.init && s[k(c)] !== ";" && (u.range = [w(u), k(c)]);
2662
2743
  break;
2663
2744
  }
2664
2745
  case "TSParenthesizedType":
2665
- return r.typeAnnotation;
2746
+ return u.typeAnnotation;
2666
2747
  case "TSTypeParameter":
2667
- if (typeof r.name == "string") {
2668
- let n = O(r);
2669
- r.name = { type: "Identifier", name: r.name, range: [n, n + r.name.length] };
2670
- }
2748
+ ni(u);
2671
2749
  break;
2672
2750
  case "TopicReference":
2673
2751
  e.extra = { ...e.extra, __isUsingHackPipeline: true };
2674
2752
  break;
2675
2753
  case "TSUnionType":
2676
2754
  case "TSIntersectionType":
2677
- if (r.types.length === 1) return r.types[0];
2755
+ if (u.types.length === 1) return u.types[0];
2756
+ break;
2757
+ case "TSMappedType":
2758
+ if (!u.constraint && !u.key) {
2759
+ let { name: c, constraint: f } = ni(u.typeParameter);
2760
+ u.constraint = f, u.key = c, delete u.typeParameter;
2761
+ }
2762
+ break;
2763
+ case "TSEnumDeclaration":
2764
+ if (!u.body) {
2765
+ let c = k(u.id), { members: f } = u, v = Zt({ originalText: s, [Symbol.for("comments")]: r }, c, f[0] ? w(f[0]) : k(u)), T = c + v.indexOf("{");
2766
+ u.body = { type: "TSEnumBody", members: f, range: [T, k(u)] }, delete u.members;
2767
+ }
2768
+ break;
2769
+ case "ImportExpression":
2770
+ i === "hermes" && u.attributes && !u.options && (u.options = u.attributes);
2678
2771
  break;
2679
2772
  }
2680
- }), Wt(e.comments)) {
2681
- let r = X(false, e.comments, -1);
2682
- for (let n = e.comments.length - 2; n >= 0; n--) {
2683
- let o = e.comments[n];
2684
- J(o) === O(r) && oe(o) && oe(r) && Ke(o) && Ke(r) && (e.comments.splice(n + 1, 1), o.value += "*//*" + r.value, o.range = [O(o), J(r)]), r = o;
2685
- }
2773
+ });
2774
+ let p = e.type === "File" ? e.program : e;
2775
+ return p.interpreter && (r.unshift(p.interpreter), delete p.interpreter), n && e.hashbang && (r.unshift(e.hashbang), delete e.hashbang), e.type === "Program" && (e.range = [0, s.length]), e;
2776
+ }
2777
+ function ni(e) {
2778
+ if (e.type === "TSTypeParameter" && typeof e.name == "string") {
2779
+ let t = w(e);
2780
+ e.name = { type: "Identifier", name: e.name, range: [t, t + e.name.length] };
2686
2781
  }
2687
- return e.type === "Program" && (e.range = [0, s.length]), e;
2782
+ return e;
2688
2783
  }
2689
- function Zt(e) {
2784
+ function oi(e) {
2690
2785
  return e.type === "LogicalExpression" && e.right.type === "LogicalExpression" && e.operator === e.right.operator;
2691
2786
  }
2692
- function ze(e) {
2693
- return Zt(e) ? ze({ type: "LogicalExpression", operator: e.operator, left: ze({ type: "LogicalExpression", operator: e.operator, left: e.left, right: e.right.left, range: [O(e.left), J(e.right.left)] }), right: e.right.right, range: [O(e), J(e)] }) : e;
2787
+ function tt(e) {
2788
+ return oi(e) ? tt({ type: "LogicalExpression", operator: e.operator, left: tt({ type: "LogicalExpression", operator: e.operator, left: e.left, right: e.right.left, range: [w(e.left), k(e.right.left)] }), right: e.right.right, range: [w(e), k(e)] }) : e;
2694
2789
  }
2695
- var _e = Ss;
2696
- var Cs = (e, t, i, s) => {
2790
+ var ke = js;
2791
+ var Us = (e, t, i, s) => {
2697
2792
  if (!(e && t == null)) return t.replaceAll ? t.replaceAll(i, s) : i.global ? t.replace(i, s) : t.split(i).join(s);
2698
- }, ee = Cs;
2699
- var _s = /\*\/$/, Ts = /^\/\*\*?/, ks = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/, Es = /(^|\s+)\/\/([^\n\r]*)/g, $t = /^(\r?\n)+/, ws = /(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g, ei = /(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g, As = /(\r?\n|^) *\* ?/g, Ps = [];
2700
- function ti(e) {
2701
- let t = e.match(ks);
2793
+ }, se = Us;
2794
+ var Gs = /\*\/$/, qs = /^\/\*\*?/, Js = /^\s*(\/\*\*?(.|\r?\n)*?\*\/)/, Hs = /(^|\s+)\/\/([^\n\r]*)/g, ui = /^(\r?\n)+/, Ks = /(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g, pi = /(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g, Ws = /(\r?\n|^) *\* ?/g, Xs = [];
2795
+ function hi(e) {
2796
+ let t = e.match(Js);
2702
2797
  return t ? t[0].trimStart() : "";
2703
2798
  }
2704
- function ii(e) {
2799
+ function ci(e) {
2705
2800
  let t = `
2706
2801
  `;
2707
- e = ee(false, e.replace(Ts, "").replace(_s, ""), As, "$1");
2802
+ e = se(false, e.replace(qs, "").replace(Gs, ""), Ws, "$1");
2708
2803
  let i = "";
2709
- for (; i !== e; ) i = e, e = ee(false, e, ws, `${t}$1 $2${t}`);
2710
- e = e.replace($t, "").trimEnd();
2711
- let s = /* @__PURE__ */ Object.create(null), r = ee(false, e, ei, "").replace($t, "").trimEnd(), n;
2712
- for (; n = ei.exec(e); ) {
2713
- let o = ee(false, n[2], Es, "");
2804
+ for (; i !== e; ) i = e, e = se(false, e, Ks, `${t}$1 $2${t}`);
2805
+ e = e.replace(ui, "").trimEnd();
2806
+ let s = /* @__PURE__ */ Object.create(null), r = se(false, e, pi, "").replace(ui, "").trimEnd(), n;
2807
+ for (; n = pi.exec(e); ) {
2808
+ let o = se(false, n[2], Hs, "");
2714
2809
  if (typeof s[n[1]] == "string" || Array.isArray(s[n[1]])) {
2715
- let u = s[n[1]];
2716
- s[n[1]] = [...Ps, ...Array.isArray(u) ? u : [u], o];
2810
+ let p = s[n[1]];
2811
+ s[n[1]] = [...Xs, ...Array.isArray(p) ? p : [p], o];
2717
2812
  } else s[n[1]] = o;
2718
2813
  }
2719
2814
  return { comments: r, pragmas: s };
2720
2815
  }
2721
- function Is(e) {
2816
+ var li = ["noformat", "noprettier"], fi = ["format", "prettier"];
2817
+ function zs(e) {
2722
2818
  if (!e.startsWith("#!")) return "";
2723
2819
  let t = e.indexOf(`
2724
2820
  `);
2725
2821
  return t === -1 ? e : e.slice(0, t);
2726
2822
  }
2727
- var si = Is;
2728
- function Ns(e) {
2729
- let t = si(e);
2823
+ var di = zs;
2824
+ function mi(e) {
2825
+ let t = di(e);
2730
2826
  t && (e = e.slice(t.length + 1));
2731
- let i = ti(e), { pragmas: s, comments: r } = ii(i);
2827
+ let i = hi(e), { pragmas: s, comments: r } = ci(i);
2732
2828
  return { shebang: t, text: e, pragmas: s, comments: r };
2733
2829
  }
2734
- function ri(e) {
2735
- let { pragmas: t } = Ns(e);
2736
- return Object.prototype.hasOwnProperty.call(t, "prettier") || Object.prototype.hasOwnProperty.call(t, "format");
2830
+ function xi(e) {
2831
+ let { pragmas: t } = mi(e);
2832
+ return fi.some((i) => Object.prototype.hasOwnProperty.call(t, i));
2737
2833
  }
2738
- function Vs(e) {
2739
- return e = typeof e == "function" ? { parse: e } : e, { astFormat: "estree", hasPragma: ri, locStart: O, locEnd: J, ...e };
2834
+ function yi(e) {
2835
+ let { pragmas: t } = mi(e);
2836
+ return li.some((i) => Object.prototype.hasOwnProperty.call(t, i));
2740
2837
  }
2741
- var Te = Vs;
2742
- function Ls(e) {
2743
- let { filepath: t } = e;
2744
- if (t) {
2745
- if (t = t.toLowerCase(), t.endsWith(".cjs") || t.endsWith(".cts")) return "script";
2746
- if (t.endsWith(".mjs") || t.endsWith(".mts")) return "module";
2838
+ function Qs(e) {
2839
+ return e = typeof e == "function" ? { parse: e } : e, { astFormat: "estree", hasPragma: xi, hasIgnorePragma: yi, locStart: w, locEnd: k, ...e };
2840
+ }
2841
+ var Ae = Qs;
2842
+ var we = "module", gi = "script", Pe = [we, gi];
2843
+ function Ie(e) {
2844
+ if (typeof e == "string") {
2845
+ if (e = e.toLowerCase(), /\.(?:mjs|mts)$/iu.test(e)) return we;
2846
+ if (/\.(?:cjs|cts)$/iu.test(e)) return gi;
2747
2847
  }
2748
2848
  }
2749
- var ke = Ls;
2750
- var Rs = { ecmaVersion: "latest", allowReturnOutsideFunction: true, allowSuperOutsideMethod: true, locations: true, ranges: true };
2751
- function Os(e) {
2849
+ var Ys = { ecmaVersion: "latest", allowReserved: true, allowReturnOutsideFunction: true, allowSuperOutsideMethod: true, checkPrivateFields: false, locations: false, ranges: true, preserveParens: true };
2850
+ function $s(e) {
2752
2851
  let { message: t, loc: i } = e;
2753
2852
  if (!i) return e;
2754
2853
  let { line: s, column: r } = i;
2755
- return be(t.replace(/ \(\d+:\d+\)$/u, ""), { loc: { start: { line: s, column: r + 1 } }, cause: e });
2854
+ return Ce(t.replace(/ \(\d+:\d+\)$/u, ""), { loc: { start: { line: s, column: r + 1 } }, cause: e });
2756
2855
  }
2757
- var ai, Bs = () => (ai ?? (ai = T.extend((0, ni.default)())), ai);
2758
- function Ds(e, t) {
2759
- let i = Bs(), s = [], r = [], n = i.parse(e, { ...Rs, sourceType: t, allowImportExportEverywhere: t === "module", onComment: s, onToken: r });
2760
- return n.comments = s, n.tokens = r, n;
2856
+ var vi, Zs = () => (vi ?? (vi = E.extend((0, bi.default)())), vi);
2857
+ function er(e, t) {
2858
+ let i = Zs(), s = [], r = i.parse(e, { ...Ys, sourceType: t, allowImportExportEverywhere: t === we, onComment: s });
2859
+ return r.comments = s, r;
2761
2860
  }
2762
- function Fs(e, t = {}) {
2763
- let i = ke(t), s = (i ? [i] : ["module", "script"]).map((n) => () => Ds(e, n)), r;
2861
+ function tr(e, t) {
2862
+ let i = Ie(t == null ? void 0 : t.filepath), s = (i ? [i] : Pe).map((n) => () => er(e, n)), r;
2764
2863
  try {
2765
- r = Se(s);
2864
+ r = Ee(s);
2766
2865
  } catch ({ errors: [n] }) {
2767
- throw Os(n);
2866
+ throw $s(n);
2768
2867
  }
2769
- return _e(r, { text: e });
2868
+ return ke(r, { text: e });
2770
2869
  }
2771
- var oi = Te(Fs);
2772
- var ci = et(Je());
2773
- var E = { Boolean: "Boolean", Identifier: "Identifier", PrivateIdentifier: "PrivateIdentifier", Keyword: "Keyword", Null: "Null", Numeric: "Numeric", Punctuator: "Punctuator", String: "String", RegularExpression: "RegularExpression", Template: "Template", JSXIdentifier: "JSXIdentifier", JSXText: "JSXText" };
2774
- function js(e, t) {
2775
- let i = e[0], s = X(false, e, -1), r = { type: E.Template, value: t.slice(i.start, s.end) };
2870
+ var Si = Ae(tr);
2871
+ var Ei = ot(Xe());
2872
+ var I = { Boolean: "Boolean", Identifier: "Identifier", PrivateIdentifier: "PrivateIdentifier", Keyword: "Keyword", Null: "Null", Numeric: "Numeric", Punctuator: "Punctuator", String: "String", RegularExpression: "RegularExpression", Template: "Template", JSXIdentifier: "JSXIdentifier", JSXText: "JSXText" };
2873
+ function ir(e, t) {
2874
+ let i = e[0], s = te(false, e, -1), r = { type: I.Template, value: t.slice(i.start, s.end) };
2776
2875
  return i.loc && (r.loc = { start: i.loc.start, end: s.loc.end }), i.range && (r.start = i.range[0], r.end = s.range[1], r.range = [r.start, r.end]), r;
2777
2876
  }
2778
- function He(e, t) {
2877
+ function it(e, t) {
2779
2878
  this._acornTokTypes = e, this._tokens = [], this._curlyBrace = null, this._code = t;
2780
2879
  }
2781
- He.prototype = { constructor: He, translate(e, t) {
2880
+ it.prototype = { constructor: it, translate(e, t) {
2782
2881
  let i = e.type, s = this._acornTokTypes;
2783
- if (i === s.name) e.type = E.Identifier, e.value === "static" && (e.type = E.Keyword), t.ecmaVersion > 5 && (e.value === "yield" || e.value === "let") && (e.type = E.Keyword);
2784
- else if (i === s.privateId) e.type = E.PrivateIdentifier;
2785
- else if (i === s.semi || i === s.comma || i === s.parenL || i === s.parenR || i === s.braceL || i === s.braceR || i === s.dot || i === s.bracketL || i === s.colon || i === s.question || i === s.bracketR || i === s.ellipsis || i === s.arrow || i === s.jsxTagStart || i === s.incDec || i === s.starstar || i === s.jsxTagEnd || i === s.prefix || i === s.questionDot || i.binop && !i.keyword || i.isAssign) e.type = E.Punctuator, e.value = this._code.slice(e.start, e.end);
2786
- else if (i === s.jsxName) e.type = E.JSXIdentifier;
2787
- else if (i.label === "jsxText" || i === s.jsxAttrValueToken) e.type = E.JSXText;
2788
- else if (i.keyword) i.keyword === "true" || i.keyword === "false" ? e.type = E.Boolean : i.keyword === "null" ? e.type = E.Null : e.type = E.Keyword;
2789
- else if (i === s.num) e.type = E.Numeric, e.value = this._code.slice(e.start, e.end);
2790
- else if (i === s.string) t.jsxAttrValueToken ? (t.jsxAttrValueToken = false, e.type = E.JSXText) : e.type = E.String, e.value = this._code.slice(e.start, e.end);
2882
+ if (i === s.name) e.type = I.Identifier, e.value === "static" && (e.type = I.Keyword), t.ecmaVersion > 5 && (e.value === "yield" || e.value === "let") && (e.type = I.Keyword);
2883
+ else if (i === s.privateId) e.type = I.PrivateIdentifier;
2884
+ else if (i === s.semi || i === s.comma || i === s.parenL || i === s.parenR || i === s.braceL || i === s.braceR || i === s.dot || i === s.bracketL || i === s.colon || i === s.question || i === s.bracketR || i === s.ellipsis || i === s.arrow || i === s.jsxTagStart || i === s.incDec || i === s.starstar || i === s.jsxTagEnd || i === s.prefix || i === s.questionDot || i.binop && !i.keyword || i.isAssign) e.type = I.Punctuator, e.value = this._code.slice(e.start, e.end);
2885
+ else if (i === s.jsxName) e.type = I.JSXIdentifier;
2886
+ else if (i.label === "jsxText" || i === s.jsxAttrValueToken) e.type = I.JSXText;
2887
+ else if (i.keyword) i.keyword === "true" || i.keyword === "false" ? e.type = I.Boolean : i.keyword === "null" ? e.type = I.Null : e.type = I.Keyword;
2888
+ else if (i === s.num) e.type = I.Numeric, e.value = this._code.slice(e.start, e.end);
2889
+ else if (i === s.string) t.jsxAttrValueToken ? (t.jsxAttrValueToken = false, e.type = I.JSXText) : e.type = I.String, e.value = this._code.slice(e.start, e.end);
2791
2890
  else if (i === s.regexp) {
2792
- e.type = E.RegularExpression;
2891
+ e.type = I.RegularExpression;
2793
2892
  let r = e.value;
2794
2893
  e.regex = { flags: r.flags, pattern: r.pattern }, e.value = `/${r.pattern}/${r.flags}`;
2795
2894
  }
2796
2895
  return e;
2797
2896
  }, onToken(e, t) {
2798
2897
  let i = this._acornTokTypes, s = t.tokens, r = this._tokens, n = () => {
2799
- s.push(js(this._tokens, this._code)), this._tokens = [];
2898
+ s.push(ir(this._tokens, this._code)), this._tokens = [];
2800
2899
  };
2801
2900
  if (e.type === i.eof) {
2802
2901
  this._curlyBrace && s.push(this.translate(this._curlyBrace, t));
@@ -2820,81 +2919,81 @@ He.prototype = { constructor: He, translate(e, t) {
2820
2919
  }
2821
2920
  this._curlyBrace && (s.push(this.translate(this._curlyBrace, t)), this._curlyBrace = null), s.push(this.translate(e, t));
2822
2921
  } };
2823
- var ui = He;
2824
- var pi = [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
2825
- function Ms() {
2826
- return X(false, pi, -1);
2922
+ var _i = it;
2923
+ var Ti = [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];
2924
+ function sr() {
2925
+ return te(false, Ti, -1);
2827
2926
  }
2828
- function Us(e = 5) {
2829
- let t = e === "latest" ? Ms() : e;
2927
+ function rr(e = 5) {
2928
+ let t = e === "latest" ? sr() : e;
2830
2929
  if (typeof t != "number") throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof e} instead.`);
2831
- if (t >= 2015 && (t -= 2009), !pi.includes(t)) throw new Error("Invalid ecmaVersion.");
2930
+ if (t >= 2015 && (t -= 2009), !Ti.includes(t)) throw new Error("Invalid ecmaVersion.");
2832
2931
  return t;
2833
2932
  }
2834
- function qs(e = "script") {
2933
+ function ar(e = "script") {
2835
2934
  if (e === "script" || e === "module") return e;
2836
2935
  if (e === "commonjs") return "script";
2837
2936
  throw new Error("Invalid sourceType.");
2838
2937
  }
2839
- function hi(e) {
2840
- let t = Us(e.ecmaVersion), i = qs(e.sourceType), s = e.range === true, r = e.loc === true;
2938
+ function Ci(e) {
2939
+ let t = rr(e.ecmaVersion), i = ar(e.sourceType), s = e.range === true, r = e.loc === true;
2841
2940
  if (t !== 3 && e.allowReserved) throw new Error("`allowReserved` is only supported when ecmaVersion is 3");
2842
2941
  if (typeof e.allowReserved < "u" && typeof e.allowReserved != "boolean") throw new Error("`allowReserved`, when present, must be `true` or `false`");
2843
- let n = t === 3 ? e.allowReserved || "never" : false, o = e.ecmaFeatures || {}, u = e.sourceType === "commonjs" || !!o.globalReturn;
2942
+ let n = t === 3 ? e.allowReserved || "never" : false, o = e.ecmaFeatures || {}, p = e.sourceType === "commonjs" || !!o.globalReturn;
2844
2943
  if (i === "module" && t < 6) throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");
2845
- return Object.assign({}, e, { ecmaVersion: t, sourceType: i, ranges: s, locations: r, allowReserved: n, allowReturnOutsideFunction: u });
2944
+ return Object.assign({}, e, { ecmaVersion: t, sourceType: i, ranges: s, locations: r, allowReserved: n, allowReturnOutsideFunction: p });
2846
2945
  }
2847
- var z = Symbol("espree's internal state"), Qe = Symbol("espree's esprimaFinishNode");
2848
- function Gs(e, t, i, s, r, n, o) {
2849
- let u;
2850
- e ? u = "Block" : o.slice(i, i + 2) === "#!" ? u = "Hashbang" : u = "Line";
2851
- let p = { type: u, value: t };
2852
- return typeof i == "number" && (p.start = i, p.end = s, p.range = [i, s]), typeof r == "object" && (p.loc = { start: r, end: n }), p;
2946
+ var Q = Symbol("espree's internal state"), st = Symbol("espree's esprimaFinishNode");
2947
+ function nr(e, t, i, s, r, n, o) {
2948
+ let p;
2949
+ e ? p = "Block" : o.slice(i, i + 2) === "#!" ? p = "Hashbang" : p = "Line";
2950
+ let u = { type: p, value: t };
2951
+ return typeof i == "number" && (u.start = i, u.end = s, u.range = [i, s]), typeof r == "object" && (u.loc = { start: r, end: n }), u;
2853
2952
  }
2854
- var Ye = () => (e) => {
2953
+ var rt = () => (e) => {
2855
2954
  let t = Object.assign({}, e.acorn.tokTypes);
2856
2955
  return e.acornJsx && Object.assign(t, e.acornJsx.tokTypes), class extends e {
2857
2956
  constructor(s, r) {
2858
2957
  (typeof s != "object" || s === null) && (s = {}), typeof r != "string" && !(r instanceof String) && (r = String(r));
2859
- let n = s.sourceType, o = hi(s), u = o.ecmaFeatures || {}, p = o.tokens === true ? new ui(t, r) : null, d = { originalSourceType: n || o.sourceType, tokens: p ? [] : null, comments: o.comment === true ? [] : null, impliedStrict: u.impliedStrict === true && o.ecmaVersion >= 5, ecmaVersion: o.ecmaVersion, jsxAttrValueToken: false, lastToken: null, templateElements: [] };
2958
+ let n = s.sourceType, o = Ci(s), p = o.ecmaFeatures || {}, u = o.tokens === true ? new _i(t, r) : null, c = { originalSourceType: n || o.sourceType, tokens: u ? [] : null, comments: o.comment === true ? [] : null, impliedStrict: p.impliedStrict === true && o.ecmaVersion >= 5, ecmaVersion: o.ecmaVersion, jsxAttrValueToken: false, lastToken: null, templateElements: [] };
2860
2959
  super({ ecmaVersion: o.ecmaVersion, sourceType: o.sourceType, ranges: o.ranges, locations: o.locations, allowReserved: o.allowReserved, allowReturnOutsideFunction: o.allowReturnOutsideFunction, onToken(f) {
2861
- p && p.onToken(f, d), f.type !== t.eof && (d.lastToken = f);
2862
- }, onComment(f, C, B, h, m, x) {
2863
- if (d.comments) {
2864
- let g = Gs(f, C, B, h, m, x, r);
2865
- d.comments.push(g);
2960
+ u && u.onToken(f, c), f.type !== t.eof && (c.lastToken = f);
2961
+ }, onComment(f, v, T, h, m, x) {
2962
+ if (c.comments) {
2963
+ let g = nr(f, v, T, h, m, x, r);
2964
+ c.comments.push(g);
2866
2965
  }
2867
- } }, r), this[z] = d;
2966
+ } }, r), this[Q] = c;
2868
2967
  }
2869
2968
  tokenize() {
2870
2969
  do
2871
2970
  this.next();
2872
2971
  while (this.type !== t.eof);
2873
2972
  this.next();
2874
- let s = this[z], r = s.tokens;
2973
+ let s = this[Q], r = s.tokens;
2875
2974
  return s.comments && (r.comments = s.comments), r;
2876
2975
  }
2877
2976
  finishNode(...s) {
2878
2977
  let r = super.finishNode(...s);
2879
- return this[Qe](r);
2978
+ return this[st](r);
2880
2979
  }
2881
2980
  finishNodeAt(...s) {
2882
2981
  let r = super.finishNodeAt(...s);
2883
- return this[Qe](r);
2982
+ return this[st](r);
2884
2983
  }
2885
2984
  parse() {
2886
- let s = this[z], r = super.parse();
2985
+ let s = this[Q], r = super.parse();
2887
2986
  if (r.sourceType = s.originalSourceType, s.comments && (r.comments = s.comments), s.tokens && (r.tokens = s.tokens), r.body.length) {
2888
2987
  let [n] = r.body;
2889
2988
  r.range && (r.range[0] = n.range[0]), r.loc && (r.loc.start = n.loc.start), r.start = n.start;
2890
2989
  }
2891
- return s.lastToken && (r.range && (r.range[1] = s.lastToken.range[1]), r.loc && (r.loc.end = s.lastToken.loc.end), r.end = s.lastToken.end), this[z].templateElements.forEach((n) => {
2892
- let u = n.tail ? 1 : 2;
2893
- n.start += -1, n.end += u, n.range && (n.range[0] += -1, n.range[1] += u), n.loc && (n.loc.start.column += -1, n.loc.end.column += u);
2990
+ return s.lastToken && (r.range && (r.range[1] = s.lastToken.range[1]), r.loc && (r.loc.end = s.lastToken.loc.end), r.end = s.lastToken.end), this[Q].templateElements.forEach((n) => {
2991
+ let p = n.tail ? 1 : 2;
2992
+ n.start += -1, n.end += p, n.range && (n.range[0] += -1, n.range[1] += p), n.loc && (n.loc.start.column += -1, n.loc.end.column += p);
2894
2993
  }), r;
2895
2994
  }
2896
2995
  parseTopLevel(s) {
2897
- return this[z].impliedStrict && (this.strict = true), super.parseTopLevel(s);
2996
+ return this[Q].impliedStrict && (this.strict = true), super.parseTopLevel(s);
2898
2997
  }
2899
2998
  raise(s, r) {
2900
2999
  let n = e.acorn.getLineInfo(this.input, s), o = new SyntaxError(r);
@@ -2914,40 +3013,40 @@ var Ye = () => (e) => {
2914
3013
  }
2915
3014
  jsx_readString(s) {
2916
3015
  let r = super.jsx_readString(s);
2917
- return this.type === t.string && (this[z].jsxAttrValueToken = true), r;
3016
+ return this.type === t.string && (this[Q].jsxAttrValueToken = true), r;
2918
3017
  }
2919
- [Qe](s) {
2920
- return s.type === "TemplateElement" && this[z].templateElements.push(s), s.type.includes("Function") && !s.generator && (s.generator = false), s;
3018
+ [st](s) {
3019
+ return s.type === "TemplateElement" && this[Q].templateElements.push(s), s.type.includes("Function") && !s.generator && (s.generator = false), s;
2921
3020
  }
2922
3021
  };
2923
3022
  };
2924
- var Js = { _regular: null, _jsx: null, get regular() {
2925
- return this._regular === null && (this._regular = T.extend(Ye())), this._regular;
3023
+ var or = { _regular: null, _jsx: null, get regular() {
3024
+ return this._regular === null && (this._regular = E.extend(rt())), this._regular;
2926
3025
  }, get jsx() {
2927
- return this._jsx === null && (this._jsx = T.extend((0, ci.default)(), Ye())), this._jsx;
3026
+ return this._jsx === null && (this._jsx = E.extend((0, Ei.default)(), rt())), this._jsx;
2928
3027
  }, get(e) {
2929
3028
  return !!(e && e.ecmaFeatures && e.ecmaFeatures.jsx) ? this.jsx : this.regular;
2930
3029
  } };
2931
- function li(e, t) {
2932
- let i = Js.get(t);
3030
+ function ki(e, t) {
3031
+ let i = or.get(t);
2933
3032
  return new i(t, e).parse();
2934
3033
  }
2935
- var Ks = { ecmaVersion: "latest", range: true, loc: true, comment: true, tokens: true, sourceType: "module", ecmaFeatures: { jsx: true, globalReturn: true, impliedStrict: false } };
2936
- function Ws(e) {
3034
+ var ur = { ecmaVersion: "latest", range: true, loc: false, comment: true, tokens: false, ecmaFeatures: { jsx: true, globalReturn: true, impliedStrict: false } };
3035
+ function pr(e) {
2937
3036
  let { message: t, lineNumber: i, column: s } = e;
2938
- return typeof i != "number" ? e : be(t, { loc: { start: { line: i, column: s } }, cause: e });
3037
+ return typeof i != "number" ? e : Ce(t, { loc: { start: { line: i, column: s } }, cause: e });
2939
3038
  }
2940
- function Xs(e, t = {}) {
2941
- let i = ke(t), s = (i ? [i] : ["module", "script"]).map((n) => () => li(e, { ...Ks, sourceType: n })), r;
3039
+ function hr(e, t) {
3040
+ let i = Ie(t == null ? void 0 : t.filepath), s = (i ? [i] : Pe).map((n) => () => ki(e, { ...ur, sourceType: n })), r;
2942
3041
  try {
2943
- r = Se(s);
3042
+ r = Ee(s);
2944
3043
  } catch ({ errors: [n] }) {
2945
- throw Ws(n);
3044
+ throw pr(n);
2946
3045
  }
2947
- return _e(r, { text: e });
3046
+ return ke(r, { parser: "espree", text: e });
2948
3047
  }
2949
- var fi = Te(Xs);
2950
- var zs = { acorn: oi, espree: fi };
2951
- var Ca = Ze;
3048
+ var Ai = Ae(hr);
3049
+ var cr = { acorn: Si, espree: Ai };
3050
+ var cn = at;
2952
3051
 
2953
- export { Ca as default, zs as parsers };
3052
+ export { cn as default, cr as parsers };