sigma-ui
Version:
CLI for SIGMA-UI components.
684 lines (683 loc) • 183 kB
JavaScript
import "./chunk-PZ5AY32C.js";
// ../../node_modules/.pnpm/prettier@3.5.0/node_modules/prettier/plugins/acorn.mjs
var di = Object.create;
var we = Object.defineProperty;
var mi = Object.getOwnPropertyDescriptor;
var xi = Object.getOwnPropertyNames;
var yi = Object.getPrototypeOf;
var gi = Object.prototype.hasOwnProperty;
var $e = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports);
var vi = (e, t) => {
for (var i in t) we(e, i, { get: t[i], enumerable: true });
};
var bi = (e, t, i, s) => {
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 });
return e;
};
var et = (e, t, i) => (i = e != null ? di(yi(e)) : {}, bi(t || !e || !e.__esModule ? we(i, "default", { value: e, enumerable: true }) : i, e));
var Gt = $e((Qs, qt) => {
qt.exports = {};
});
var Je = $e((Ys, Ge) => {
"use strict";
var ns = Gt(), os = /^[\da-fA-F]+$/, us = /^\d+$/, Jt = /* @__PURE__ */ new WeakMap();
function Kt(e) {
e = e.Parser.acorn || e;
let t = Jt.get(e);
if (!t) {
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") };
d.jsxTagStart.updateContext = function() {
this.context.push(u), this.context.push(n), this.exprAllowed = false;
}, d.jsxTagEnd.updateContext = function(f) {
let C = this.context.pop();
C === n && f === i.slash || C === o ? (this.context.pop(), this.exprAllowed = this.curContext() === u) : this.exprAllowed = true;
}, t = { tokContexts: p, tokTypes: d }, Jt.set(e, t);
}
return t;
}
function ne(e) {
if (!e) return e;
if (e.type === "JSXIdentifier") return e.name;
if (e.type === "JSXNamespacedName") return e.namespace.name + ":" + e.name.name;
if (e.type === "JSXMemberExpression") return ne(e.object) + "." + ne(e.property);
}
Ge.exports = function(e) {
return e = e || {}, function(t) {
return ps({ allowNamespaces: e.allowNamespaces !== false, allowNamespacedObjects: !!e.allowNamespacedObjects }, t);
};
};
Object.defineProperty(Ge.exports, "tokTypes", { get: function() {
return Kt(void 0).tokTypes;
}, configurable: true, enumerable: true });
function ps(e, t) {
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;
return class extends t {
static get acornJsx() {
return s;
}
jsx_readToken() {
let h = "", m = this.pos;
for (; ; ) {
this.pos >= this.input.length && this.raise(this.start, "Unterminated JSX contents");
let x = this.input.charCodeAt(this.pos);
switch (x) {
case 60:
case 123:
return this.pos === this.start ? x === 60 && this.exprAllowed ? (++this.pos, this.finishToken(n.jsxTagStart)) : this.getTokenFromCode(x) : (h += this.input.slice(m, this.pos), this.finishToken(n.jsxText, h));
case 38:
h += this.input.slice(m, this.pos), h += this.jsx_readEntity(), m = this.pos;
break;
case 62:
case 125:
this.raise(this.pos, "Unexpected token `" + this.input[this.pos] + "`. Did you mean `" + (x === 62 ? ">" : "}") + '` or `{"' + this.input[this.pos] + '"}`?');
default:
f(x) ? (h += this.input.slice(m, this.pos), h += this.jsx_readNewLine(true), m = this.pos) : ++this.pos;
}
}
}
jsx_readNewLine(h) {
let m = this.input.charCodeAt(this.pos), x;
return ++this.pos, m === 13 && this.input.charCodeAt(this.pos) === 10 ? (++this.pos, x = h ? `
` : `\r
`) : x = String.fromCharCode(m), this.options.locations && (++this.curLine, this.lineStart = this.pos), x;
}
jsx_readString(h) {
let m = "", x = ++this.pos;
for (; ; ) {
this.pos >= this.input.length && this.raise(this.start, "Unterminated string constant");
let g = this.input.charCodeAt(this.pos);
if (g === h) break;
g === 38 ? (m += this.input.slice(x, this.pos), m += this.jsx_readEntity(), x = this.pos) : f(g) ? (m += this.input.slice(x, this.pos), m += this.jsx_readNewLine(false), x = this.pos) : ++this.pos;
}
return m += this.input.slice(x, this.pos++), this.finishToken(r.string, m);
}
jsx_readEntity() {
let h = "", m = 0, x, g = this.input[this.pos];
g !== "&" && this.raise(this.pos, "Entity must start with an ampersand");
let w = ++this.pos;
for (; this.pos < this.input.length && m++ < 10; ) {
if (g = this.input[this.pos++], g === ";") {
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];
break;
}
h += g;
}
return x || (this.pos = w, "&");
}
jsx_readWord() {
let h, m = this.pos;
do
h = this.input.charCodeAt(++this.pos);
while (B(h) || h === 45);
return this.finishToken(n.jsxName, this.input.slice(m, this.pos));
}
jsx_parseIdentifier() {
let h = this.startNode();
return this.type === n.jsxName ? h.name = this.value : this.type.keyword ? h.name = this.type.keyword : this.unexpected(), this.next(), this.finishNode(h, "JSXIdentifier");
}
jsx_parseNamespacedName() {
let h = this.start, m = this.startLoc, x = this.jsx_parseIdentifier();
if (!e.allowNamespaces || !this.eat(r.colon)) return x;
var g = this.startNodeAt(h, m);
return g.namespace = x, g.name = this.jsx_parseIdentifier(), this.finishNode(g, "JSXNamespacedName");
}
jsx_parseElementName() {
if (this.type === n.jsxTagEnd) return "";
let h = this.start, m = this.startLoc, x = this.jsx_parseNamespacedName();
for (this.type === r.dot && x.type === "JSXNamespacedName" && !e.allowNamespacedObjects && this.unexpected(); this.eat(r.dot); ) {
let g = this.startNodeAt(h, m);
g.object = x, g.property = this.jsx_parseIdentifier(), x = this.finishNode(g, "JSXMemberExpression");
}
return x;
}
jsx_parseAttributeValue() {
switch (this.type) {
case r.braceL:
let h = this.jsx_parseExpressionContainer();
return h.expression.type === "JSXEmptyExpression" && this.raise(h.start, "JSX attributes must only be assigned a non-empty expression"), h;
case n.jsxTagStart:
case r.string:
return this.parseExprAtom();
default:
this.raise(this.start, "JSX value should be either an expression or a quoted JSX text");
}
}
jsx_parseEmptyExpression() {
let h = this.startNodeAt(this.lastTokEnd, this.lastTokEndLoc);
return this.finishNodeAt(h, "JSXEmptyExpression", this.start, this.startLoc);
}
jsx_parseExpressionContainer() {
let h = this.startNode();
return this.next(), h.expression = this.type === r.braceR ? this.jsx_parseEmptyExpression() : this.parseExpression(), this.expect(r.braceR), this.finishNode(h, "JSXExpressionContainer");
}
jsx_parseAttribute() {
let h = this.startNode();
return this.eat(r.braceL) ? (this.expect(r.ellipsis), h.argument = this.parseMaybeAssign(), this.expect(r.braceR), this.finishNode(h, "JSXSpreadAttribute")) : (h.name = this.jsx_parseNamespacedName(), h.value = this.eat(r.eq) ? this.jsx_parseAttributeValue() : null, this.finishNode(h, "JSXAttribute"));
}
jsx_parseOpeningElementAt(h, m) {
let x = this.startNodeAt(h, m);
x.attributes = [];
let g = this.jsx_parseElementName();
for (g && (x.name = g); this.type !== r.slash && this.type !== n.jsxTagEnd; ) x.attributes.push(this.jsx_parseAttribute());
return x.selfClosing = this.eat(r.slash), this.expect(n.jsxTagEnd), this.finishNode(x, g ? "JSXOpeningElement" : "JSXOpeningFragment");
}
jsx_parseClosingElementAt(h, m) {
let x = this.startNodeAt(h, m), g = this.jsx_parseElementName();
return g && (x.name = g), this.expect(n.jsxTagEnd), this.finishNode(x, g ? "JSXClosingElement" : "JSXClosingFragment");
}
jsx_parseElementAt(h, m) {
let x = this.startNodeAt(h, m), g = [], w = this.jsx_parseOpeningElementAt(h, m), he = null;
if (!w.selfClosing) {
e: for (; ; ) switch (this.type) {
case n.jsxTagStart:
if (h = this.start, m = this.startLoc, this.next(), this.eat(r.slash)) {
he = this.jsx_parseClosingElementAt(h, m);
break e;
}
g.push(this.jsx_parseElementAt(h, m));
break;
case n.jsxText:
g.push(this.parseExprAtom());
break;
case r.braceL:
g.push(this.jsx_parseExpressionContainer());
break;
default:
this.unexpected();
}
ne(he.name) !== ne(w.name) && this.raise(he.start, "Expected corresponding JSX closing tag for <" + ne(w.name) + ">");
}
let Ee = w.name ? "Element" : "Fragment";
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);
}
jsx_parseText() {
let h = this.parseLiteral(this.value);
return h.type = "JSXText", h;
}
jsx_parseElement() {
let h = this.start, m = this.startLoc;
return this.next(), this.jsx_parseElementAt(h, m);
}
parseExprAtom(h) {
return this.type === n.jsxText ? this.jsx_parseText() : this.type === n.jsxTagStart ? this.jsx_parseElement() : super.parseExprAtom(h);
}
readToken(h) {
let m = this.curContext();
if (m === d) return this.jsx_readToken();
if (m === u || m === p) {
if (C(h)) return this.jsx_readWord();
if (h == 62) return ++this.pos, this.finishToken(n.jsxTagEnd);
if ((h === 34 || h === 39) && m == u) return this.jsx_readString(h);
}
return h === 60 && this.exprAllowed && this.input.charCodeAt(this.pos + 1) !== 33 ? (++this.pos, this.finishToken(n.jsxTagStart)) : super.readToken(h);
}
updateContext(h) {
if (this.type == r.braceL) {
var m = this.curContext();
m == u ? this.context.push(o.b_expr) : m == d ? this.context.push(o.b_tmpl) : super.updateContext(h), this.exprAllowed = true;
} else if (this.type === r.slash && h === n.jsxTagStart) this.context.length -= 2, this.context.push(p), this.exprAllowed = false;
else return super.updateContext(h);
}
};
}
});
var Ze = {};
vi(Ze, { parsers: () => zs });
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];
var 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];
var 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";
var 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";
var 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" };
var 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";
var _i = { 5: Pe, "5module": Pe + " export import", 6: Pe + " const class extends export import super" };
var Ti = /^in(stanceof)?$/;
var ki = new RegExp("[" + ot + "]");
var Ei = new RegExp("[" + ot + Ci + "]");
function Ne(e, t) {
for (var i = 65536, s = 0; s < t.length; s += 2) {
if (i += t[s], i > e) return false;
if (i += t[s + 1], i >= e) return true;
}
return false;
}
function M(e, t) {
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);
}
function H(e, t) {
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);
}
var S = function(t, i) {
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;
};
function P(e, t) {
return new S(e, { beforeExpr: true, binop: t });
}
var I = { beforeExpr: true };
var A = { startsExpr: true };
var Oe = {};
function b(e, t) {
return t === void 0 && (t = {}), t.keyword = e, Oe[e] = new S(e, t);
}
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 }) };
var L = /\r\n?|\n|\u2028|\u2029/;
var wi = new RegExp(L.source, "g");
function Q(e) {
return e === 10 || e === 13 || e === 8232 || e === 8233;
}
function ut(e, t, i) {
i === void 0 && (i = e.length);
for (var s = t; s < i; s++) {
var r = e.charCodeAt(s);
if (Q(r)) return s < i - 1 && r === 13 && e.charCodeAt(s + 1) === 10 ? s + 2 : s + 1;
}
return -1;
}
var pt = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
var N = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
var ht = Object.prototype;
var Ai = ht.hasOwnProperty;
var Pi = ht.toString;
var Y = Object.hasOwn || function(e, t) {
return Ai.call(e, t);
};
var tt = Array.isArray || function(e) {
return Pi.call(e) === "[object Array]";
};
var it = /* @__PURE__ */ Object.create(null);
function K(e) {
return it[e] || (it[e] = new RegExp("^(?:" + e.replace(/ /g, "|") + ")$"));
}
function U(e) {
return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode((e >> 10) + 55296, (e & 1023) + 56320));
}
var Ii = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;
var ie = function(t, i) {
this.line = t, this.column = i;
};
ie.prototype.offset = function(t) {
return new ie(this.line, this.column + t);
};
var xe = function(t, i, s) {
this.start = i, this.end = s, t.sourceFile !== null && (this.source = t.sourceFile);
};
function ct(e, t) {
for (var i = 1, s = 0; ; ) {
var r = ut(e, s, t);
if (r < 0) return new ie(i, t - s);
++i, s = r;
}
}
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 };
var st = false;
function Ni(e) {
var t = {};
for (var i in Ve) t[i] = e && Y(e, i) ? e[i] : Ve[i];
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.
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)) {
var s = t.onToken;
t.onToken = function(r) {
return s.push(r);
};
}
return tt(t.onComment) && (t.onComment = Vi(t, t.onComment)), t;
}
function Vi(e, t) {
return function(i, s, r, n, o, u) {
var p = { type: i ? "Block" : "Line", value: s, start: r, end: n };
e.locations && (p.loc = new xe(this, o, u)), e.ranges && (p.range = [r, n]), t.push(p);
};
}
var se = 1;
var Z = 2;
var Be = 4;
var lt = 8;
var ft = 16;
var dt = 32;
var De = 64;
var mt = 128;
var re = 256;
var Fe = se | Z | re;
function je(e, t) {
return Z | (e ? Be : 0) | (t ? lt : 0);
}
var le = 0;
var Me = 1;
var G = 2;
var xt = 3;
var yt = 4;
var gt = 5;
var T = function(t, i, s) {
this.options = t = Ni(t), this.sourceFile = t.sourceFile, this.keywords = K(_i[t.ecmaVersion >= 6 ? 6 : t.sourceType === "module" ? "5module" : 5]);
var r = "";
t.allowReserved !== true && (r = Ae[t.ecmaVersion >= 6 ? 6 : t.ecmaVersion === 5 ? 5 : 3], t.sourceType === "module" && (r += " await")), this.reservedWords = K(r);
var n = (r ? r + " " : "") + Ae.strict;
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(`
`, 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 = [];
};
var 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 } };
T.prototype.parse = function() {
var t = this.options.program || this.startNode();
return this.nextToken(), this.parseTopLevel(t);
};
F.inFunction.get = function() {
return (this.currentVarScope().flags & Z) > 0;
};
F.inGenerator.get = function() {
return (this.currentVarScope().flags & lt) > 0 && !this.currentVarScope().inClassFieldInit;
};
F.inAsync.get = function() {
return (this.currentVarScope().flags & Be) > 0 && !this.currentVarScope().inClassFieldInit;
};
F.canAwait.get = function() {
for (var e = this.scopeStack.length - 1; e >= 0; e--) {
var t = this.scopeStack[e];
if (t.inClassFieldInit || t.flags & re) return false;
if (t.flags & Z) return (t.flags & Be) > 0;
}
return this.inModule && this.options.ecmaVersion >= 13 || this.options.allowAwaitOutsideFunction;
};
F.allowSuper.get = function() {
var e = this.currentThisScope(), t = e.flags, i = e.inClassFieldInit;
return (t & De) > 0 || i || this.options.allowSuperOutsideMethod;
};
F.allowDirectSuper.get = function() {
return (this.currentThisScope().flags & mt) > 0;
};
F.treatFunctionsAsVar.get = function() {
return this.treatFunctionsAsVarInScope(this.currentScope());
};
F.allowNewDotTarget.get = function() {
var e = this.currentThisScope(), t = e.flags, i = e.inClassFieldInit;
return (t & (Z | re)) > 0 || i;
};
F.inClassStaticBlock.get = function() {
return (this.currentVarScope().flags & re) > 0;
};
T.extend = function() {
for (var t = [], i = arguments.length; i--; ) t[i] = arguments[i];
for (var s = this, r = 0; r < t.length; r++) s = t[r](s);
return s;
};
T.parse = function(t, i) {
return new this(i, t).parse();
};
T.parseExpressionAt = function(t, i, s) {
var r = new this(s, t, i);
return r.nextToken(), r.parseExpression();
};
T.tokenizer = function(t, i) {
return new this(i, t);
};
Object.defineProperties(T.prototype, F);
var k = T.prototype;
var Li = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
k.strictDirective = function(e) {
if (this.options.ecmaVersion < 5) return false;
for (; ; ) {
N.lastIndex = e, e += N.exec(this.input)[0].length;
var t = Li.exec(this.input.slice(e));
if (!t) return false;
if ((t[1] || t[2]) === "use strict") {
N.lastIndex = e + t[0].length;
var i = N.exec(this.input), s = i.index + i[0].length, r = this.input.charAt(s);
return r === ";" || r === "}" || L.test(i[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(r) || r === "!" && this.input.charAt(s + 1) === "=");
}
e += t[0].length, N.lastIndex = e, e += N.exec(this.input)[0].length, this.input[e] === ";" && e++;
}
};
k.eat = function(e) {
return this.type === e ? (this.next(), true) : false;
};
k.isContextual = function(e) {
return this.type === a.name && this.value === e && !this.containsEsc;
};
k.eatContextual = function(e) {
return this.isContextual(e) ? (this.next(), true) : false;
};
k.expectContextual = function(e) {
this.eatContextual(e) || this.unexpected();
};
k.canInsertSemicolon = function() {
return this.type === a.eof || this.type === a.braceR || L.test(this.input.slice(this.lastTokEnd, this.start));
};
k.insertSemicolon = function() {
if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc), true;
};
k.semicolon = function() {
!this.eat(a.semi) && !this.insertSemicolon() && this.unexpected();
};
k.afterTrailingComma = function(e, t) {
if (this.type === e) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc), t || this.next(), true;
};
k.expect = function(e) {
this.eat(e) || this.unexpected();
};
k.unexpected = function(e) {
this.raise(e ?? this.start, "Unexpected token");
};
var ye = function() {
this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1;
};
k.checkPatternErrors = function(e, t) {
if (e) {
e.trailingComma > -1 && this.raiseRecoverable(e.trailingComma, "Comma is not permitted after the rest element");
var i = t ? e.parenthesizedAssign : e.parenthesizedBind;
i > -1 && this.raiseRecoverable(i, t ? "Assigning to rvalue" : "Parenthesized pattern");
}
};
k.checkExpressionErrors = function(e, t) {
if (!e) return false;
var i = e.shorthandAssign, s = e.doubleProto;
if (!t) return i >= 0 || s >= 0;
i >= 0 && this.raise(i, "Shorthand property assignments are valid only in destructuring patterns"), s >= 0 && this.raiseRecoverable(s, "Redefinition of __proto__ property");
};
k.checkYieldAwaitInDefaultParams = function() {
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");
};
k.isSimpleAssignTarget = function(e) {
return e.type === "ParenthesizedExpression" ? this.isSimpleAssignTarget(e.expression) : e.type === "Identifier" || e.type === "MemberExpression";
};
var l = T.prototype;
l.parseTopLevel = function(e) {
var t = /* @__PURE__ */ Object.create(null);
for (e.body || (e.body = []); this.type !== a.eof; ) {
var i = this.parseStatement(null, true, t);
e.body.push(i);
}
if (this.inModule) for (var s = 0, r = Object.keys(this.undefinedExports); s < r.length; s += 1) {
var n = r[s];
this.raiseRecoverable(this.undefinedExports[n].start, "Export '" + n + "' is not defined");
}
return this.adaptDirectivePrologue(e.body), this.next(), e.sourceType = this.options.sourceType, this.finishNode(e, "Program");
};
var Ue = { kind: "loop" };
var Ri = { kind: "switch" };
l.isLet = function(e) {
if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return false;
N.lastIndex = this.pos;
var t = N.exec(this.input), i = this.pos + t[0].length, s = this.input.charCodeAt(i);
if (s === 91 || s === 92) return true;
if (e) return false;
if (s === 123 || s > 55295 && s < 56320) return true;
if (M(s, true)) {
for (var r = i + 1; H(s = this.input.charCodeAt(r), true); ) ++r;
if (s === 92 || s > 55295 && s < 56320) return true;
var n = this.input.slice(i, r);
if (!Ti.test(n)) return true;
}
return false;
};
l.isAsyncFunction = function() {
if (this.options.ecmaVersion < 8 || !this.isContextual("async")) return false;
N.lastIndex = this.pos;
var e = N.exec(this.input), t = this.pos + e[0].length, i;
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));
};
l.parseStatement = function(e, t, i) {
var s = this.type, r = this.startNode(), n;
switch (this.isLet(e) && (s = a._var, n = "let"), s) {
case a._break:
case a._continue:
return this.parseBreakContinueStatement(r, s.keyword);
case a._debugger:
return this.parseDebuggerStatement(r);
case a._do:
return this.parseDoStatement(r);
case a._for:
return this.parseForStatement(r);
case a._function:
return e && (this.strict || e !== "if" && e !== "label") && this.options.ecmaVersion >= 6 && this.unexpected(), this.parseFunctionStatement(r, false, !e);
case a._class:
return e && this.unexpected(), this.parseClass(r, true);
case a._if:
return this.parseIfStatement(r);
case a._return:
return this.parseReturnStatement(r);
case a._switch:
return this.parseSwitchStatement(r);
case a._throw:
return this.parseThrowStatement(r);
case a._try:
return this.parseTryStatement(r);
case a._const:
case a._var:
return n = n || this.value, e && n !== "var" && this.unexpected(), this.parseVarStatement(r, n);
case a._while:
return this.parseWhileStatement(r);
case a._with:
return this.parseWithStatement(r);
case a.braceL:
return this.parseBlock(true, r);
case a.semi:
return this.parseEmptyStatement(r);
case a._export:
case a._import:
if (this.options.ecmaVersion > 10 && s === a._import) {
N.lastIndex = this.pos;
var o = N.exec(this.input), u = this.pos + o[0].length, p = this.input.charCodeAt(u);
if (p === 40 || p === 46) return this.parseExpressionStatement(r, this.parseExpression());
}
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);
default:
if (this.isAsyncFunction()) return e && this.unexpected(), this.next(), this.parseFunctionStatement(r, true, !e);
var d = this.value, f = this.parseExpression();
return s === a.name && f.type === "Identifier" && this.eat(a.colon) ? this.parseLabeledStatement(r, d, f, e) : this.parseExpressionStatement(r, f);
}
};
l.parseBreakContinueStatement = function(e, t) {
var i = t === "break";
this.next(), this.eat(a.semi) || this.insertSemicolon() ? e.label = null : this.type !== a.name ? this.unexpected() : (e.label = this.parseIdent(), this.semicolon());
for (var s = 0; s < this.labels.length; ++s) {
var r = this.labels[s];
if ((e.label == null || r.name === e.label.name) && (r.kind != null && (i || r.kind === "loop") || e.label && i)) break;
}
return s === this.labels.length && this.raise(e.start, "Unsyntactic " + t), this.finishNode(e, i ? "BreakStatement" : "ContinueStatement");
};
l.parseDebuggerStatement = function(e) {
return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
};
l.parseDoStatement = function(e) {
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");
};
l.parseForStatement = function(e) {
this.next();
var t = this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await") ? this.lastTokStart : -1;
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);
var i = this.isLet();
if (this.type === a._var || this.type === a._const || i) {
var s = this.startNode(), r = i ? "let" : this.value;
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));
}
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);
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));
};
l.parseFunctionStatement = function(e, t, i) {
return this.next(), this.parseFunction(e, te | (i ? 0 : Le), false, t);
};
l.parseIfStatement = function(e) {
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");
};
l.parseReturnStatement = function(e) {
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");
};
l.parseSwitchStatement = function(e) {
this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(a.braceL), this.labels.push(Ri), this.enterScope(0);
for (var t, i = false; this.type !== a.braceR; ) if (this.type === a._case || this.type === a._default) {
var s = this.type === a._case;
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);
} else t || this.unexpected(), t.consequent.push(this.parseStatement(null));
return this.exitScope(), t && this.finishNode(t, "SwitchCase"), this.next(), this.labels.pop(), this.finishNode(e, "SwitchStatement");
};
l.parseThrowStatement = function(e) {
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");
};
var Oi = [];
l.parseCatchClauseParam = function() {
var e = this.parseBindingAtom(), t = e.type === "Identifier";
return this.enterScope(t ? dt : 0), this.checkLValPattern(e, t ? yt : G), this.expect(a.parenR), e;
};
l.parseTryStatement = function(e) {
if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === a._catch) {
var t = this.startNode();
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");
}
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");
};
l.parseVarStatement = function(e, t, i) {
return this.next(), this.parseVar(e, false, t, i), this.semicolon(), this.finishNode(e, "VariableDeclaration");
};
l.parseWhileStatement = function(e) {
return this.next(), e.test = this.parseParenExpression(), this.labels.push(Ue), e.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e, "WhileStatement");
};
l.parseWithStatement = function(e) {
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");
};
l.parseEmptyStatement = function(e) {
return this.next(), this.finishNode(e, "EmptyStatement");
};
l.parseLabeledStatement = function(e, t, i, s) {
for (var r = 0, n = this.labels; r < n.length; r += 1) {
var o = n[r];
o.name === t && this.raise(i.start, "Label '" + t + "' is already declared");
}
for (var u = this.type.isLoop ? "loop" : this.type === a._switch ? "switch" : null, p = this.labels.length - 1; p >= 0; p--) {
var d = this.labels[p];
if (d.statementStart === e.start) d.statementStart = this.start, d.kind = u;
else break;
}
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");
};
l.parseExpressionStatement = function(e, t) {
return e.expression = t, this.semicolon(), this.finishNode(e, "ExpressionStatement");
};
l.parseBlock = function(e, t, i) {
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; ) {
var s = this.parseStatement(null);
t.body.push(s);
}
return i && (this.strict = false), this.next(), e && this.exitScope(), this.finishNode(t, "BlockStatement");
};
l.parseFor = function(e, t) {
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");
};
l.parseForIn = function(e, t) {
var i = this.type === a._in;
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");
};
l.parseVar = function(e, t, i, s) {
for (e.declarations = [], e.kind = i; ; ) {
var r = this.startNode();
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;
}
return e;
};
l.parseVarId = function(e, t) {
e.id = this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ? Me : G, false);
};
var te = 1;
var Le = 2;
var vt = 4;
l.parseFunction = function(e, t, i, s, r) {
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));
var n = this.yieldPos, o = this.awaitPos, u = this.awaitIdentPos;
return this.yieldPos = 0, t