@cloud-cli/on 1.36.2 → 1.37.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.
package/dist/on.js CHANGED
@@ -1509,22 +1509,22 @@ function Ge(e, t) {
1509
1509
  var w = function(e, t) {
1510
1510
  t === void 0 && (t = {}), this.label = e, this.keyword = t.keyword, this.beforeExpr = !!t.beforeExpr, this.startsExpr = !!t.startsExpr, this.isLoop = !!t.isLoop, this.isAssign = !!t.isAssign, this.prefix = !!t.prefix, this.postfix = !!t.postfix, this.binop = t.binop || null, this.updateContext = null;
1511
1511
  };
1512
- function T(e, t) {
1512
+ function Ke(e, t) {
1513
1513
  return new w(e, {
1514
1514
  beforeExpr: !0,
1515
1515
  binop: t
1516
1516
  });
1517
1517
  }
1518
- var E = { beforeExpr: !0 }, D = { startsExpr: !0 }, Ke = {};
1519
- function O(e, t) {
1520
- return t === void 0 && (t = {}), t.keyword = e, Ke[e] = new w(e, t);
1518
+ var T = { beforeExpr: !0 }, E = { startsExpr: !0 }, qe = {};
1519
+ function D(e, t) {
1520
+ return t === void 0 && (t = {}), t.keyword = e, qe[e] = new w(e, t);
1521
1521
  }
1522
- var k = {
1523
- num: new w("num", D),
1524
- regexp: new w("regexp", D),
1525
- string: new w("string", D),
1526
- name: new w("name", D),
1527
- privateId: new w("privateId", D),
1522
+ var O = {
1523
+ num: new w("num", E),
1524
+ regexp: new w("regexp", E),
1525
+ string: new w("string", E),
1526
+ name: new w("name", E),
1527
+ privateId: new w("privateId", E),
1528
1528
  eof: new w("eof"),
1529
1529
  bracketL: new w("[", {
1530
1530
  beforeExpr: !0,
@@ -1541,17 +1541,17 @@ var k = {
1541
1541
  startsExpr: !0
1542
1542
  }),
1543
1543
  parenR: new w(")"),
1544
- comma: new w(",", E),
1545
- semi: new w(";", E),
1546
- colon: new w(":", E),
1544
+ comma: new w(",", T),
1545
+ semi: new w(";", T),
1546
+ colon: new w(":", T),
1547
1547
  dot: new w("."),
1548
- question: new w("?", E),
1548
+ question: new w("?", T),
1549
1549
  questionDot: new w("?."),
1550
- arrow: new w("=>", E),
1550
+ arrow: new w("=>", T),
1551
1551
  template: new w("template"),
1552
1552
  invalidTemplate: new w("invalidTemplate"),
1553
- ellipsis: new w("...", E),
1554
- backQuote: new w("`", D),
1553
+ ellipsis: new w("...", T),
1554
+ backQuote: new w("`", E),
1555
1555
  dollarBraceL: new w("${", {
1556
1556
  beforeExpr: !0,
1557
1557
  startsExpr: !0
@@ -1574,124 +1574,124 @@ var k = {
1574
1574
  prefix: !0,
1575
1575
  startsExpr: !0
1576
1576
  }),
1577
- logicalOR: T("||", 1),
1578
- logicalAND: T("&&", 2),
1579
- bitwiseOR: T("|", 3),
1580
- bitwiseXOR: T("^", 4),
1581
- bitwiseAND: T("&", 5),
1582
- equality: T("==/!=/===/!==", 6),
1583
- relational: T("</>/<=/>=", 7),
1584
- bitShift: T("<</>>/>>>", 8),
1577
+ logicalOR: Ke("||", 1),
1578
+ logicalAND: Ke("&&", 2),
1579
+ bitwiseOR: Ke("|", 3),
1580
+ bitwiseXOR: Ke("^", 4),
1581
+ bitwiseAND: Ke("&", 5),
1582
+ equality: Ke("==/!=/===/!==", 6),
1583
+ relational: Ke("</>/<=/>=", 7),
1584
+ bitShift: Ke("<</>>/>>>", 8),
1585
1585
  plusMin: new w("+/-", {
1586
1586
  beforeExpr: !0,
1587
1587
  binop: 9,
1588
1588
  prefix: !0,
1589
1589
  startsExpr: !0
1590
1590
  }),
1591
- modulo: T("%", 10),
1592
- star: T("*", 10),
1593
- slash: T("/", 10),
1591
+ modulo: Ke("%", 10),
1592
+ star: Ke("*", 10),
1593
+ slash: Ke("/", 10),
1594
1594
  starstar: new w("**", { beforeExpr: !0 }),
1595
- coalesce: T("??", 1),
1596
- _break: O("break"),
1597
- _case: O("case", E),
1598
- _catch: O("catch"),
1599
- _continue: O("continue"),
1600
- _debugger: O("debugger"),
1601
- _default: O("default", E),
1602
- _do: O("do", {
1595
+ coalesce: Ke("??", 1),
1596
+ _break: D("break"),
1597
+ _case: D("case", T),
1598
+ _catch: D("catch"),
1599
+ _continue: D("continue"),
1600
+ _debugger: D("debugger"),
1601
+ _default: D("default", T),
1602
+ _do: D("do", {
1603
1603
  isLoop: !0,
1604
1604
  beforeExpr: !0
1605
1605
  }),
1606
- _else: O("else", E),
1607
- _finally: O("finally"),
1608
- _for: O("for", { isLoop: !0 }),
1609
- _function: O("function", D),
1610
- _if: O("if"),
1611
- _return: O("return", E),
1612
- _switch: O("switch"),
1613
- _throw: O("throw", E),
1614
- _try: O("try"),
1615
- _var: O("var"),
1616
- _const: O("const"),
1617
- _while: O("while", { isLoop: !0 }),
1618
- _with: O("with"),
1619
- _new: O("new", {
1606
+ _else: D("else", T),
1607
+ _finally: D("finally"),
1608
+ _for: D("for", { isLoop: !0 }),
1609
+ _function: D("function", E),
1610
+ _if: D("if"),
1611
+ _return: D("return", T),
1612
+ _switch: D("switch"),
1613
+ _throw: D("throw", T),
1614
+ _try: D("try"),
1615
+ _var: D("var"),
1616
+ _const: D("const"),
1617
+ _while: D("while", { isLoop: !0 }),
1618
+ _with: D("with"),
1619
+ _new: D("new", {
1620
1620
  beforeExpr: !0,
1621
1621
  startsExpr: !0
1622
1622
  }),
1623
- _this: O("this", D),
1624
- _super: O("super", D),
1625
- _class: O("class", D),
1626
- _extends: O("extends", E),
1627
- _export: O("export"),
1628
- _import: O("import", D),
1629
- _null: O("null", D),
1630
- _true: O("true", D),
1631
- _false: O("false", D),
1632
- _in: O("in", {
1623
+ _this: D("this", E),
1624
+ _super: D("super", E),
1625
+ _class: D("class", E),
1626
+ _extends: D("extends", T),
1627
+ _export: D("export"),
1628
+ _import: D("import", E),
1629
+ _null: D("null", E),
1630
+ _true: D("true", E),
1631
+ _false: D("false", E),
1632
+ _in: D("in", {
1633
1633
  beforeExpr: !0,
1634
1634
  binop: 7
1635
1635
  }),
1636
- _instanceof: O("instanceof", {
1636
+ _instanceof: D("instanceof", {
1637
1637
  beforeExpr: !0,
1638
1638
  binop: 7
1639
1639
  }),
1640
- _typeof: O("typeof", {
1640
+ _typeof: D("typeof", {
1641
1641
  beforeExpr: !0,
1642
1642
  prefix: !0,
1643
1643
  startsExpr: !0
1644
1644
  }),
1645
- _void: O("void", {
1645
+ _void: D("void", {
1646
1646
  beforeExpr: !0,
1647
1647
  prefix: !0,
1648
1648
  startsExpr: !0
1649
1649
  }),
1650
- _delete: O("delete", {
1650
+ _delete: D("delete", {
1651
1651
  beforeExpr: !0,
1652
1652
  prefix: !0,
1653
1653
  startsExpr: !0
1654
1654
  })
1655
- }, A = /\r\n?|\n|\u2028|\u2029/, qe = new RegExp(A.source, "g");
1656
- function Je(e) {
1655
+ }, k = /\r\n?|\n|\u2028|\u2029/, Je = new RegExp(k.source, "g");
1656
+ function Ye(e) {
1657
1657
  return e === 10 || e === 13 || e === 8232 || e === 8233;
1658
1658
  }
1659
- function Ye(e, t, n) {
1659
+ function Xe(e, t, n) {
1660
1660
  n === void 0 && (n = e.length);
1661
1661
  for (var r = t; r < n; r++) {
1662
1662
  var i = e.charCodeAt(r);
1663
- if (Je(i)) return r < n - 1 && i === 13 && e.charCodeAt(r + 1) === 10 ? r + 2 : r + 1;
1663
+ if (Ye(i)) return r < n - 1 && i === 13 && e.charCodeAt(r + 1) === 10 ? r + 2 : r + 1;
1664
1664
  }
1665
1665
  return -1;
1666
1666
  }
1667
- var Xe = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/, j = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, Ze = Object.prototype, Qe = Ze.hasOwnProperty, $e = Ze.toString, et = Object.hasOwn || (function(e, t) {
1668
- return Qe.call(e, t);
1669
- }), tt = Array.isArray || (function(e) {
1670
- return $e.call(e) === "[object Array]";
1671
- }), nt = Object.create(null);
1672
- function rt(e) {
1673
- return nt[e] || (nt[e] = RegExp("^(?:" + e.replace(/ /g, "|") + ")$"));
1674
- }
1667
+ var Ze = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/, A = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, Qe = Object.prototype, $e = Qe.hasOwnProperty, et = Qe.toString, tt = Object.hasOwn || (function(e, t) {
1668
+ return $e.call(e, t);
1669
+ }), nt = Array.isArray || (function(e) {
1670
+ return et.call(e) === "[object Array]";
1671
+ }), rt = Object.create(null);
1675
1672
  function it(e) {
1673
+ return rt[e] || (rt[e] = RegExp("^(?:" + e.replace(/ /g, "|") + ")$"));
1674
+ }
1675
+ function at(e) {
1676
1676
  return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode((e >> 10) + 55296, (e & 1023) + 56320));
1677
1677
  }
1678
- var at = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/, ot = function(e, t) {
1678
+ var ot = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/, st = function(e, t) {
1679
1679
  this.line = e, this.column = t;
1680
1680
  };
1681
- ot.prototype.offset = function(e) {
1682
- return new ot(this.line, this.column + e);
1681
+ st.prototype.offset = function(e) {
1682
+ return new st(this.line, this.column + e);
1683
1683
  };
1684
- var st = function(e, t, n) {
1684
+ var ct = function(e, t, n) {
1685
1685
  this.start = t, this.end = n, e.sourceFile !== null && (this.source = e.sourceFile);
1686
1686
  };
1687
- function ct(e, t) {
1687
+ function lt(e, t) {
1688
1688
  for (var n = 1, r = 0;;) {
1689
- var i = Ye(e, r, t);
1690
- if (i < 0) return new ot(n, t - r);
1689
+ var i = Xe(e, r, t);
1690
+ if (i < 0) return new st(n, t - r);
1691
1691
  ++n, r = i;
1692
1692
  }
1693
1693
  }
1694
- var lt = {
1694
+ var ut = {
1695
1695
  ecmaVersion: null,
1696
1696
  sourceType: "script",
1697
1697
  strict: !1,
@@ -1713,20 +1713,20 @@ var lt = {
1713
1713
  sourceFile: null,
1714
1714
  directSourceFile: null,
1715
1715
  preserveParens: !1
1716
- }, ut = !1;
1717
- function dt(e) {
1716
+ }, dt = !1;
1717
+ function ft(e) {
1718
1718
  var t = {};
1719
- for (var n in lt) t[n] = e && et(e, n) ? e[n] : lt[n];
1720
- if (t.ecmaVersion === "latest" ? t.ecmaVersion = 1e8 : t.ecmaVersion == null ? (!ut && typeof console == "object" && console.warn && (ut = !0, console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")), t.ecmaVersion = 11) : t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), t.allowReserved ??= t.ecmaVersion < 5, (!e || e.allowHashBang == null) && (t.allowHashBang = t.ecmaVersion >= 14), tt(t.onToken)) {
1719
+ for (var n in ut) t[n] = e && tt(e, n) ? e[n] : ut[n];
1720
+ if (t.ecmaVersion === "latest" ? t.ecmaVersion = 1e8 : t.ecmaVersion == null ? (!dt && typeof console == "object" && console.warn && (dt = !0, console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")), t.ecmaVersion = 11) : t.ecmaVersion >= 2015 && (t.ecmaVersion -= 2009), t.allowReserved ??= t.ecmaVersion < 5, (!e || e.allowHashBang == null) && (t.allowHashBang = t.ecmaVersion >= 14), nt(t.onToken)) {
1721
1721
  var r = t.onToken;
1722
1722
  t.onToken = function(e) {
1723
1723
  return r.push(e);
1724
1724
  };
1725
1725
  }
1726
- if (tt(t.onComment) && (t.onComment = ft(t, t.onComment)), t.sourceType === "commonjs" && t.allowAwaitOutsideFunction) throw Error("Cannot use allowAwaitOutsideFunction with sourceType: commonjs");
1726
+ if (nt(t.onComment) && (t.onComment = pt(t, t.onComment)), t.sourceType === "commonjs" && t.allowAwaitOutsideFunction) throw Error("Cannot use allowAwaitOutsideFunction with sourceType: commonjs");
1727
1727
  return t;
1728
1728
  }
1729
- function ft(e, t) {
1729
+ function pt(e, t) {
1730
1730
  return function(n, r, i, a, o, s) {
1731
1731
  var c = {
1732
1732
  type: n ? "Block" : "Line",
@@ -1734,20 +1734,20 @@ function ft(e, t) {
1734
1734
  start: i,
1735
1735
  end: a
1736
1736
  };
1737
- e.locations && (c.loc = new st(this, o, s)), e.ranges && (c.range = [i, a]), t.push(c);
1737
+ e.locations && (c.loc = new ct(this, o, s)), e.ranges && (c.range = [i, a]), t.push(c);
1738
1738
  };
1739
1739
  }
1740
- var pt = 1, mt = 2, ht = 4, gt = 8, _t = 16, vt = 32, yt = 64, bt = 128, xt = 256, St = 512, Ct = 1024, wt = pt | mt | xt;
1741
- function Tt(e, t) {
1742
- return mt | (e ? ht : 0) | (t ? gt : 0);
1740
+ var mt = 1, ht = 2, gt = 4, _t = 8, vt = 16, yt = 32, bt = 64, xt = 128, St = 256, Ct = 512, wt = 1024, Tt = mt | ht | St;
1741
+ function Et(e, t) {
1742
+ return ht | (e ? gt : 0) | (t ? _t : 0);
1743
1743
  }
1744
- var Et = 0, Dt = 1, Ot = 2, kt = 3, At = 4, jt = 5, M = function(e, t, n) {
1745
- this.options = e = dt(e), this.sourceFile = e.sourceFile, this.keywords = rt(ze[e.ecmaVersion >= 6 ? 6 : e.sourceType === "module" ? "5module" : 5]);
1744
+ var Dt = 0, Ot = 1, kt = 2, At = 3, jt = 4, Mt = 5, j = function(e, t, n) {
1745
+ this.options = e = ft(e), this.sourceFile = e.sourceFile, this.keywords = it(ze[e.ecmaVersion >= 6 ? 6 : e.sourceType === "module" ? "5module" : 5]);
1746
1746
  var r = "";
1747
- e.allowReserved !== !0 && (r = Le[e.ecmaVersion >= 6 ? 6 : e.ecmaVersion === 5 ? 5 : 3], e.sourceType === "module" && (r += " await")), this.reservedWords = rt(r);
1747
+ e.allowReserved !== !0 && (r = Le[e.ecmaVersion >= 6 ? 6 : e.ecmaVersion === 5 ? 5 : 3], e.sourceType === "module" && (r += " await")), this.reservedWords = it(r);
1748
1748
  var i = (r ? r + " " : "") + Le.strict;
1749
- this.reservedWordsStrict = rt(i), this.reservedWordsStrictBind = rt(i + " " + Le.strictBind), this.input = String(t), this.containsEsc = !1, this.pos = n || 0, this.curLine = 1, e.startLocation ? (this.lineStart = this.pos - e.startLocation.column, this.curLine = e.startLocation.line) : n ? (this.lineStart = this.input.lastIndexOf("\n", n - 1) + 1, this.options.locations && (this.curLine = this.input.slice(0, this.lineStart).split(A).length)) : this.lineStart = 0, this.type = k.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = this.initialContext(), this.exprAllowed = !0, this.inModule = e.sourceType === "module", this.strict = this.inModule || e.strict === !0 || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = !1, this.yieldPos = this.awaitPos = this.awaitIdentPos = 0, this.labels = [], this.undefinedExports = Object.create(null), this.pos === 0 && e.allowHashBang && this.input.slice(0, 2) === "#!" && this.skipLineComment(2), this.scopeStack = [], this.enterScope(this.options.sourceType === "commonjs" ? mt : pt), this.regexpState = null, this.privateNameStack = [];
1750
- }, N = {
1749
+ this.reservedWordsStrict = it(i), this.reservedWordsStrictBind = it(i + " " + Le.strictBind), this.input = String(t), this.containsEsc = !1, this.pos = n || 0, this.curLine = 1, e.startLocation ? (this.lineStart = this.pos - e.startLocation.column, this.curLine = e.startLocation.line) : n ? (this.lineStart = this.input.lastIndexOf("\n", n - 1) + 1, this.options.locations && (this.curLine = this.input.slice(0, this.lineStart).split(k).length)) : this.lineStart = 0, this.type = O.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = this.initialContext(), this.exprAllowed = !0, this.inModule = e.sourceType === "module", this.strict = this.inModule || e.strict === !0 || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = !1, this.yieldPos = this.awaitPos = this.awaitIdentPos = 0, this.labels = [], this.undefinedExports = Object.create(null), this.pos === 0 && e.allowHashBang && this.input.slice(0, 2) === "#!" && this.skipLineComment(2), this.scopeStack = [], this.enterScope(this.options.sourceType === "commonjs" ? ht : mt), this.regexpState = null, this.privateNameStack = [];
1750
+ }, M = {
1751
1751
  inFunction: { configurable: !0 },
1752
1752
  inGenerator: { configurable: !0 },
1753
1753
  inAsync: { configurable: !0 },
@@ -1760,120 +1760,120 @@ var Et = 0, Dt = 1, Ot = 2, kt = 3, At = 4, jt = 5, M = function(e, t, n) {
1760
1760
  allowUsing: { configurable: !0 },
1761
1761
  inClassStaticBlock: { configurable: !0 }
1762
1762
  };
1763
- M.prototype.parse = function() {
1763
+ j.prototype.parse = function() {
1764
1764
  var e = this, t = this.options.program || this.startNode();
1765
1765
  return this.nextToken(), this.catchStackOverflow(function() {
1766
1766
  return e.parseTopLevel(t);
1767
1767
  });
1768
- }, N.inFunction.get = function() {
1769
- return (this.currentVarScope().flags & mt) > 0;
1770
- }, N.inGenerator.get = function() {
1771
- return (this.currentVarScope().flags & gt) > 0;
1772
- }, N.inAsync.get = function() {
1768
+ }, M.inFunction.get = function() {
1773
1769
  return (this.currentVarScope().flags & ht) > 0;
1774
- }, N.canAwait.get = function() {
1770
+ }, M.inGenerator.get = function() {
1771
+ return (this.currentVarScope().flags & _t) > 0;
1772
+ }, M.inAsync.get = function() {
1773
+ return (this.currentVarScope().flags & gt) > 0;
1774
+ }, M.canAwait.get = function() {
1775
1775
  for (var e = this.scopeStack.length - 1; e >= 0; e--) {
1776
1776
  var t = this.scopeStack[e].flags;
1777
- if (t & (xt | St)) return !1;
1778
- if (t & mt) return (t & ht) > 0;
1777
+ if (t & (St | Ct)) return !1;
1778
+ if (t & ht) return (t & gt) > 0;
1779
1779
  }
1780
1780
  return this.inModule && this.options.ecmaVersion >= 13 || this.options.allowAwaitOutsideFunction;
1781
- }, N.allowReturn.get = function() {
1782
- return !!(this.inFunction || this.options.allowReturnOutsideFunction && this.currentVarScope().flags & pt);
1783
- }, N.allowSuper.get = function() {
1784
- return (this.currentThisScope().flags & yt) > 0 || this.options.allowSuperOutsideMethod;
1785
- }, N.allowDirectSuper.get = function() {
1786
- return (this.currentThisScope().flags & bt) > 0;
1787
- }, N.treatFunctionsAsVar.get = function() {
1781
+ }, M.allowReturn.get = function() {
1782
+ return !!(this.inFunction || this.options.allowReturnOutsideFunction && this.currentVarScope().flags & mt);
1783
+ }, M.allowSuper.get = function() {
1784
+ return (this.currentThisScope().flags & bt) > 0 || this.options.allowSuperOutsideMethod;
1785
+ }, M.allowDirectSuper.get = function() {
1786
+ return (this.currentThisScope().flags & xt) > 0;
1787
+ }, M.treatFunctionsAsVar.get = function() {
1788
1788
  return this.treatFunctionsAsVarInScope(this.currentScope());
1789
- }, N.allowNewDotTarget.get = function() {
1789
+ }, M.allowNewDotTarget.get = function() {
1790
1790
  for (var e = this.scopeStack.length - 1; e >= 0; e--) {
1791
1791
  var t = this.scopeStack[e].flags;
1792
- if (t & (xt | St) || t & mt && !(t & _t)) return !0;
1792
+ if (t & (St | Ct) || t & ht && !(t & vt)) return !0;
1793
1793
  }
1794
1794
  return !1;
1795
- }, N.allowUsing.get = function() {
1795
+ }, M.allowUsing.get = function() {
1796
1796
  var e = this.currentScope().flags;
1797
- return !(e & Ct || !this.inModule && e & pt);
1798
- }, N.inClassStaticBlock.get = function() {
1799
- return (this.currentVarScope().flags & xt) > 0;
1800
- }, M.extend = function() {
1797
+ return !(e & wt || !this.inModule && e & mt);
1798
+ }, M.inClassStaticBlock.get = function() {
1799
+ return (this.currentVarScope().flags & St) > 0;
1800
+ }, j.extend = function() {
1801
1801
  for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
1802
1802
  for (var n = this, r = 0; r < e.length; r++) n = e[r](n);
1803
1803
  return n;
1804
- }, M.parse = function(e, t) {
1804
+ }, j.parse = function(e, t) {
1805
1805
  return new this(t, e).parse();
1806
- }, M.parseExpressionAt = function(e, t, n) {
1806
+ }, j.parseExpressionAt = function(e, t, n) {
1807
1807
  var r = new this(n, e, t);
1808
1808
  return r.nextToken(), r.parseExpression();
1809
- }, M.tokenizer = function(e, t) {
1809
+ }, j.tokenizer = function(e, t) {
1810
1810
  return new this(t, e);
1811
- }, Object.defineProperties(M.prototype, N);
1812
- var P = M.prototype, Mt = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
1813
- P.strictDirective = function(e) {
1811
+ }, Object.defineProperties(j.prototype, M);
1812
+ var N = j.prototype, Nt = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
1813
+ N.strictDirective = function(e) {
1814
1814
  if (this.options.ecmaVersion < 5) return !1;
1815
1815
  for (;;) {
1816
- j.lastIndex = e, e += j.exec(this.input)[0].length;
1817
- var t = Mt.exec(this.input.slice(e));
1816
+ A.lastIndex = e, e += A.exec(this.input)[0].length;
1817
+ var t = Nt.exec(this.input.slice(e));
1818
1818
  if (!t) return !1;
1819
1819
  if ((t[1] || t[2]) === "use strict") {
1820
- j.lastIndex = e + t[0].length;
1821
- var n = j.exec(this.input), r = n.index + n[0].length, i = this.input.charAt(r);
1822
- return i === ";" || i === "}" || A.test(n[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(i) || i === "!" && this.input.charAt(r + 1) === "=");
1820
+ A.lastIndex = e + t[0].length;
1821
+ var n = A.exec(this.input), r = n.index + n[0].length, i = this.input.charAt(r);
1822
+ return i === ";" || i === "}" || k.test(n[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(i) || i === "!" && this.input.charAt(r + 1) === "=");
1823
1823
  }
1824
- e += t[0].length, j.lastIndex = e, e += j.exec(this.input)[0].length, this.input[e] === ";" && e++;
1824
+ e += t[0].length, A.lastIndex = e, e += A.exec(this.input)[0].length, this.input[e] === ";" && e++;
1825
1825
  }
1826
- }, P.eat = function(e) {
1826
+ }, N.eat = function(e) {
1827
1827
  return this.type === e && (this.next(), !0);
1828
- }, P.isContextual = function(e) {
1829
- return this.type === k.name && this.value === e && !this.containsEsc;
1830
- }, P.eatContextual = function(e) {
1828
+ }, N.isContextual = function(e) {
1829
+ return this.type === O.name && this.value === e && !this.containsEsc;
1830
+ }, N.eatContextual = function(e) {
1831
1831
  return this.isContextual(e) ? (this.next(), !0) : !1;
1832
- }, P.catchStackOverflow = function(e) {
1832
+ }, N.catchStackOverflow = function(e) {
1833
1833
  try {
1834
1834
  return e();
1835
1835
  } catch (e) {
1836
1836
  if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message))) this.raise(this.start, "Not enough stack space to parse input");
1837
1837
  else throw e;
1838
1838
  }
1839
- }, P.expectContextual = function(e) {
1839
+ }, N.expectContextual = function(e) {
1840
1840
  this.eatContextual(e) || this.unexpected();
1841
- }, P.canInsertSemicolon = function() {
1842
- return this.type === k.eof || this.type === k.braceR || A.test(this.input.slice(this.lastTokEnd, this.start));
1843
- }, P.insertSemicolon = function() {
1841
+ }, N.canInsertSemicolon = function() {
1842
+ return this.type === O.eof || this.type === O.braceR || k.test(this.input.slice(this.lastTokEnd, this.start));
1843
+ }, N.insertSemicolon = function() {
1844
1844
  if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc), !0;
1845
- }, P.semicolon = function() {
1846
- !this.eat(k.semi) && !this.insertSemicolon() && this.unexpected();
1847
- }, P.afterTrailingComma = function(e, t) {
1845
+ }, N.semicolon = function() {
1846
+ !this.eat(O.semi) && !this.insertSemicolon() && this.unexpected();
1847
+ }, N.afterTrailingComma = function(e, t) {
1848
1848
  if (this.type === e) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc), t || this.next(), !0;
1849
- }, P.expect = function(e) {
1849
+ }, N.expect = function(e) {
1850
1850
  this.eat(e) || this.unexpected();
1851
- }, P.unexpected = function(e) {
1851
+ }, N.unexpected = function(e) {
1852
1852
  this.raise(e ?? this.start, "Unexpected token");
1853
1853
  };
1854
- var Nt = function() {
1854
+ var Pt = function() {
1855
1855
  this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1;
1856
1856
  };
1857
- P.checkPatternErrors = function(e, t) {
1857
+ N.checkPatternErrors = function(e, t) {
1858
1858
  if (e) {
1859
1859
  e.trailingComma > -1 && this.raiseRecoverable(e.trailingComma, "Comma is not permitted after the rest element");
1860
1860
  var n = t ? e.parenthesizedAssign : e.parenthesizedBind;
1861
1861
  n > -1 && this.raiseRecoverable(n, t ? "Assigning to rvalue" : "Parenthesized pattern");
1862
1862
  }
1863
- }, P.checkExpressionErrors = function(e, t) {
1863
+ }, N.checkExpressionErrors = function(e, t) {
1864
1864
  if (!e) return !1;
1865
1865
  var n = e.shorthandAssign, r = e.doubleProto;
1866
1866
  if (!t) return n >= 0 || r >= 0;
1867
1867
  n >= 0 && this.raise(n, "Shorthand property assignments are valid only in destructuring patterns"), r >= 0 && this.raiseRecoverable(r, "Redefinition of __proto__ property");
1868
- }, P.checkYieldAwaitInDefaultParams = function() {
1868
+ }, N.checkYieldAwaitInDefaultParams = function() {
1869
1869
  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");
1870
- }, P.isSimpleAssignTarget = function(e) {
1870
+ }, N.isSimpleAssignTarget = function(e) {
1871
1871
  return e.type === "ParenthesizedExpression" ? this.isSimpleAssignTarget(e.expression) : e.type === "Identifier" || e.type === "MemberExpression";
1872
1872
  };
1873
- var F = M.prototype;
1874
- F.parseTopLevel = function(e) {
1873
+ var P = j.prototype;
1874
+ P.parseTopLevel = function(e) {
1875
1875
  var t = Object.create(null);
1876
- for (e.body ||= []; this.type !== k.eof;) {
1876
+ for (e.body ||= []; this.type !== O.eof;) {
1877
1877
  var n = this.parseStatement(null, !0, t);
1878
1878
  e.body.push(n);
1879
1879
  }
@@ -1883,11 +1883,11 @@ F.parseTopLevel = function(e) {
1883
1883
  }
1884
1884
  return this.adaptDirectivePrologue(e.body), this.next(), e.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType, this.finishNode(e, "Program");
1885
1885
  };
1886
- var Pt = { kind: "loop" }, Ft = { kind: "switch" };
1887
- F.isLet = function(e) {
1886
+ var Ft = { kind: "loop" }, It = { kind: "switch" };
1887
+ P.isLet = function(e) {
1888
1888
  if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return !1;
1889
- j.lastIndex = this.pos;
1890
- var t = j.exec(this.input), n = this.pos + t[0].length, r = this.fullCharCodeAt(n);
1889
+ A.lastIndex = this.pos;
1890
+ var t = A.exec(this.input), n = this.pos + t[0].length, r = this.fullCharCodeAt(n);
1891
1891
  if (r === 91 || r === 92) return !0;
1892
1892
  if (e) return !1;
1893
1893
  if (r === 123) return !0;
@@ -1901,22 +1901,22 @@ F.isLet = function(e) {
1901
1901
  if (!Be.test(a)) return !0;
1902
1902
  }
1903
1903
  return !1;
1904
- }, F.isAsyncFunction = function() {
1904
+ }, P.isAsyncFunction = function() {
1905
1905
  if (this.options.ecmaVersion < 8 || !this.isContextual("async")) return !1;
1906
- j.lastIndex = this.pos;
1907
- var e = j.exec(this.input), t = this.pos + e[0].length, n;
1908
- return !A.test(this.input.slice(this.pos, t)) && this.input.slice(t, t + 8) === "function" && (t + 8 === this.input.length || !(Ge(n = this.fullCharCodeAt(t + 8)) || n === 92));
1909
- }, F.isUsingKeyword = function(e, t) {
1906
+ A.lastIndex = this.pos;
1907
+ var e = A.exec(this.input), t = this.pos + e[0].length, n;
1908
+ return !k.test(this.input.slice(this.pos, t)) && this.input.slice(t, t + 8) === "function" && (t + 8 === this.input.length || !(Ge(n = this.fullCharCodeAt(t + 8)) || n === 92));
1909
+ }, P.isUsingKeyword = function(e, t) {
1910
1910
  if (this.options.ecmaVersion < 17 || !this.isContextual(e ? "await" : "using")) return !1;
1911
- j.lastIndex = this.pos;
1912
- var n = j.exec(this.input), r = this.pos + n[0].length;
1913
- if (A.test(this.input.slice(this.pos, r))) return !1;
1911
+ A.lastIndex = this.pos;
1912
+ var n = A.exec(this.input), r = this.pos + n[0].length;
1913
+ if (k.test(this.input.slice(this.pos, r))) return !1;
1914
1914
  if (e) {
1915
1915
  var i = r + 5, a;
1916
1916
  if (this.input.slice(r, i) !== "using" || i === this.input.length || Ge(a = this.fullCharCodeAt(i)) || a === 92) return !1;
1917
- j.lastIndex = i;
1918
- var o = j.exec(this.input);
1919
- if (r = i + o[0].length, o && A.test(this.input.slice(i, r))) return !1;
1917
+ A.lastIndex = i;
1918
+ var o = A.exec(this.input);
1919
+ if (r = i + o[0].length, o && k.test(this.input.slice(i, r))) return !1;
1920
1920
  }
1921
1921
  var s = this.fullCharCodeAt(r);
1922
1922
  if (!We(s) && s !== 92) return !1;
@@ -1928,69 +1928,69 @@ F.isLet = function(e) {
1928
1928
  var l = this.input.slice(c, r);
1929
1929
  if (Be.test(l)) return !1;
1930
1930
  if (t && !e && l === "of") {
1931
- j.lastIndex = r;
1932
- var u = j.exec(this.input);
1931
+ A.lastIndex = r;
1932
+ var u = A.exec(this.input);
1933
1933
  if (r += u[0].length, this.input.charCodeAt(r) !== 61 || (s = this.input.charCodeAt(r + 1)) === 61 || s === 62) return !1;
1934
1934
  }
1935
1935
  return !0;
1936
- }, F.isAwaitUsing = function(e) {
1936
+ }, P.isAwaitUsing = function(e) {
1937
1937
  return this.isUsingKeyword(!0, e);
1938
- }, F.isUsing = function(e) {
1938
+ }, P.isUsing = function(e) {
1939
1939
  return this.isUsingKeyword(!1, e);
1940
- }, F.parseStatement = function(e, t, n) {
1940
+ }, P.parseStatement = function(e, t, n) {
1941
1941
  var r = this.type, i = this.startNode(), a;
1942
- switch (this.isLet(e) && (r = k._var, a = "let"), r) {
1943
- case k._break:
1944
- case k._continue: return this.parseBreakContinueStatement(i, r.keyword);
1945
- case k._debugger: return this.parseDebuggerStatement(i);
1946
- case k._do: return this.parseDoStatement(i);
1947
- case k._for: return this.parseForStatement(i);
1948
- case k._function: return e && (this.strict || e !== "if" && e !== "label") && this.options.ecmaVersion >= 6 && this.unexpected(), this.parseFunctionStatement(i, !1, !e);
1949
- case k._class: return e && this.unexpected(), this.parseClass(i, !0);
1950
- case k._if: return this.parseIfStatement(i);
1951
- case k._return: return this.parseReturnStatement(i);
1952
- case k._switch: return this.parseSwitchStatement(i);
1953
- case k._throw: return this.parseThrowStatement(i);
1954
- case k._try: return this.parseTryStatement(i);
1955
- case k._const:
1956
- case k._var: return a ||= this.value, e && a !== "var" && this.unexpected(), this.parseVarStatement(i, a);
1957
- case k._while: return this.parseWhileStatement(i);
1958
- case k._with: return this.parseWithStatement(i);
1959
- case k.braceL: return this.parseBlock(!0, i);
1960
- case k.semi: return this.parseEmptyStatement(i);
1961
- case k._export:
1962
- case k._import:
1963
- if (this.options.ecmaVersion > 10 && r === k._import) {
1964
- j.lastIndex = this.pos;
1965
- var o = j.exec(this.input), s = this.pos + o[0].length, c = this.input.charCodeAt(s);
1942
+ switch (this.isLet(e) && (r = O._var, a = "let"), r) {
1943
+ case O._break:
1944
+ case O._continue: return this.parseBreakContinueStatement(i, r.keyword);
1945
+ case O._debugger: return this.parseDebuggerStatement(i);
1946
+ case O._do: return this.parseDoStatement(i);
1947
+ case O._for: return this.parseForStatement(i);
1948
+ case O._function: return e && (this.strict || e !== "if" && e !== "label") && this.options.ecmaVersion >= 6 && this.unexpected(), this.parseFunctionStatement(i, !1, !e);
1949
+ case O._class: return e && this.unexpected(), this.parseClass(i, !0);
1950
+ case O._if: return this.parseIfStatement(i);
1951
+ case O._return: return this.parseReturnStatement(i);
1952
+ case O._switch: return this.parseSwitchStatement(i);
1953
+ case O._throw: return this.parseThrowStatement(i);
1954
+ case O._try: return this.parseTryStatement(i);
1955
+ case O._const:
1956
+ case O._var: return a ||= this.value, e && a !== "var" && this.unexpected(), this.parseVarStatement(i, a);
1957
+ case O._while: return this.parseWhileStatement(i);
1958
+ case O._with: return this.parseWithStatement(i);
1959
+ case O.braceL: return this.parseBlock(!0, i);
1960
+ case O.semi: return this.parseEmptyStatement(i);
1961
+ case O._export:
1962
+ case O._import:
1963
+ if (this.options.ecmaVersion > 10 && r === O._import) {
1964
+ A.lastIndex = this.pos;
1965
+ var o = A.exec(this.input), s = this.pos + o[0].length, c = this.input.charCodeAt(s);
1966
1966
  if (c === 40 || c === 46) return this.parseExpressionStatement(i, this.parseExpression());
1967
1967
  }
1968
- 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'")), r === k._import ? this.parseImport(i) : this.parseExport(i, n);
1968
+ 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'")), r === O._import ? this.parseImport(i) : this.parseExport(i, n);
1969
1969
  default:
1970
1970
  if (this.isAsyncFunction()) return e && this.unexpected(), this.next(), this.parseFunctionStatement(i, !0, !e);
1971
1971
  var l = this.isAwaitUsing(!1) ? "await using" : this.isUsing(!1) ? "using" : null;
1972
1972
  if (l) return this.allowUsing || this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement"), e && this.raise(this.start, "Using declaration is not allowed in single-statement positions"), l === "await using" && (this.canAwait || this.raise(this.start, "Await using cannot appear outside of async function"), this.next()), this.next(), this.parseVar(i, !1, l), this.semicolon(), this.finishNode(i, "VariableDeclaration");
1973
1973
  var u = this.value, d = this.parseExpression();
1974
- return r === k.name && d.type === "Identifier" && this.eat(k.colon) ? this.parseLabeledStatement(i, u, d, e) : this.parseExpressionStatement(i, d);
1974
+ return r === O.name && d.type === "Identifier" && this.eat(O.colon) ? this.parseLabeledStatement(i, u, d, e) : this.parseExpressionStatement(i, d);
1975
1975
  }
1976
- }, F.parseBreakContinueStatement = function(e, t) {
1976
+ }, P.parseBreakContinueStatement = function(e, t) {
1977
1977
  var n = t === "break";
1978
- this.next(), this.eat(k.semi) || this.insertSemicolon() ? e.label = null : this.type === k.name ? (e.label = this.parseIdent(), this.semicolon()) : this.unexpected();
1978
+ this.next(), this.eat(O.semi) || this.insertSemicolon() ? e.label = null : this.type === O.name ? (e.label = this.parseIdent(), this.semicolon()) : this.unexpected();
1979
1979
  for (var r = 0; r < this.labels.length; ++r) {
1980
1980
  var i = this.labels[r];
1981
1981
  if ((e.label == null || i.name === e.label.name) && (i.kind != null && (n || i.kind === "loop") || e.label && n)) break;
1982
1982
  }
1983
1983
  return r === this.labels.length && this.raise(e.start, "Unsyntactic " + t), this.finishNode(e, n ? "BreakStatement" : "ContinueStatement");
1984
- }, F.parseDebuggerStatement = function(e) {
1984
+ }, P.parseDebuggerStatement = function(e) {
1985
1985
  return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
1986
- }, F.parseDoStatement = function(e) {
1987
- return this.next(), this.labels.push(Pt), e.body = this.parseStatement("do"), this.labels.pop(), this.expect(k._while), e.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(k.semi) : this.semicolon(), this.finishNode(e, "DoWhileStatement");
1988
- }, F.parseForStatement = function(e) {
1986
+ }, P.parseDoStatement = function(e) {
1987
+ return this.next(), this.labels.push(Ft), e.body = this.parseStatement("do"), this.labels.pop(), this.expect(O._while), e.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(O.semi) : this.semicolon(), this.finishNode(e, "DoWhileStatement");
1988
+ }, P.parseForStatement = function(e) {
1989
1989
  this.next();
1990
1990
  var t = this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await") ? this.lastTokStart : -1;
1991
- if (this.labels.push(Pt), this.enterScope(0), this.expect(k.parenL), this.type === k.semi) return t > -1 && this.unexpected(t), this.parseFor(e, null);
1991
+ if (this.labels.push(Ft), this.enterScope(0), this.expect(O.parenL), this.type === O.semi) return t > -1 && this.unexpected(t), this.parseFor(e, null);
1992
1992
  var n = this.isLet();
1993
- if (this.type === k._var || this.type === k._const || n) {
1993
+ if (this.type === O._var || this.type === O._const || n) {
1994
1994
  var r = this.startNode(), i = n ? "let" : this.value;
1995
1995
  return this.next(), this.parseVar(r, !0, i), this.finishNode(r, "VariableDeclaration"), this.parseForAfterInit(e, r, t);
1996
1996
  }
@@ -1999,47 +1999,47 @@ F.isLet = function(e) {
1999
1999
  var c = this.startNode();
2000
2000
  return this.next(), s === "await using" && (this.canAwait || this.raise(this.start, "Await using cannot appear outside of async function"), this.next()), this.parseVar(c, !0, s), this.finishNode(c, "VariableDeclaration"), this.parseForAfterInit(e, c, t);
2001
2001
  }
2002
- var l = this.containsEsc, u = new Nt(), d = this.start, f = t > -1 ? this.parseExprSubscripts(u, "await") : this.parseExpression(!0, u);
2003
- return this.type === k._in || (o = this.options.ecmaVersion >= 6 && this.isContextual("of")) ? (t > -1 ? (this.type === k._in && this.unexpected(t), e.await = !0) : o && this.options.ecmaVersion >= 8 && (f.start === d && !l && f.type === "Identifier" && f.name === "async" ? this.unexpected() : this.options.ecmaVersion >= 9 && (e.await = !1)), a && o && this.raise(f.start, "The left-hand side of a for-of loop may not start with 'let'."), this.toAssignable(f, !1, u), this.checkLValPattern(f), this.parseForIn(e, f)) : (this.checkExpressionErrors(u, !0), t > -1 && this.unexpected(t), this.parseFor(e, f));
2004
- }, F.parseForAfterInit = function(e, t, n) {
2005
- return (this.type === k._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && t.declarations.length === 1 ? (this.type === k._in ? ((t.kind === "using" || t.kind === "await using") && !t.declarations[0].init && this.raise(this.start, "Using declaration is not allowed in for-in loops"), this.options.ecmaVersion >= 9 && n > -1 && this.unexpected(n)) : this.options.ecmaVersion >= 9 && (e.await = n > -1), this.parseForIn(e, t)) : (n > -1 && this.unexpected(n), this.parseFor(e, t));
2006
- }, F.parseFunctionStatement = function(e, t, n) {
2007
- return this.next(), this.parseFunction(e, Lt | (n ? 0 : Rt), !1, t);
2008
- }, F.parseIfStatement = function(e) {
2009
- return this.next(), e.test = this.parseParenExpression(), e.consequent = this.parseStatement("if"), e.alternate = this.eat(k._else) ? this.parseStatement("if") : null, this.finishNode(e, "IfStatement");
2010
- }, F.parseReturnStatement = function(e) {
2011
- return this.allowReturn || this.raise(this.start, "'return' outside of function"), this.next(), this.eat(k.semi) || this.insertSemicolon() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
2012
- }, F.parseSwitchStatement = function(e) {
2013
- this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(k.braceL), this.labels.push(Ft), this.enterScope(Ct);
2014
- for (var t, n = !1; this.type !== k.braceR;) if (this.type === k._case || this.type === k._default) {
2015
- var r = this.type === k._case;
2016
- t && this.finishNode(t, "SwitchCase"), e.cases.push(t = this.startNode()), t.consequent = [], this.next(), r ? t.test = this.parseExpression() : (n && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), n = !0, t.test = null), this.expect(k.colon);
2002
+ var l = this.containsEsc, u = new Pt(), d = this.start, f = t > -1 ? this.parseExprSubscripts(u, "await") : this.parseExpression(!0, u);
2003
+ return this.type === O._in || (o = this.options.ecmaVersion >= 6 && this.isContextual("of")) ? (t > -1 ? (this.type === O._in && this.unexpected(t), e.await = !0) : o && this.options.ecmaVersion >= 8 && (f.start === d && !l && f.type === "Identifier" && f.name === "async" ? this.unexpected() : this.options.ecmaVersion >= 9 && (e.await = !1)), a && o && this.raise(f.start, "The left-hand side of a for-of loop may not start with 'let'."), this.toAssignable(f, !1, u), this.checkLValPattern(f), this.parseForIn(e, f)) : (this.checkExpressionErrors(u, !0), t > -1 && this.unexpected(t), this.parseFor(e, f));
2004
+ }, P.parseForAfterInit = function(e, t, n) {
2005
+ return (this.type === O._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && t.declarations.length === 1 ? (this.type === O._in ? ((t.kind === "using" || t.kind === "await using") && !t.declarations[0].init && this.raise(this.start, "Using declaration is not allowed in for-in loops"), this.options.ecmaVersion >= 9 && n > -1 && this.unexpected(n)) : this.options.ecmaVersion >= 9 && (e.await = n > -1), this.parseForIn(e, t)) : (n > -1 && this.unexpected(n), this.parseFor(e, t));
2006
+ }, P.parseFunctionStatement = function(e, t, n) {
2007
+ return this.next(), this.parseFunction(e, Rt | (n ? 0 : zt), !1, t);
2008
+ }, P.parseIfStatement = function(e) {
2009
+ return this.next(), e.test = this.parseParenExpression(), e.consequent = this.parseStatement("if"), e.alternate = this.eat(O._else) ? this.parseStatement("if") : null, this.finishNode(e, "IfStatement");
2010
+ }, P.parseReturnStatement = function(e) {
2011
+ return this.allowReturn || this.raise(this.start, "'return' outside of function"), this.next(), this.eat(O.semi) || this.insertSemicolon() ? e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
2012
+ }, P.parseSwitchStatement = function(e) {
2013
+ this.next(), e.discriminant = this.parseParenExpression(), e.cases = [], this.expect(O.braceL), this.labels.push(It), this.enterScope(wt);
2014
+ for (var t, n = !1; this.type !== O.braceR;) if (this.type === O._case || this.type === O._default) {
2015
+ var r = this.type === O._case;
2016
+ t && this.finishNode(t, "SwitchCase"), e.cases.push(t = this.startNode()), t.consequent = [], this.next(), r ? t.test = this.parseExpression() : (n && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), n = !0, t.test = null), this.expect(O.colon);
2017
2017
  } else t || this.unexpected(), t.consequent.push(this.parseStatement(null));
2018
2018
  return this.exitScope(), t && this.finishNode(t, "SwitchCase"), this.next(), this.labels.pop(), this.finishNode(e, "SwitchStatement");
2019
- }, F.parseThrowStatement = function(e) {
2020
- return this.next(), A.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");
2019
+ }, P.parseThrowStatement = function(e) {
2020
+ return this.next(), k.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");
2021
2021
  };
2022
- var It = [];
2023
- F.parseCatchClauseParam = function() {
2022
+ var Lt = [];
2023
+ P.parseCatchClauseParam = function() {
2024
2024
  var e = this.parseBindingAtom(), t = e.type === "Identifier";
2025
- return this.enterScope(t ? vt : 0), this.checkLValPattern(e, t ? At : Ot), this.expect(k.parenR), e;
2026
- }, F.parseTryStatement = function(e) {
2027
- if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === k._catch) {
2025
+ return this.enterScope(t ? yt : 0), this.checkLValPattern(e, t ? jt : kt), this.expect(O.parenR), e;
2026
+ }, P.parseTryStatement = function(e) {
2027
+ if (this.next(), e.block = this.parseBlock(), e.handler = null, this.type === O._catch) {
2028
2028
  var t = this.startNode();
2029
- this.next(), this.eat(k.parenL) ? t.param = this.parseCatchClauseParam() : (this.options.ecmaVersion < 10 && this.unexpected(), t.param = null, this.enterScope(0)), t.body = this.parseBlock(!1), this.exitScope(), e.handler = this.finishNode(t, "CatchClause");
2029
+ this.next(), this.eat(O.parenL) ? t.param = this.parseCatchClauseParam() : (this.options.ecmaVersion < 10 && this.unexpected(), t.param = null, this.enterScope(0)), t.body = this.parseBlock(!1), this.exitScope(), e.handler = this.finishNode(t, "CatchClause");
2030
2030
  }
2031
- return e.finalizer = this.eat(k._finally) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(e.start, "Missing catch or finally clause"), this.finishNode(e, "TryStatement");
2032
- }, F.parseVarStatement = function(e, t, n) {
2031
+ return e.finalizer = this.eat(O._finally) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(e.start, "Missing catch or finally clause"), this.finishNode(e, "TryStatement");
2032
+ }, P.parseVarStatement = function(e, t, n) {
2033
2033
  return this.next(), this.parseVar(e, !1, t, n), this.semicolon(), this.finishNode(e, "VariableDeclaration");
2034
- }, F.parseWhileStatement = function(e) {
2035
- return this.next(), e.test = this.parseParenExpression(), this.labels.push(Pt), e.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e, "WhileStatement");
2036
- }, F.parseWithStatement = function(e) {
2034
+ }, P.parseWhileStatement = function(e) {
2035
+ return this.next(), e.test = this.parseParenExpression(), this.labels.push(Ft), e.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e, "WhileStatement");
2036
+ }, P.parseWithStatement = function(e) {
2037
2037
  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");
2038
- }, F.parseEmptyStatement = function(e) {
2038
+ }, P.parseEmptyStatement = function(e) {
2039
2039
  return this.next(), this.finishNode(e, "EmptyStatement");
2040
- }, F.parseLabeledStatement = function(e, t, n, r) {
2040
+ }, P.parseLabeledStatement = function(e, t, n, r) {
2041
2041
  for (var i = 0, a = this.labels; i < a.length; i += 1) a[i].name === t && this.raise(n.start, "Label '" + t + "' is already declared");
2042
- for (var o = this.type.isLoop ? "loop" : this.type === k._switch ? "switch" : null, s = this.labels.length - 1; s >= 0; s--) {
2042
+ for (var o = this.type.isLoop ? "loop" : this.type === O._switch ? "switch" : null, s = this.labels.length - 1; s >= 0; s--) {
2043
2043
  var c = this.labels[s];
2044
2044
  if (c.statementStart === e.start) c.statementStart = this.start, c.kind = o;
2045
2045
  else break;
@@ -2049,113 +2049,113 @@ F.parseCatchClauseParam = function() {
2049
2049
  kind: o,
2050
2050
  statementStart: this.start
2051
2051
  }), e.body = this.parseStatement(r ? r.indexOf("label") === -1 ? r + "label" : r : "label"), this.labels.pop(), e.label = n, this.finishNode(e, "LabeledStatement");
2052
- }, F.parseExpressionStatement = function(e, t) {
2052
+ }, P.parseExpressionStatement = function(e, t) {
2053
2053
  return e.expression = t, this.semicolon(), this.finishNode(e, "ExpressionStatement");
2054
- }, F.parseBlock = function(e, t, n) {
2055
- for (e === void 0 && (e = !0), t === void 0 && (t = this.startNode()), t.body = [], this.expect(k.braceL), e && this.enterScope(0); this.type !== k.braceR;) {
2054
+ }, P.parseBlock = function(e, t, n) {
2055
+ for (e === void 0 && (e = !0), t === void 0 && (t = this.startNode()), t.body = [], this.expect(O.braceL), e && this.enterScope(0); this.type !== O.braceR;) {
2056
2056
  var r = this.parseStatement(null);
2057
2057
  t.body.push(r);
2058
2058
  }
2059
2059
  return n && (this.strict = !1), this.next(), e && this.exitScope(), this.finishNode(t, "BlockStatement");
2060
- }, F.parseFor = function(e, t) {
2061
- return e.init = t, this.expect(k.semi), e.test = this.type === k.semi ? null : this.parseExpression(), this.expect(k.semi), e.update = this.type === k.parenR ? null : this.parseExpression(), this.expect(k.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, "ForStatement");
2062
- }, F.parseForIn = function(e, t) {
2063
- var n = this.type === k._in;
2064
- return this.next(), t.type === "VariableDeclaration" && t.declarations[0].init != null && (!n || this.options.ecmaVersion < 8 || this.strict || t.kind !== "var" || t.declarations[0].id.type !== "Identifier") && this.raise(t.start, (n ? "for-in" : "for-of") + " loop variable declaration may not have an initializer"), e.left = t, e.right = n ? this.parseExpression() : this.parseMaybeAssign(), this.expect(k.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, n ? "ForInStatement" : "ForOfStatement");
2065
- }, F.parseVar = function(e, t, n, r) {
2060
+ }, P.parseFor = function(e, t) {
2061
+ return e.init = t, this.expect(O.semi), e.test = this.type === O.semi ? null : this.parseExpression(), this.expect(O.semi), e.update = this.type === O.parenR ? null : this.parseExpression(), this.expect(O.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, "ForStatement");
2062
+ }, P.parseForIn = function(e, t) {
2063
+ var n = this.type === O._in;
2064
+ return this.next(), t.type === "VariableDeclaration" && t.declarations[0].init != null && (!n || this.options.ecmaVersion < 8 || this.strict || t.kind !== "var" || t.declarations[0].id.type !== "Identifier") && this.raise(t.start, (n ? "for-in" : "for-of") + " loop variable declaration may not have an initializer"), e.left = t, e.right = n ? this.parseExpression() : this.parseMaybeAssign(), this.expect(O.parenR), e.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e, n ? "ForInStatement" : "ForOfStatement");
2065
+ }, P.parseVar = function(e, t, n, r) {
2066
2066
  for (e.declarations = [], e.kind = n;;) {
2067
2067
  var i = this.startNode();
2068
- if (this.parseVarId(i, n), this.eat(k.eq) ? i.init = this.parseMaybeAssign(t) : !r && n === "const" && !(this.type === k._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) ? this.unexpected() : !r && (n === "using" || n === "await using") && this.options.ecmaVersion >= 17 && this.type !== k._in && !this.isContextual("of") ? this.raise(this.lastTokEnd, "Missing initializer in " + n + " declaration") : !r && i.id.type !== "Identifier" && !(t && (this.type === k._in || this.isContextual("of"))) ? this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : i.init = null, e.declarations.push(this.finishNode(i, "VariableDeclarator")), !this.eat(k.comma)) break;
2068
+ if (this.parseVarId(i, n), this.eat(O.eq) ? i.init = this.parseMaybeAssign(t) : !r && n === "const" && !(this.type === O._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) ? this.unexpected() : !r && (n === "using" || n === "await using") && this.options.ecmaVersion >= 17 && this.type !== O._in && !this.isContextual("of") ? this.raise(this.lastTokEnd, "Missing initializer in " + n + " declaration") : !r && i.id.type !== "Identifier" && (!t || this.type !== O._in && !this.isContextual("of")) ? this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : i.init = null, e.declarations.push(this.finishNode(i, "VariableDeclarator")), !this.eat(O.comma)) break;
2069
2069
  }
2070
2070
  return e;
2071
- }, F.parseVarId = function(e, t) {
2072
- e.id = t === "using" || t === "await using" ? this.parseIdent() : this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ? Dt : Ot, !1);
2071
+ }, P.parseVarId = function(e, t) {
2072
+ e.id = t === "using" || t === "await using" ? this.parseIdent() : this.parseBindingAtom(), this.checkLValPattern(e.id, t === "var" ? Ot : kt, !1);
2073
2073
  };
2074
- var Lt = 1, Rt = 2, zt = 4;
2075
- F.parseFunction = function(e, t, n, r, i) {
2076
- this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !r) && (this.type === k.star && t & Rt && this.unexpected(), e.generator = this.eat(k.star)), this.options.ecmaVersion >= 8 && (e.async = !!r), t & Lt && (e.id = t & zt && this.type !== k.name ? null : this.parseIdent(), e.id && !(t & Rt) && this.checkLValSimple(e.id, this.strict || e.generator || e.async ? this.treatFunctionsAsVar ? Dt : Ot : kt));
2074
+ var Rt = 1, zt = 2, Bt = 4;
2075
+ P.parseFunction = function(e, t, n, r, i) {
2076
+ this.initFunction(e), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !r) && (this.type === O.star && t & zt && this.unexpected(), e.generator = this.eat(O.star)), this.options.ecmaVersion >= 8 && (e.async = !!r), t & Rt && (e.id = t & Bt && this.type !== O.name ? null : this.parseIdent(), e.id && !(t & zt) && this.checkLValSimple(e.id, this.strict || e.generator || e.async ? this.treatFunctionsAsVar ? Ot : kt : At));
2077
2077
  var a = this.yieldPos, o = this.awaitPos, s = this.awaitIdentPos;
2078
- return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(Tt(e.async, e.generator)), t & Lt || (e.id = this.type === k.name ? this.parseIdent() : null), this.parseFunctionParams(e), this.parseFunctionBody(e, n, !1, i), this.yieldPos = a, this.awaitPos = o, this.awaitIdentPos = s, this.finishNode(e, t & Lt ? "FunctionDeclaration" : "FunctionExpression");
2079
- }, F.parseFunctionParams = function(e) {
2080
- this.expect(k.parenL), e.params = this.parseBindingList(k.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams();
2081
- }, F.parseClass = function(e, t) {
2078
+ return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(Et(e.async, e.generator)), t & Rt || (e.id = this.type === O.name ? this.parseIdent() : null), this.parseFunctionParams(e), this.parseFunctionBody(e, n, !1, i), this.yieldPos = a, this.awaitPos = o, this.awaitIdentPos = s, this.finishNode(e, t & Rt ? "FunctionDeclaration" : "FunctionExpression");
2079
+ }, P.parseFunctionParams = function(e) {
2080
+ this.expect(O.parenL), e.params = this.parseBindingList(O.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams();
2081
+ }, P.parseClass = function(e, t) {
2082
2082
  this.next();
2083
2083
  var n = this.strict;
2084
2084
  this.strict = !0, this.parseClassId(e, t), this.parseClassSuper(e);
2085
2085
  var r = this.enterClassBody(), i = this.startNode(), a = !1;
2086
- for (i.body = [], this.expect(k.braceL); this.type !== k.braceR;) {
2086
+ for (i.body = [], this.expect(O.braceL); this.type !== O.braceR;) {
2087
2087
  var o = this.parseClassElement(e.superClass !== null);
2088
- o && (i.body.push(o), o.type === "MethodDefinition" && o.kind === "constructor" ? (a && this.raiseRecoverable(o.start, "Duplicate constructor in the same class"), a = !0) : o.key && o.key.type === "PrivateIdentifier" && Bt(r, o) && this.raiseRecoverable(o.key.start, "Identifier '#" + o.key.name + "' has already been declared"));
2088
+ o && (i.body.push(o), o.type === "MethodDefinition" && o.kind === "constructor" ? (a && this.raiseRecoverable(o.start, "Duplicate constructor in the same class"), a = !0) : o.key && o.key.type === "PrivateIdentifier" && Vt(r, o) && this.raiseRecoverable(o.key.start, "Identifier '#" + o.key.name + "' has already been declared"));
2089
2089
  }
2090
2090
  return this.strict = n, this.next(), e.body = this.finishNode(i, "ClassBody"), this.exitClassBody(), this.finishNode(e, t ? "ClassDeclaration" : "ClassExpression");
2091
- }, F.parseClassElement = function(e) {
2092
- if (this.eat(k.semi)) return null;
2091
+ }, P.parseClassElement = function(e) {
2092
+ if (this.eat(O.semi)) return null;
2093
2093
  var t = this.options.ecmaVersion, n = this.startNode(), r = "", i = !1, a = !1, o = "method", s = !1;
2094
2094
  if (this.eatContextual("static")) {
2095
- if (t >= 13 && this.eat(k.braceL)) return this.parseClassStaticBlock(n), n;
2096
- this.isClassElementNameStart() || this.type === k.star ? s = !0 : r = "static";
2095
+ if (t >= 13 && this.eat(O.braceL)) return this.parseClassStaticBlock(n), n;
2096
+ this.isClassElementNameStart() || this.type === O.star ? s = !0 : r = "static";
2097
2097
  }
2098
- if (n.static = s, !r && t >= 8 && this.eatContextual("async") && ((this.isClassElementNameStart() || this.type === k.star) && !this.canInsertSemicolon() ? a = !0 : r = "async"), !r && (t >= 9 || !a) && this.eat(k.star) && (i = !0), !r && !a && !i) {
2098
+ if (n.static = s, !r && t >= 8 && this.eatContextual("async") && ((this.isClassElementNameStart() || this.type === O.star) && !this.canInsertSemicolon() ? a = !0 : r = "async"), !r && (t >= 9 || !a) && this.eat(O.star) && (i = !0), !r && !a && !i) {
2099
2099
  var c = this.value;
2100
2100
  (this.eatContextual("get") || this.eatContextual("set")) && (this.isClassElementNameStart() ? o = c : r = c);
2101
2101
  }
2102
- if (r ? (n.computed = !1, n.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc), n.key.name = r, this.finishNode(n.key, "Identifier")) : this.parseClassElementName(n), t < 13 || this.type === k.parenL || o !== "method" || i || a) {
2103
- var l = !n.static && Vt(n, "constructor"), u = l && e;
2102
+ if (r ? (n.computed = !1, n.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc), n.key.name = r, this.finishNode(n.key, "Identifier")) : this.parseClassElementName(n), t < 13 || this.type === O.parenL || o !== "method" || i || a) {
2103
+ var l = !n.static && Ht(n, "constructor"), u = l && e;
2104
2104
  l && o !== "method" && this.raise(n.key.start, "Constructor can't have get/set modifier"), n.kind = l ? "constructor" : o, this.parseClassMethod(n, i, a, u);
2105
2105
  } else this.parseClassField(n);
2106
2106
  return n;
2107
- }, F.isClassElementNameStart = function() {
2108
- return this.type === k.name || this.type === k.privateId || this.type === k.num || this.type === k.string || this.type === k.bracketL || this.type.keyword;
2109
- }, F.parseClassElementName = function(e) {
2110
- this.type === k.privateId ? (this.value === "constructor" && this.raise(this.start, "Classes can't have an element named '#constructor'"), e.computed = !1, e.key = this.parsePrivateIdent()) : this.parsePropertyName(e);
2111
- }, F.parseClassMethod = function(e, t, n, r) {
2107
+ }, P.isClassElementNameStart = function() {
2108
+ return this.type === O.name || this.type === O.privateId || this.type === O.num || this.type === O.string || this.type === O.bracketL || this.type.keyword;
2109
+ }, P.parseClassElementName = function(e) {
2110
+ this.type === O.privateId ? (this.value === "constructor" && this.raise(this.start, "Classes can't have an element named '#constructor'"), e.computed = !1, e.key = this.parsePrivateIdent()) : this.parsePropertyName(e);
2111
+ }, P.parseClassMethod = function(e, t, n, r) {
2112
2112
  var i = e.key;
2113
- e.kind === "constructor" ? (t && this.raise(i.start, "Constructor can't be a generator"), n && this.raise(i.start, "Constructor can't be an async method")) : e.static && Vt(e, "prototype") && this.raise(i.start, "Classes may not have a static property named prototype");
2113
+ e.kind === "constructor" ? (t && this.raise(i.start, "Constructor can't be a generator"), n && this.raise(i.start, "Constructor can't be an async method")) : e.static && Ht(e, "prototype") && this.raise(i.start, "Classes may not have a static property named prototype");
2114
2114
  var a = e.value = this.parseMethod(t, n, r);
2115
2115
  return e.kind === "get" && a.params.length !== 0 && this.raiseRecoverable(a.start, "getter should have no params"), e.kind === "set" && a.params.length !== 1 && this.raiseRecoverable(a.start, "setter should have exactly one param"), e.kind === "set" && a.params[0].type === "RestElement" && this.raiseRecoverable(a.params[0].start, "Setter cannot use rest params"), this.finishNode(e, "MethodDefinition");
2116
- }, F.parseClassField = function(e) {
2117
- return Vt(e, "constructor") ? this.raise(e.key.start, "Classes can't have a field named 'constructor'") : e.static && Vt(e, "prototype") && this.raise(e.key.start, "Classes can't have a static field named 'prototype'"), this.eat(k.eq) ? (this.enterScope(St | yt), e.value = this.parseMaybeAssign(), this.exitScope()) : e.value = null, this.semicolon(), this.finishNode(e, "PropertyDefinition");
2118
- }, F.parseClassStaticBlock = function(e) {
2116
+ }, P.parseClassField = function(e) {
2117
+ return Ht(e, "constructor") ? this.raise(e.key.start, "Classes can't have a field named 'constructor'") : e.static && Ht(e, "prototype") && this.raise(e.key.start, "Classes can't have a static field named 'prototype'"), this.eat(O.eq) ? (this.enterScope(Ct | bt), e.value = this.parseMaybeAssign(), this.exitScope()) : e.value = null, this.semicolon(), this.finishNode(e, "PropertyDefinition");
2118
+ }, P.parseClassStaticBlock = function(e) {
2119
2119
  e.body = [];
2120
2120
  var t = this.labels;
2121
- for (this.labels = [], this.enterScope(xt | yt); this.type !== k.braceR;) {
2121
+ for (this.labels = [], this.enterScope(St | bt); this.type !== O.braceR;) {
2122
2122
  var n = this.parseStatement(null);
2123
2123
  e.body.push(n);
2124
2124
  }
2125
2125
  return this.next(), this.exitScope(), this.labels = t, this.finishNode(e, "StaticBlock");
2126
- }, F.parseClassId = function(e, t) {
2127
- this.type === k.name ? (e.id = this.parseIdent(), t && this.checkLValSimple(e.id, Ot, !1)) : (t === !0 && this.unexpected(), e.id = null);
2128
- }, F.parseClassSuper = function(e) {
2129
- e.superClass = this.eat(k._extends) ? this.parseExprSubscripts(null, !1) : null;
2130
- }, F.enterClassBody = function() {
2126
+ }, P.parseClassId = function(e, t) {
2127
+ this.type === O.name ? (e.id = this.parseIdent(), t && this.checkLValSimple(e.id, kt, !1)) : (t === !0 && this.unexpected(), e.id = null);
2128
+ }, P.parseClassSuper = function(e) {
2129
+ e.superClass = this.eat(O._extends) ? this.parseExprSubscripts(null, !1) : null;
2130
+ }, P.enterClassBody = function() {
2131
2131
  var e = {
2132
2132
  declared: Object.create(null),
2133
2133
  used: []
2134
2134
  };
2135
2135
  return this.privateNameStack.push(e), e.declared;
2136
- }, F.exitClassBody = function() {
2136
+ }, P.exitClassBody = function() {
2137
2137
  var e = this.privateNameStack.pop(), t = e.declared, n = e.used;
2138
2138
  if (this.options.checkPrivateFields) for (var r = this.privateNameStack.length, i = r === 0 ? null : this.privateNameStack[r - 1], a = 0; a < n.length; ++a) {
2139
2139
  var o = n[a];
2140
- et(t, o.name) || (i ? i.used.push(o) : this.raiseRecoverable(o.start, "Private field '#" + o.name + "' must be declared in an enclosing class"));
2140
+ tt(t, o.name) || (i ? i.used.push(o) : this.raiseRecoverable(o.start, "Private field '#" + o.name + "' must be declared in an enclosing class"));
2141
2141
  }
2142
2142
  };
2143
- function Bt(e, t) {
2143
+ function Vt(e, t) {
2144
2144
  var n = t.key.name, r = e[n], i = "true";
2145
2145
  return t.type === "MethodDefinition" && (t.kind === "get" || t.kind === "set") && (i = (t.static ? "s" : "i") + t.kind), r === "iget" && i === "iset" || r === "iset" && i === "iget" || r === "sget" && i === "sset" || r === "sset" && i === "sget" ? (e[n] = "true", !1) : r ? !0 : (e[n] = i, !1);
2146
2146
  }
2147
- function Vt(e, t) {
2147
+ function Ht(e, t) {
2148
2148
  var n = e.computed, r = e.key;
2149
2149
  return !n && (r.type === "Identifier" && r.name === t || r.type === "Literal" && r.value === t);
2150
2150
  }
2151
- F.parseExportAllDeclaration = function(e, t) {
2152
- 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 !== k.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ExportAllDeclaration");
2153
- }, F.parseExport = function(e, t) {
2154
- if (this.next(), this.eat(k.star)) return this.parseExportAllDeclaration(e, t);
2155
- if (this.eat(k._default)) return this.checkExport(t, "default", this.lastTokStart), e.declaration = this.parseExportDefaultDeclaration(), this.finishNode(e, "ExportDefaultDeclaration");
2151
+ P.parseExportAllDeclaration = function(e, t) {
2152
+ 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 !== O.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ExportAllDeclaration");
2153
+ }, P.parseExport = function(e, t) {
2154
+ if (this.next(), this.eat(O.star)) return this.parseExportAllDeclaration(e, t);
2155
+ if (this.eat(O._default)) return this.checkExport(t, "default", this.lastTokStart), e.declaration = this.parseExportDefaultDeclaration(), this.finishNode(e, "ExportDefaultDeclaration");
2156
2156
  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 = []);
2157
2157
  else {
2158
- if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(t), this.eatContextual("from")) this.type !== k.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause());
2158
+ if (e.declaration = null, e.specifiers = this.parseExportSpecifiers(t), this.eatContextual("from")) this.type !== O.string && this.unexpected(), e.source = this.parseExprAtom(), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause());
2159
2159
  else {
2160
2160
  for (var n = 0, r = e.specifiers; n < r.length; n += 1) {
2161
2161
  var i = r[n];
@@ -2166,23 +2166,23 @@ F.parseExportAllDeclaration = function(e, t) {
2166
2166
  this.semicolon();
2167
2167
  }
2168
2168
  return this.finishNode(e, "ExportNamedDeclaration");
2169
- }, F.parseExportDeclaration = function(e) {
2169
+ }, P.parseExportDeclaration = function(e) {
2170
2170
  return this.parseStatement(null);
2171
- }, F.parseExportDefaultDeclaration = function() {
2171
+ }, P.parseExportDefaultDeclaration = function() {
2172
2172
  var e;
2173
- if (this.type === k._function || (e = this.isAsyncFunction())) {
2173
+ if (this.type === O._function || (e = this.isAsyncFunction())) {
2174
2174
  var t = this.startNode();
2175
- return this.next(), e && this.next(), this.parseFunction(t, Lt | zt, !1, e);
2175
+ return this.next(), e && this.next(), this.parseFunction(t, Rt | Bt, !1, e);
2176
2176
  }
2177
- if (this.type === k._class) {
2177
+ if (this.type === O._class) {
2178
2178
  var n = this.startNode();
2179
2179
  return this.parseClass(n, "nullableID");
2180
2180
  }
2181
2181
  var r = this.parseMaybeAssign();
2182
2182
  return this.semicolon(), r;
2183
- }, F.checkExport = function(e, t, n) {
2184
- e && (typeof t != "string" && (t = t.type === "Identifier" ? t.name : t.value), et(e, t) && this.raiseRecoverable(n, "Duplicate export '" + t + "'"), e[t] = !0);
2185
- }, F.checkPatternExport = function(e, t) {
2183
+ }, P.checkExport = function(e, t, n) {
2184
+ e && (typeof t != "string" && (t = t.type === "Identifier" ? t.name : t.value), tt(e, t) && this.raiseRecoverable(n, "Duplicate export '" + t + "'"), e[t] = !0);
2185
+ }, P.checkPatternExport = function(e, t) {
2186
2186
  var n = t.type;
2187
2187
  if (n === "Identifier") this.checkExport(e, t, t.start);
2188
2188
  else if (n === "ObjectPattern") for (var r = 0, i = t.properties; r < i.length; r += 1) {
@@ -2194,72 +2194,72 @@ F.parseExportAllDeclaration = function(e, t) {
2194
2194
  c && this.checkPatternExport(e, c);
2195
2195
  }
2196
2196
  else n === "Property" ? this.checkPatternExport(e, t.value) : n === "AssignmentPattern" ? this.checkPatternExport(e, t.left) : n === "RestElement" && this.checkPatternExport(e, t.argument);
2197
- }, F.checkVariableExport = function(e, t) {
2197
+ }, P.checkVariableExport = function(e, t) {
2198
2198
  if (e) for (var n = 0, r = t; n < r.length; n += 1) {
2199
2199
  var i = r[n];
2200
2200
  this.checkPatternExport(e, i.id);
2201
2201
  }
2202
- }, F.shouldParseExportStatement = function() {
2202
+ }, P.shouldParseExportStatement = function() {
2203
2203
  return this.type.keyword === "var" || this.type.keyword === "const" || this.type.keyword === "class" || this.type.keyword === "function" || this.isLet() || this.isAsyncFunction();
2204
- }, F.parseExportSpecifier = function(e) {
2204
+ }, P.parseExportSpecifier = function(e) {
2205
2205
  var t = this.startNode();
2206
2206
  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");
2207
- }, F.parseExportSpecifiers = function(e) {
2207
+ }, P.parseExportSpecifiers = function(e) {
2208
2208
  var t = [], n = !0;
2209
- for (this.expect(k.braceL); !this.eat(k.braceR);) {
2209
+ for (this.expect(O.braceL); !this.eat(O.braceR);) {
2210
2210
  if (n) n = !1;
2211
- else if (this.expect(k.comma), this.afterTrailingComma(k.braceR)) break;
2211
+ else if (this.expect(O.comma), this.afterTrailingComma(O.braceR)) break;
2212
2212
  t.push(this.parseExportSpecifier(e));
2213
2213
  }
2214
2214
  return t;
2215
- }, F.parseImport = function(e) {
2216
- return this.next(), this.type === k.string ? (e.specifiers = It, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual("from"), e.source = this.type === k.string ? this.parseExprAtom() : this.unexpected()), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ImportDeclaration");
2217
- }, F.parseImportSpecifier = function() {
2215
+ }, P.parseImport = function(e) {
2216
+ return this.next(), this.type === O.string ? (e.specifiers = Lt, e.source = this.parseExprAtom()) : (e.specifiers = this.parseImportSpecifiers(), this.expectContextual("from"), e.source = this.type === O.string ? this.parseExprAtom() : this.unexpected()), this.options.ecmaVersion >= 16 && (e.attributes = this.parseWithClause()), this.semicolon(), this.finishNode(e, "ImportDeclaration");
2217
+ }, P.parseImportSpecifier = function() {
2218
2218
  var e = this.startNode();
2219
- return e.imported = this.parseModuleExportName(), this.eatContextual("as") ? e.local = this.parseIdent() : (this.checkUnreserved(e.imported), e.local = e.imported), this.checkLValSimple(e.local, Ot), this.finishNode(e, "ImportSpecifier");
2220
- }, F.parseImportDefaultSpecifier = function() {
2219
+ return e.imported = this.parseModuleExportName(), this.eatContextual("as") ? e.local = this.parseIdent() : (this.checkUnreserved(e.imported), e.local = e.imported), this.checkLValSimple(e.local, kt), this.finishNode(e, "ImportSpecifier");
2220
+ }, P.parseImportDefaultSpecifier = function() {
2221
2221
  var e = this.startNode();
2222
- return e.local = this.parseIdent(), this.checkLValSimple(e.local, Ot), this.finishNode(e, "ImportDefaultSpecifier");
2223
- }, F.parseImportNamespaceSpecifier = function() {
2222
+ return e.local = this.parseIdent(), this.checkLValSimple(e.local, kt), this.finishNode(e, "ImportDefaultSpecifier");
2223
+ }, P.parseImportNamespaceSpecifier = function() {
2224
2224
  var e = this.startNode();
2225
- return this.next(), this.expectContextual("as"), e.local = this.parseIdent(), this.checkLValSimple(e.local, Ot), this.finishNode(e, "ImportNamespaceSpecifier");
2226
- }, F.parseImportSpecifiers = function() {
2225
+ return this.next(), this.expectContextual("as"), e.local = this.parseIdent(), this.checkLValSimple(e.local, kt), this.finishNode(e, "ImportNamespaceSpecifier");
2226
+ }, P.parseImportSpecifiers = function() {
2227
2227
  var e = [], t = !0;
2228
- if (this.type === k.name && (e.push(this.parseImportDefaultSpecifier()), !this.eat(k.comma))) return e;
2229
- if (this.type === k.star) return e.push(this.parseImportNamespaceSpecifier()), e;
2230
- for (this.expect(k.braceL); !this.eat(k.braceR);) {
2228
+ if (this.type === O.name && (e.push(this.parseImportDefaultSpecifier()), !this.eat(O.comma))) return e;
2229
+ if (this.type === O.star) return e.push(this.parseImportNamespaceSpecifier()), e;
2230
+ for (this.expect(O.braceL); !this.eat(O.braceR);) {
2231
2231
  if (t) t = !1;
2232
- else if (this.expect(k.comma), this.afterTrailingComma(k.braceR)) break;
2232
+ else if (this.expect(O.comma), this.afterTrailingComma(O.braceR)) break;
2233
2233
  e.push(this.parseImportSpecifier());
2234
2234
  }
2235
2235
  return e;
2236
- }, F.parseWithClause = function() {
2236
+ }, P.parseWithClause = function() {
2237
2237
  var e = [];
2238
- if (!this.eat(k._with)) return e;
2239
- this.expect(k.braceL);
2240
- for (var t = {}, n = !0; !this.eat(k.braceR);) {
2238
+ if (!this.eat(O._with)) return e;
2239
+ this.expect(O.braceL);
2240
+ for (var t = {}, n = !0; !this.eat(O.braceR);) {
2241
2241
  if (n) n = !1;
2242
- else if (this.expect(k.comma), this.afterTrailingComma(k.braceR)) break;
2242
+ else if (this.expect(O.comma), this.afterTrailingComma(O.braceR)) break;
2243
2243
  var r = this.parseImportAttribute(), i = r.key.type === "Identifier" ? r.key.name : r.key.value;
2244
- et(t, i) && this.raiseRecoverable(r.key.start, "Duplicate attribute key '" + i + "'"), t[i] = !0, e.push(r);
2244
+ tt(t, i) && this.raiseRecoverable(r.key.start, "Duplicate attribute key '" + i + "'"), t[i] = !0, e.push(r);
2245
2245
  }
2246
2246
  return e;
2247
- }, F.parseImportAttribute = function() {
2247
+ }, P.parseImportAttribute = function() {
2248
2248
  var e = this.startNode();
2249
- return e.key = this.type === k.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never"), this.expect(k.colon), this.type !== k.string && this.unexpected(), e.value = this.parseExprAtom(), this.finishNode(e, "ImportAttribute");
2250
- }, F.parseModuleExportName = function() {
2251
- if (this.options.ecmaVersion >= 13 && this.type === k.string) {
2249
+ return e.key = this.type === O.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never"), this.expect(O.colon), this.type !== O.string && this.unexpected(), e.value = this.parseExprAtom(), this.finishNode(e, "ImportAttribute");
2250
+ }, P.parseModuleExportName = function() {
2251
+ if (this.options.ecmaVersion >= 13 && this.type === O.string) {
2252
2252
  var e = this.parseLiteral(this.value);
2253
- return at.test(e.value) && this.raise(e.start, "An export name cannot include a lone surrogate."), e;
2253
+ return ot.test(e.value) && this.raise(e.start, "An export name cannot include a lone surrogate."), e;
2254
2254
  }
2255
2255
  return this.parseIdent(!0);
2256
- }, F.adaptDirectivePrologue = function(e) {
2256
+ }, P.adaptDirectivePrologue = function(e) {
2257
2257
  for (var t = 0; t < e.length && this.isDirectiveCandidate(e[t]); ++t) e[t].directive = e[t].expression.raw.slice(1, -1);
2258
- }, F.isDirectiveCandidate = function(e) {
2258
+ }, P.isDirectiveCandidate = function(e) {
2259
2259
  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] === "'");
2260
2260
  };
2261
- var I = M.prototype;
2262
- I.toAssignable = function(e, t, n) {
2261
+ var F = j.prototype;
2262
+ F.toAssignable = function(e, t, n) {
2263
2263
  if (this.options.ecmaVersion >= 6 && e) switch (e.type) {
2264
2264
  case "Identifier":
2265
2265
  this.inAsync && e.name === "await" && this.raise(e.start, "Cannot use 'await' as identifier inside an async function");
@@ -2298,7 +2298,7 @@ I.toAssignable = function(e, t, n) {
2298
2298
  }
2299
2299
  else n && this.checkPatternErrors(n, !0);
2300
2300
  return e;
2301
- }, I.toAssignableList = function(e, t) {
2301
+ }, F.toAssignableList = function(e, t) {
2302
2302
  for (var n = e.length, r = 0; r < n; r++) {
2303
2303
  var i = e[r];
2304
2304
  i && this.toAssignable(i, t);
@@ -2308,44 +2308,44 @@ I.toAssignable = function(e, t, n) {
2308
2308
  this.options.ecmaVersion === 6 && t && a && a.type === "RestElement" && a.argument.type !== "Identifier" && this.unexpected(a.argument.start);
2309
2309
  }
2310
2310
  return e;
2311
- }, I.parseSpread = function(e) {
2311
+ }, F.parseSpread = function(e) {
2312
2312
  var t = this.startNode();
2313
2313
  return this.next(), t.argument = this.parseMaybeAssign(!1, e), this.finishNode(t, "SpreadElement");
2314
- }, I.parseRestBinding = function() {
2314
+ }, F.parseRestBinding = function() {
2315
2315
  var e = this.startNode();
2316
- return this.next(), this.options.ecmaVersion === 6 && this.type !== k.name && this.unexpected(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
2317
- }, I.parseBindingAtom = function() {
2316
+ return this.next(), this.options.ecmaVersion === 6 && this.type !== O.name && this.unexpected(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
2317
+ }, F.parseBindingAtom = function() {
2318
2318
  if (this.options.ecmaVersion >= 6) switch (this.type) {
2319
- case k.bracketL:
2319
+ case O.bracketL:
2320
2320
  var e = this.startNode();
2321
- return this.next(), e.elements = this.parseBindingList(k.bracketR, !0, !0), this.finishNode(e, "ArrayPattern");
2322
- case k.braceL: return this.parseObj(!0);
2321
+ return this.next(), e.elements = this.parseBindingList(O.bracketR, !0, !0), this.finishNode(e, "ArrayPattern");
2322
+ case O.braceL: return this.parseObj(!0);
2323
2323
  }
2324
2324
  return this.parseIdent();
2325
- }, I.parseBindingList = function(e, t, n, r) {
2326
- for (var i = [], a = !0; !this.eat(e);) if (a ? a = !1 : this.expect(k.comma), t && this.type === k.comma) i.push(null);
2325
+ }, F.parseBindingList = function(e, t, n, r) {
2326
+ for (var i = [], a = !0; !this.eat(e);) if (a ? a = !1 : this.expect(O.comma), t && this.type === O.comma) i.push(null);
2327
2327
  else if (n && this.afterTrailingComma(e)) break;
2328
- else if (this.type === k.ellipsis) {
2328
+ else if (this.type === O.ellipsis) {
2329
2329
  var o = this.parseRestBinding();
2330
- this.parseBindingListItem(o), i.push(o), this.type === k.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.expect(e);
2330
+ this.parseBindingListItem(o), i.push(o), this.type === O.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.expect(e);
2331
2331
  break;
2332
2332
  } else i.push(this.parseAssignableListItem(r));
2333
2333
  return i;
2334
- }, I.parseAssignableListItem = function(e) {
2334
+ }, F.parseAssignableListItem = function(e) {
2335
2335
  var t = this.parseMaybeDefault(this.start, this.startLoc);
2336
2336
  return this.parseBindingListItem(t), t;
2337
- }, I.parseBindingListItem = function(e) {
2337
+ }, F.parseBindingListItem = function(e) {
2338
2338
  return e;
2339
- }, I.parseMaybeDefault = function(e, t, n) {
2340
- if (n ||= this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(k.eq)) return n;
2339
+ }, F.parseMaybeDefault = function(e, t, n) {
2340
+ if (n ||= this.parseBindingAtom(), this.options.ecmaVersion < 6 || !this.eat(O.eq)) return n;
2341
2341
  var r = this.startNodeAt(e, t);
2342
2342
  return r.left = n, r.right = this.parseMaybeAssign(), this.finishNode(r, "AssignmentPattern");
2343
- }, I.checkLValSimple = function(e, t, n) {
2344
- t === void 0 && (t = Et);
2345
- var r = t !== Et;
2343
+ }, F.checkLValSimple = function(e, t, n) {
2344
+ t === void 0 && (t = Dt);
2345
+ var r = t !== Dt;
2346
2346
  switch (e.type) {
2347
2347
  case "Identifier":
2348
- this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (r ? "Binding " : "Assigning to ") + e.name + " in strict mode"), r && (t === Ot && e.name === "let" && this.raiseRecoverable(e.start, "let is disallowed as a lexically bound name"), n && (et(n, e.name) && this.raiseRecoverable(e.start, "Argument name clash"), n[e.name] = !0), t !== jt && this.declareName(e.name, t, e.start));
2348
+ this.strict && this.reservedWordsStrictBind.test(e.name) && this.raiseRecoverable(e.start, (r ? "Binding " : "Assigning to ") + e.name + " in strict mode"), r && (t === kt && e.name === "let" && this.raiseRecoverable(e.start, "let is disallowed as a lexically bound name"), n && (tt(n, e.name) && this.raiseRecoverable(e.start, "Argument name clash"), n[e.name] = !0), t !== Mt && this.declareName(e.name, t, e.start));
2349
2349
  break;
2350
2350
  case "ChainExpression":
2351
2351
  this.raiseRecoverable(e.start, "Optional chaining cannot appear in left-hand side");
@@ -2356,8 +2356,8 @@ I.toAssignable = function(e, t, n) {
2356
2356
  case "ParenthesizedExpression": return r && this.raiseRecoverable(e.start, "Binding parenthesized expression"), this.checkLValSimple(e.expression, t, n);
2357
2357
  default: this.raise(e.start, (r ? "Binding" : "Assigning to") + " rvalue");
2358
2358
  }
2359
- }, I.checkLValPattern = function(e, t, n) {
2360
- switch (t === void 0 && (t = Et), e.type) {
2359
+ }, F.checkLValPattern = function(e, t, n) {
2360
+ switch (t === void 0 && (t = Dt), e.type) {
2361
2361
  case "ObjectPattern":
2362
2362
  for (var r = 0, i = e.properties; r < i.length; r += 1) {
2363
2363
  var a = i[r];
@@ -2372,8 +2372,8 @@ I.toAssignable = function(e, t, n) {
2372
2372
  break;
2373
2373
  default: this.checkLValSimple(e, t, n);
2374
2374
  }
2375
- }, I.checkLValInnerPattern = function(e, t, n) {
2376
- switch (t === void 0 && (t = Et), e.type) {
2375
+ }, F.checkLValInnerPattern = function(e, t, n) {
2376
+ switch (t === void 0 && (t = Dt), e.type) {
2377
2377
  case "Property":
2378
2378
  this.checkLValInnerPattern(e.value, t, n);
2379
2379
  break;
@@ -2386,72 +2386,72 @@ I.toAssignable = function(e, t, n) {
2386
2386
  default: this.checkLValPattern(e, t, n);
2387
2387
  }
2388
2388
  };
2389
- var Ht = function(e, t, n, r, i) {
2389
+ var Ut = function(e, t, n, r, i) {
2390
2390
  this.token = e, this.isExpr = !!t, this.preserveSpace = !!n, this.override = r, this.generator = !!i;
2391
- }, L = {
2392
- b_stat: new Ht("{", !1),
2393
- b_expr: new Ht("{", !0),
2394
- b_tmpl: new Ht("${", !1),
2395
- p_stat: new Ht("(", !1),
2396
- p_expr: new Ht("(", !0),
2397
- q_tmpl: new Ht("`", !0, !0, function(e) {
2391
+ }, I = {
2392
+ b_stat: new Ut("{", !1),
2393
+ b_expr: new Ut("{", !0),
2394
+ b_tmpl: new Ut("${", !1),
2395
+ p_stat: new Ut("(", !1),
2396
+ p_expr: new Ut("(", !0),
2397
+ q_tmpl: new Ut("`", !0, !0, function(e) {
2398
2398
  return e.tryReadTemplateToken();
2399
2399
  }),
2400
- f_stat: new Ht("function", !1),
2401
- f_expr: new Ht("function", !0),
2402
- f_expr_gen: new Ht("function", !0, !1, null, !0),
2403
- f_gen: new Ht("function", !1, !1, null, !0)
2404
- }, Ut = M.prototype;
2405
- Ut.initialContext = function() {
2406
- return [L.b_stat];
2407
- }, Ut.curContext = function() {
2400
+ f_stat: new Ut("function", !1),
2401
+ f_expr: new Ut("function", !0),
2402
+ f_expr_gen: new Ut("function", !0, !1, null, !0),
2403
+ f_gen: new Ut("function", !1, !1, null, !0)
2404
+ }, Wt = j.prototype;
2405
+ Wt.initialContext = function() {
2406
+ return [I.b_stat];
2407
+ }, Wt.curContext = function() {
2408
2408
  return this.context[this.context.length - 1];
2409
- }, Ut.braceIsBlock = function(e) {
2409
+ }, Wt.braceIsBlock = function(e) {
2410
2410
  var t = this.curContext();
2411
- return t === L.f_expr || t === L.f_stat ? !0 : e === k.colon && (t === L.b_stat || t === L.b_expr) ? !t.isExpr : e === k._return || e === k.name && this.exprAllowed ? A.test(this.input.slice(this.lastTokEnd, this.start)) : e === k._else || e === k.semi || e === k.eof || e === k.parenR || e === k.arrow ? !0 : e === k.braceL ? t === L.b_stat : e === k._var || e === k._const || e === k.name ? !1 : !this.exprAllowed;
2412
- }, Ut.inGeneratorContext = function() {
2411
+ return t === I.f_expr || t === I.f_stat ? !0 : e === O.colon && (t === I.b_stat || t === I.b_expr) ? !t.isExpr : e === O._return || e === O.name && this.exprAllowed ? k.test(this.input.slice(this.lastTokEnd, this.start)) : e === O._else || e === O.semi || e === O.eof || e === O.parenR || e === O.arrow ? !0 : e === O.braceL ? t === I.b_stat : e === O._var || e === O._const || e === O.name ? !1 : !this.exprAllowed;
2412
+ }, Wt.inGeneratorContext = function() {
2413
2413
  for (var e = this.context.length - 1; e >= 1; e--) {
2414
2414
  var t = this.context[e];
2415
2415
  if (t.token === "function") return t.generator;
2416
2416
  }
2417
2417
  return !1;
2418
- }, Ut.updateContext = function(e) {
2418
+ }, Wt.updateContext = function(e) {
2419
2419
  var t, n = this.type;
2420
- n.keyword && e === k.dot ? this.exprAllowed = !1 : (t = n.updateContext) ? t.call(this, e) : this.exprAllowed = n.beforeExpr;
2421
- }, Ut.overrideContext = function(e) {
2420
+ n.keyword && e === O.dot ? this.exprAllowed = !1 : (t = n.updateContext) ? t.call(this, e) : this.exprAllowed = n.beforeExpr;
2421
+ }, Wt.overrideContext = function(e) {
2422
2422
  this.curContext() !== e && (this.context[this.context.length - 1] = e);
2423
- }, k.parenR.updateContext = k.braceR.updateContext = function() {
2423
+ }, O.parenR.updateContext = O.braceR.updateContext = function() {
2424
2424
  if (this.context.length === 1) {
2425
2425
  this.exprAllowed = !0;
2426
2426
  return;
2427
2427
  }
2428
2428
  var e = this.context.pop();
2429
- e === L.b_stat && this.curContext().token === "function" && (e = this.context.pop()), this.exprAllowed = !e.isExpr;
2430
- }, k.braceL.updateContext = function(e) {
2431
- this.context.push(this.braceIsBlock(e) ? L.b_stat : L.b_expr), this.exprAllowed = !0;
2432
- }, k.dollarBraceL.updateContext = function() {
2433
- this.context.push(L.b_tmpl), this.exprAllowed = !0;
2434
- }, k.parenL.updateContext = function(e) {
2435
- var t = e === k._if || e === k._for || e === k._with || e === k._while;
2436
- this.context.push(t ? L.p_stat : L.p_expr), this.exprAllowed = !0;
2437
- }, k.incDec.updateContext = function() {}, k._function.updateContext = k._class.updateContext = function(e) {
2438
- e.beforeExpr && e !== k._else && (e !== k.semi || this.curContext() === L.p_stat) && !(e === k._return && A.test(this.input.slice(this.lastTokEnd, this.start))) && (e !== k.colon && e !== k.braceL || this.curContext() !== L.b_stat) ? this.context.push(L.f_expr) : this.context.push(L.f_stat), this.exprAllowed = !1;
2439
- }, k.colon.updateContext = function() {
2429
+ e === I.b_stat && this.curContext().token === "function" && (e = this.context.pop()), this.exprAllowed = !e.isExpr;
2430
+ }, O.braceL.updateContext = function(e) {
2431
+ this.context.push(this.braceIsBlock(e) ? I.b_stat : I.b_expr), this.exprAllowed = !0;
2432
+ }, O.dollarBraceL.updateContext = function() {
2433
+ this.context.push(I.b_tmpl), this.exprAllowed = !0;
2434
+ }, O.parenL.updateContext = function(e) {
2435
+ var t = e === O._if || e === O._for || e === O._with || e === O._while;
2436
+ this.context.push(t ? I.p_stat : I.p_expr), this.exprAllowed = !0;
2437
+ }, O.incDec.updateContext = function() {}, O._function.updateContext = O._class.updateContext = function(e) {
2438
+ e.beforeExpr && e !== O._else && (e !== O.semi || this.curContext() === I.p_stat) && !(e === O._return && k.test(this.input.slice(this.lastTokEnd, this.start))) && (e !== O.colon && e !== O.braceL || this.curContext() !== I.b_stat) ? this.context.push(I.f_expr) : this.context.push(I.f_stat), this.exprAllowed = !1;
2439
+ }, O.colon.updateContext = function() {
2440
2440
  this.curContext().token === "function" && this.context.pop(), this.exprAllowed = !0;
2441
- }, k.backQuote.updateContext = function() {
2442
- this.curContext() === L.q_tmpl ? this.context.pop() : this.context.push(L.q_tmpl), this.exprAllowed = !1;
2443
- }, k.star.updateContext = function(e) {
2444
- if (e === k._function) {
2441
+ }, O.backQuote.updateContext = function() {
2442
+ this.curContext() === I.q_tmpl ? this.context.pop() : this.context.push(I.q_tmpl), this.exprAllowed = !1;
2443
+ }, O.star.updateContext = function(e) {
2444
+ if (e === O._function) {
2445
2445
  var t = this.context.length - 1;
2446
- this.context[t] === L.f_expr ? this.context[t] = L.f_expr_gen : this.context[t] = L.f_gen;
2446
+ this.context[t] === I.f_expr ? this.context[t] = I.f_expr_gen : this.context[t] = I.f_gen;
2447
2447
  }
2448
2448
  this.exprAllowed = !0;
2449
- }, k.name.updateContext = function(e) {
2449
+ }, O.name.updateContext = function(e) {
2450
2450
  var t = !1;
2451
- this.options.ecmaVersion >= 6 && e !== k.dot && (this.value === "of" && !this.exprAllowed || this.value === "yield" && this.inGeneratorContext()) && (t = !0), this.exprAllowed = t;
2451
+ this.options.ecmaVersion >= 6 && e !== O.dot && (this.value === "of" && !this.exprAllowed || this.value === "yield" && this.inGeneratorContext()) && (t = !0), this.exprAllowed = t;
2452
2452
  };
2453
- var R = M.prototype;
2454
- R.checkPropClash = function(e, t, n) {
2453
+ var L = j.prototype;
2454
+ L.checkPropClash = function(e, t, n) {
2455
2455
  if (!(this.options.ecmaVersion >= 9 && e.type === "SpreadElement") && !(this.options.ecmaVersion >= 6 && (e.computed || e.method || e.shorthand))) {
2456
2456
  var r = e.key, i;
2457
2457
  switch (r.type) {
@@ -2476,65 +2476,65 @@ R.checkPropClash = function(e, t, n) {
2476
2476
  set: !1
2477
2477
  }, o[a] = !0;
2478
2478
  }
2479
- }, R.parseExpression = function(e, t) {
2479
+ }, L.parseExpression = function(e, t) {
2480
2480
  var n = this;
2481
2481
  return this.catchStackOverflow(function() {
2482
2482
  var r = n.start, i = n.startLoc, a = n.parseMaybeAssign(e, t);
2483
- if (n.type === k.comma) {
2483
+ if (n.type === O.comma) {
2484
2484
  var o = n.startNodeAt(r, i);
2485
- for (o.expressions = [a]; n.eat(k.comma);) o.expressions.push(n.parseMaybeAssign(e, t));
2485
+ for (o.expressions = [a]; n.eat(O.comma);) o.expressions.push(n.parseMaybeAssign(e, t));
2486
2486
  return n.finishNode(o, "SequenceExpression");
2487
2487
  }
2488
2488
  return a;
2489
2489
  });
2490
- }, R.parseMaybeAssign = function(e, t, n) {
2490
+ }, L.parseMaybeAssign = function(e, t, n) {
2491
2491
  if (this.isContextual("yield")) {
2492
2492
  if (this.inGenerator) return this.parseYield(e);
2493
2493
  this.exprAllowed = !1;
2494
2494
  }
2495
2495
  var r = !1, i = -1, a = -1, o = -1;
2496
- t ? (i = t.parenthesizedAssign, a = t.trailingComma, o = t.doubleProto, t.parenthesizedAssign = t.trailingComma = -1) : (t = new Nt(), r = !0);
2496
+ t ? (i = t.parenthesizedAssign, a = t.trailingComma, o = t.doubleProto, t.parenthesizedAssign = t.trailingComma = -1) : (t = new Pt(), r = !0);
2497
2497
  var s = this.start, c = this.startLoc;
2498
- (this.type === k.parenL || this.type === k.name) && (this.potentialArrowAt = this.start, this.potentialArrowInForAwait = e === "await");
2498
+ (this.type === O.parenL || this.type === O.name) && (this.potentialArrowAt = this.start, this.potentialArrowInForAwait = e === "await");
2499
2499
  var l = this.parseMaybeConditional(e, t);
2500
2500
  if (n && (l = n.call(this, l, s, c)), this.type.isAssign) {
2501
2501
  var u = this.startNodeAt(s, c);
2502
- return u.operator = this.value, this.type === k.eq && (l = this.toAssignable(l, !1, t)), r || (t.parenthesizedAssign = t.trailingComma = t.doubleProto = -1), t.shorthandAssign >= l.start && (t.shorthandAssign = -1), this.type === k.eq ? this.checkLValPattern(l) : this.checkLValSimple(l), u.left = l, this.next(), u.right = this.parseMaybeAssign(e), o > -1 && (t.doubleProto = o), this.finishNode(u, "AssignmentExpression");
2502
+ return u.operator = this.value, this.type === O.eq && (l = this.toAssignable(l, !1, t)), r || (t.parenthesizedAssign = t.trailingComma = t.doubleProto = -1), t.shorthandAssign >= l.start && (t.shorthandAssign = -1), this.type === O.eq ? this.checkLValPattern(l) : this.checkLValSimple(l), u.left = l, this.next(), u.right = this.parseMaybeAssign(e), o > -1 && (t.doubleProto = o), this.finishNode(u, "AssignmentExpression");
2503
2503
  }
2504
2504
  return r && this.checkExpressionErrors(t, !0), i > -1 && (t.parenthesizedAssign = i), a > -1 && (t.trailingComma = a), l;
2505
- }, R.parseMaybeConditional = function(e, t) {
2505
+ }, L.parseMaybeConditional = function(e, t) {
2506
2506
  var n = this.start, r = this.startLoc, i = this.parseExprOps(e, t);
2507
2507
  if (this.checkExpressionErrors(t)) return i;
2508
- if ((i.type !== "ArrowFunctionExpression" || i.start !== n) && this.eat(k.question)) {
2508
+ if ((i.type !== "ArrowFunctionExpression" || i.start !== n) && this.eat(O.question)) {
2509
2509
  var a = this.startNodeAt(n, r);
2510
- return a.test = i, a.consequent = this.parseMaybeAssign(), this.expect(k.colon), a.alternate = this.parseMaybeAssign(e), this.finishNode(a, "ConditionalExpression");
2510
+ return a.test = i, a.consequent = this.parseMaybeAssign(), this.expect(O.colon), a.alternate = this.parseMaybeAssign(e), this.finishNode(a, "ConditionalExpression");
2511
2511
  }
2512
2512
  return i;
2513
- }, R.parseExprOps = function(e, t) {
2513
+ }, L.parseExprOps = function(e, t) {
2514
2514
  var n = this.start, r = this.startLoc, i = this.parseMaybeUnary(t, !1, !1, e);
2515
2515
  return this.checkExpressionErrors(t) || i.start === n && i.type === "ArrowFunctionExpression" ? i : this.parseExprOp(i, n, r, -1, e);
2516
- }, R.parseExprOp = function(e, t, n, r, i) {
2516
+ }, L.parseExprOp = function(e, t, n, r, i) {
2517
2517
  var a = this.type.binop;
2518
- if (a != null && (!i || this.type !== k._in) && a > r) {
2519
- var o = this.type === k.logicalOR || this.type === k.logicalAND, s = this.type === k.coalesce;
2520
- s && (a = k.logicalAND.binop);
2518
+ if (a != null && (!i || this.type !== O._in) && a > r) {
2519
+ var o = this.type === O.logicalOR || this.type === O.logicalAND, s = this.type === O.coalesce;
2520
+ s && (a = O.logicalAND.binop);
2521
2521
  var c = this.value;
2522
2522
  this.next();
2523
2523
  var l = this.start, u = this.startLoc, d = this.parseExprOp(this.parseMaybeUnary(null, !1, !1, i), l, u, a, i), f = this.buildBinary(t, n, e, d, c, o || s);
2524
- return (o && this.type === k.coalesce || s && (this.type === k.logicalOR || this.type === k.logicalAND)) && this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"), this.parseExprOp(f, t, n, r, i);
2524
+ return (o && this.type === O.coalesce || s && (this.type === O.logicalOR || this.type === O.logicalAND)) && this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"), this.parseExprOp(f, t, n, r, i);
2525
2525
  }
2526
2526
  return e;
2527
- }, R.buildBinary = function(e, t, n, r, i, a) {
2527
+ }, L.buildBinary = function(e, t, n, r, i, a) {
2528
2528
  r.type === "PrivateIdentifier" && this.raise(r.start, "Private identifier can only be left side of binary expression");
2529
2529
  var o = this.startNodeAt(e, t);
2530
2530
  return o.left = n, o.operator = i, o.right = r, this.finishNode(o, a ? "LogicalExpression" : "BinaryExpression");
2531
- }, R.parseMaybeUnary = function(e, t, n, r) {
2531
+ }, L.parseMaybeUnary = function(e, t, n, r) {
2532
2532
  var i = this.start, a = this.startLoc, o;
2533
2533
  if (this.isContextual("await") && this.canAwait) o = this.parseAwait(r), t = !0;
2534
2534
  else if (this.type.prefix) {
2535
- var s = this.startNode(), c = this.type === k.incDec;
2536
- s.operator = this.value, s.prefix = !0, this.next(), s.argument = this.parseMaybeUnary(null, !0, c, r), this.checkExpressionErrors(e, !0), c ? this.checkLValSimple(s.argument) : this.strict && s.operator === "delete" && Wt(s.argument) ? this.raiseRecoverable(s.start, "Deleting local variable in strict mode") : s.operator === "delete" && Gt(s.argument) ? this.raiseRecoverable(s.start, "Private fields can not be deleted") : t = !0, o = this.finishNode(s, c ? "UpdateExpression" : "UnaryExpression");
2537
- } else if (!t && this.type === k.privateId) (r || this.privateNameStack.length === 0) && this.options.checkPrivateFields && this.unexpected(), o = this.parsePrivateIdent(), this.type !== k._in && this.unexpected();
2535
+ var s = this.startNode(), c = this.type === O.incDec;
2536
+ s.operator = this.value, s.prefix = !0, this.next(), s.argument = this.parseMaybeUnary(null, !0, c, r), this.checkExpressionErrors(e, !0), c ? this.checkLValSimple(s.argument) : this.strict && s.operator === "delete" && Gt(s.argument) ? this.raiseRecoverable(s.start, "Deleting local variable in strict mode") : s.operator === "delete" && Kt(s.argument) ? this.raiseRecoverable(s.start, "Private fields can not be deleted") : t = !0, o = this.finishNode(s, c ? "UpdateExpression" : "UnaryExpression");
2537
+ } else if (!t && this.type === O.privateId) (r || this.privateNameStack.length === 0) && this.options.checkPrivateFields && this.unexpected(), o = this.parsePrivateIdent(), this.type !== O._in && this.unexpected();
2538
2538
  else {
2539
2539
  if (o = this.parseExprSubscripts(e, r), this.checkExpressionErrors(e)) return o;
2540
2540
  for (; this.type.postfix && !this.canInsertSemicolon();) {
@@ -2542,23 +2542,23 @@ R.checkPropClash = function(e, t, n) {
2542
2542
  l.operator = this.value, l.prefix = !1, l.argument = o, this.checkLValSimple(o), this.next(), o = this.finishNode(l, "UpdateExpression");
2543
2543
  }
2544
2544
  }
2545
- if (!n && (o.type !== "ArrowFunctionExpression" || o.start !== i) && this.eat(k.starstar)) {
2545
+ if (!n && (o.type !== "ArrowFunctionExpression" || o.start !== i) && this.eat(O.starstar)) {
2546
2546
  if (t) this.unexpected(this.lastTokStart);
2547
2547
  else return this.buildBinary(i, a, o, this.parseMaybeUnary(null, !1, !1, r), "**", !1);
2548
2548
  } else return o;
2549
2549
  };
2550
- function Wt(e) {
2551
- return e.type === "Identifier" || e.type === "ParenthesizedExpression" && Wt(e.expression);
2552
- }
2553
2550
  function Gt(e) {
2554
- return e.type === "MemberExpression" && e.property.type === "PrivateIdentifier" || e.type === "ChainExpression" && Gt(e.expression) || e.type === "ParenthesizedExpression" && Gt(e.expression);
2551
+ return e.type === "Identifier" || e.type === "ParenthesizedExpression" && Gt(e.expression);
2555
2552
  }
2556
- R.parseExprSubscripts = function(e, t) {
2553
+ function Kt(e) {
2554
+ return e.type === "MemberExpression" && e.property.type === "PrivateIdentifier" || e.type === "ChainExpression" && Kt(e.expression) || e.type === "ParenthesizedExpression" && Kt(e.expression);
2555
+ }
2556
+ L.parseExprSubscripts = function(e, t) {
2557
2557
  var n = this.start, r = this.startLoc, i = this.parseExprAtom(e, t);
2558
2558
  if (i.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")") return i;
2559
2559
  var a = this.parseSubscripts(i, n, r, !1, t);
2560
2560
  return e && a.type === "MemberExpression" && (e.parenthesizedAssign >= a.start && (e.parenthesizedAssign = -1), e.parenthesizedBind >= a.start && (e.parenthesizedBind = -1), e.trailingComma >= a.start && (e.trailingComma = -1)), a;
2561
- }, R.parseSubscripts = function(e, t, n, r, i) {
2561
+ }, L.parseSubscripts = function(e, t, n, r, i) {
2562
2562
  for (var a = 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 = !1;;) {
2563
2563
  var s = this.parseSubscript(e, t, n, r, a, o, i);
2564
2564
  if (s.optional && (o = !0), s === e || s.type === "ArrowFunctionExpression") {
@@ -2570,116 +2570,116 @@ R.parseExprSubscripts = function(e, t) {
2570
2570
  }
2571
2571
  e = s;
2572
2572
  }
2573
- }, R.shouldParseAsyncArrow = function() {
2574
- return !this.canInsertSemicolon() && this.eat(k.arrow);
2575
- }, R.parseSubscriptAsyncArrow = function(e, t, n, r) {
2573
+ }, L.shouldParseAsyncArrow = function() {
2574
+ return !this.canInsertSemicolon() && this.eat(O.arrow);
2575
+ }, L.parseSubscriptAsyncArrow = function(e, t, n, r) {
2576
2576
  return this.parseArrowExpression(this.startNodeAt(e, t), n, !0, r);
2577
- }, R.parseSubscript = function(e, t, n, r, i, a, o) {
2578
- var s = this.options.ecmaVersion >= 11, c = s && this.eat(k.questionDot);
2577
+ }, L.parseSubscript = function(e, t, n, r, i, a, o) {
2578
+ var s = this.options.ecmaVersion >= 11, c = s && this.eat(O.questionDot);
2579
2579
  r && c && this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions");
2580
- var l = this.eat(k.bracketL);
2581
- if (l || c && this.type !== k.parenL && this.type !== k.backQuote || this.eat(k.dot)) {
2580
+ var l = this.eat(O.bracketL);
2581
+ if (l || c && this.type !== O.parenL && this.type !== O.backQuote || this.eat(O.dot)) {
2582
2582
  var u = this.startNodeAt(t, n);
2583
- u.object = e, l ? (u.property = this.parseExpression(), this.expect(k.bracketR)) : u.property = this.type === k.privateId && e.type !== "Super" ? this.parsePrivateIdent() : this.parseIdent(this.options.allowReserved !== "never"), u.computed = !!l, s && (u.optional = c), e = this.finishNode(u, "MemberExpression");
2584
- } else if (!r && this.eat(k.parenL)) {
2585
- var d = new Nt(), f = this.yieldPos, p = this.awaitPos, m = this.awaitIdentPos;
2583
+ u.object = e, l ? (u.property = this.parseExpression(), this.expect(O.bracketR)) : u.property = this.type === O.privateId && e.type !== "Super" ? this.parsePrivateIdent() : this.parseIdent(this.options.allowReserved !== "never"), u.computed = !!l, s && (u.optional = c), e = this.finishNode(u, "MemberExpression");
2584
+ } else if (!r && this.eat(O.parenL)) {
2585
+ var d = new Pt(), f = this.yieldPos, p = this.awaitPos, m = this.awaitIdentPos;
2586
2586
  this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0;
2587
- var h = this.parseExprList(k.parenR, this.options.ecmaVersion >= 8, !1, d);
2587
+ var h = this.parseExprList(O.parenR, this.options.ecmaVersion >= 8, !1, d);
2588
2588
  if (i && !c && this.shouldParseAsyncArrow()) return this.checkPatternErrors(d, !1), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = f, this.awaitPos = p, this.awaitIdentPos = m, this.parseSubscriptAsyncArrow(t, n, h, o);
2589
2589
  this.checkExpressionErrors(d, !0), this.yieldPos = f || this.yieldPos, this.awaitPos = p || this.awaitPos, this.awaitIdentPos = m || this.awaitIdentPos;
2590
2590
  var g = this.startNodeAt(t, n);
2591
2591
  g.callee = e, g.arguments = h, s && (g.optional = c), e = this.finishNode(g, "CallExpression");
2592
- } else if (this.type === k.backQuote) {
2592
+ } else if (this.type === O.backQuote) {
2593
2593
  (c || a) && this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions");
2594
2594
  var _ = this.startNodeAt(t, n);
2595
2595
  _.tag = e, _.quasi = this.parseTemplate({ isTagged: !0 }), e = this.finishNode(_, "TaggedTemplateExpression");
2596
2596
  }
2597
2597
  return e;
2598
- }, R.parseExprAtom = function(e, t, n) {
2599
- this.type === k.slash && this.readRegexp();
2598
+ }, L.parseExprAtom = function(e, t, n) {
2599
+ this.type === O.slash && this.readRegexp();
2600
2600
  var r, i = this.potentialArrowAt === this.start;
2601
2601
  switch (this.type) {
2602
- case k._super: return this.allowSuper || this.raise(this.start, "'super' keyword outside a method"), r = this.startNode(), this.next(), this.type === k.parenL && !this.allowDirectSuper && this.raise(r.start, "super() call outside constructor of a subclass"), this.type !== k.dot && this.type !== k.bracketL && this.type !== k.parenL && this.unexpected(), this.finishNode(r, "Super");
2603
- case k._this: return r = this.startNode(), this.next(), this.finishNode(r, "ThisExpression");
2604
- case k.name:
2602
+ case O._super: return this.allowSuper || this.raise(this.start, "'super' keyword outside a method"), r = this.startNode(), this.next(), this.type === O.parenL && !this.allowDirectSuper && this.raise(r.start, "super() call outside constructor of a subclass"), this.type !== O.dot && this.type !== O.bracketL && this.type !== O.parenL && this.unexpected(), this.finishNode(r, "Super");
2603
+ case O._this: return r = this.startNode(), this.next(), this.finishNode(r, "ThisExpression");
2604
+ case O.name:
2605
2605
  var a = this.start, o = this.startLoc, s = this.containsEsc, c = this.parseIdent(!1);
2606
- if (this.options.ecmaVersion >= 8 && !s && c.name === "async" && !this.canInsertSemicolon() && this.eat(k._function)) return this.overrideContext(L.f_expr), this.parseFunction(this.startNodeAt(a, o), 0, !1, !0, t);
2606
+ if (this.options.ecmaVersion >= 8 && !s && c.name === "async" && !this.canInsertSemicolon() && this.eat(O._function)) return this.overrideContext(I.f_expr), this.parseFunction(this.startNodeAt(a, o), 0, !1, !0, t);
2607
2607
  if (i && !this.canInsertSemicolon()) {
2608
- if (this.eat(k.arrow)) return this.parseArrowExpression(this.startNodeAt(a, o), [c], !1, t);
2609
- if (this.options.ecmaVersion >= 8 && c.name === "async" && this.type === k.name && !s && (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) return c = this.parseIdent(!1), (this.canInsertSemicolon() || !this.eat(k.arrow)) && this.unexpected(), this.parseArrowExpression(this.startNodeAt(a, o), [c], !0, t);
2608
+ if (this.eat(O.arrow)) return this.parseArrowExpression(this.startNodeAt(a, o), [c], !1, t);
2609
+ if (this.options.ecmaVersion >= 8 && c.name === "async" && this.type === O.name && !s && (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) return c = this.parseIdent(!1), (this.canInsertSemicolon() || !this.eat(O.arrow)) && this.unexpected(), this.parseArrowExpression(this.startNodeAt(a, o), [c], !0, t);
2610
2610
  }
2611
2611
  return c;
2612
- case k.regexp:
2612
+ case O.regexp:
2613
2613
  var l = this.value;
2614
2614
  return r = this.parseLiteral(l.value), r.regex = {
2615
2615
  pattern: l.pattern,
2616
2616
  flags: l.flags
2617
2617
  }, r;
2618
- case k.num:
2619
- case k.string: return this.parseLiteral(this.value);
2620
- case k._null:
2621
- case k._true:
2622
- case k._false: return r = this.startNode(), r.value = this.type === k._null ? null : this.type === k._true, r.raw = this.type.keyword, this.next(), this.finishNode(r, "Literal");
2623
- case k.parenL:
2618
+ case O.num:
2619
+ case O.string: return this.parseLiteral(this.value);
2620
+ case O._null:
2621
+ case O._true:
2622
+ case O._false: return r = this.startNode(), r.value = this.type === O._null ? null : this.type === O._true, r.raw = this.type.keyword, this.next(), this.finishNode(r, "Literal");
2623
+ case O.parenL:
2624
2624
  var u = this.start, d = this.parseParenAndDistinguishExpression(i, t);
2625
2625
  return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(d) && (e.parenthesizedAssign = u), e.parenthesizedBind < 0 && (e.parenthesizedBind = u)), d;
2626
- case k.bracketL: return r = this.startNode(), this.next(), r.elements = this.parseExprList(k.bracketR, !0, !0, e), this.finishNode(r, "ArrayExpression");
2627
- case k.braceL: return this.overrideContext(L.b_expr), this.parseObj(!1, e);
2628
- case k._function: return r = this.startNode(), this.next(), this.parseFunction(r, 0);
2629
- case k._class: return this.parseClass(this.startNode(), !1);
2630
- case k._new: return this.parseNew();
2631
- case k.backQuote: return this.parseTemplate();
2632
- case k._import: return this.options.ecmaVersion >= 11 ? this.parseExprImport(n) : this.unexpected();
2626
+ case O.bracketL: return r = this.startNode(), this.next(), r.elements = this.parseExprList(O.bracketR, !0, !0, e), this.finishNode(r, "ArrayExpression");
2627
+ case O.braceL: return this.overrideContext(I.b_expr), this.parseObj(!1, e);
2628
+ case O._function: return r = this.startNode(), this.next(), this.parseFunction(r, 0);
2629
+ case O._class: return this.parseClass(this.startNode(), !1);
2630
+ case O._new: return this.parseNew();
2631
+ case O.backQuote: return this.parseTemplate();
2632
+ case O._import: return this.options.ecmaVersion >= 11 ? this.parseExprImport(n) : this.unexpected();
2633
2633
  default: return this.parseExprAtomDefault();
2634
2634
  }
2635
- }, R.parseExprAtomDefault = function() {
2635
+ }, L.parseExprAtomDefault = function() {
2636
2636
  this.unexpected();
2637
- }, R.parseExprImport = function(e) {
2637
+ }, L.parseExprImport = function(e) {
2638
2638
  var t = this.startNode();
2639
- if (this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword import"), this.next(), this.type === k.parenL && !e) return this.parseDynamicImport(t);
2640
- if (this.type === k.dot) {
2639
+ if (this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword import"), this.next(), this.type === O.parenL && !e) return this.parseDynamicImport(t);
2640
+ if (this.type === O.dot) {
2641
2641
  var n = this.startNodeAt(t.start, t.loc && t.loc.start);
2642
2642
  return n.name = "import", t.meta = this.finishNode(n, "Identifier"), this.parseImportMeta(t);
2643
2643
  }
2644
2644
  this.unexpected();
2645
- }, R.parseDynamicImport = function(e) {
2646
- if (this.next(), e.source = this.parseMaybeAssign(), this.options.ecmaVersion >= 16) this.eat(k.parenR) ? e.options = null : (this.expect(k.comma), this.afterTrailingComma(k.parenR) ? e.options = null : (e.options = this.parseMaybeAssign(), this.eat(k.parenR) || (this.expect(k.comma), this.afterTrailingComma(k.parenR) || this.unexpected())));
2647
- else if (!this.eat(k.parenR)) {
2645
+ }, L.parseDynamicImport = function(e) {
2646
+ if (this.next(), e.source = this.parseMaybeAssign(), this.options.ecmaVersion >= 16) this.eat(O.parenR) ? e.options = null : (this.expect(O.comma), this.afterTrailingComma(O.parenR) ? e.options = null : (e.options = this.parseMaybeAssign(), this.eat(O.parenR) || (this.expect(O.comma), this.afterTrailingComma(O.parenR) || this.unexpected())));
2647
+ else if (!this.eat(O.parenR)) {
2648
2648
  var t = this.start;
2649
- this.eat(k.comma) && this.eat(k.parenR) ? this.raiseRecoverable(t, "Trailing comma is not allowed in import()") : this.unexpected(t);
2649
+ this.eat(O.comma) && this.eat(O.parenR) ? this.raiseRecoverable(t, "Trailing comma is not allowed in import()") : this.unexpected(t);
2650
2650
  }
2651
2651
  return this.finishNode(e, "ImportExpression");
2652
- }, R.parseImportMeta = function(e) {
2652
+ }, L.parseImportMeta = function(e) {
2653
2653
  this.next();
2654
2654
  var t = this.containsEsc;
2655
2655
  return e.property = this.parseIdent(!0), e.property.name !== "meta" && this.raiseRecoverable(e.property.start, "The only valid meta property for import is 'import.meta'"), t && this.raiseRecoverable(e.start, "'import.meta' must not contain escaped characters"), this.options.sourceType !== "module" && !this.options.allowImportExportEverywhere && this.raiseRecoverable(e.start, "Cannot use 'import.meta' outside a module"), this.finishNode(e, "MetaProperty");
2656
- }, R.parseLiteral = function(e) {
2656
+ }, L.parseLiteral = function(e) {
2657
2657
  var t = this.startNode();
2658
2658
  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.raw.slice(0, -1).replace(/_/g, "") : t.value.toString()), this.next(), this.finishNode(t, "Literal");
2659
- }, R.parseParenExpression = function() {
2660
- this.expect(k.parenL);
2659
+ }, L.parseParenExpression = function() {
2660
+ this.expect(O.parenL);
2661
2661
  var e = this.parseExpression();
2662
- return this.expect(k.parenR), e;
2663
- }, R.shouldParseArrow = function(e) {
2662
+ return this.expect(O.parenR), e;
2663
+ }, L.shouldParseArrow = function(e) {
2664
2664
  return !this.canInsertSemicolon();
2665
- }, R.parseParenAndDistinguishExpression = function(e, t) {
2665
+ }, L.parseParenAndDistinguishExpression = function(e, t) {
2666
2666
  var n = this.start, r = this.startLoc, i, a = this.options.ecmaVersion >= 8;
2667
2667
  if (this.options.ecmaVersion >= 6) {
2668
2668
  this.next();
2669
- var o = this.start, s = this.startLoc, c = [], l = !0, u = !1, d = new Nt(), f = this.yieldPos, p = this.awaitPos, m;
2670
- for (this.yieldPos = 0, this.awaitPos = 0; this.type !== k.parenR;) {
2671
- if (l ? l = !1 : this.expect(k.comma), a && this.afterTrailingComma(k.parenR, !0)) {
2669
+ var o = this.start, s = this.startLoc, c = [], l = !0, u = !1, d = new Pt(), f = this.yieldPos, p = this.awaitPos, m;
2670
+ for (this.yieldPos = 0, this.awaitPos = 0; this.type !== O.parenR;) {
2671
+ if (l ? l = !1 : this.expect(O.comma), a && this.afterTrailingComma(O.parenR, !0)) {
2672
2672
  u = !0;
2673
2673
  break;
2674
2674
  }
2675
- if (this.type === k.ellipsis) {
2676
- m = this.start, c.push(this.parseParenItem(this.parseRestBinding())), this.type === k.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
2675
+ if (this.type === O.ellipsis) {
2676
+ m = this.start, c.push(this.parseParenItem(this.parseRestBinding())), this.type === O.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
2677
2677
  break;
2678
2678
  }
2679
2679
  c.push(this.parseMaybeAssign(!1, d, this.parseParenItem));
2680
2680
  }
2681
2681
  var h = this.lastTokEnd, g = this.lastTokEndLoc;
2682
- if (this.expect(k.parenR), e && this.shouldParseArrow(c) && this.eat(k.arrow)) return this.checkPatternErrors(d, !1), this.checkYieldAwaitInDefaultParams(), this.yieldPos = f, this.awaitPos = p, this.parseParenArrowList(n, r, c, t);
2682
+ if (this.expect(O.parenR), e && this.shouldParseArrow(c) && this.eat(O.arrow)) return this.checkPatternErrors(d, !1), this.checkYieldAwaitInDefaultParams(), this.yieldPos = f, this.awaitPos = p, this.parseParenArrowList(n, r, c, t);
2683
2683
  (!c.length || u) && this.unexpected(this.lastTokStart), m && this.unexpected(m), this.checkExpressionErrors(d, !0), this.yieldPos = f || this.yieldPos, this.awaitPos = p || this.awaitPos, c.length > 1 ? (i = this.startNodeAt(o, s), i.expressions = c, this.finishNodeAt(i, "SequenceExpression", h, g)) : i = c[0];
2684
2684
  } else i = this.parseParenExpression();
2685
2685
  if (this.options.preserveParens) {
@@ -2687,59 +2687,59 @@ R.parseExprSubscripts = function(e, t) {
2687
2687
  return _.expression = i, this.finishNode(_, "ParenthesizedExpression");
2688
2688
  }
2689
2689
  return i;
2690
- }, R.parseParenItem = function(e) {
2690
+ }, L.parseParenItem = function(e) {
2691
2691
  return e;
2692
- }, R.parseParenArrowList = function(e, t, n, r) {
2692
+ }, L.parseParenArrowList = function(e, t, n, r) {
2693
2693
  return this.parseArrowExpression(this.startNodeAt(e, t), n, !1, r);
2694
2694
  };
2695
- var Kt = [];
2696
- R.parseNew = function() {
2695
+ var qt = [];
2696
+ L.parseNew = function() {
2697
2697
  this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword new");
2698
2698
  var e = this.startNode();
2699
- if (this.next(), this.options.ecmaVersion >= 6 && this.type === k.dot) {
2699
+ if (this.next(), this.options.ecmaVersion >= 6 && this.type === O.dot) {
2700
2700
  var t = this.startNodeAt(e.start, e.loc && e.loc.start);
2701
2701
  t.name = "new", e.meta = this.finishNode(t, "Identifier"), this.next();
2702
2702
  var n = this.containsEsc;
2703
2703
  return e.property = this.parseIdent(!0), e.property.name !== "target" && this.raiseRecoverable(e.property.start, "The only valid meta property for new is 'new.target'"), n && 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");
2704
2704
  }
2705
2705
  var r = this.start, i = this.startLoc;
2706
- return e.callee = this.parseSubscripts(this.parseExprAtom(null, !1, !0), r, i, !0, !1), e.callee.type === "Super" && this.raiseRecoverable(r, "Invalid use of 'super'"), e.arguments = this.eat(k.parenL) ? this.parseExprList(k.parenR, this.options.ecmaVersion >= 8, !1) : Kt, this.finishNode(e, "NewExpression");
2707
- }, R.parseTemplateElement = function(e) {
2706
+ return e.callee = this.parseSubscripts(this.parseExprAtom(null, !1, !0), r, i, !0, !1), e.callee.type === "Super" && this.raiseRecoverable(r, "Invalid use of 'super'"), e.arguments = this.eat(O.parenL) ? this.parseExprList(O.parenR, this.options.ecmaVersion >= 8, !1) : qt, this.finishNode(e, "NewExpression");
2707
+ }, L.parseTemplateElement = function(e) {
2708
2708
  var t = e.isTagged, n = this.startNode();
2709
- return this.type === k.invalidTemplate ? (t || this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal"), n.value = {
2709
+ return this.type === O.invalidTemplate ? (t || this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal"), n.value = {
2710
2710
  raw: this.value.replace(/\r\n?/g, "\n"),
2711
2711
  cooked: null
2712
2712
  }) : n.value = {
2713
2713
  raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"),
2714
2714
  cooked: this.value
2715
- }, this.next(), n.tail = this.type === k.backQuote, this.finishNode(n, "TemplateElement");
2716
- }, R.parseTemplate = function(e) {
2715
+ }, this.next(), n.tail = this.type === O.backQuote, this.finishNode(n, "TemplateElement");
2716
+ }, L.parseTemplate = function(e) {
2717
2717
  e === void 0 && (e = {});
2718
2718
  var t = e.isTagged;
2719
2719
  t === void 0 && (t = !1);
2720
2720
  var n = this.startNode();
2721
2721
  this.next(), n.expressions = [];
2722
2722
  var r = this.parseTemplateElement({ isTagged: t });
2723
- for (n.quasis = [r]; !r.tail;) this.type === k.eof && this.raise(this.pos, "Unterminated template literal"), this.expect(k.dollarBraceL), n.expressions.push(this.parseExpression()), this.expect(k.braceR), n.quasis.push(r = this.parseTemplateElement({ isTagged: t }));
2723
+ for (n.quasis = [r]; !r.tail;) this.type === O.eof && this.raise(this.pos, "Unterminated template literal"), this.expect(O.dollarBraceL), n.expressions.push(this.parseExpression()), this.expect(O.braceR), n.quasis.push(r = this.parseTemplateElement({ isTagged: t }));
2724
2724
  return this.next(), this.finishNode(n, "TemplateLiteral");
2725
- }, R.isAsyncProp = function(e) {
2726
- return !e.computed && e.key.type === "Identifier" && e.key.name === "async" && (this.type === k.name || this.type === k.num || this.type === k.string || this.type === k.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === k.star) && !A.test(this.input.slice(this.lastTokEnd, this.start));
2727
- }, R.parseObj = function(e, t) {
2725
+ }, L.isAsyncProp = function(e) {
2726
+ return !e.computed && e.key.type === "Identifier" && e.key.name === "async" && (this.type === O.name || this.type === O.num || this.type === O.string || this.type === O.bracketL || this.type.keyword || this.options.ecmaVersion >= 9 && this.type === O.star) && !k.test(this.input.slice(this.lastTokEnd, this.start));
2727
+ }, L.parseObj = function(e, t) {
2728
2728
  var n = this.startNode(), r = !0, i = {};
2729
- for (n.properties = [], this.next(); !this.eat(k.braceR);) {
2729
+ for (n.properties = [], this.next(); !this.eat(O.braceR);) {
2730
2730
  if (r) r = !1;
2731
- else if (this.expect(k.comma), this.options.ecmaVersion >= 5 && this.afterTrailingComma(k.braceR)) break;
2731
+ else if (this.expect(O.comma), this.options.ecmaVersion >= 5 && this.afterTrailingComma(O.braceR)) break;
2732
2732
  var a = this.parseProperty(e, t);
2733
2733
  e || this.checkPropClash(a, i, t), n.properties.push(a);
2734
2734
  }
2735
2735
  return this.finishNode(n, e ? "ObjectPattern" : "ObjectExpression");
2736
- }, R.parseProperty = function(e, t) {
2736
+ }, L.parseProperty = function(e, t) {
2737
2737
  var n = this.startNode(), r, i, a, o;
2738
- if (this.options.ecmaVersion >= 9 && this.eat(k.ellipsis)) return e ? (n.argument = this.parseIdent(!1), this.type === k.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.finishNode(n, "RestElement")) : (n.argument = this.parseMaybeAssign(!1, t), this.type === k.comma && t && t.trailingComma < 0 && (t.trailingComma = this.start), this.finishNode(n, "SpreadElement"));
2739
- this.options.ecmaVersion >= 6 && (n.method = !1, n.shorthand = !1, (e || t) && (a = this.start, o = this.startLoc), e || (r = this.eat(k.star)));
2738
+ if (this.options.ecmaVersion >= 9 && this.eat(O.ellipsis)) return e ? (n.argument = this.parseIdent(!1), this.type === O.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"), this.finishNode(n, "RestElement")) : (n.argument = this.parseMaybeAssign(!1, t), this.type === O.comma && t && t.trailingComma < 0 && (t.trailingComma = this.start), this.finishNode(n, "SpreadElement"));
2739
+ this.options.ecmaVersion >= 6 && (n.method = !1, n.shorthand = !1, (e || t) && (a = this.start, o = this.startLoc), e || (r = this.eat(O.star)));
2740
2740
  var s = this.containsEsc;
2741
- return this.parsePropertyName(n), !e && !s && this.options.ecmaVersion >= 8 && !r && this.isAsyncProp(n) ? (i = !0, r = this.options.ecmaVersion >= 9 && this.eat(k.star), this.parsePropertyName(n)) : i = !1, this.parsePropertyValue(n, e, r, i, a, o, t, s), this.finishNode(n, "Property");
2742
- }, R.parseGetterSetter = function(e) {
2741
+ return this.parsePropertyName(n), !e && !s && this.options.ecmaVersion >= 8 && !r && this.isAsyncProp(n) ? (i = !0, r = this.options.ecmaVersion >= 9 && this.eat(O.star), this.parsePropertyName(n)) : i = !1, this.parsePropertyValue(n, e, r, i, a, o, t, s), this.finishNode(n, "Property");
2742
+ }, L.parseGetterSetter = function(e) {
2743
2743
  var t = e.key.name;
2744
2744
  this.parsePropertyName(e), e.value = this.parseMethod(!1), e.kind = t;
2745
2745
  var n = e.kind === "get" ? 0 : 1;
@@ -2747,202 +2747,202 @@ R.parseNew = function() {
2747
2747
  var r = e.value.start;
2748
2748
  e.kind === "get" ? this.raiseRecoverable(r, "getter should have no params") : this.raiseRecoverable(r, "setter should have exactly one param");
2749
2749
  } else e.kind === "set" && e.value.params[0].type === "RestElement" && this.raiseRecoverable(e.value.params[0].start, "Setter cannot use rest params");
2750
- }, R.parsePropertyValue = function(e, t, n, r, i, a, o, s) {
2751
- (n || r) && this.type === k.colon && this.unexpected(), this.eat(k.colon) ? (e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(!1, o), e.kind = "init") : this.options.ecmaVersion >= 6 && this.type === k.parenL ? (t && this.unexpected(), e.method = !0, e.value = this.parseMethod(n, r), e.kind = "init") : !t && !s && this.options.ecmaVersion >= 5 && !e.computed && e.key.type === "Identifier" && (e.key.name === "get" || e.key.name === "set") && this.type !== k.comma && this.type !== k.braceR && this.type !== k.eq ? ((n || r) && this.unexpected(), this.parseGetterSetter(e)) : this.options.ecmaVersion >= 6 && !e.computed && e.key.type === "Identifier" ? ((n || r) && this.unexpected(), this.checkUnreserved(e.key), e.key.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = i), t ? e.value = this.parseMaybeDefault(i, a, this.copyNode(e.key)) : this.type === k.eq && o ? (o.shorthandAssign < 0 && (o.shorthandAssign = this.start), e.value = this.parseMaybeDefault(i, a, this.copyNode(e.key))) : e.value = this.copyNode(e.key), e.kind = "init", e.shorthand = !0) : this.unexpected();
2752
- }, R.parsePropertyName = function(e) {
2750
+ }, L.parsePropertyValue = function(e, t, n, r, i, a, o, s) {
2751
+ (n || r) && this.type === O.colon && this.unexpected(), this.eat(O.colon) ? (e.value = t ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(!1, o), e.kind = "init") : this.options.ecmaVersion >= 6 && this.type === O.parenL ? (t && this.unexpected(), e.method = !0, e.value = this.parseMethod(n, r), e.kind = "init") : !t && !s && this.options.ecmaVersion >= 5 && !e.computed && e.key.type === "Identifier" && (e.key.name === "get" || e.key.name === "set") && this.type !== O.comma && this.type !== O.braceR && this.type !== O.eq ? ((n || r) && this.unexpected(), this.parseGetterSetter(e)) : this.options.ecmaVersion >= 6 && !e.computed && e.key.type === "Identifier" ? ((n || r) && this.unexpected(), this.checkUnreserved(e.key), e.key.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = i), t ? e.value = this.parseMaybeDefault(i, a, this.copyNode(e.key)) : this.type === O.eq && o ? (o.shorthandAssign < 0 && (o.shorthandAssign = this.start), e.value = this.parseMaybeDefault(i, a, this.copyNode(e.key))) : e.value = this.copyNode(e.key), e.kind = "init", e.shorthand = !0) : this.unexpected();
2752
+ }, L.parsePropertyName = function(e) {
2753
2753
  if (this.options.ecmaVersion >= 6) {
2754
- if (this.eat(k.bracketL)) return e.computed = !0, e.key = this.parseMaybeAssign(), this.expect(k.bracketR), e.key;
2754
+ if (this.eat(O.bracketL)) return e.computed = !0, e.key = this.parseMaybeAssign(), this.expect(O.bracketR), e.key;
2755
2755
  e.computed = !1;
2756
2756
  }
2757
- return e.key = this.type === k.num || this.type === k.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
2758
- }, R.initFunction = function(e) {
2757
+ return e.key = this.type === O.num || this.type === O.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
2758
+ }, L.initFunction = function(e) {
2759
2759
  e.id = null, this.options.ecmaVersion >= 6 && (e.generator = e.expression = !1), this.options.ecmaVersion >= 8 && (e.async = !1);
2760
- }, R.parseMethod = function(e, t, n) {
2760
+ }, L.parseMethod = function(e, t, n) {
2761
2761
  var r = this.startNode(), i = this.yieldPos, a = this.awaitPos, o = this.awaitIdentPos;
2762
- return this.initFunction(r), this.options.ecmaVersion >= 6 && (r.generator = e), this.options.ecmaVersion >= 8 && (r.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(Tt(t, r.generator) | yt | (n ? bt : 0)), this.expect(k.parenL), r.params = this.parseBindingList(k.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams(), this.parseFunctionBody(r, !1, !0, !1), this.yieldPos = i, this.awaitPos = a, this.awaitIdentPos = o, this.finishNode(r, "FunctionExpression");
2763
- }, R.parseArrowExpression = function(e, t, n, r) {
2762
+ return this.initFunction(r), this.options.ecmaVersion >= 6 && (r.generator = e), this.options.ecmaVersion >= 8 && (r.async = !!t), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(Et(t, r.generator) | bt | (n ? xt : 0)), this.expect(O.parenL), r.params = this.parseBindingList(O.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams(), this.parseFunctionBody(r, !1, !0, !1), this.yieldPos = i, this.awaitPos = a, this.awaitIdentPos = o, this.finishNode(r, "FunctionExpression");
2763
+ }, L.parseArrowExpression = function(e, t, n, r) {
2764
2764
  var i = this.yieldPos, a = this.awaitPos, o = this.awaitIdentPos;
2765
- return this.enterScope(Tt(n, !1) | _t), this.initFunction(e), this.options.ecmaVersion >= 8 && (e.async = !!n), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, e.params = this.toAssignableList(t, !0), this.parseFunctionBody(e, !0, !1, r), this.yieldPos = i, this.awaitPos = a, this.awaitIdentPos = o, this.finishNode(e, "ArrowFunctionExpression");
2766
- }, R.parseFunctionBody = function(e, t, n, r) {
2767
- var i = t && this.type !== k.braceL, a = this.strict, o = !1;
2765
+ return this.enterScope(Et(n, !1) | vt), this.initFunction(e), this.options.ecmaVersion >= 8 && (e.async = !!n), this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, e.params = this.toAssignableList(t, !0), this.parseFunctionBody(e, !0, !1, r), this.yieldPos = i, this.awaitPos = a, this.awaitIdentPos = o, this.finishNode(e, "ArrowFunctionExpression");
2766
+ }, L.parseFunctionBody = function(e, t, n, r) {
2767
+ var i = t && this.type !== O.braceL, a = this.strict, o = !1;
2768
2768
  if (i) e.body = this.parseMaybeAssign(r), e.expression = !0, this.checkParams(e, !1);
2769
2769
  else {
2770
2770
  var s = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(e.params);
2771
2771
  (!a || s) && (o = this.strictDirective(this.end), o && s && this.raiseRecoverable(e.start, "Illegal 'use strict' directive in function with non-simple parameter list"));
2772
2772
  var c = this.labels;
2773
- this.labels = [], o && (this.strict = !0), this.checkParams(e, !a && !o && !t && !n && this.isSimpleParamList(e.params)), this.strict && e.id && this.checkLValSimple(e.id, jt), e.body = this.parseBlock(!1, void 0, o && !a), e.expression = !1, this.adaptDirectivePrologue(e.body.body), this.labels = c;
2773
+ this.labels = [], o && (this.strict = !0), this.checkParams(e, !a && !o && !t && !n && this.isSimpleParamList(e.params)), this.strict && e.id && this.checkLValSimple(e.id, Mt), e.body = this.parseBlock(!1, void 0, o && !a), e.expression = !1, this.adaptDirectivePrologue(e.body.body), this.labels = c;
2774
2774
  }
2775
2775
  this.exitScope();
2776
- }, R.isSimpleParamList = function(e) {
2776
+ }, L.isSimpleParamList = function(e) {
2777
2777
  for (var t = 0, n = e; t < n.length; t += 1) if (n[t].type !== "Identifier") return !1;
2778
2778
  return !0;
2779
- }, R.checkParams = function(e, t) {
2779
+ }, L.checkParams = function(e, t) {
2780
2780
  for (var n = Object.create(null), r = 0, i = e.params; r < i.length; r += 1) {
2781
2781
  var a = i[r];
2782
- this.checkLValInnerPattern(a, Dt, t ? null : n);
2782
+ this.checkLValInnerPattern(a, Ot, t ? null : n);
2783
2783
  }
2784
- }, R.parseExprList = function(e, t, n, r) {
2784
+ }, L.parseExprList = function(e, t, n, r) {
2785
2785
  for (var i = [], a = !0; !this.eat(e);) {
2786
2786
  if (a) a = !1;
2787
- else if (this.expect(k.comma), t && this.afterTrailingComma(e)) break;
2787
+ else if (this.expect(O.comma), t && this.afterTrailingComma(e)) break;
2788
2788
  var o = void 0;
2789
- n && this.type === k.comma ? o = null : this.type === k.ellipsis ? (o = this.parseSpread(r), r && this.type === k.comma && r.trailingComma < 0 && (r.trailingComma = this.start)) : o = this.parseMaybeAssign(!1, r), i.push(o);
2789
+ n && this.type === O.comma ? o = null : this.type === O.ellipsis ? (o = this.parseSpread(r), r && this.type === O.comma && r.trailingComma < 0 && (r.trailingComma = this.start)) : o = this.parseMaybeAssign(!1, r), i.push(o);
2790
2790
  }
2791
2791
  return i;
2792
- }, R.checkUnreserved = function(e) {
2792
+ }, L.checkUnreserved = function(e) {
2793
2793
  var t = e.start, n = e.end, r = e.name;
2794
- this.inGenerator && r === "yield" && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && r === "await" && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), !(this.currentThisScope().flags & wt) && r === "arguments" && this.raiseRecoverable(t, "Cannot use 'arguments' in class field initializer"), this.inClassStaticBlock && (r === "arguments" || r === "await") && this.raise(t, "Cannot use " + r + " in class static initialization block"), this.keywords.test(r) && this.raise(t, "Unexpected keyword '" + r + "'"), !(this.options.ecmaVersion < 6 && this.input.slice(t, n).indexOf("\\") !== -1) && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(r) && (!this.inAsync && r === "await" && this.raiseRecoverable(t, "Cannot use keyword 'await' outside an async function"), this.raiseRecoverable(t, "The keyword '" + r + "' is reserved"));
2795
- }, R.parseIdent = function(e) {
2794
+ this.inGenerator && r === "yield" && this.raiseRecoverable(t, "Cannot use 'yield' as identifier inside a generator"), this.inAsync && r === "await" && this.raiseRecoverable(t, "Cannot use 'await' as identifier inside an async function"), !(this.currentThisScope().flags & Tt) && r === "arguments" && this.raiseRecoverable(t, "Cannot use 'arguments' in class field initializer"), this.inClassStaticBlock && (r === "arguments" || r === "await") && this.raise(t, "Cannot use " + r + " in class static initialization block"), this.keywords.test(r) && this.raise(t, "Unexpected keyword '" + r + "'"), !(this.options.ecmaVersion < 6 && this.input.slice(t, n).indexOf("\\") !== -1) && (this.strict ? this.reservedWordsStrict : this.reservedWords).test(r) && (!this.inAsync && r === "await" && this.raiseRecoverable(t, "Cannot use keyword 'await' outside an async function"), this.raiseRecoverable(t, "The keyword '" + r + "' is reserved"));
2795
+ }, L.parseIdent = function(e) {
2796
2796
  var t = this.parseIdentNode();
2797
2797
  return this.next(!!e), this.finishNode(t, "Identifier"), e || (this.checkUnreserved(t), t.name === "await" && !this.awaitIdentPos && (this.awaitIdentPos = t.start)), t;
2798
- }, R.parseIdentNode = function() {
2798
+ }, L.parseIdentNode = function() {
2799
2799
  var e = this.startNode();
2800
- return this.type === k.name ? e.name = this.value : this.type.keyword ? (e.name = this.type.keyword, (e.name === "class" || e.name === "function") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46) && this.context.pop(), this.type = k.name) : this.unexpected(), e;
2801
- }, R.parsePrivateIdent = function() {
2800
+ return this.type === O.name ? e.name = this.value : this.type.keyword ? (e.name = this.type.keyword, (e.name === "class" || e.name === "function") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46) && this.context.pop(), this.type = O.name) : this.unexpected(), e;
2801
+ }, L.parsePrivateIdent = function() {
2802
2802
  var e = this.startNode();
2803
- return this.type === k.privateId ? e.name = this.value : this.unexpected(), this.next(), this.finishNode(e, "PrivateIdentifier"), this.options.checkPrivateFields && (this.privateNameStack.length === 0 ? this.raise(e.start, "Private field '#" + e.name + "' must be declared in an enclosing class") : this.privateNameStack[this.privateNameStack.length - 1].used.push(e)), e;
2804
- }, R.parseYield = function(e) {
2803
+ return this.type === O.privateId ? e.name = this.value : this.unexpected(), this.next(), this.finishNode(e, "PrivateIdentifier"), this.options.checkPrivateFields && (this.privateNameStack.length === 0 ? this.raise(e.start, "Private field '#" + e.name + "' must be declared in an enclosing class") : this.privateNameStack[this.privateNameStack.length - 1].used.push(e)), e;
2804
+ }, L.parseYield = function(e) {
2805
2805
  this.yieldPos ||= this.start;
2806
2806
  var t = this.startNode();
2807
- return this.next(), this.type === k.semi || this.canInsertSemicolon() || this.type !== k.star && !this.type.startsExpr ? (t.delegate = !1, t.argument = null) : (t.delegate = this.eat(k.star), t.argument = this.parseMaybeAssign(e)), this.finishNode(t, "YieldExpression");
2808
- }, R.parseAwait = function(e) {
2807
+ return this.next(), this.type === O.semi || this.canInsertSemicolon() || this.type !== O.star && !this.type.startsExpr ? (t.delegate = !1, t.argument = null) : (t.delegate = this.eat(O.star), t.argument = this.parseMaybeAssign(e)), this.finishNode(t, "YieldExpression");
2808
+ }, L.parseAwait = function(e) {
2809
2809
  this.awaitPos ||= this.start;
2810
2810
  var t = this.startNode();
2811
2811
  return this.next(), t.argument = this.parseMaybeUnary(null, !0, !1, e), this.finishNode(t, "AwaitExpression");
2812
2812
  };
2813
- var qt = M.prototype;
2814
- qt.raise = function(e, t) {
2815
- var n = ct(this.input, e);
2813
+ var Jt = j.prototype;
2814
+ Jt.raise = function(e, t) {
2815
+ var n = lt(this.input, e);
2816
2816
  t += " (" + n.line + ":" + n.column + ")", this.sourceFile && (t += " in " + this.sourceFile);
2817
2817
  var r = SyntaxError(t);
2818
2818
  throw r.pos = e, r.loc = n, r.raisedAt = this.pos, r;
2819
- }, qt.raiseRecoverable = qt.raise, qt.curPosition = function() {
2820
- if (this.options.locations) return new ot(this.curLine, this.pos - this.lineStart);
2819
+ }, Jt.raiseRecoverable = Jt.raise, Jt.curPosition = function() {
2820
+ if (this.options.locations) return new st(this.curLine, this.pos - this.lineStart);
2821
2821
  };
2822
- var Jt = M.prototype, Yt = function(e) {
2822
+ var Yt = j.prototype, Xt = function(e) {
2823
2823
  this.flags = e, this.var = [], this.lexical = [], this.functions = [];
2824
2824
  };
2825
- Jt.enterScope = function(e) {
2826
- this.scopeStack.push(new Yt(e));
2827
- }, Jt.exitScope = function() {
2825
+ Yt.enterScope = function(e) {
2826
+ this.scopeStack.push(new Xt(e));
2827
+ }, Yt.exitScope = function() {
2828
2828
  this.scopeStack.pop();
2829
- }, Jt.treatFunctionsAsVarInScope = function(e) {
2830
- return e.flags & mt || !this.inModule && e.flags & pt;
2831
- }, Jt.declareName = function(e, t, n) {
2829
+ }, Yt.treatFunctionsAsVarInScope = function(e) {
2830
+ return e.flags & ht || !this.inModule && e.flags & mt;
2831
+ }, Yt.declareName = function(e, t, n) {
2832
2832
  var r = !1;
2833
- if (t === Ot) {
2833
+ if (t === kt) {
2834
2834
  var i = this.currentScope();
2835
- r = i.lexical.indexOf(e) > -1 || i.functions.indexOf(e) > -1 || i.var.indexOf(e) > -1, i.lexical.push(e), this.inModule && i.flags & pt && delete this.undefinedExports[e];
2836
- } else if (t === At) this.currentScope().lexical.push(e);
2837
- else if (t === kt) {
2835
+ r = i.lexical.indexOf(e) > -1 || i.functions.indexOf(e) > -1 || i.var.indexOf(e) > -1, i.lexical.push(e), this.inModule && i.flags & mt && delete this.undefinedExports[e];
2836
+ } else if (t === jt) this.currentScope().lexical.push(e);
2837
+ else if (t === At) {
2838
2838
  var a = this.currentScope();
2839
2839
  r = this.treatFunctionsAsVar ? a.lexical.indexOf(e) > -1 : a.lexical.indexOf(e) > -1 || a.var.indexOf(e) > -1, a.functions.push(e);
2840
2840
  } else for (var o = this.scopeStack.length - 1; o >= 0; --o) {
2841
2841
  var s = this.scopeStack[o];
2842
- if (s.lexical.indexOf(e) > -1 && !(s.flags & vt && s.lexical[0] === e) || !this.treatFunctionsAsVarInScope(s) && s.functions.indexOf(e) > -1) {
2842
+ if (s.lexical.indexOf(e) > -1 && !(s.flags & yt && s.lexical[0] === e) || !this.treatFunctionsAsVarInScope(s) && s.functions.indexOf(e) > -1) {
2843
2843
  r = !0;
2844
2844
  break;
2845
2845
  }
2846
- if (s.var.push(e), this.inModule && s.flags & pt && delete this.undefinedExports[e], s.flags & wt) break;
2846
+ if (s.var.push(e), this.inModule && s.flags & mt && delete this.undefinedExports[e], s.flags & Tt) break;
2847
2847
  }
2848
2848
  r && this.raiseRecoverable(n, "Identifier '" + e + "' has already been declared");
2849
- }, Jt.checkLocalExport = function(e) {
2849
+ }, Yt.checkLocalExport = function(e) {
2850
2850
  this.scopeStack[0].lexical.indexOf(e.name) === -1 && this.scopeStack[0].var.indexOf(e.name) === -1 && (this.undefinedExports[e.name] = e);
2851
- }, Jt.currentScope = function() {
2851
+ }, Yt.currentScope = function() {
2852
2852
  return this.scopeStack[this.scopeStack.length - 1];
2853
- }, Jt.currentVarScope = function() {
2853
+ }, Yt.currentVarScope = function() {
2854
2854
  for (var e = this.scopeStack.length - 1;; e--) {
2855
2855
  var t = this.scopeStack[e];
2856
- if (t.flags & (wt | St | xt)) return t;
2856
+ if (t.flags & (Tt | Ct | St)) return t;
2857
2857
  }
2858
- }, Jt.currentThisScope = function() {
2858
+ }, Yt.currentThisScope = function() {
2859
2859
  for (var e = this.scopeStack.length - 1;; e--) {
2860
2860
  var t = this.scopeStack[e];
2861
- if (t.flags & (wt | St | xt) && !(t.flags & _t)) return t;
2861
+ if (t.flags & (Tt | Ct | St) && !(t.flags & vt)) return t;
2862
2862
  }
2863
2863
  };
2864
- var Xt = function(e, t, n) {
2865
- this.type = "", this.start = t, this.end = 0, e.options.locations && (this.loc = new st(e, n)), e.options.directSourceFile && (this.sourceFile = e.options.directSourceFile), e.options.ranges && (this.range = [t, 0]);
2866
- }, Zt = M.prototype;
2867
- Zt.startNode = function() {
2868
- return new Xt(this, this.start, this.startLoc);
2869
- }, Zt.startNodeAt = function(e, t) {
2870
- return new Xt(this, e, t);
2864
+ var Zt = function(e, t, n) {
2865
+ this.type = "", this.start = t, this.end = 0, e.options.locations && (this.loc = new ct(e, n)), e.options.directSourceFile && (this.sourceFile = e.options.directSourceFile), e.options.ranges && (this.range = [t, 0]);
2866
+ }, Qt = j.prototype;
2867
+ Qt.startNode = function() {
2868
+ return new Zt(this, this.start, this.startLoc);
2869
+ }, Qt.startNodeAt = function(e, t) {
2870
+ return new Zt(this, e, t);
2871
2871
  };
2872
- function Qt(e, t, n, r) {
2872
+ function $t(e, t, n, r) {
2873
2873
  return e.type = t, e.end = n, this.options.locations && (e.loc.end = r), this.options.ranges && (e.range[1] = n), e;
2874
2874
  }
2875
- Zt.finishNode = function(e, t) {
2876
- return Qt.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc);
2877
- }, Zt.finishNodeAt = function(e, t, n, r) {
2878
- return Qt.call(this, e, t, n, r);
2879
- }, Zt.copyNode = function(e) {
2880
- var t = new Xt(this, e.start, this.startLoc);
2875
+ Qt.finishNode = function(e, t) {
2876
+ return $t.call(this, e, t, this.lastTokEnd, this.lastTokEndLoc);
2877
+ }, Qt.finishNodeAt = function(e, t, n, r) {
2878
+ return $t.call(this, e, t, n, r);
2879
+ }, Qt.copyNode = function(e) {
2880
+ var t = new Zt(this, e.start, this.startLoc);
2881
2881
  for (var n in e) t[n] = e[n];
2882
2882
  return t;
2883
2883
  };
2884
- var $t = "Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz", en = "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", tn = en + " Extended_Pictographic", nn = tn, rn = nn + " EBase EComp EMod EPres ExtPict", an = rn, on = {
2885
- 9: en,
2886
- 10: tn,
2887
- 11: nn,
2888
- 12: rn,
2889
- 13: an,
2890
- 14: an
2891
- }, sn = {
2884
+ var en = "Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz", tn = "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", nn = tn + " Extended_Pictographic", rn = nn, an = rn + " EBase EComp EMod EPres ExtPict", on = an, sn = {
2885
+ 9: tn,
2886
+ 10: nn,
2887
+ 11: rn,
2888
+ 12: an,
2889
+ 13: on,
2890
+ 14: on
2891
+ }, cn = {
2892
2892
  9: "",
2893
2893
  10: "",
2894
2894
  11: "",
2895
2895
  12: "",
2896
2896
  13: "",
2897
2897
  14: "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"
2898
- }, cn = "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", ln = "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", un = ln + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd", dn = un + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho", fn = dn + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi", pn = fn + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith", mn = {
2899
- 9: ln,
2900
- 10: un,
2901
- 11: dn,
2902
- 12: fn,
2903
- 13: pn,
2904
- 14: pn + " " + $t
2905
- }, hn = {};
2906
- function gn(e) {
2907
- var t = hn[e] = {
2908
- binary: rt(on[e] + " " + cn),
2909
- binaryOfStrings: rt(sn[e]),
2898
+ }, ln = "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", un = "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", dn = un + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd", fn = dn + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho", pn = fn + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi", mn = pn + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith", hn = {
2899
+ 9: un,
2900
+ 10: dn,
2901
+ 11: fn,
2902
+ 12: pn,
2903
+ 13: mn,
2904
+ 14: mn + " " + en
2905
+ }, gn = {};
2906
+ function _n(e) {
2907
+ var t = gn[e] = {
2908
+ binary: it(sn[e] + " " + ln),
2909
+ binaryOfStrings: it(cn[e]),
2910
2910
  nonBinary: {
2911
- General_Category: rt(cn),
2912
- Script: rt(mn[e])
2911
+ General_Category: it(ln),
2912
+ Script: it(hn[e])
2913
2913
  }
2914
2914
  };
2915
2915
  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;
2916
2916
  }
2917
- for (var _n = 0, vn = [
2917
+ for (var vn = 0, yn = [
2918
2918
  9,
2919
2919
  10,
2920
2920
  11,
2921
2921
  12,
2922
2922
  13,
2923
2923
  14
2924
- ]; _n < vn.length; _n += 1) {
2925
- var yn = vn[_n];
2926
- gn(yn);
2924
+ ]; vn < yn.length; vn += 1) {
2925
+ var bn = yn[vn];
2926
+ _n(bn);
2927
2927
  }
2928
- var z = M.prototype, bn = function(e, t) {
2928
+ var R = j.prototype, xn = function(e, t) {
2929
2929
  this.parent = e, this.base = t || this;
2930
2930
  };
2931
- bn.prototype.separatedFrom = function(e) {
2931
+ xn.prototype.separatedFrom = function(e) {
2932
2932
  for (var t = this; t; t = t.parent) for (var n = e; n; n = n.parent) if (t.base === n.base && t !== n) return !0;
2933
2933
  return !1;
2934
- }, bn.prototype.sibling = function() {
2935
- return new bn(this.parent, this.base);
2934
+ }, xn.prototype.sibling = function() {
2935
+ return new xn(this.parent, this.base);
2936
2936
  };
2937
- var xn = function(e) {
2938
- this.parser = e, this.validFlags = "gim" + (e.options.ecmaVersion >= 6 ? "uy" : "") + (e.options.ecmaVersion >= 9 ? "s" : "") + (e.options.ecmaVersion >= 13 ? "d" : "") + (e.options.ecmaVersion >= 15 ? "v" : ""), this.unicodeProperties = hn[e.options.ecmaVersion >= 14 ? 14 : e.options.ecmaVersion], this.source = "", this.flags = "", this.start = 0, this.switchU = !1, this.switchV = !1, this.switchN = !1, this.pos = 0, this.lastIntValue = 0, this.lastStringValue = "", this.lastAssertionIsQuantifiable = !1, this.numCapturingParens = 0, this.maxBackReference = 0, this.groupNames = Object.create(null), this.backReferenceNames = [], this.branchID = null;
2937
+ var Sn = function(e) {
2938
+ this.parser = e, this.validFlags = "gim" + (e.options.ecmaVersion >= 6 ? "uy" : "") + (e.options.ecmaVersion >= 9 ? "s" : "") + (e.options.ecmaVersion >= 13 ? "d" : "") + (e.options.ecmaVersion >= 15 ? "v" : ""), this.unicodeProperties = gn[e.options.ecmaVersion >= 14 ? 14 : e.options.ecmaVersion], this.source = "", this.flags = "", this.start = 0, this.switchU = !1, this.switchV = !1, this.switchN = !1, this.pos = 0, this.lastIntValue = 0, this.lastStringValue = "", this.lastAssertionIsQuantifiable = !1, this.numCapturingParens = 0, this.maxBackReference = 0, this.groupNames = Object.create(null), this.backReferenceNames = [], this.branchID = null;
2939
2939
  };
2940
- xn.prototype.reset = function(e, t, n) {
2940
+ Sn.prototype.reset = function(e, t, n) {
2941
2941
  var r = n.indexOf("v") !== -1, i = n.indexOf("u") !== -1;
2942
2942
  this.start = e | 0, this.source = t + "", this.flags = n, r && this.parser.options.ecmaVersion >= 15 ? (this.switchU = !0, this.switchV = !0, this.switchN = !0) : (this.switchU = i && this.parser.options.ecmaVersion >= 6, this.switchV = !1, this.switchN = i && this.parser.options.ecmaVersion >= 9);
2943
- }, xn.prototype.raise = function(e) {
2943
+ }, Sn.prototype.raise = function(e) {
2944
2944
  this.parser.raiseRecoverable(this.start, "Invalid regular expression: /" + this.source + "/: " + e);
2945
- }, xn.prototype.at = function(e, t) {
2945
+ }, Sn.prototype.at = function(e, t) {
2946
2946
  t === void 0 && (t = !1);
2947
2947
  var n = this.source, r = n.length;
2948
2948
  if (e >= r) return -1;
@@ -2950,21 +2950,21 @@ xn.prototype.reset = function(e, t, n) {
2950
2950
  if (!(t || this.switchU) || i <= 55295 || i >= 57344 || e + 1 >= r) return i;
2951
2951
  var a = n.charCodeAt(e + 1);
2952
2952
  return a >= 56320 && a <= 57343 ? (i << 10) + a - 56613888 : i;
2953
- }, xn.prototype.nextIndex = function(e, t) {
2953
+ }, Sn.prototype.nextIndex = function(e, t) {
2954
2954
  t === void 0 && (t = !1);
2955
2955
  var n = this.source, r = n.length;
2956
2956
  if (e >= r) return r;
2957
2957
  var i = n.charCodeAt(e), a;
2958
2958
  return !(t || this.switchU) || i <= 55295 || i >= 57344 || e + 1 >= r || (a = n.charCodeAt(e + 1)) < 56320 || a > 57343 ? e + 1 : e + 2;
2959
- }, xn.prototype.current = function(e) {
2959
+ }, Sn.prototype.current = function(e) {
2960
2960
  return e === void 0 && (e = !1), this.at(this.pos, e);
2961
- }, xn.prototype.lookahead = function(e) {
2961
+ }, Sn.prototype.lookahead = function(e) {
2962
2962
  return e === void 0 && (e = !1), this.at(this.nextIndex(this.pos, e), e);
2963
- }, xn.prototype.advance = function(e) {
2963
+ }, Sn.prototype.advance = function(e) {
2964
2964
  e === void 0 && (e = !1), this.pos = this.nextIndex(this.pos, e);
2965
- }, xn.prototype.eat = function(e, t) {
2965
+ }, Sn.prototype.eat = function(e, t) {
2966
2966
  return t === void 0 && (t = !1), this.current(t) === e && (this.advance(t), !0);
2967
- }, xn.prototype.eatChars = function(e, t) {
2967
+ }, Sn.prototype.eatChars = function(e, t) {
2968
2968
  t === void 0 && (t = !1);
2969
2969
  for (var n = this.pos, r = 0, i = e; r < i.length; r += 1) {
2970
2970
  var a = i[r], o = this.at(n, t);
@@ -2972,34 +2972,34 @@ xn.prototype.reset = function(e, t, n) {
2972
2972
  n = this.nextIndex(n, t);
2973
2973
  }
2974
2974
  return this.pos = n, !0;
2975
- }, z.validateRegExpFlags = function(e) {
2975
+ }, R.validateRegExpFlags = function(e) {
2976
2976
  for (var t = e.validFlags, n = e.flags, r = !1, i = !1, a = 0; a < n.length; a++) {
2977
2977
  var o = n.charAt(a);
2978
2978
  t.indexOf(o) === -1 && this.raise(e.start, "Invalid regular expression flag"), n.indexOf(o, a + 1) > -1 && this.raise(e.start, "Duplicate regular expression flag"), o === "u" && (r = !0), o === "v" && (i = !0);
2979
2979
  }
2980
2980
  this.options.ecmaVersion >= 15 && r && i && this.raise(e.start, "Invalid regular expression flag");
2981
2981
  };
2982
- function Sn(e) {
2982
+ function Cn(e) {
2983
2983
  for (var t in e) return !0;
2984
2984
  return !1;
2985
2985
  }
2986
- z.validateRegExpPattern = function(e) {
2987
- this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 && Sn(e.groupNames) && (e.switchN = !0, this.regexp_pattern(e));
2988
- }, z.regexp_pattern = function(e) {
2986
+ R.validateRegExpPattern = function(e) {
2987
+ this.regexp_pattern(e), !e.switchN && this.options.ecmaVersion >= 9 && Cn(e.groupNames) && (e.switchN = !0, this.regexp_pattern(e));
2988
+ }, R.regexp_pattern = function(e) {
2989
2989
  e.pos = 0, e.lastIntValue = 0, e.lastStringValue = "", e.lastAssertionIsQuantifiable = !1, e.numCapturingParens = 0, e.maxBackReference = 0, e.groupNames = 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");
2990
2990
  for (var t = 0, n = e.backReferenceNames; t < n.length; t += 1) {
2991
2991
  var r = n[t];
2992
2992
  e.groupNames[r] || e.raise("Invalid named capture referenced");
2993
2993
  }
2994
- }, z.regexp_disjunction = function(e) {
2994
+ }, R.regexp_disjunction = function(e) {
2995
2995
  var t = this.options.ecmaVersion >= 16;
2996
- for (t && (e.branchID = new bn(e.branchID, null)), this.regexp_alternative(e); e.eat(124);) t && (e.branchID = e.branchID.sibling()), this.regexp_alternative(e);
2996
+ for (t && (e.branchID = new xn(e.branchID, null)), this.regexp_alternative(e); e.eat(124);) t && (e.branchID = e.branchID.sibling()), this.regexp_alternative(e);
2997
2997
  t && (e.branchID = e.branchID.parent), this.regexp_eatQuantifier(e, !0) && e.raise("Nothing to repeat"), e.eat(123) && e.raise("Lone quantifier brackets");
2998
- }, z.regexp_alternative = function(e) {
2998
+ }, R.regexp_alternative = function(e) {
2999
2999
  for (; e.pos < e.source.length && this.regexp_eatTerm(e););
3000
- }, z.regexp_eatTerm = function(e) {
3000
+ }, R.regexp_eatTerm = function(e) {
3001
3001
  return this.regexp_eatAssertion(e) ? (e.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(e) && e.switchU && e.raise("Invalid quantifier"), !0) : (e.switchU ? this.regexp_eatAtom(e) : this.regexp_eatExtendedAtom(e)) ? (this.regexp_eatQuantifier(e), !0) : !1;
3002
- }, z.regexp_eatAssertion = function(e) {
3002
+ }, R.regexp_eatAssertion = function(e) {
3003
3003
  var t = e.pos;
3004
3004
  if (e.lastAssertionIsQuantifiable = !1, e.eat(94) || e.eat(36)) return !0;
3005
3005
  if (e.eat(92)) {
@@ -3011,11 +3011,11 @@ z.validateRegExpPattern = function(e) {
3011
3011
  if (this.options.ecmaVersion >= 9 && (n = e.eat(60)), e.eat(61) || e.eat(33)) return this.regexp_disjunction(e), e.eat(41) || e.raise("Unterminated group"), e.lastAssertionIsQuantifiable = !n, !0;
3012
3012
  }
3013
3013
  return e.pos = t, !1;
3014
- }, z.regexp_eatQuantifier = function(e, t) {
3014
+ }, R.regexp_eatQuantifier = function(e, t) {
3015
3015
  return t === void 0 && (t = !1), this.regexp_eatQuantifierPrefix(e, t) ? (e.eat(63), !0) : !1;
3016
- }, z.regexp_eatQuantifierPrefix = function(e, t) {
3016
+ }, R.regexp_eatQuantifierPrefix = function(e, t) {
3017
3017
  return e.eat(42) || e.eat(43) || e.eat(63) || this.regexp_eatBracedQuantifier(e, t);
3018
- }, z.regexp_eatBracedQuantifier = function(e, t) {
3018
+ }, R.regexp_eatBracedQuantifier = function(e, t) {
3019
3019
  var n = e.pos;
3020
3020
  if (e.eat(123)) {
3021
3021
  var r = 0, i = -1;
@@ -3023,16 +3023,16 @@ z.validateRegExpPattern = function(e) {
3023
3023
  e.switchU && !t && e.raise("Incomplete quantifier"), e.pos = n;
3024
3024
  }
3025
3025
  return !1;
3026
- }, z.regexp_eatAtom = function(e) {
3026
+ }, R.regexp_eatAtom = function(e) {
3027
3027
  return this.regexp_eatPatternCharacters(e) || e.eat(46) || this.regexp_eatReverseSolidusAtomEscape(e) || this.regexp_eatCharacterClass(e) || this.regexp_eatUncapturingGroup(e) || this.regexp_eatCapturingGroup(e);
3028
- }, z.regexp_eatReverseSolidusAtomEscape = function(e) {
3028
+ }, R.regexp_eatReverseSolidusAtomEscape = function(e) {
3029
3029
  var t = e.pos;
3030
3030
  if (e.eat(92)) {
3031
3031
  if (this.regexp_eatAtomEscape(e)) return !0;
3032
3032
  e.pos = t;
3033
3033
  }
3034
3034
  return !1;
3035
- }, z.regexp_eatUncapturingGroup = function(e) {
3035
+ }, R.regexp_eatUncapturingGroup = function(e) {
3036
3036
  var t = e.pos;
3037
3037
  if (e.eat(40)) {
3038
3038
  if (e.eat(63)) {
@@ -3061,37 +3061,37 @@ z.validateRegExpPattern = function(e) {
3061
3061
  e.pos = t;
3062
3062
  }
3063
3063
  return !1;
3064
- }, z.regexp_eatCapturingGroup = function(e) {
3064
+ }, R.regexp_eatCapturingGroup = function(e) {
3065
3065
  if (e.eat(40)) {
3066
3066
  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, !0;
3067
3067
  e.raise("Unterminated group");
3068
3068
  }
3069
3069
  return !1;
3070
- }, z.regexp_eatModifiers = function(e) {
3071
- for (var t = "", n = 0; (n = e.current()) !== -1 && Cn(n);) t += it(n), e.advance();
3070
+ }, R.regexp_eatModifiers = function(e) {
3071
+ for (var t = "", n = 0; (n = e.current()) !== -1 && wn(n);) t += at(n), e.advance();
3072
3072
  return t;
3073
3073
  };
3074
- function Cn(e) {
3074
+ function wn(e) {
3075
3075
  return e === 105 || e === 109 || e === 115;
3076
3076
  }
3077
- z.regexp_eatExtendedAtom = function(e) {
3077
+ R.regexp_eatExtendedAtom = function(e) {
3078
3078
  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);
3079
- }, z.regexp_eatInvalidBracedQuantifier = function(e) {
3079
+ }, R.regexp_eatInvalidBracedQuantifier = function(e) {
3080
3080
  return this.regexp_eatBracedQuantifier(e, !0) && e.raise("Nothing to repeat"), !1;
3081
- }, z.regexp_eatSyntaxCharacter = function(e) {
3081
+ }, R.regexp_eatSyntaxCharacter = function(e) {
3082
3082
  var t = e.current();
3083
- return wn(t) ? (e.lastIntValue = t, e.advance(), !0) : !1;
3083
+ return Tn(t) ? (e.lastIntValue = t, e.advance(), !0) : !1;
3084
3084
  };
3085
- function wn(e) {
3085
+ function Tn(e) {
3086
3086
  return e === 36 || e >= 40 && e <= 43 || e === 46 || e === 63 || e >= 91 && e <= 94 || e >= 123 && e <= 125;
3087
3087
  }
3088
- z.regexp_eatPatternCharacters = function(e) {
3089
- for (var t = e.pos, n = 0; (n = e.current()) !== -1 && !wn(n);) e.advance();
3088
+ R.regexp_eatPatternCharacters = function(e) {
3089
+ for (var t = e.pos, n = 0; (n = e.current()) !== -1 && !Tn(n);) e.advance();
3090
3090
  return e.pos !== t;
3091
- }, z.regexp_eatExtendedPatternCharacter = function(e) {
3091
+ }, R.regexp_eatExtendedPatternCharacter = function(e) {
3092
3092
  var t = e.current();
3093
3093
  return t !== -1 && t !== 36 && !(t >= 40 && t <= 43) && t !== 46 && t !== 63 && t !== 91 && t !== 94 && t !== 124 && (e.advance(), !0);
3094
- }, z.regexp_groupSpecifier = function(e) {
3094
+ }, R.regexp_groupSpecifier = function(e) {
3095
3095
  if (e.eat(63)) {
3096
3096
  this.regexp_eatGroupName(e) || e.raise("Invalid group");
3097
3097
  var t = this.options.ecmaVersion >= 16, n = e.groupNames[e.lastStringValue];
@@ -3101,35 +3101,35 @@ z.regexp_eatPatternCharacters = function(e) {
3101
3101
  }
3102
3102
  t ? (n || (e.groupNames[e.lastStringValue] = [])).push(e.branchID) : e.groupNames[e.lastStringValue] = !0;
3103
3103
  }
3104
- }, z.regexp_eatGroupName = function(e) {
3104
+ }, R.regexp_eatGroupName = function(e) {
3105
3105
  if (e.lastStringValue = "", e.eat(60)) {
3106
3106
  if (this.regexp_eatRegExpIdentifierName(e) && e.eat(62)) return !0;
3107
3107
  e.raise("Invalid capture group name");
3108
3108
  }
3109
3109
  return !1;
3110
- }, z.regexp_eatRegExpIdentifierName = function(e) {
3110
+ }, R.regexp_eatRegExpIdentifierName = function(e) {
3111
3111
  if (e.lastStringValue = "", this.regexp_eatRegExpIdentifierStart(e)) {
3112
- for (e.lastStringValue += it(e.lastIntValue); this.regexp_eatRegExpIdentifierPart(e);) e.lastStringValue += it(e.lastIntValue);
3112
+ for (e.lastStringValue += at(e.lastIntValue); this.regexp_eatRegExpIdentifierPart(e);) e.lastStringValue += at(e.lastIntValue);
3113
3113
  return !0;
3114
3114
  }
3115
3115
  return !1;
3116
- }, z.regexp_eatRegExpIdentifierStart = function(e) {
3116
+ }, R.regexp_eatRegExpIdentifierStart = function(e) {
3117
3117
  var t = e.pos, n = this.options.ecmaVersion >= 11, r = e.current(n);
3118
- return e.advance(n), r === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, n) && (r = e.lastIntValue), Tn(r) ? (e.lastIntValue = r, !0) : (e.pos = t, !1);
3118
+ return e.advance(n), r === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, n) && (r = e.lastIntValue), En(r) ? (e.lastIntValue = r, !0) : (e.pos = t, !1);
3119
3119
  };
3120
- function Tn(e) {
3120
+ function En(e) {
3121
3121
  return We(e, !0) || e === 36 || e === 95;
3122
3122
  }
3123
- z.regexp_eatRegExpIdentifierPart = function(e) {
3123
+ R.regexp_eatRegExpIdentifierPart = function(e) {
3124
3124
  var t = e.pos, n = this.options.ecmaVersion >= 11, r = e.current(n);
3125
- return e.advance(n), r === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, n) && (r = e.lastIntValue), En(r) ? (e.lastIntValue = r, !0) : (e.pos = t, !1);
3125
+ return e.advance(n), r === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(e, n) && (r = e.lastIntValue), Dn(r) ? (e.lastIntValue = r, !0) : (e.pos = t, !1);
3126
3126
  };
3127
- function En(e) {
3127
+ function Dn(e) {
3128
3128
  return Ge(e, !0) || e === 36 || e === 95 || e === 8204 || e === 8205;
3129
3129
  }
3130
- z.regexp_eatAtomEscape = function(e) {
3130
+ R.regexp_eatAtomEscape = function(e) {
3131
3131
  return this.regexp_eatBackReference(e) || this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e) || e.switchN && this.regexp_eatKGroupName(e) ? !0 : (e.switchU && (e.current() === 99 && e.raise("Invalid unicode escape"), e.raise("Invalid escape")), !1);
3132
- }, z.regexp_eatBackReference = function(e) {
3132
+ }, R.regexp_eatBackReference = function(e) {
3133
3133
  var t = e.pos;
3134
3134
  if (this.regexp_eatDecimalEscape(e)) {
3135
3135
  var n = e.lastIntValue;
@@ -3138,34 +3138,34 @@ z.regexp_eatAtomEscape = function(e) {
3138
3138
  e.pos = t;
3139
3139
  }
3140
3140
  return !1;
3141
- }, z.regexp_eatKGroupName = function(e) {
3141
+ }, R.regexp_eatKGroupName = function(e) {
3142
3142
  if (e.eat(107)) {
3143
3143
  if (this.regexp_eatGroupName(e)) return e.backReferenceNames.push(e.lastStringValue), !0;
3144
3144
  e.raise("Invalid named reference");
3145
3145
  }
3146
3146
  return !1;
3147
- }, z.regexp_eatCharacterEscape = function(e) {
3147
+ }, R.regexp_eatCharacterEscape = function(e) {
3148
3148
  return this.regexp_eatControlEscape(e) || this.regexp_eatCControlLetter(e) || this.regexp_eatZero(e) || this.regexp_eatHexEscapeSequence(e) || this.regexp_eatRegExpUnicodeEscapeSequence(e, !1) || !e.switchU && this.regexp_eatLegacyOctalEscapeSequence(e) || this.regexp_eatIdentityEscape(e);
3149
- }, z.regexp_eatCControlLetter = function(e) {
3149
+ }, R.regexp_eatCControlLetter = function(e) {
3150
3150
  var t = e.pos;
3151
3151
  if (e.eat(99)) {
3152
3152
  if (this.regexp_eatControlLetter(e)) return !0;
3153
3153
  e.pos = t;
3154
3154
  }
3155
3155
  return !1;
3156
- }, z.regexp_eatZero = function(e) {
3157
- return e.current() === 48 && !Ln(e.lookahead()) && (e.lastIntValue = 0, e.advance(), !0);
3158
- }, z.regexp_eatControlEscape = function(e) {
3156
+ }, R.regexp_eatZero = function(e) {
3157
+ return e.current() === 48 && !Rn(e.lookahead()) && (e.lastIntValue = 0, e.advance(), !0);
3158
+ }, R.regexp_eatControlEscape = function(e) {
3159
3159
  var t = e.current();
3160
3160
  return t === 116 ? (e.lastIntValue = 9, e.advance(), !0) : t === 110 ? (e.lastIntValue = 10, e.advance(), !0) : t === 118 ? (e.lastIntValue = 11, e.advance(), !0) : t === 102 ? (e.lastIntValue = 12, e.advance(), !0) : t === 114 && (e.lastIntValue = 13, e.advance(), !0);
3161
- }, z.regexp_eatControlLetter = function(e) {
3161
+ }, R.regexp_eatControlLetter = function(e) {
3162
3162
  var t = e.current();
3163
- return Dn(t) ? (e.lastIntValue = t % 32, e.advance(), !0) : !1;
3163
+ return On(t) ? (e.lastIntValue = t % 32, e.advance(), !0) : !1;
3164
3164
  };
3165
- function Dn(e) {
3165
+ function On(e) {
3166
3166
  return e >= 65 && e <= 90 || e >= 97 && e <= 122;
3167
3167
  }
3168
- z.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
3168
+ R.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
3169
3169
  t === void 0 && (t = !1);
3170
3170
  var n = e.pos, r = t || e.switchU;
3171
3171
  if (e.eat(117)) {
@@ -3181,19 +3181,19 @@ z.regexp_eatRegExpUnicodeEscapeSequence = function(e, t) {
3181
3181
  }
3182
3182
  return !0;
3183
3183
  }
3184
- if (r && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) && On(e.lastIntValue)) return !0;
3184
+ if (r && e.eat(123) && this.regexp_eatHexDigits(e) && e.eat(125) && kn(e.lastIntValue)) return !0;
3185
3185
  r && e.raise("Invalid unicode escape"), e.pos = n;
3186
3186
  }
3187
3187
  return !1;
3188
3188
  };
3189
- function On(e) {
3189
+ function kn(e) {
3190
3190
  return e >= 0 && e <= 1114111;
3191
3191
  }
3192
- z.regexp_eatIdentityEscape = function(e) {
3192
+ R.regexp_eatIdentityEscape = function(e) {
3193
3193
  if (e.switchU) return this.regexp_eatSyntaxCharacter(e) ? !0 : e.eat(47) ? (e.lastIntValue = 47, !0) : !1;
3194
3194
  var t = e.current();
3195
3195
  return t !== 99 && (!e.switchN || t !== 107) && (e.lastIntValue = t, e.advance(), !0);
3196
- }, z.regexp_eatDecimalEscape = function(e) {
3196
+ }, R.regexp_eatDecimalEscape = function(e) {
3197
3197
  e.lastIntValue = 0;
3198
3198
  var t = e.current();
3199
3199
  if (t >= 49 && t <= 57) {
@@ -3204,69 +3204,69 @@ z.regexp_eatIdentityEscape = function(e) {
3204
3204
  }
3205
3205
  return !1;
3206
3206
  };
3207
- var kn = 0, An = 1, B = 2;
3208
- z.regexp_eatCharacterClassEscape = function(e) {
3207
+ var An = 0, jn = 1, z = 2;
3208
+ R.regexp_eatCharacterClassEscape = function(e) {
3209
3209
  var t = e.current();
3210
- if (jn(t)) return e.lastIntValue = -1, e.advance(), An;
3210
+ if (Mn(t)) return e.lastIntValue = -1, e.advance(), jn;
3211
3211
  var n = !1;
3212
3212
  if (e.switchU && this.options.ecmaVersion >= 9 && ((n = t === 80) || t === 112)) {
3213
3213
  e.lastIntValue = -1, e.advance();
3214
3214
  var r;
3215
- if (e.eat(123) && (r = this.regexp_eatUnicodePropertyValueExpression(e)) && e.eat(125)) return n && r === B && e.raise("Invalid property name"), r;
3215
+ if (e.eat(123) && (r = this.regexp_eatUnicodePropertyValueExpression(e)) && e.eat(125)) return n && r === z && e.raise("Invalid property name"), r;
3216
3216
  e.raise("Invalid property name");
3217
3217
  }
3218
- return kn;
3218
+ return An;
3219
3219
  };
3220
- function jn(e) {
3220
+ function Mn(e) {
3221
3221
  return e === 100 || e === 68 || e === 115 || e === 83 || e === 119 || e === 87;
3222
3222
  }
3223
- z.regexp_eatUnicodePropertyValueExpression = function(e) {
3223
+ R.regexp_eatUnicodePropertyValueExpression = function(e) {
3224
3224
  var t = e.pos;
3225
3225
  if (this.regexp_eatUnicodePropertyName(e) && e.eat(61)) {
3226
3226
  var n = e.lastStringValue;
3227
3227
  if (this.regexp_eatUnicodePropertyValue(e)) {
3228
3228
  var r = e.lastStringValue;
3229
- return this.regexp_validateUnicodePropertyNameAndValue(e, n, r), An;
3229
+ return this.regexp_validateUnicodePropertyNameAndValue(e, n, r), jn;
3230
3230
  }
3231
3231
  }
3232
3232
  if (e.pos = t, this.regexp_eatLoneUnicodePropertyNameOrValue(e)) {
3233
3233
  var i = e.lastStringValue;
3234
3234
  return this.regexp_validateUnicodePropertyNameOrValue(e, i);
3235
3235
  }
3236
- return kn;
3237
- }, z.regexp_validateUnicodePropertyNameAndValue = function(e, t, n) {
3238
- et(e.unicodeProperties.nonBinary, t) || e.raise("Invalid property name"), e.unicodeProperties.nonBinary[t].test(n) || e.raise("Invalid property value");
3239
- }, z.regexp_validateUnicodePropertyNameOrValue = function(e, t) {
3240
- if (e.unicodeProperties.binary.test(t)) return An;
3241
- if (e.switchV && e.unicodeProperties.binaryOfStrings.test(t)) return B;
3236
+ return An;
3237
+ }, R.regexp_validateUnicodePropertyNameAndValue = function(e, t, n) {
3238
+ tt(e.unicodeProperties.nonBinary, t) || e.raise("Invalid property name"), e.unicodeProperties.nonBinary[t].test(n) || e.raise("Invalid property value");
3239
+ }, R.regexp_validateUnicodePropertyNameOrValue = function(e, t) {
3240
+ if (e.unicodeProperties.binary.test(t)) return jn;
3241
+ if (e.switchV && e.unicodeProperties.binaryOfStrings.test(t)) return z;
3242
3242
  e.raise("Invalid property name");
3243
- }, z.regexp_eatUnicodePropertyName = function(e) {
3243
+ }, R.regexp_eatUnicodePropertyName = function(e) {
3244
3244
  var t = 0;
3245
- for (e.lastStringValue = ""; Mn(t = e.current());) e.lastStringValue += it(t), e.advance();
3245
+ for (e.lastStringValue = ""; Nn(t = e.current());) e.lastStringValue += at(t), e.advance();
3246
3246
  return e.lastStringValue !== "";
3247
3247
  };
3248
- function Mn(e) {
3249
- return Dn(e) || e === 95;
3248
+ function Nn(e) {
3249
+ return On(e) || e === 95;
3250
3250
  }
3251
- z.regexp_eatUnicodePropertyValue = function(e) {
3251
+ R.regexp_eatUnicodePropertyValue = function(e) {
3252
3252
  var t = 0;
3253
- for (e.lastStringValue = ""; Nn(t = e.current());) e.lastStringValue += it(t), e.advance();
3253
+ for (e.lastStringValue = ""; Pn(t = e.current());) e.lastStringValue += at(t), e.advance();
3254
3254
  return e.lastStringValue !== "";
3255
3255
  };
3256
- function Nn(e) {
3257
- return Mn(e) || Ln(e);
3256
+ function Pn(e) {
3257
+ return Nn(e) || Rn(e);
3258
3258
  }
3259
- z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
3259
+ R.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
3260
3260
  return this.regexp_eatUnicodePropertyValue(e);
3261
- }, z.regexp_eatCharacterClass = function(e) {
3261
+ }, R.regexp_eatCharacterClass = function(e) {
3262
3262
  if (e.eat(91)) {
3263
3263
  var t = e.eat(94), n = this.regexp_classContents(e);
3264
- return e.eat(93) || e.raise("Unterminated character class"), t && n === B && e.raise("Negated character class may contain strings"), !0;
3264
+ return e.eat(93) || e.raise("Unterminated character class"), t && n === z && e.raise("Negated character class may contain strings"), !0;
3265
3265
  }
3266
3266
  return !1;
3267
- }, z.regexp_classContents = function(e) {
3268
- return e.current() === 93 ? An : e.switchV ? this.regexp_classSetExpression(e) : (this.regexp_nonEmptyClassRanges(e), An);
3269
- }, z.regexp_nonEmptyClassRanges = function(e) {
3267
+ }, R.regexp_classContents = function(e) {
3268
+ return e.current() === 93 ? jn : e.switchV ? this.regexp_classSetExpression(e) : (this.regexp_nonEmptyClassRanges(e), jn);
3269
+ }, R.regexp_nonEmptyClassRanges = function(e) {
3270
3270
  for (; this.regexp_eatClassAtom(e);) {
3271
3271
  var t = e.lastIntValue;
3272
3272
  if (e.eat(45) && this.regexp_eatClassAtom(e)) {
@@ -3274,19 +3274,19 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
3274
3274
  e.switchU && (t === -1 || n === -1) && e.raise("Invalid character class"), t !== -1 && n !== -1 && t > n && e.raise("Range out of order in character class");
3275
3275
  }
3276
3276
  }
3277
- }, z.regexp_eatClassAtom = function(e) {
3277
+ }, R.regexp_eatClassAtom = function(e) {
3278
3278
  var t = e.pos;
3279
3279
  if (e.eat(92)) {
3280
3280
  if (this.regexp_eatClassEscape(e)) return !0;
3281
3281
  if (e.switchU) {
3282
3282
  var n = e.current();
3283
- (n === 99 || Bn(n)) && e.raise("Invalid class escape"), e.raise("Invalid escape");
3283
+ (n === 99 || Vn(n)) && e.raise("Invalid class escape"), e.raise("Invalid escape");
3284
3284
  }
3285
3285
  e.pos = t;
3286
3286
  }
3287
3287
  var r = e.current();
3288
3288
  return r !== 93 && (e.lastIntValue = r, e.advance(), !0);
3289
- }, z.regexp_eatClassEscape = function(e) {
3289
+ }, R.regexp_eatClassEscape = function(e) {
3290
3290
  var t = e.pos;
3291
3291
  if (e.eat(98)) return e.lastIntValue = 8, !0;
3292
3292
  if (e.switchU && e.eat(45)) return e.lastIntValue = 45, !0;
@@ -3295,14 +3295,14 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
3295
3295
  e.pos = t;
3296
3296
  }
3297
3297
  return this.regexp_eatCharacterClassEscape(e) || this.regexp_eatCharacterEscape(e);
3298
- }, z.regexp_classSetExpression = function(e) {
3299
- var t = An, n;
3298
+ }, R.regexp_classSetExpression = function(e) {
3299
+ var t = jn, n;
3300
3300
  if (!this.regexp_eatClassSetRange(e)) {
3301
3301
  if (n = this.regexp_eatClassSetOperand(e)) {
3302
- n === B && (t = B);
3302
+ n === z && (t = z);
3303
3303
  for (var r = e.pos; e.eatChars([38, 38]);) {
3304
3304
  if (e.current() !== 38 && (n = this.regexp_eatClassSetOperand(e))) {
3305
- n !== B && (t = An);
3305
+ n !== z && (t = jn);
3306
3306
  continue;
3307
3307
  }
3308
3308
  e.raise("Invalid character in character class");
@@ -3314,9 +3314,9 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
3314
3314
  }
3315
3315
  for (;;) if (!this.regexp_eatClassSetRange(e)) {
3316
3316
  if (n = this.regexp_eatClassSetOperand(e), !n) return t;
3317
- n === B && (t = B);
3317
+ n === z && (t = z);
3318
3318
  }
3319
- }, z.regexp_eatClassSetRange = function(e) {
3319
+ }, R.regexp_eatClassSetRange = function(e) {
3320
3320
  var t = e.pos;
3321
3321
  if (this.regexp_eatClassSetCharacter(e)) {
3322
3322
  var n = e.lastIntValue;
@@ -3327,13 +3327,13 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
3327
3327
  e.pos = t;
3328
3328
  }
3329
3329
  return !1;
3330
- }, z.regexp_eatClassSetOperand = function(e) {
3331
- return this.regexp_eatClassSetCharacter(e) ? An : this.regexp_eatClassStringDisjunction(e) || this.regexp_eatNestedClass(e);
3332
- }, z.regexp_eatNestedClass = function(e) {
3330
+ }, R.regexp_eatClassSetOperand = function(e) {
3331
+ return this.regexp_eatClassSetCharacter(e) ? jn : this.regexp_eatClassStringDisjunction(e) || this.regexp_eatNestedClass(e);
3332
+ }, R.regexp_eatNestedClass = function(e) {
3333
3333
  var t = e.pos;
3334
3334
  if (e.eat(91)) {
3335
3335
  var n = e.eat(94), r = this.regexp_classContents(e);
3336
- if (e.eat(93)) return n && r === B && e.raise("Negated character class may contain strings"), r;
3336
+ if (e.eat(93)) return n && r === z && e.raise("Negated character class may contain strings"), r;
3337
3337
  e.pos = t;
3338
3338
  }
3339
3339
  if (e.eat(92)) {
@@ -3342,7 +3342,7 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
3342
3342
  e.pos = t;
3343
3343
  }
3344
3344
  return null;
3345
- }, z.regexp_eatClassStringDisjunction = function(e) {
3345
+ }, R.regexp_eatClassStringDisjunction = function(e) {
3346
3346
  var t = e.pos;
3347
3347
  if (e.eatChars([92, 113])) {
3348
3348
  if (e.eat(123)) {
@@ -3352,61 +3352,61 @@ z.regexp_eatLoneUnicodePropertyNameOrValue = function(e) {
3352
3352
  e.pos = t;
3353
3353
  }
3354
3354
  return null;
3355
- }, z.regexp_classStringDisjunctionContents = function(e) {
3356
- for (var t = this.regexp_classString(e); e.eat(124);) this.regexp_classString(e) === B && (t = B);
3355
+ }, R.regexp_classStringDisjunctionContents = function(e) {
3356
+ for (var t = this.regexp_classString(e); e.eat(124);) this.regexp_classString(e) === z && (t = z);
3357
3357
  return t;
3358
- }, z.regexp_classString = function(e) {
3358
+ }, R.regexp_classString = function(e) {
3359
3359
  for (var t = 0; this.regexp_eatClassSetCharacter(e);) t++;
3360
- return t === 1 ? An : B;
3361
- }, z.regexp_eatClassSetCharacter = function(e) {
3360
+ return t === 1 ? jn : z;
3361
+ }, R.regexp_eatClassSetCharacter = function(e) {
3362
3362
  var t = e.pos;
3363
3363
  if (e.eat(92)) return this.regexp_eatCharacterEscape(e) || this.regexp_eatClassSetReservedPunctuator(e) ? !0 : e.eat(98) ? (e.lastIntValue = 8, !0) : (e.pos = t, !1);
3364
3364
  var n = e.current();
3365
- return n < 0 || n === e.lookahead() && Pn(n) || Fn(n) ? !1 : (e.advance(), e.lastIntValue = n, !0);
3365
+ return n < 0 || n === e.lookahead() && Fn(n) || In(n) ? !1 : (e.advance(), e.lastIntValue = n, !0);
3366
3366
  };
3367
- function Pn(e) {
3367
+ function Fn(e) {
3368
3368
  return e === 33 || e >= 35 && e <= 38 || e >= 42 && e <= 44 || e === 46 || e >= 58 && e <= 64 || e === 94 || e === 96 || e === 126;
3369
3369
  }
3370
- function Fn(e) {
3370
+ function In(e) {
3371
3371
  return e === 40 || e === 41 || e === 45 || e === 47 || e >= 91 && e <= 93 || e >= 123 && e <= 125;
3372
3372
  }
3373
- z.regexp_eatClassSetReservedPunctuator = function(e) {
3373
+ R.regexp_eatClassSetReservedPunctuator = function(e) {
3374
3374
  var t = e.current();
3375
- return In(t) ? (e.lastIntValue = t, e.advance(), !0) : !1;
3375
+ return Ln(t) ? (e.lastIntValue = t, e.advance(), !0) : !1;
3376
3376
  };
3377
- function In(e) {
3377
+ function Ln(e) {
3378
3378
  return e === 33 || e === 35 || e === 37 || e === 38 || e === 44 || e === 45 || e >= 58 && e <= 62 || e === 64 || e === 96 || e === 126;
3379
3379
  }
3380
- z.regexp_eatClassControlLetter = function(e) {
3380
+ R.regexp_eatClassControlLetter = function(e) {
3381
3381
  var t = e.current();
3382
- return Ln(t) || t === 95 ? (e.lastIntValue = t % 32, e.advance(), !0) : !1;
3383
- }, z.regexp_eatHexEscapeSequence = function(e) {
3382
+ return Rn(t) || t === 95 ? (e.lastIntValue = t % 32, e.advance(), !0) : !1;
3383
+ }, R.regexp_eatHexEscapeSequence = function(e) {
3384
3384
  var t = e.pos;
3385
3385
  if (e.eat(120)) {
3386
3386
  if (this.regexp_eatFixedHexDigits(e, 2)) return !0;
3387
3387
  e.switchU && e.raise("Invalid escape"), e.pos = t;
3388
3388
  }
3389
3389
  return !1;
3390
- }, z.regexp_eatDecimalDigits = function(e) {
3390
+ }, R.regexp_eatDecimalDigits = function(e) {
3391
3391
  var t = e.pos, n = 0;
3392
- for (e.lastIntValue = 0; Ln(n = e.current());) e.lastIntValue = 10 * e.lastIntValue + (n - 48), e.advance();
3392
+ for (e.lastIntValue = 0; Rn(n = e.current());) e.lastIntValue = 10 * e.lastIntValue + (n - 48), e.advance();
3393
3393
  return e.pos !== t;
3394
3394
  };
3395
- function Ln(e) {
3395
+ function Rn(e) {
3396
3396
  return e >= 48 && e <= 57;
3397
3397
  }
3398
- z.regexp_eatHexDigits = function(e) {
3398
+ R.regexp_eatHexDigits = function(e) {
3399
3399
  var t = e.pos, n = 0;
3400
- for (e.lastIntValue = 0; Rn(n = e.current());) e.lastIntValue = 16 * e.lastIntValue + zn(n), e.advance();
3400
+ for (e.lastIntValue = 0; zn(n = e.current());) e.lastIntValue = 16 * e.lastIntValue + Bn(n), e.advance();
3401
3401
  return e.pos !== t;
3402
3402
  };
3403
- function Rn(e) {
3403
+ function zn(e) {
3404
3404
  return e >= 48 && e <= 57 || e >= 65 && e <= 70 || e >= 97 && e <= 102;
3405
3405
  }
3406
- function zn(e) {
3406
+ function Bn(e) {
3407
3407
  return e >= 65 && e <= 70 ? 10 + (e - 65) : e >= 97 && e <= 102 ? 10 + (e - 97) : e - 48;
3408
3408
  }
3409
- z.regexp_eatLegacyOctalEscapeSequence = function(e) {
3409
+ R.regexp_eatLegacyOctalEscapeSequence = function(e) {
3410
3410
  if (this.regexp_eatOctalDigit(e)) {
3411
3411
  var t = e.lastIntValue;
3412
3412
  if (this.regexp_eatOctalDigit(e)) {
@@ -3416,61 +3416,61 @@ z.regexp_eatLegacyOctalEscapeSequence = function(e) {
3416
3416
  return !0;
3417
3417
  }
3418
3418
  return !1;
3419
- }, z.regexp_eatOctalDigit = function(e) {
3419
+ }, R.regexp_eatOctalDigit = function(e) {
3420
3420
  var t = e.current();
3421
- return Bn(t) ? (e.lastIntValue = t - 48, e.advance(), !0) : (e.lastIntValue = 0, !1);
3421
+ return Vn(t) ? (e.lastIntValue = t - 48, e.advance(), !0) : (e.lastIntValue = 0, !1);
3422
3422
  };
3423
- function Bn(e) {
3423
+ function Vn(e) {
3424
3424
  return e >= 48 && e <= 55;
3425
3425
  }
3426
- z.regexp_eatFixedHexDigits = function(e, t) {
3426
+ R.regexp_eatFixedHexDigits = function(e, t) {
3427
3427
  var n = e.pos;
3428
3428
  e.lastIntValue = 0;
3429
3429
  for (var r = 0; r < t; ++r) {
3430
3430
  var i = e.current();
3431
- if (!Rn(i)) return e.pos = n, !1;
3432
- e.lastIntValue = 16 * e.lastIntValue + zn(i), e.advance();
3431
+ if (!zn(i)) return e.pos = n, !1;
3432
+ e.lastIntValue = 16 * e.lastIntValue + Bn(i), e.advance();
3433
3433
  }
3434
3434
  return !0;
3435
3435
  };
3436
- var Vn = function(e) {
3437
- this.type = e.type, this.value = e.value, this.start = e.start, this.end = e.end, e.options.locations && (this.loc = new st(e, e.startLoc, e.endLoc)), e.options.ranges && (this.range = [e.start, e.end]);
3438
- }, V = M.prototype;
3439
- V.next = function(e) {
3440
- !e && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new Vn(this)), this.lastTokEnd = this.end, this.lastTokStart = this.start, this.lastTokEndLoc = this.endLoc, this.lastTokStartLoc = this.startLoc, this.nextToken();
3441
- }, V.getToken = function() {
3442
- return this.next(), new Vn(this);
3443
- }, typeof Symbol < "u" && (V[Symbol.iterator] = function() {
3436
+ var Hn = function(e) {
3437
+ this.type = e.type, this.value = e.value, this.start = e.start, this.end = e.end, e.options.locations && (this.loc = new ct(e, e.startLoc, e.endLoc)), e.options.ranges && (this.range = [e.start, e.end]);
3438
+ }, B = j.prototype;
3439
+ B.next = function(e) {
3440
+ !e && this.type.keyword && this.containsEsc && this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword), this.options.onToken && this.options.onToken(new Hn(this)), this.lastTokEnd = this.end, this.lastTokStart = this.start, this.lastTokEndLoc = this.endLoc, this.lastTokStartLoc = this.startLoc, this.nextToken();
3441
+ }, B.getToken = function() {
3442
+ return this.next(), new Hn(this);
3443
+ }, typeof Symbol < "u" && (B[Symbol.iterator] = function() {
3444
3444
  var e = this;
3445
3445
  return { next: function() {
3446
3446
  var t = e.getToken();
3447
3447
  return {
3448
- done: t.type === k.eof,
3448
+ done: t.type === O.eof,
3449
3449
  value: t
3450
3450
  };
3451
3451
  } };
3452
- }), V.nextToken = function() {
3452
+ }), B.nextToken = function() {
3453
3453
  var e = this.curContext();
3454
- 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(k.eof);
3454
+ 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(O.eof);
3455
3455
  if (e.override) return e.override(this);
3456
3456
  this.readToken(this.fullCharCodeAtPos());
3457
- }, V.readToken = function(e) {
3457
+ }, B.readToken = function(e) {
3458
3458
  return We(e, this.options.ecmaVersion >= 6) || e === 92 ? this.readWord() : this.getTokenFromCode(e);
3459
- }, V.fullCharCodeAt = function(e) {
3459
+ }, B.fullCharCodeAt = function(e) {
3460
3460
  var t = this.input.charCodeAt(e);
3461
3461
  if (t <= 55295 || t >= 56320) return t;
3462
3462
  var n = this.input.charCodeAt(e + 1);
3463
3463
  return n <= 56319 || n >= 57344 ? t : (t << 10) + n - 56613888;
3464
- }, V.fullCharCodeAtPos = function() {
3464
+ }, B.fullCharCodeAtPos = function() {
3465
3465
  return this.fullCharCodeAt(this.pos);
3466
- }, V.skipBlockComment = function() {
3466
+ }, B.skipBlockComment = function() {
3467
3467
  var e = this.options.onComment && this.curPosition(), t = this.pos, n = this.input.indexOf("*/", this.pos += 2);
3468
- if (n === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = n + 2, this.options.locations) for (var r = void 0, i = t; (r = Ye(this.input, i, this.pos)) > -1;) ++this.curLine, i = this.lineStart = r;
3468
+ if (n === -1 && this.raise(this.pos - 2, "Unterminated comment"), this.pos = n + 2, this.options.locations) for (var r = void 0, i = t; (r = Xe(this.input, i, this.pos)) > -1;) ++this.curLine, i = this.lineStart = r;
3469
3469
  this.options.onComment && this.options.onComment(!0, this.input.slice(t + 2, n), t, this.pos, e, this.curPosition());
3470
- }, V.skipLineComment = function(e) {
3471
- for (var t = this.pos, n = this.options.onComment && this.curPosition(), r = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !Je(r);) r = this.input.charCodeAt(++this.pos);
3470
+ }, B.skipLineComment = function(e) {
3471
+ for (var t = this.pos, n = this.options.onComment && this.curPosition(), r = this.input.charCodeAt(this.pos += e); this.pos < this.input.length && !Ye(r);) r = this.input.charCodeAt(++this.pos);
3472
3472
  this.options.onComment && this.options.onComment(!1, this.input.slice(t + e, this.pos), t, this.pos, n, this.curPosition());
3473
- }, V.skipSpace = function() {
3473
+ }, B.skipSpace = function() {
3474
3474
  loop: for (; this.pos < this.input.length;) {
3475
3475
  var e = this.input.charCodeAt(this.pos);
3476
3476
  switch (e) {
@@ -3495,69 +3495,69 @@ V.next = function(e) {
3495
3495
  default: break loop;
3496
3496
  }
3497
3497
  break;
3498
- default: if (e > 8 && e < 14 || e >= 5760 && Xe.test(String.fromCharCode(e))) ++this.pos;
3498
+ default: if (e > 8 && e < 14 || e >= 5760 && Ze.test(String.fromCharCode(e))) ++this.pos;
3499
3499
  else break loop;
3500
3500
  }
3501
3501
  }
3502
- }, V.finishToken = function(e, t) {
3502
+ }, B.finishToken = function(e, t) {
3503
3503
  this.end = this.pos, this.options.locations && (this.endLoc = this.curPosition());
3504
3504
  var n = this.type;
3505
3505
  this.type = e, this.value = t, this.updateContext(n);
3506
- }, V.readToken_dot = function() {
3506
+ }, B.readToken_dot = function() {
3507
3507
  var e = this.input.charCodeAt(this.pos + 1);
3508
3508
  if (e >= 48 && e <= 57) return this.readNumber(!0);
3509
3509
  var t = this.input.charCodeAt(this.pos + 2);
3510
- return this.options.ecmaVersion >= 6 && e === 46 && t === 46 ? (this.pos += 3, this.finishToken(k.ellipsis)) : (++this.pos, this.finishToken(k.dot));
3511
- }, V.readToken_slash = function() {
3510
+ return this.options.ecmaVersion >= 6 && e === 46 && t === 46 ? (this.pos += 3, this.finishToken(O.ellipsis)) : (++this.pos, this.finishToken(O.dot));
3511
+ }, B.readToken_slash = function() {
3512
3512
  var e = this.input.charCodeAt(this.pos + 1);
3513
- return this.exprAllowed ? (++this.pos, this.readRegexp()) : e === 61 ? this.finishOp(k.assign, 2) : this.finishOp(k.slash, 1);
3514
- }, V.readToken_mult_modulo_exp = function(e) {
3515
- var t = this.input.charCodeAt(this.pos + 1), n = 1, r = e === 42 ? k.star : k.modulo;
3516
- return this.options.ecmaVersion >= 7 && e === 42 && t === 42 && (++n, r = k.starstar, t = this.input.charCodeAt(this.pos + 2)), t === 61 ? this.finishOp(k.assign, n + 1) : this.finishOp(r, n);
3517
- }, V.readToken_pipe_amp = function(e) {
3513
+ return this.exprAllowed ? (++this.pos, this.readRegexp()) : e === 61 ? this.finishOp(O.assign, 2) : this.finishOp(O.slash, 1);
3514
+ }, B.readToken_mult_modulo_exp = function(e) {
3515
+ var t = this.input.charCodeAt(this.pos + 1), n = 1, r = e === 42 ? O.star : O.modulo;
3516
+ return this.options.ecmaVersion >= 7 && e === 42 && t === 42 && (++n, r = O.starstar, t = this.input.charCodeAt(this.pos + 2)), t === 61 ? this.finishOp(O.assign, n + 1) : this.finishOp(r, n);
3517
+ }, B.readToken_pipe_amp = function(e) {
3518
3518
  var t = this.input.charCodeAt(this.pos + 1);
3519
- return t === e ? this.options.ecmaVersion >= 12 && this.input.charCodeAt(this.pos + 2) === 61 ? this.finishOp(k.assign, 3) : this.finishOp(e === 124 ? k.logicalOR : k.logicalAND, 2) : t === 61 ? this.finishOp(k.assign, 2) : this.finishOp(e === 124 ? k.bitwiseOR : k.bitwiseAND, 1);
3520
- }, V.readToken_caret = function() {
3521
- return this.input.charCodeAt(this.pos + 1) === 61 ? this.finishOp(k.assign, 2) : this.finishOp(k.bitwiseXOR, 1);
3522
- }, V.readToken_plus_min = function(e) {
3519
+ return t === e ? this.options.ecmaVersion >= 12 && this.input.charCodeAt(this.pos + 2) === 61 ? this.finishOp(O.assign, 3) : this.finishOp(e === 124 ? O.logicalOR : O.logicalAND, 2) : t === 61 ? this.finishOp(O.assign, 2) : this.finishOp(e === 124 ? O.bitwiseOR : O.bitwiseAND, 1);
3520
+ }, B.readToken_caret = function() {
3521
+ return this.input.charCodeAt(this.pos + 1) === 61 ? this.finishOp(O.assign, 2) : this.finishOp(O.bitwiseXOR, 1);
3522
+ }, B.readToken_plus_min = function(e) {
3523
3523
  var t = this.input.charCodeAt(this.pos + 1);
3524
- return t === e ? t === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || A.test(this.input.slice(this.lastTokEnd, this.pos))) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(k.incDec, 2) : t === 61 ? this.finishOp(k.assign, 2) : this.finishOp(k.plusMin, 1);
3525
- }, V.readToken_lt_gt = function(e) {
3524
+ return t === e ? t === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && (this.lastTokEnd === 0 || k.test(this.input.slice(this.lastTokEnd, this.pos))) ? (this.skipLineComment(3), this.skipSpace(), this.nextToken()) : this.finishOp(O.incDec, 2) : t === 61 ? this.finishOp(O.assign, 2) : this.finishOp(O.plusMin, 1);
3525
+ }, B.readToken_lt_gt = function(e) {
3526
3526
  var t = this.input.charCodeAt(this.pos + 1), n = 1;
3527
- return t === e ? (n = e === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2, this.input.charCodeAt(this.pos + n) === 61 ? this.finishOp(k.assign, n + 1) : this.finishOp(k.bitShift, n)) : 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 && (n = 2), this.finishOp(k.relational, n));
3528
- }, V.readToken_eq_excl = function(e) {
3527
+ return t === e ? (n = e === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2, this.input.charCodeAt(this.pos + n) === 61 ? this.finishOp(O.assign, n + 1) : this.finishOp(O.bitShift, n)) : 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 && (n = 2), this.finishOp(O.relational, n));
3528
+ }, B.readToken_eq_excl = function(e) {
3529
3529
  var t = this.input.charCodeAt(this.pos + 1);
3530
- return t === 61 ? this.finishOp(k.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) : e === 61 && t === 62 && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(k.arrow)) : this.finishOp(e === 61 ? k.eq : k.prefix, 1);
3531
- }, V.readToken_question = function() {
3530
+ return t === 61 ? this.finishOp(O.equality, this.input.charCodeAt(this.pos + 2) === 61 ? 3 : 2) : e === 61 && t === 62 && this.options.ecmaVersion >= 6 ? (this.pos += 2, this.finishToken(O.arrow)) : this.finishOp(e === 61 ? O.eq : O.prefix, 1);
3531
+ }, B.readToken_question = function() {
3532
3532
  var e = this.options.ecmaVersion;
3533
3533
  if (e >= 11) {
3534
3534
  var t = this.input.charCodeAt(this.pos + 1);
3535
3535
  if (t === 46) {
3536
3536
  var n = this.input.charCodeAt(this.pos + 2);
3537
- if (n < 48 || n > 57) return this.finishOp(k.questionDot, 2);
3537
+ if (n < 48 || n > 57) return this.finishOp(O.questionDot, 2);
3538
3538
  }
3539
- if (t === 63) return e >= 12 && this.input.charCodeAt(this.pos + 2) === 61 ? this.finishOp(k.assign, 3) : this.finishOp(k.coalesce, 2);
3539
+ if (t === 63) return e >= 12 && this.input.charCodeAt(this.pos + 2) === 61 ? this.finishOp(O.assign, 3) : this.finishOp(O.coalesce, 2);
3540
3540
  }
3541
- return this.finishOp(k.question, 1);
3542
- }, V.readToken_numberSign = function() {
3541
+ return this.finishOp(O.question, 1);
3542
+ }, B.readToken_numberSign = function() {
3543
3543
  var e = this.options.ecmaVersion, t = 35;
3544
- if (e >= 13 && (++this.pos, t = this.fullCharCodeAtPos(), We(t, !0) || t === 92)) return this.finishToken(k.privateId, this.readWord1());
3545
- this.raise(this.pos, "Unexpected character '" + it(t) + "'");
3546
- }, V.getTokenFromCode = function(e) {
3544
+ if (e >= 13 && (++this.pos, t = this.fullCharCodeAtPos(), We(t, !0) || t === 92)) return this.finishToken(O.privateId, this.readWord1());
3545
+ this.raise(this.pos, "Unexpected character '" + at(t) + "'");
3546
+ }, B.getTokenFromCode = function(e) {
3547
3547
  switch (e) {
3548
3548
  case 46: return this.readToken_dot();
3549
- case 40: return ++this.pos, this.finishToken(k.parenL);
3550
- case 41: return ++this.pos, this.finishToken(k.parenR);
3551
- case 59: return ++this.pos, this.finishToken(k.semi);
3552
- case 44: return ++this.pos, this.finishToken(k.comma);
3553
- case 91: return ++this.pos, this.finishToken(k.bracketL);
3554
- case 93: return ++this.pos, this.finishToken(k.bracketR);
3555
- case 123: return ++this.pos, this.finishToken(k.braceL);
3556
- case 125: return ++this.pos, this.finishToken(k.braceR);
3557
- case 58: return ++this.pos, this.finishToken(k.colon);
3549
+ case 40: return ++this.pos, this.finishToken(O.parenL);
3550
+ case 41: return ++this.pos, this.finishToken(O.parenR);
3551
+ case 59: return ++this.pos, this.finishToken(O.semi);
3552
+ case 44: return ++this.pos, this.finishToken(O.comma);
3553
+ case 91: return ++this.pos, this.finishToken(O.bracketL);
3554
+ case 93: return ++this.pos, this.finishToken(O.bracketR);
3555
+ case 123: return ++this.pos, this.finishToken(O.braceL);
3556
+ case 125: return ++this.pos, this.finishToken(O.braceR);
3557
+ case 58: return ++this.pos, this.finishToken(O.colon);
3558
3558
  case 96:
3559
3559
  if (this.options.ecmaVersion < 6) break;
3560
- return ++this.pos, this.finishToken(k.backQuote);
3560
+ return ++this.pos, this.finishToken(O.backQuote);
3561
3561
  case 48:
3562
3562
  var t = this.input.charCodeAt(this.pos + 1);
3563
3563
  if (t === 120 || t === 88) return this.readRadixNumber(16);
@@ -3589,18 +3589,18 @@ V.next = function(e) {
3589
3589
  case 61:
3590
3590
  case 33: return this.readToken_eq_excl(e);
3591
3591
  case 63: return this.readToken_question();
3592
- case 126: return this.finishOp(k.prefix, 1);
3592
+ case 126: return this.finishOp(O.prefix, 1);
3593
3593
  case 35: return this.readToken_numberSign();
3594
3594
  }
3595
- this.raise(this.pos, "Unexpected character '" + it(e) + "'");
3596
- }, V.finishOp = function(e, t) {
3595
+ this.raise(this.pos, "Unexpected character '" + at(e) + "'");
3596
+ }, B.finishOp = function(e, t) {
3597
3597
  var n = this.input.slice(this.pos, this.pos + t);
3598
3598
  return this.pos += t, this.finishToken(e, n);
3599
- }, V.readRegexp = function() {
3599
+ }, B.readRegexp = function() {
3600
3600
  for (var e, t, n = this.pos;;) {
3601
3601
  this.pos >= this.input.length && this.raise(n, "Unterminated regular expression");
3602
3602
  var r = this.input.charAt(this.pos);
3603
- if (A.test(r) && this.raise(n, "Unterminated regular expression"), e) e = !1;
3603
+ if (k.test(r) && this.raise(n, "Unterminated regular expression"), e) e = !1;
3604
3604
  else {
3605
3605
  if (r === "[") t = !0;
3606
3606
  else if (r === "]" && t) t = !1;
@@ -3613,18 +3613,18 @@ V.next = function(e) {
3613
3613
  ++this.pos;
3614
3614
  var a = this.pos, o = this.readWord1();
3615
3615
  this.containsEsc && this.unexpected(a);
3616
- var s = this.regexpState ||= new xn(this);
3616
+ var s = this.regexpState ||= new Sn(this);
3617
3617
  s.reset(n, i, o), this.validateRegExpFlags(s), this.validateRegExpPattern(s);
3618
3618
  var c = null;
3619
3619
  try {
3620
3620
  c = new RegExp(i, o);
3621
3621
  } catch {}
3622
- return this.finishToken(k.regexp, {
3622
+ return this.finishToken(O.regexp, {
3623
3623
  pattern: i,
3624
3624
  flags: o,
3625
3625
  value: c
3626
3626
  });
3627
- }, V.readInt = function(e, t, n) {
3627
+ }, B.readInt = function(e, t, n) {
3628
3628
  for (var r = this.options.ecmaVersion >= 12 && t === void 0, i = n && this.input.charCodeAt(this.pos) === 48, a = this.pos, o = 0, s = 0, c = 0, l = t ?? Infinity; c < l; ++c, ++this.pos) {
3629
3629
  var u = this.input.charCodeAt(this.pos), d = void 0;
3630
3630
  if (r && u === 95) {
@@ -3636,31 +3636,31 @@ V.next = function(e) {
3636
3636
  }
3637
3637
  return r && s === 95 && this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"), this.pos === a || t != null && this.pos - a !== t ? null : o;
3638
3638
  };
3639
- function Hn(e, t) {
3639
+ function Un(e, t) {
3640
3640
  return t ? parseInt(e, 8) : parseFloat(e.replace(/_/g, ""));
3641
3641
  }
3642
- function Un(e) {
3642
+ function Wn(e) {
3643
3643
  return typeof BigInt == "function" ? BigInt(e.replace(/_/g, "")) : null;
3644
3644
  }
3645
- V.readRadixNumber = function(e) {
3645
+ B.readRadixNumber = function(e) {
3646
3646
  var t = this.pos;
3647
3647
  this.pos += 2;
3648
3648
  var n = this.readInt(e);
3649
- return n ?? this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (n = Un(this.input.slice(t, this.pos)), ++this.pos) : We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(k.num, n);
3650
- }, V.readNumber = function(e) {
3649
+ return n ?? this.raise(this.start + 2, "Expected number in radix " + e), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (n = Wn(this.input.slice(t, this.pos)), ++this.pos) : We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(O.num, n);
3650
+ }, B.readNumber = function(e) {
3651
3651
  var t = this.pos;
3652
3652
  !e && this.readInt(10, void 0, !0) === null && this.raise(t, "Invalid number");
3653
3653
  var n = this.pos - t >= 2 && this.input.charCodeAt(t) === 48;
3654
3654
  n && this.strict && this.raise(t, "Invalid number");
3655
3655
  var r = this.input.charCodeAt(this.pos);
3656
3656
  if (!n && !e && this.options.ecmaVersion >= 11 && r === 110) {
3657
- var i = Un(this.input.slice(t, this.pos));
3658
- return ++this.pos, We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(k.num, i);
3657
+ var i = Wn(this.input.slice(t, this.pos));
3658
+ return ++this.pos, We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(O.num, i);
3659
3659
  }
3660
3660
  n && /[89]/.test(this.input.slice(t, this.pos)) && (n = !1), r === 46 && !n && (++this.pos, this.readInt(10), r = this.input.charCodeAt(this.pos)), (r === 69 || r === 101) && !n && (r = this.input.charCodeAt(++this.pos), (r === 43 || r === 45) && ++this.pos, this.readInt(10) === null && this.raise(t, "Invalid number")), We(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
3661
- var a = Hn(this.input.slice(t, this.pos), n);
3662
- return this.finishToken(k.num, a);
3663
- }, V.readCodePoint = function() {
3661
+ var a = Un(this.input.slice(t, this.pos), n);
3662
+ return this.finishToken(O.num, a);
3663
+ }, B.readCodePoint = function() {
3664
3664
  var e = this.input.charCodeAt(this.pos), t;
3665
3665
  if (e === 123) {
3666
3666
  this.options.ecmaVersion < 6 && this.unexpected();
@@ -3668,35 +3668,35 @@ V.readRadixNumber = function(e) {
3668
3668
  t = this.readHexChar(this.input.indexOf("}", this.pos) - this.pos), ++this.pos, t > 1114111 && this.invalidStringToken(n, "Code point out of bounds");
3669
3669
  } else t = this.readHexChar(4);
3670
3670
  return t;
3671
- }, V.readString = function(e) {
3671
+ }, B.readString = function(e) {
3672
3672
  for (var t = "", n = ++this.pos;;) {
3673
3673
  this.pos >= this.input.length && this.raise(this.start, "Unterminated string constant");
3674
3674
  var r = this.input.charCodeAt(this.pos);
3675
3675
  if (r === e) break;
3676
- r === 92 ? (t += this.input.slice(n, this.pos), t += this.readEscapedChar(!1), n = this.pos) : r === 8232 || r === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (Je(r) && this.raise(this.start, "Unterminated string constant"), ++this.pos);
3676
+ r === 92 ? (t += this.input.slice(n, this.pos), t += this.readEscapedChar(!1), n = this.pos) : r === 8232 || r === 8233 ? (this.options.ecmaVersion < 10 && this.raise(this.start, "Unterminated string constant"), ++this.pos, this.options.locations && (this.curLine++, this.lineStart = this.pos)) : (Ye(r) && this.raise(this.start, "Unterminated string constant"), ++this.pos);
3677
3677
  }
3678
- return t += this.input.slice(n, this.pos++), this.finishToken(k.string, t);
3678
+ return t += this.input.slice(n, this.pos++), this.finishToken(O.string, t);
3679
3679
  };
3680
- var Wn = {};
3681
- V.tryReadTemplateToken = function() {
3680
+ var Gn = {};
3681
+ B.tryReadTemplateToken = function() {
3682
3682
  this.inTemplateElement = !0;
3683
3683
  try {
3684
3684
  this.readTmplToken();
3685
3685
  } catch (e) {
3686
- if (e === Wn) this.readInvalidTemplateToken();
3686
+ if (e === Gn) this.readInvalidTemplateToken();
3687
3687
  else throw e;
3688
3688
  }
3689
3689
  this.inTemplateElement = !1;
3690
- }, V.invalidStringToken = function(e, t) {
3691
- if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw Wn;
3690
+ }, B.invalidStringToken = function(e, t) {
3691
+ if (this.inTemplateElement && this.options.ecmaVersion >= 9) throw Gn;
3692
3692
  this.raise(e, t);
3693
- }, V.readTmplToken = function() {
3693
+ }, B.readTmplToken = function() {
3694
3694
  for (var e = "", t = this.pos;;) {
3695
3695
  this.pos >= this.input.length && this.raise(this.start, "Unterminated template");
3696
3696
  var n = this.input.charCodeAt(this.pos);
3697
- if (n === 96 || n === 36 && this.input.charCodeAt(this.pos + 1) === 123) return this.pos === this.start && (this.type === k.template || this.type === k.invalidTemplate) ? n === 36 ? (this.pos += 2, this.finishToken(k.dollarBraceL)) : (++this.pos, this.finishToken(k.backQuote)) : (e += this.input.slice(t, this.pos), this.finishToken(k.template, e));
3697
+ if (n === 96 || n === 36 && this.input.charCodeAt(this.pos + 1) === 123) return this.pos === this.start && (this.type === O.template || this.type === O.invalidTemplate) ? n === 36 ? (this.pos += 2, this.finishToken(O.dollarBraceL)) : (++this.pos, this.finishToken(O.backQuote)) : (e += this.input.slice(t, this.pos), this.finishToken(O.template, e));
3698
3698
  if (n === 92) e += this.input.slice(t, this.pos), e += this.readEscapedChar(!0), t = this.pos;
3699
- else if (Je(n)) {
3699
+ else if (Ye(n)) {
3700
3700
  switch (e += this.input.slice(t, this.pos), ++this.pos, n) {
3701
3701
  case 13: this.input.charCodeAt(this.pos) === 10 && ++this.pos;
3702
3702
  case 10:
@@ -3707,26 +3707,26 @@ V.tryReadTemplateToken = function() {
3707
3707
  this.options.locations && (++this.curLine, this.lineStart = this.pos), t = this.pos;
3708
3708
  } else ++this.pos;
3709
3709
  }
3710
- }, V.readInvalidTemplateToken = function() {
3710
+ }, B.readInvalidTemplateToken = function() {
3711
3711
  for (; this.pos < this.input.length; this.pos++) switch (this.input[this.pos]) {
3712
3712
  case "\\":
3713
3713
  ++this.pos;
3714
3714
  break;
3715
3715
  case "$": if (this.input[this.pos + 1] !== "{") break;
3716
- case "`": return this.finishToken(k.invalidTemplate, this.input.slice(this.start, this.pos));
3716
+ case "`": return this.finishToken(O.invalidTemplate, this.input.slice(this.start, this.pos));
3717
3717
  case "\r": this.input[this.pos + 1] === "\n" && ++this.pos;
3718
3718
  case "\n":
3719
3719
  case "\u2028":
3720
3720
  case "\u2029": ++this.curLine, this.lineStart = this.pos + 1;
3721
3721
  }
3722
3722
  this.raise(this.start, "Unterminated template");
3723
- }, V.readEscapedChar = function(e) {
3723
+ }, B.readEscapedChar = function(e) {
3724
3724
  var t = this.input.charCodeAt(++this.pos);
3725
3725
  switch (++this.pos, t) {
3726
3726
  case 110: return "\n";
3727
3727
  case 114: return "\r";
3728
3728
  case 120: return String.fromCharCode(this.readHexChar(2));
3729
- case 117: return it(this.readCodePoint());
3729
+ case 117: return at(this.readCodePoint());
3730
3730
  case 116: return " ";
3731
3731
  case 98: return "\b";
3732
3732
  case 118: return "\v";
@@ -3743,12 +3743,12 @@ V.tryReadTemplateToken = function() {
3743
3743
  var r = this.input.substr(this.pos - 1, 3).match(/^[0-7]+/)[0], i = parseInt(r, 8);
3744
3744
  return i > 255 && (r = r.slice(0, -1), i = parseInt(r, 8)), this.pos += r.length - 1, t = this.input.charCodeAt(this.pos), (r !== "0" || t === 56 || t === 57) && (this.strict || e) && this.invalidStringToken(this.pos - 1 - r.length, e ? "Octal literal in template string" : "Octal literal in strict mode"), String.fromCharCode(i);
3745
3745
  }
3746
- return Je(t) ? (this.options.locations && (this.lineStart = this.pos, ++this.curLine), "") : String.fromCharCode(t);
3746
+ return Ye(t) ? (this.options.locations && (this.lineStart = this.pos, ++this.curLine), "") : String.fromCharCode(t);
3747
3747
  }
3748
- }, V.readHexChar = function(e) {
3748
+ }, B.readHexChar = function(e) {
3749
3749
  var t = this.pos, n = this.readInt(16, e);
3750
3750
  return n === null && this.invalidStringToken(t, "Bad character escape sequence"), n;
3751
- }, V.readWord1 = function() {
3751
+ }, B.readWord1 = function() {
3752
3752
  this.containsEsc = !1;
3753
3753
  for (var e = "", t = !0, n = this.pos, r = this.options.ecmaVersion >= 6; this.pos < this.input.length;) {
3754
3754
  var i = this.fullCharCodeAtPos();
@@ -3758,47 +3758,47 @@ V.tryReadTemplateToken = function() {
3758
3758
  var a = this.pos;
3759
3759
  this.input.charCodeAt(++this.pos) !== 117 && this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.pos;
3760
3760
  var o = this.readCodePoint();
3761
- (t ? We : Ge)(o, r) || this.invalidStringToken(a, "Invalid Unicode escape"), e += it(o), n = this.pos;
3761
+ (t ? We : Ge)(o, r) || this.invalidStringToken(a, "Invalid Unicode escape"), e += at(o), n = this.pos;
3762
3762
  } else break;
3763
3763
  t = !1;
3764
3764
  }
3765
3765
  return e + this.input.slice(n, this.pos);
3766
- }, V.readWord = function() {
3767
- var e = this.readWord1(), t = k.name;
3768
- return this.keywords.test(e) && (t = Ke[e]), this.finishToken(t, e);
3769
- }, M.acorn = {
3770
- Parser: M,
3766
+ }, B.readWord = function() {
3767
+ var e = this.readWord1(), t = O.name;
3768
+ return this.keywords.test(e) && (t = qe[e]), this.finishToken(t, e);
3769
+ }, j.acorn = {
3770
+ Parser: j,
3771
3771
  version: "8.18.0",
3772
- defaultOptions: lt,
3773
- Position: ot,
3774
- SourceLocation: st,
3775
- getLineInfo: ct,
3776
- Node: Xt,
3772
+ defaultOptions: ut,
3773
+ Position: st,
3774
+ SourceLocation: ct,
3775
+ getLineInfo: lt,
3776
+ Node: Zt,
3777
3777
  TokenType: w,
3778
- tokTypes: k,
3779
- keywordTypes: Ke,
3780
- TokContext: Ht,
3781
- tokContexts: L,
3778
+ tokTypes: O,
3779
+ keywordTypes: qe,
3780
+ TokContext: Ut,
3781
+ tokContexts: I,
3782
3782
  isIdentifierChar: Ge,
3783
3783
  isIdentifierStart: We,
3784
- Token: Vn,
3785
- isNewLine: Je,
3786
- lineBreak: A,
3787
- lineBreakG: qe,
3788
- nonASCIIwhitespace: Xe
3784
+ Token: Hn,
3785
+ isNewLine: Ye,
3786
+ lineBreak: k,
3787
+ lineBreakG: Je,
3788
+ nonASCIIwhitespace: Ze
3789
3789
  };
3790
- function Gn(e, t, n) {
3791
- return M.parseExpressionAt(e, t, n);
3790
+ function Kn(e, t, n) {
3791
+ return j.parseExpressionAt(e, t, n);
3792
3792
  }
3793
3793
  //#endregion
3794
3794
  //#region src/debug.ts
3795
- var Kn = !!process.env.DEBUG;
3796
- function qn(...e) {
3797
- Kn && console.log(...e);
3795
+ var qn = !!process.env.DEBUG;
3796
+ function Jn(...e) {
3797
+ qn && console.log(...e);
3798
3798
  }
3799
3799
  //#endregion
3800
3800
  //#region src/safe-eval.ts
3801
- var Jn = {
3801
+ var Yn = {
3802
3802
  String: (e) => String(e ?? ""),
3803
3803
  Number: (e) => Number(e),
3804
3804
  Boolean: (e) => !!e,
@@ -3808,7 +3808,7 @@ var Jn = {
3808
3808
  },
3809
3809
  Object: { keys: (e) => Object.keys(e) }
3810
3810
  };
3811
- function Yn(t) {
3811
+ function Xn(t) {
3812
3812
  let n = i.resolve(t), r = (...e) => {
3813
3813
  let t = i.resolve(n, ...e);
3814
3814
  if (t !== n && !t.startsWith(`${n}${i.sep}`)) throw Error("Workspace file path escapes working directory");
@@ -3820,7 +3820,7 @@ function Yn(t) {
3820
3820
  join: (...e) => r(...e)
3821
3821
  };
3822
3822
  }
3823
- var Xn = class {
3823
+ var Zn = class {
3824
3824
  static async evaluateValue(e, t = {}) {
3825
3825
  if (typeof e != "string" || !e.includes("${")) return e;
3826
3826
  let n = `\`${e}\``;
@@ -3830,7 +3830,7 @@ var Xn = class {
3830
3830
  typeof e == "string" && (e = [e]);
3831
3831
  for (let n of e) {
3832
3832
  let e = await this.evaluateExpression(n, t);
3833
- if (qn("condition", e, n, t), e) return !0;
3833
+ if (Jn("condition", e, n, t), e) return !0;
3834
3834
  }
3835
3835
  return !1;
3836
3836
  }
@@ -3838,7 +3838,7 @@ var Xn = class {
3838
3838
  if (!e || typeof e != "string") return e;
3839
3839
  let n = e.trim(), r;
3840
3840
  try {
3841
- r = Gn(n, 0, {
3841
+ r = Kn(n, 0, {
3842
3842
  ecmaVersion: 2020,
3843
3843
  allowAwaitOutsideFunction: !1
3844
3844
  });
@@ -3850,7 +3850,7 @@ var Xn = class {
3850
3850
  static async evalNodeAsync(e, t) {
3851
3851
  switch (e.type) {
3852
3852
  case "Literal": return e.value;
3853
- case "Identifier": return e.name in t ? t[e.name] : e.name in Jn ? Jn[e.name] : void 0;
3853
+ case "Identifier": return e.name in t ? t[e.name] : e.name in Yn ? Yn[e.name] : void 0;
3854
3854
  case "MemberExpression": {
3855
3855
  let n = await this.evalNodeAsync(e.object, t);
3856
3856
  if (n == null) return;
@@ -3876,7 +3876,7 @@ var Xn = class {
3876
3876
  else throw Error(`Property '${i}' is not a callable function on target object.`);
3877
3877
  } else if (e.callee.type === "Identifier") {
3878
3878
  let r = e.callee.name;
3879
- if (n = t[r] ?? Jn[r], !n || typeof n != "function") throw Error(`Unknown function helper '${r}'.`);
3879
+ if (n = t[r] ?? Yn[r], !n || typeof n != "function") throw Error(`Unknown function helper '${r}'.`);
3880
3880
  }
3881
3881
  if (!n) throw Error("Invalid function invocation target.");
3882
3882
  let i = await Promise.all(e.arguments.map((e) => this.evalNodeAsync(e, t)));
@@ -3935,7 +3935,7 @@ var Xn = class {
3935
3935
  };
3936
3936
  //#endregion
3937
3937
  //#region src/parser/matrix-expander.ts
3938
- function Zn(e) {
3938
+ function Qn(e) {
3939
3939
  if (!e.matrix || Object.keys(e.matrix).length === 0) return [e];
3940
3940
  let t = e.matrix;
3941
3941
  return Object.keys(t).reduce((e, n) => {
@@ -3962,18 +3962,18 @@ function Zn(e) {
3962
3962
  }
3963
3963
  //#endregion
3964
3964
  //#region src/secret-repository.ts
3965
- function Qn() {
3965
+ function $n() {
3966
3966
  let e = process.env.CREDENTIALS_DIRECTORY ? `${process.env.CREDENTIALS_DIRECTORY}/on-master-key` : "", t = process.env.RUNNER_MASTER_KEY || (e ? n(e, "utf8").trim() : "");
3967
3967
  if (!t) throw Error("RUNNER_MASTER_KEY or systemd credential on-master-key is required for secrets");
3968
3968
  return u.createHash("sha256").update(t).digest();
3969
3969
  }
3970
- var $n = class {
3970
+ var er = class {
3971
3971
  key;
3972
3972
  async init() {
3973
3973
  await C.exec("CREATE TABLE IF NOT EXISTS secrets (\n name TEXT PRIMARY KEY, ciphertext TEXT NOT NULL,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP\n )");
3974
3974
  }
3975
3975
  encryptionKey() {
3976
- return this.key ||= Qn();
3976
+ return this.key ||= $n();
3977
3977
  }
3978
3978
  async set(e, t) {
3979
3979
  if (!/^[A-Z][A-Z0-9_]*$/.test(e)) throw Error("Secret names must be uppercase letters, numbers, and underscores");
@@ -3999,7 +3999,7 @@ var $n = class {
3999
3999
  let t = Buffer.from(e, "base64"), n = u.createDecipheriv("aes-256-gcm", this.encryptionKey(), t.subarray(0, 12));
4000
4000
  return n.setAuthTag(t.subarray(12, 28)), Buffer.concat([n.update(t.subarray(28)), n.final()]).toString("utf8");
4001
4001
  }
4002
- }, er = class {
4002
+ }, tr = class {
4003
4003
  config;
4004
4004
  constructor(e) {
4005
4005
  this.config = e;
@@ -4045,8 +4045,8 @@ var $n = class {
4045
4045
  }
4046
4046
  };
4047
4047
  //#endregion
4048
- //#region node_modules/.pnpm/marked@18.0.11/node_modules/marked/lib/marked.esm.js
4049
- function tr() {
4048
+ //#region node_modules/.pnpm/marked@18.0.12/node_modules/marked/lib/marked.esm.js
4049
+ function nr() {
4050
4050
  return {
4051
4051
  async: !1,
4052
4052
  breaks: !1,
@@ -4060,35 +4060,35 @@ function tr() {
4060
4060
  walkTokens: null
4061
4061
  };
4062
4062
  }
4063
- var nr = tr();
4064
- function rr(e) {
4065
- nr = e;
4063
+ var rr = nr();
4064
+ function ir(e) {
4065
+ rr = e;
4066
4066
  }
4067
- var ir = { exec: () => null };
4068
- function ar(e) {
4067
+ var ar = { exec: () => null };
4068
+ function or(e) {
4069
4069
  let t = [];
4070
4070
  return (n) => {
4071
4071
  let r = Math.max(0, Math.min(3, n - 1)), i = t[r];
4072
4072
  return i || (i = e(r), t[r] = i), i;
4073
4073
  };
4074
4074
  }
4075
- function H(e, t = "") {
4075
+ function V(e, t = "") {
4076
4076
  let n = typeof e == "string" ? e : e.source, r = {
4077
4077
  replace: (e, t) => {
4078
4078
  let i = typeof t == "string" ? t : t.source;
4079
- return i = i.replace(U.caret, "$1"), n = n.replace(e, i), r;
4079
+ return i = i.replace(H.caret, "$1"), n = n.replace(e, i), r;
4080
4080
  },
4081
4081
  getRegex: () => new RegExp(n, t)
4082
4082
  };
4083
4083
  return r;
4084
4084
  }
4085
- var or = ((e = "") => {
4085
+ var sr = ((e = "") => {
4086
4086
  try {
4087
4087
  return !!RegExp("(?<=1)(?<!1)" + e);
4088
4088
  } catch {
4089
4089
  return !1;
4090
4090
  }
4091
- })(), U = {
4091
+ })(), H = {
4092
4092
  codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
4093
4093
  outputLinkReplace: /\\([\[\]])/g,
4094
4094
  indentCodeCompensation: /^(\s+)(?:```)/,
@@ -4096,6 +4096,7 @@ var or = ((e = "") => {
4096
4096
  endingHash: /#$/,
4097
4097
  startingSpaceChar: /^ /,
4098
4098
  endingSpaceChar: / $/,
4099
+ endingSpaceTabChar: /[ \t]$/,
4099
4100
  nonSpaceChar: /[^ ]/,
4100
4101
  newLineCharGlobal: /\n/g,
4101
4102
  tabCharGlobal: /\t/g,
@@ -4139,123 +4140,123 @@ var or = ((e = "") => {
4139
4140
  notSpaceStart: /^\S*/,
4140
4141
  endingNewline: /\n$/,
4141
4142
  listItemRegex: (e) => RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),
4142
- nextBulletRegex: ar((e) => RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),
4143
- hrRegex: ar((e) => RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),
4144
- fencesBeginRegex: ar((e) => RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),
4145
- headingBeginRegex: ar((e) => RegExp(`^ {0,${e}}#`)),
4146
- htmlBeginRegex: ar((e) => RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`, "i")),
4147
- blockquoteBeginRegex: ar((e) => RegExp(`^ {0,${e}}>`))
4148
- }, sr = /^(?:[ \t]*(?:\n|$))+/, cr = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, lr = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, ur = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, dr = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, fr = / {0,3}(?:[*+-]|\d{1,9}[.)])/, pr = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, mr = H(pr).replace(/bull/g, fr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}(?:\s|$)/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), hr = H(pr).replace(/bull/g, fr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}(?:\s|$)/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), gr = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/, _r = /^[^\n]+/, vr = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, yr = H(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", vr).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), br = H(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, fr).getRegex(), xr = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Sr = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Cr = H("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Sr).replace("tag", xr).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), wr = (e) => H(gr).replace("hr", ur).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", e).replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", xr).getRegex(), Tr = wr(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/), Er = wr(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/), Dr = {
4149
- blockquote: H(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Er).getRegex(),
4150
- code: cr,
4151
- def: yr,
4152
- fences: lr,
4153
- heading: dr,
4154
- hr: ur,
4155
- html: Cr,
4156
- lheading: mr,
4157
- list: br,
4158
- newline: sr,
4159
- paragraph: Tr,
4160
- table: ir,
4161
- text: _r
4162
- }, Or = H("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", ur).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", xr).getRegex(), kr = {
4163
- ...Dr,
4143
+ nextBulletRegex: or((e) => RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),
4144
+ hrRegex: or((e) => RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),
4145
+ fencesBeginRegex: or((e) => RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),
4146
+ headingBeginRegex: or((e) => RegExp(`^ {0,${e}}#`)),
4147
+ htmlBeginRegex: or((e) => RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`, "i")),
4148
+ blockquoteBeginRegex: or((e) => RegExp(`^ {0,${e}}>`))
4149
+ }, cr = /^(?:[ \t]*(?:\n|$))+/, lr = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, ur = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, dr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, fr = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, pr = / {0,3}(?:[*+-]|\d{1,9}[.)])/, mr = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, hr = V(mr).replace(/bull/g, pr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}(?:\s|$)/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), gr = V(mr).replace(/bull/g, pr).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}(?:\s|$)/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), _r = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/, vr = /^[^\n]+/, yr = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, br = V(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", yr).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), xr = V(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, pr).getRegex(), Sr = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Cr = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, wr = V("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Cr).replace("tag", Sr).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Tr = (e) => V(_r).replace("hr", dr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", e).replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Sr).getRegex(), Er = Tr(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/), Dr = Tr(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/), Or = {
4150
+ blockquote: V(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Dr).getRegex(),
4151
+ code: lr,
4152
+ def: br,
4153
+ fences: ur,
4154
+ heading: fr,
4155
+ hr: dr,
4156
+ html: wr,
4164
4157
  lheading: hr,
4165
- table: Or,
4166
- paragraph: H(gr).replace("hr", ur).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", Or).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", xr).getRegex()
4167
- }, Ar = {
4168
- ...Dr,
4169
- html: H("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Sr).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
4158
+ list: xr,
4159
+ newline: cr,
4160
+ paragraph: Er,
4161
+ table: ar,
4162
+ text: vr
4163
+ }, kr = V("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", dr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Sr).getRegex(), Ar = {
4164
+ ...Or,
4165
+ lheading: gr,
4166
+ table: kr,
4167
+ paragraph: V(_r).replace("hr", dr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", kr).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Sr).getRegex()
4168
+ }, jr = {
4169
+ ...Or,
4170
+ html: V("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Cr).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
4170
4171
  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
4171
4172
  heading: /^(#{1,6})(.*)(?:\n+|$)/,
4172
- fences: ir,
4173
+ fences: ar,
4173
4174
  lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
4174
- paragraph: H(gr).replace("hr", ur).replace("heading", " *#{1,6} *[^\n]").replace("lheading", mr).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
4175
- }, jr = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Mr = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Nr = /^( {2,}|\\)\n(?!\s*$)/, Pr = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, Fr = /[\p{P}\p{S}]/u, Ir = /[\s\p{P}\p{S}]/u, Lr = /[^\s\p{P}\p{S}]/u, Rr = H(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Ir).getRegex(), zr = /[\p{Pi}\p{Ps}"']/u, Br = /(?!~)[\p{P}\p{S}]/u, Vr = /(?!~)[\s\p{P}\p{S}]/u, Hr = /(?:[^\s\p{P}\p{S}]|~)/u, Ur = H(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", or ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), Wr = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, Gr = H(Wr, "u").replace(/punct/g, Fr).getRegex(), Kr = H(Wr, "u").replace(/punct/g, Br).getRegex(), qr = H(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/, "u").replace(/openQuote/g, zr).replace(/punct/g, Fr).getRegex(), Jr = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Yr = H(Jr, "gu").replace(/notPunctSpace/g, Lr).replace(/punctSpace/g, Ir).replace(/punct/g, Fr).getRegex(), Xr = H(Jr, "gu").replace(/notPunctSpace/g, Hr).replace(/punctSpace/g, Vr).replace(/punct/g, Br).getRegex(), Zr = H("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Lr).replace(/punctSpace/g, Ir).replace(/punct/g, Fr).getRegex(), Qr = H("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Lr).replace(/punctSpace/g, Ir).replace(/punct/g, Fr).getRegex(), $r = H("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Lr).replace(/punctSpace/g, Ir).replace(/punct/g, Fr).getRegex(), ei = H(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, Fr).getRegex(), ti = H("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Lr).replace(/punctSpace/g, Ir).replace(/punct/g, Fr).getRegex(), ni = H(/\\(punct)/, "gu").replace(/punct/g, Fr).getRegex(), ri = H(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), ii = H(Sr).replace("(?:-->|$)", "-->").getRegex(), ai = H("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", ii).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), oi = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, si = H(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", oi).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), ci = H(/^!?\[(label)\]\[(ref)\]/).replace("label", oi).replace("ref", vr).getRegex(), li = H(/^!?\[(ref)\](?:\[\])?/).replace("ref", vr).getRegex(), ui = H("reflink|nolink(?!\\()", "g").replace("reflink", ci).replace("nolink", li).getRegex(), di = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, fi = {
4176
- _backpedal: ir,
4177
- anyPunctuation: ni,
4178
- autolink: ri,
4179
- blockSkip: Ur,
4180
- br: Nr,
4181
- code: Mr,
4182
- del: ir,
4183
- delLDelim: ir,
4184
- delRDelim: ir,
4185
- emStrongLDelim: Gr,
4186
- emStrongRDelimAst: Yr,
4187
- emStrongRDelimUnd: Qr,
4188
- escape: jr,
4189
- link: si,
4190
- nolink: li,
4191
- punctuation: Rr,
4192
- reflink: ci,
4193
- reflinkSearch: ui,
4194
- tag: ai,
4195
- text: Pr,
4196
- url: ir
4197
- }, pi = {
4198
- ...fi,
4199
- emStrongLDelim: qr,
4200
- emStrongRDelimAst: Zr,
4175
+ paragraph: V(_r).replace("hr", dr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", hr).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
4176
+ }, Mr = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Nr = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Pr = /^( {2,}|\\)\n(?!\s*$)/, Fr = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, Ir = /[\p{P}\p{S}]/u, Lr = /[\s\p{P}\p{S}]/u, Rr = /[^\s\p{P}\p{S}]/u, zr = V(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Lr).getRegex(), Br = /[\p{Pi}\p{Ps}"']/u, Vr = /(?!~)[\p{P}\p{S}]/u, Hr = /(?!~)[\s\p{P}\p{S}]/u, Ur = /(?:[^\s\p{P}\p{S}]|~)/u, Wr = V(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", sr ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), Gr = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, Kr = V(Gr, "u").replace(/punct/g, Ir).getRegex(), qr = V(Gr, "u").replace(/punct/g, Vr).getRegex(), Jr = V(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/, "u").replace(/openQuote/g, Br).replace(/punct/g, Ir).getRegex(), Yr = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Xr = V(Yr, "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), Zr = V(Yr, "gu").replace(/notPunctSpace/g, Ur).replace(/punctSpace/g, Hr).replace(/punct/g, Vr).getRegex(), Qr = V("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), $r = V("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), ei = V("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), ti = V(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, Ir).getRegex(), ni = V("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Rr).replace(/punctSpace/g, Lr).replace(/punct/g, Ir).getRegex(), ri = V(/\\(punct)/, "gu").replace(/punct/g, Ir).getRegex(), ii = V(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), ai = V(Cr).replace("(?:-->|$)", "-->").getRegex(), oi = V("^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", ai).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), si = V(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets", /\[(?:\\[\s\S]|[^\[\]\\])*\]/).getRegex(), ci = V(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", si).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), li = V(/^!?\[(label)\]\[(ref)\]/).replace("label", si).replace("ref", yr).getRegex(), ui = V(/^!?\[(ref)\](?:\[\])?/).replace("ref", yr).getRegex(), di = V("reflink|nolink(?!\\()", "g").replace("reflink", li).replace("nolink", ui).getRegex(), fi = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, pi = {
4177
+ _backpedal: ar,
4178
+ anyPunctuation: ri,
4179
+ autolink: ii,
4180
+ blockSkip: Wr,
4181
+ br: Pr,
4182
+ code: Nr,
4183
+ del: ar,
4184
+ delLDelim: ar,
4185
+ delRDelim: ar,
4186
+ emStrongLDelim: Kr,
4187
+ emStrongRDelimAst: Xr,
4201
4188
  emStrongRDelimUnd: $r,
4202
- link: H(/^!?\[(label)\]\((.*?)\)/).replace("label", oi).getRegex(),
4203
- reflink: H(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", oi).getRegex()
4189
+ escape: Mr,
4190
+ link: ci,
4191
+ nolink: ui,
4192
+ punctuation: zr,
4193
+ reflink: li,
4194
+ reflinkSearch: di,
4195
+ tag: oi,
4196
+ text: Fr,
4197
+ url: ar
4204
4198
  }, mi = {
4205
- ...fi,
4206
- emStrongRDelimAst: Xr,
4207
- emStrongLDelim: Kr,
4208
- delLDelim: ei,
4209
- delRDelim: ti,
4210
- url: H(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", di).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
4199
+ ...pi,
4200
+ emStrongLDelim: Jr,
4201
+ emStrongRDelimAst: Qr,
4202
+ emStrongRDelimUnd: ei,
4203
+ link: V(/^!?\[(label)\]\((.*?)\)/).replace("label", si).getRegex(),
4204
+ reflink: V(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", si).getRegex()
4205
+ }, hi = {
4206
+ ...pi,
4207
+ emStrongRDelimAst: Zr,
4208
+ emStrongLDelim: qr,
4209
+ delLDelim: ti,
4210
+ delRDelim: ni,
4211
+ url: V(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", fi).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),
4211
4212
  _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
4212
4213
  del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
4213
- text: H(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", di).getRegex()
4214
- }, hi = {
4215
- ...mi,
4216
- br: H(Nr).replace("{2,}", "*").getRegex(),
4217
- text: H(mi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
4214
+ text: V(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", fi).getRegex()
4218
4215
  }, gi = {
4219
- normal: Dr,
4220
- gfm: kr,
4221
- pedantic: Ar
4216
+ ...hi,
4217
+ br: V(Pr).replace("{2,}", "*").getRegex(),
4218
+ text: V(hi.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
4222
4219
  }, _i = {
4223
- normal: fi,
4224
- gfm: mi,
4225
- breaks: hi,
4226
- pedantic: pi
4220
+ normal: Or,
4221
+ gfm: Ar,
4222
+ pedantic: jr
4227
4223
  }, vi = {
4224
+ normal: pi,
4225
+ gfm: hi,
4226
+ breaks: gi,
4227
+ pedantic: mi
4228
+ }, yi = {
4228
4229
  "&": "&amp;",
4229
4230
  "<": "&lt;",
4230
4231
  ">": "&gt;",
4231
4232
  "\"": "&quot;",
4232
4233
  "'": "&#39;"
4233
- }, yi = (e) => vi[e];
4234
- function bi(e, t) {
4234
+ }, bi = (e) => yi[e];
4235
+ function U(e, t) {
4235
4236
  if (t) {
4236
- if (U.escapeTest.test(e)) return e.replace(U.escapeReplace, yi);
4237
- } else if (U.escapeTestNoEncode.test(e)) return e.replace(U.escapeReplaceNoEncode, yi);
4237
+ if (H.escapeTest.test(e)) return e.replace(H.escapeReplace, bi);
4238
+ } else if (H.escapeTestNoEncode.test(e)) return e.replace(H.escapeReplaceNoEncode, bi);
4238
4239
  return e;
4239
4240
  }
4240
4241
  function xi(e) {
4241
4242
  try {
4242
- e = encodeURI(e).replace(U.percentDecode, "%");
4243
+ e = encodeURI(e).replace(H.percentDecode, "%");
4243
4244
  } catch {
4244
4245
  return null;
4245
4246
  }
4246
4247
  return e;
4247
4248
  }
4248
4249
  function Si(e, t) {
4249
- let n = e.replace(U.findPipe, (e, t, n) => {
4250
+ let n = e.replace(H.findPipe, (e, t, n) => {
4250
4251
  let r = !1, i = t;
4251
4252
  for (; --i >= 0 && n[i] === "\\";) r = !r;
4252
4253
  return r ? "|" : " |";
4253
- }).split(U.splitPipe), r = 0;
4254
+ }).split(H.splitPipe), r = 0;
4254
4255
  if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), t) {
4255
4256
  if (n.length > t) n.splice(t);
4256
4257
  else for (; n.length < t;) n.push("");
4257
4258
  }
4258
- for (; r < n.length; r++) n[r] = n[r].trim().replace(U.slashPipe, "|");
4259
+ for (; r < n.length; r++) n[r] = n[r].trim().replace(H.slashPipe, "|");
4259
4260
  return n;
4260
4261
  }
4261
4262
  function Ci(e, t, n) {
@@ -4272,7 +4273,7 @@ function Ci(e, t, n) {
4272
4273
  }
4273
4274
  function wi(e) {
4274
4275
  let t = e.split("\n"), n = t.length - 1;
4275
- for (; n >= 0 && U.blankLine.test(t[n]);) n--;
4276
+ for (; n >= 0 && H.blankLine.test(t[n]);) n--;
4276
4277
  return t.length - n <= 2 ? e : t.slice(0, n + 1).join("\n");
4277
4278
  }
4278
4279
  function Ti(e, t) {
@@ -4321,7 +4322,7 @@ function Oi(e, t, n) {
4321
4322
  let t = e.match(n.other.beginningSpace);
4322
4323
  if (t === null) return e;
4323
4324
  let [r] = t;
4324
- return r.length >= i.length ? e.slice(i.length) : e;
4325
+ return e.slice(Math.min(r.length, i.length));
4325
4326
  }).join("\n");
4326
4327
  }
4327
4328
  var ki = class {
@@ -4329,7 +4330,7 @@ var ki = class {
4329
4330
  rules;
4330
4331
  lexer;
4331
4332
  constructor(e) {
4332
- this.options = e || nr;
4333
+ this.options = e || rr;
4333
4334
  }
4334
4335
  space(e) {
4335
4336
  let t = this.rules.block.newline.exec(e);
@@ -4368,7 +4369,7 @@ var ki = class {
4368
4369
  let e = t[2].trim();
4369
4370
  if (this.rules.other.endingHash.test(e)) {
4370
4371
  let t = Ci(e, "#");
4371
- (this.options.pedantic || !t || this.rules.other.endingSpaceChar.test(t)) && (e = t.trim());
4372
+ (this.options.pedantic || !t || this.rules.other.endingSpaceTabChar.test(t)) && (e = t.trim());
4372
4373
  }
4373
4374
  return {
4374
4375
  type: "heading",
@@ -4391,8 +4392,8 @@ var ki = class {
4391
4392
  if (t) {
4392
4393
  let e = Ci(t[0], "\n").split("\n"), n = "", r = "", i = [];
4393
4394
  for (; e.length > 0;) {
4394
- let t = !1, a = [], o;
4395
- for (o = 0; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
4395
+ let t = !1, a = [], o = 0;
4396
+ for (; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
4396
4397
  else if (!t) a.push(e[o]);
4397
4398
  else break;
4398
4399
  e = e.slice(o);
@@ -4739,6 +4740,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
4739
4740
  raw: t[0],
4740
4741
  text: e,
4741
4742
  href: n,
4743
+ autolink: !0,
4742
4744
  tokens: [{
4743
4745
  type: "text",
4744
4746
  raw: e,
@@ -4764,6 +4766,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
4764
4766
  raw: t[0],
4765
4767
  text: e,
4766
4768
  href: n,
4769
+ autolink: !0,
4767
4770
  tokens: [{
4768
4771
  type: "text",
4769
4772
  raw: e,
@@ -4791,23 +4794,23 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
4791
4794
  inlineQueue;
4792
4795
  tokenizer;
4793
4796
  constructor(e) {
4794
- this.tokens = [], this.tokens.links = Object.create(null), this.options = e || nr, this.options.tokenizer = this.options.tokenizer || new ki(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
4797
+ this.tokens = [], this.tokens.links = Object.create(null), this.options = e || rr, this.options.tokenizer = this.options.tokenizer || new ki(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
4795
4798
  inLink: !1,
4796
4799
  inRawBlock: !1,
4797
4800
  linkEmitted: !1,
4798
4801
  top: !0
4799
4802
  };
4800
4803
  let t = {
4801
- other: U,
4802
- block: gi.normal,
4803
- inline: _i.normal
4804
+ other: H,
4805
+ block: _i.normal,
4806
+ inline: vi.normal
4804
4807
  };
4805
- this.options.pedantic ? (t.block = gi.pedantic, t.inline = _i.pedantic) : this.options.gfm && (t.block = gi.gfm, t.inline = this.options.breaks ? _i.breaks : _i.gfm), this.tokenizer.rules = t;
4808
+ this.options.pedantic ? (t.block = _i.pedantic, t.inline = vi.pedantic) : this.options.gfm && (t.block = _i.gfm, t.inline = this.options.breaks ? vi.breaks : vi.gfm), this.tokenizer.rules = t;
4806
4809
  }
4807
4810
  static get rules() {
4808
4811
  return {
4809
- block: gi,
4810
- inline: _i
4812
+ block: _i,
4813
+ inline: vi
4811
4814
  };
4812
4815
  }
4813
4816
  static lex(t, n) {
@@ -4817,7 +4820,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
4817
4820
  return new e(n).inlineTokens(t);
4818
4821
  }
4819
4822
  lex(e) {
4820
- e = e.replace(U.carriageReturn, "\n"), this.blockTokens(e, this.tokens);
4823
+ e = e.replace(H.carriageReturn, "\n"), this.blockTokens(e, this.tokens);
4821
4824
  for (let e = 0; e < this.inlineQueue.length; e++) {
4822
4825
  let t = this.inlineQueue[e];
4823
4826
  this.inlineTokens(t.src, t.tokens);
@@ -4825,7 +4828,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
4825
4828
  return this.inlineQueue = [], this.tokens;
4826
4829
  }
4827
4830
  blockTokens(e, t = [], n = !1) {
4828
- this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(U.tabCharGlobal, " ").replace(U.spaceLine, ""));
4831
+ this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(H.tabCharGlobal, " ").replace(H.spaceLine, ""));
4829
4832
  let r = 1 / 0;
4830
4833
  for (; e;) {
4831
4834
  if (e.length < r) r = e.length;
@@ -4925,7 +4928,7 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
4925
4928
  for (let n of e.matchAll(this.tokenizer.rules.inline.blockSkip)) if (t.test(n[0]) && e.charAt(n.index - 1) !== "!") return !0;
4926
4929
  for (let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)) {
4927
4930
  let e = t[0], n = e.lastIndexOf("[");
4928
- if (!(e.charAt(0) === "!" || !Object.hasOwn(this.tokens.links, e.slice(n + 1, -1))) && !(n > 1 && this.linkInText(e.slice(1, n - 1)))) return !0;
4931
+ if (e.charAt(0) !== "!" && Object.hasOwn(this.tokens.links, e.slice(n + 1, -1)) && !(n > 1 && this.linkInText(e.slice(1, n - 1)))) return !0;
4929
4932
  }
4930
4933
  return !1;
4931
4934
  }
@@ -5029,14 +5032,14 @@ ${a}`, r = r.substring(0, r.length - t.text.length) + s.text;
5029
5032
  options;
5030
5033
  parser;
5031
5034
  constructor(e) {
5032
- this.options = e || nr;
5035
+ this.options = e || rr;
5033
5036
  }
5034
5037
  space(e) {
5035
5038
  return "";
5036
5039
  }
5037
5040
  code({ text: e, lang: t, escaped: n }) {
5038
- let r = (t || "").match(U.notSpaceStart)?.[0], i = e.replace(U.endingNewline, "") + "\n";
5039
- return r ? "<pre><code class=\"language-" + bi(r) + "\">" + (n ? i : bi(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : bi(i, !0)) + "</code></pre>\n";
5041
+ let r = (t || "").match(H.notSpaceStart)?.[0], i = e ? e.replace(H.endingNewline, "") + "\n" : "";
5042
+ return r ? "<pre><code class=\"language-" + U(r) + "\">" + (n ? i : U(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : U(i, !0)) + "</code></pre>\n";
5040
5043
  }
5041
5044
  blockquote({ tokens: e }) {
5042
5045
  return `<blockquote>
@@ -5106,7 +5109,7 @@ ${e}</tr>
5106
5109
  return `<em>${this.parser.parseInline(e)}</em>`;
5107
5110
  }
5108
5111
  codespan({ text: e }) {
5109
- return `<code>${bi(e, !0)}</code>`;
5112
+ return `<code>${U(e, !0)}</code>`;
5110
5113
  }
5111
5114
  br(e) {
5112
5115
  return "<br>";
@@ -5114,23 +5117,23 @@ ${e}</tr>
5114
5117
  del({ tokens: e }) {
5115
5118
  return `<del>${this.parser.parseInline(e)}</del>`;
5116
5119
  }
5117
- link({ href: e, title: t, tokens: n }) {
5118
- let r = this.parser.parseInline(n), i = xi(e);
5119
- if (i === null) return r;
5120
- e = i;
5121
- let a = "<a href=\"" + e + "\"";
5122
- return t && (a += " title=\"" + bi(t) + "\""), a += ">" + r + "</a>", a;
5120
+ link({ href: e, title: t, text: n, tokens: r, autolink: i }) {
5121
+ let a = i ? U(n, !0) : this.parser.parseInline(r), o = xi(e);
5122
+ if (o === null) return a;
5123
+ e = U(o, i);
5124
+ let s = "<a href=\"" + e + "\"";
5125
+ return t && (s += " title=\"" + U(t) + "\""), s += ">" + a + "</a>", s;
5123
5126
  }
5124
5127
  image({ href: e, title: t, text: n, tokens: r }) {
5125
5128
  r && (n = this.parser.parseInline(r, this.parser.textRenderer));
5126
5129
  let i = xi(e);
5127
- if (i === null) return bi(n);
5130
+ if (i === null) return U(n);
5128
5131
  e = i;
5129
- let a = `<img src="${e}" alt="${bi(n)}"`;
5130
- return t && (a += ` title="${bi(t)}"`), a += ">", a;
5132
+ let a = `<img src="${U(e)}" alt="${U(n)}"`;
5133
+ return t && (a += ` title="${U(t)}"`), a += ">", a;
5131
5134
  }
5132
5135
  text(e) {
5133
- return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : bi(e.text);
5136
+ return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : U(e.text);
5134
5137
  }
5135
5138
  }, Mi = class {
5136
5139
  strong({ text: e }) {
@@ -5168,7 +5171,7 @@ ${e}</tr>
5168
5171
  renderer;
5169
5172
  textRenderer;
5170
5173
  constructor(e) {
5171
- this.options = e || nr, this.options.renderer = this.options.renderer || new ji(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Mi();
5174
+ this.options = e || rr, this.options.renderer = this.options.renderer || new ji(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Mi();
5172
5175
  }
5173
5176
  static parse(t, n) {
5174
5177
  return new e(n).parse(t);
@@ -5320,7 +5323,7 @@ ${e}</tr>
5320
5323
  options;
5321
5324
  block;
5322
5325
  constructor(e) {
5323
- this.options = e || nr;
5326
+ this.options = e || rr;
5324
5327
  }
5325
5328
  static passThroughHooks = /* @__PURE__ */ new Set([
5326
5329
  "preprocess",
@@ -5352,7 +5355,7 @@ ${e}</tr>
5352
5355
  return e ? Ni.parse : Ni.parseInline;
5353
5356
  }
5354
5357
  }, Fi = new class {
5355
- defaults = tr();
5358
+ defaults = nr();
5356
5359
  options = this.setOptions;
5357
5360
  parse = this.parseMarkdown(!0);
5358
5361
  parseInline = this.parseMarkdown(!1);
@@ -5519,7 +5522,7 @@ ${e}</tr>
5519
5522
  onError(e, t) {
5520
5523
  return (n) => {
5521
5524
  if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
5522
- let e = "<p>An error occurred:</p><pre>" + bi(n.message + "", !0) + "</pre>";
5525
+ let e = "<p>An error occurred:</p><pre>" + U(n.message + "", !0) + "</pre>";
5523
5526
  return t ? Promise.resolve(e) : e;
5524
5527
  }
5525
5528
  if (t) return Promise.reject(n);
@@ -5531,17 +5534,17 @@ function W(e, t) {
5531
5534
  return Fi.parse(e, t);
5532
5535
  }
5533
5536
  W.options = W.setOptions = function(e) {
5534
- return Fi.setOptions(e), W.defaults = Fi.defaults, rr(W.defaults), W;
5535
- }, W.getDefaults = tr, W.defaults = nr;
5537
+ return Fi.setOptions(e), W.defaults = Fi.defaults, ir(W.defaults), W;
5538
+ }, W.getDefaults = nr, W.defaults = rr;
5536
5539
  function Ii(...e) {
5537
- return Fi.use(...e), W.defaults = Fi.defaults, rr(W.defaults), W;
5540
+ return Fi.use(...e), W.defaults = Fi.defaults, ir(W.defaults), W;
5538
5541
  }
5539
5542
  W.use = Ii, W.walkTokens = function(e, t) {
5540
5543
  return Fi.walkTokens(e, t);
5541
5544
  }, W.parseInline = Fi.parseInline, W.Parser = Ni, W.parser = Ni.parse, W.Renderer = ji, W.TextRenderer = Mi, W.Lexer = Ai, W.lexer = Ai.lex, W.Tokenizer = ki, W.Hooks = Pi, W.parse = W, W.options, W.setOptions, W.walkTokens, W.parseInline, Ni.parse, Ai.lex;
5542
5545
  //#endregion
5543
5546
  //#region docs/workflow-syntax.md?raw
5544
- var Li = "# Workflow Documentation\n\nThis is the living documentation for workflow authors. It is organized using the four Diataxis modes:\n\n- **Tutorials** teach the shortest path to a working workflow.\n- **How-to guides** solve focused tasks.\n- **Reference** documents the accepted syntax.\n- **Explanation** describes execution and security decisions.\n\n## Tutorials\n\n### Your First Workflow\n\nCreate a draft in the authenticated workflow editor, or send the YAML to the API:\n\n```yaml\nname: Hello\n\non:\n generic: {}\n\nsteps:\n - id: greet\n name: Greet\n run: echo \"Hello ${inputs.name}\"\n```\n\nSave it, validate it, and publish it. Only published and enabled workflows receive webhook or scheduled events.\n\nThe `generic` provider accepts a JSON request body as `inputs`. For example:\n\n```bash\ncurl -X POST http://localhost:11235/webhooks/generic \\\n -H 'content-type: application/json' \\\n --data '{\"name\":\"Ada\"}'\n```\n\n### Build a GitHub Workflow\n\n```yaml\nname: Build\n\non:\n github:\n events: [push]\n owner: cloud-cli\n repo: on\n branches: [main]\n\nsteps:\n - id: checkout\n name: Checkout\n env:\n clone_url: ${inputs.clone_url}\n commit_sha: ${inputs.commit_sha}\n run: |\n git clone --depth 1 \"$clone_url\" .\n git checkout \"$commit_sha\"\n\n - id: test\n name: Test\n run: pnpm install && pnpm test\n```\n\nGitHub webhooks must be signed with the configured `GITHUB_WEBHOOK_SECRET`. The preprocessor exposes normalized inputs including `event`, `owner`, `repo`, `branch`, `tag`, `ref`, `full_name`, `clone_url`, `commit_sha`, `author`, `action`, `changes`, and the original `raw` body.\n\n## How-To Guides\n\n### Reference Another Environment Value\n\nEnvironment entries are evaluated from top to bottom. Earlier values are available through `env` to later values:\n\n```yaml\nenv:\n image: ${inputs.repo}\n image_tag: ${env.image}:latest\n artifact_name: ${env.image_tag}-${inputs.commit_sha}\n```\n\nWorkflow-level values are available to every step. Step-level `env` values are evaluated after workflow-level values and can override them for that step.\n\nUse `${inputs.name}`, `${env.NAME}`, `${secrets.NAME}`, and `${steps.step_id.outputs.value}` where the value is available. A value without `${...}` remains literal text.\n\n### Run a Container with a Host Volume\n\nUse `image` with `volumes`. A volume is passed directly to `docker run` as a `-v` mapping:\n\n```yaml\nsteps:\n - id: sign\n name: Sign release\n image: alpine:latest\n volumes:\n - /var/lib/runner/secrets-store:/secrets:ro\n run: |\n ./sign.sh /secrets/signing.key dist/release.tar.gz\n```\n\nThe source path is on the worker host. The destination path is inside the container. Use absolute host paths when a specific host directory is required. The workflow must be trusted because volume mappings can expose host data to a container.\n\nA single string is also accepted:\n\n```yaml\nvolumes: /var/lib/runner/secrets-store:/secrets:ro\n```\n\n### Pass Additional Docker Arguments\n\nUse `dockerArgs` for additional arguments to `docker run`, before the image name:\n\n```yaml\nsteps:\n - id: build\n image: docker:cli\n dockerArgs:\n - --network=host\n - --user=1000:1000\n run: docker build -t example:latest .\n```\n\nArguments are not interpreted or shell-expanded by the runner. They are passed as individual Docker CLI arguments.\n\n### Use a Matrix\n\nKeep the matrix in the workflow definition:\n\n```yaml\nname: Package\n\nmatrix:\n node: [18, 20]\n os: [ubuntu, alpine]\n\non:\n generic: {}\n\nenv:\n node_version: ${env.MATRIX_NODE}\n\nsteps:\n - id: package\n image: node:${env.MATRIX_NODE}\n run: npm pack\n```\n\nThe runner creates one job for every Cartesian combination. The example creates four jobs. Each variant receives `MATRIX_NODE` and `MATRIX_OS` environment variables.\n\n### Add a Scheduled Trigger\n\n```yaml\non:\n schedule:\n - id: nightly\n cron: '0 2 * * *'\n timezone: Europe/Berlin\n```\n\nCron expressions have five fields: minute, hour, day of month, month, and day of week. The scheduler uses the declared IANA timezone.\n\nSolar triggers use `sunrise` or `sunset` and geographic coordinates:\n\n```yaml\non:\n solar:\n - id: morning\n event: sunrise\n latitude: 52.52\n longitude: 13.405\n offset: +15m\n```\n\n### Use Secrets\n\nCreate a secret in the management UI or with the API, then reference it in environment values:\n\n```yaml\nsteps:\n - id: publish\n env:\n npm_token: ${secrets.NPM_TOKEN}\n run: npm publish\n```\n\nSecret values are delivered to a worker after it claims the job. Do not write them into reports or artifacts.\n\n### Persist Artifacts and Caches\n\nArtifacts are captured from the workspace after a successful run:\n\n```yaml\nartifacts:\n paths:\n - dist\n - reports/**/*.json\n```\n\nCaches are restored before steps start and saved after a successful run:\n\n```yaml\ncache:\n key: npm-${inputs.repo}-${inputs.branch}\n paths:\n - node_modules\n```\n\nConfigure a shared FileBin backend on the server and workers with `RUNNER_FILE_API_URL`, `RUNNER_FILE_BIN`, and optionally `RUNNER_FILE_PASSWORD`. Create a bin with `POST /bin`, then configure its ID. Without FileBin configuration, the runner uses the central database fallback. Cache keys are scoped by workflow; artifacts are scoped by job. Stored collections are limited to 50 MiB per capture.\n\nAdministrators can download a captured artifact with `GET /api/runs/:jobId/artifacts/:path`.\n\nPopulate workspace files from managed secrets before steps run:\n\n```yaml\nsecretFiles:\n .config/signing.key: SIGNING_KEY\n```\n\nSecret files are created with owner-only permissions in the worker workspace. They must be handled according to the worker storage lifecycle and should not be included in artifacts or caches.\n\n## Reference\n\n### Top-Level Workflow Fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `name` | string | Required human-readable workflow name shown in the UI and reports. |\n| `id` | string | Optional identifier used when deriving an ID outside the management API. The management API ID is authoritative after creation. |\n| `on` | object | Required trigger configuration. |\n| `env` | object | Workflow environment values, evaluated in declaration order. |\n| `matrix` | object | Matrix dimensions. Each value is an array of strings, numbers, or booleans. |\n| `concurrency` | object | Optional concurrency group and cancellation policy. |\n| `tags` | string[] | Worker capability tags required by the job. |\n| `artifacts` | object | Workspace paths captured after successful runs. |\n| `cache` | object | Keyed workspace paths restored before and saved after successful runs. |\n| `secretFiles` | object | Workspace-relative file paths mapped to secret names. |\n| `steps` | object[] | Required non-empty ordered list of steps. |\n| `retries` | integer | Additional attempts for a failed step. Must be zero or greater. |\n\n`includes` and workflow-to-workflow imports are not supported. Workflow definitions are stored as complete database revisions. Reusable behavior should be implemented through the planned step reuse mechanism rather than filesystem imports.\n\n### Triggers\n\nThe first non-`schedule`/`solar` key in `on` is the provider trigger. Supported providers include `generic` and `github`.\n\n#### GitHub Trigger Filters\n\n| Field | Type | Behavior |\n| --- | --- | --- |\n| `events` | string[] | Exact event names such as `push` or `pull_request`. |\n| `owner` | string or string[] | Exact repository owner. |\n| `repo` | string or string[] | Exact repository name. |\n| `name` | string or string[] | Exact `owner/repo` name. |\n| `branches` | string or string[] | Glob patterns matching normalized branches or tags. |\n| `refs` | string or string[] | Alias for branch/ref matching. |\n| `tag` | boolean | Requires a tag push when true, a non-tag event when false. |\n| `tags` | string[] | Regular expressions matched against the tag value. |\n| `paths` | string[] | Glob patterns matched against changed files. |\n| `if` | string or string[] | Safe JavaScript condition evaluated after provider filters. |\n\nConfigured fields are combined with AND. Multiple values within a field are combined with OR. Negated `!value` entries are supported by exact-value filters.\n\n#### Schedule Trigger\n\n```yaml\nschedule:\n - id: hourly\n cron: '0 * * * *'\n timezone: UTC\n```\n\n#### Solar Trigger\n\n```yaml\nsolar:\n - id: sunrise-build\n event: sunrise\n latitude: 52.52\n longitude: 13.405\n timezone: Europe/Berlin\n offset: -15m\n```\n\n### Environment and Expressions\n\nInterpolated strings use standard JavaScript template expressions inside `${...}`. The safe evaluator supports literals, property access, arithmetic, comparisons, boolean operators, ternaries, arrays, objects, and these helpers:\n\n```text\nString(value)\nNumber(value)\nBoolean(value)\nJSON.parse(value)\nJSON.stringify(value)\nObject.keys(value)\n```\n\nAvailable context objects are:\n\n| Object | Available data |\n| --- | --- |\n| `inputs` | Trigger payload and normalized provider inputs. |\n| `env` | Runner environment plus earlier workflow or step environment entries. |\n| `secrets` | Decrypted job-scoped secrets. |\n| `steps` | Earlier step statuses, exit codes, and outputs. |\n| `files` | Workspace-scoped `exists`, `readFile`, and `join` helpers for `eval:` steps. |\n\nExpressions cannot access JavaScript constructors or prototypes. Shell commands are not expression-evaluated; only declared interpolation fields are evaluated.\n\n### Steps\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `id` | string | Stable identifier used by `steps.<id>`. |\n| `name` | string | Display name. Defaults to `id`. |\n| `run` | string | Shell command or script. Mutually exclusive with `eval`. |\n| `eval` | string | In-process safe expression. Mutually exclusive with `run`. |\n| `env` | object | Step environment, evaluated after workflow environment. |\n| `image` | string | Docker image. Selects container execution for the step. |\n| `volumes` | string or string[] | Docker `-v` mappings. |\n| `dockerArgs` | string[] | Additional raw arguments for `docker run`. |\n| `timeoutMs` | positive integer | Maximum step runtime. Defaults to 30 seconds. |\n| `if` | string | Safe condition. False conditions produce a skipped step. |\n\n`run` steps execute through the selected worker driver. With `image`, the command runs as `sh -c` inside Docker. Without `image`, it runs through the worker shell. `eval` steps run inside the worker process and can produce structured outputs for later steps.\n\n### Management and API\n\nWorkflow definitions are drafted, validated, published, enabled, and deleted through the authenticated management UI or these endpoints:\n\n```text\nPOST /api/workflows/validate\nGET /api/workflows\nGET /api/workflows/:id\nPUT /api/workflows/:id\nPOST /api/workflows/:id/publish\nDELETE /api/workflows/:id\n```\n\nOnly published workflows with `enabled: true` are matched for incoming triggers. Saving a workflow creates a new immutable revision. Existing jobs continue to use the revision recorded when they were created.\n\n## Explanation\n\n### Why Workflow YAML Lives in the Database\n\nThe server stores source YAML and normalized revisions in the database. Workers are stateless: they fetch the referenced revision when claiming a job and do not read workflow files from their local filesystem. This keeps every worker on the same definition and makes published revisions reproducible.\n\n### Why Matrix Expansion Happens at Trigger Time\n\nThe stored revision remains one canonical workflow. When a trigger matches, the server creates one queue job per matrix combination. The payload records the matrix context, and the worker resolves that same variant before execution. This avoids storing duplicate workflow revisions while keeping each job independently observable.\n\n### Docker Volumes and Trust\n\n`volumes` and `dockerArgs` are intentionally powerful options. A host volume can expose credentials or signing material, and Docker arguments can change networking, users, capabilities, or isolation. Only trusted administrators should publish workflows using these fields. The runner does not copy, inspect, or redact files mounted into containers.\n\n### Reuse and Imports\n\nFilesystem imports were removed because workers no longer load workflow files. Future step reuse should operate on database-owned definitions or explicit reusable step mechanisms, keeping revisioning and authorization visible to the control plane.\n", Ri = "\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"9\"></circle>\n <path d=\"M9.6 9a2.5 2.5 0 1 1 4.2 1.8c-1.2 1-1.8 1.4-1.8 2.7\"></path>\n <path d=\"M12 17h.01\"></path>\n </svg>", zi = "\n :root { color-scheme: dark; }\n * { box-sizing: border-box; }\n body { margin: 0; background: #030712; color: #e5e7eb; font-family: ui-sans-serif, system-ui, sans-serif; }\n main { max-width: 78rem; margin: 0 auto; padding: 2rem 1rem 5rem; }\n article { max-width: 54rem; margin: 0 auto; line-height: 1.7; }\n h1, h2, h3 { color: #f9fafb; line-height: 1.2; letter-spacing: -0.02em; }\n h1 { font-size: 2.25rem; margin: 0 0 1rem; }\n h2 { border-top: 1px solid #1f2937; margin-top: 3rem; padding-top: 1.5rem; font-size: 1.6rem; }\n h3 { margin-top: 2rem; font-size: 1.15rem; }\n p, li { color: #cbd5e1; }\n a { color: #93c5fd; }\n code { border-radius: .35rem; background: #111827; color: #bfdbfe; padding: .12rem .35rem; font-size: .9em; }\n pre { overflow-x: auto; border: 1px solid #1f2937; border-radius: .75rem; background: #0b1120; padding: 1rem; }\n pre code { background: transparent; padding: 0; color: #d1d5db; }\n table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; margin: 1rem 0; }\n th, td { border-bottom: 1px solid #1f2937; padding: .65rem .75rem; text-align: left; vertical-align: top; }\n th { color: #f9fafb; background: #111827; }\n blockquote { border-left: 3px solid #6366f1; margin-left: 0; padding-left: 1rem; color: #94a3b8; }\n .topbar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; max-width: 78rem; margin: 0 auto; padding: 1rem; }\n .back { display: inline-flex; align-items: center; gap: .45rem; color: #94a3b8; text-decoration: none; font-size: .85rem; }\n .back:hover, .back:focus-visible { color: #f9fafb; }\n .help-layout { display: grid; grid-template-columns: minmax(0, 54rem); gap: 3rem; justify-content: center; }\n .toc { display: none; }\n .toc nav { position: sticky; top: 1.25rem; max-height: calc(100vh - 2.5rem); overflow-y: auto; border-left: 1px solid #1f2937; padding-left: 1rem; }\n .toc-title { margin: 0 0 .65rem; color: #f9fafb; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }\n .toc ul { display: grid; gap: .15rem; list-style: none; margin: 0; padding: 0; }\n .toc a { display: block; border-radius: .35rem; color: #94a3b8; font-size: .8rem; line-height: 1.35; padding: .3rem .45rem; text-decoration: none; }\n .toc a:hover, .toc a:focus-visible { background: #111827; color: #dbeafe; outline: none; }\n .toc-depth-2 { padding-left: .9rem !important; }\n .toc-depth-3 { padding-left: 1.8rem !important; font-size: .75rem !important; }\n @media (min-width: 1024px) { .help-layout { grid-template-columns: minmax(0, 54rem) 16rem; justify-content: center; } .toc { display: block; } }\n @media (min-width: 640px) { main { padding: 3rem 1.5rem 6rem; } }\n";
5547
+ var Li = "# Workflow Documentation\n\nThis is the living documentation for workflow authors. It is organized using the four Diataxis modes:\n\n- **Tutorials** teach the shortest path to a working workflow.\n- **How-to guides** solve focused tasks.\n- **Reference** documents the accepted syntax.\n- **Explanation** describes execution and security decisions.\n\n## Tutorials\n\n### Your First Workflow\n\nCreate a draft in the authenticated workflow editor, or send the YAML to the API:\n\n```yaml\nname: Hello\n\non:\n generic: {}\n\nsteps:\n - id: greet\n name: Greet\n run: echo \"Hello ${inputs.name}\"\n```\n\nSave it, validate it, and publish it. Only published and enabled workflows receive webhook or scheduled events.\n\nThe `generic` provider accepts a JSON request body as `inputs`. For example:\n\n```bash\ncurl -X POST http://localhost:11235/webhooks/generic \\\n -H 'content-type: application/json' \\\n --data '{\"name\":\"Ada\"}'\n```\n\n### Build a GitHub Workflow\n\n```yaml\nname: Build\n\non:\n github:\n events: [push]\n owner: cloud-cli\n repo: on\n branches: [main]\n\nsteps:\n - id: checkout\n name: Checkout\n env:\n clone_url: ${inputs.clone_url}\n commit_sha: ${inputs.commit_sha}\n run: |\n git clone --depth 1 \"$clone_url\" .\n git checkout \"$commit_sha\"\n\n - id: test\n name: Test\n run: pnpm install && pnpm test\n```\n\nGitHub webhooks must be signed with the configured `GITHUB_WEBHOOK_SECRET`. The preprocessor exposes normalized inputs including `event`, `owner`, `repo`, `branch`, `tag`, `ref`, `full_name`, `clone_url`, `commit_sha`, `author`, `action`, `changes`, and the original `raw` body.\n\n## How-To Guides\n\n### Reference Another Environment Value\n\nEnvironment entries are evaluated from top to bottom. Earlier values are available through `env` to later values:\n\n```yaml\nenv:\n image: ${inputs.repo}\n image_tag: ${env.image}:latest\n artifact_name: ${env.image_tag}-${inputs.commit_sha}\n```\n\nWorkflow-level values are available to every step. Step-level `env` values are evaluated after workflow-level values and can override them for that step.\n\nUse `${inputs.name}`, `${env.NAME}`, `${secrets.NAME}`, and `${steps.step_id.outputs.value}` where the value is available. A value without `${...}` remains literal text.\n\n### Run a Container with a Host Volume\n\nUse `image` with `volumes`. A volume is passed directly to `docker run` as a `-v` mapping:\n\n```yaml\nsteps:\n - id: sign\n name: Sign release\n image: alpine:latest\n volumes:\n - /var/lib/runner/secrets-store:/secrets:ro\n run: |\n ./sign.sh /secrets/signing.key dist/release.tar.gz\n```\n\nThe source path is on the worker host. The destination path is inside the container. Use absolute host paths when a specific host directory is required. The workflow must be trusted because volume mappings can expose host data to a container.\n\nA single string is also accepted:\n\n```yaml\nvolumes: /var/lib/runner/secrets-store:/secrets:ro\n```\n\n### Pass Additional Docker Arguments\n\nUse `dockerArgs` for additional arguments to `docker run`, before the image name:\n\n```yaml\nsteps:\n - id: build\n image: docker:cli\n dockerArgs:\n - --network=host\n - --user=1000:1000\n run: docker build -t example:latest .\n```\n\nArguments are not interpreted or shell-expanded by the runner. They are passed as individual Docker CLI arguments.\n\n### Use a Matrix\n\nKeep the matrix in the workflow definition:\n\n```yaml\nname: Package\n\nmatrix:\n node: [18, 20]\n os: [ubuntu, alpine]\n\non:\n generic: {}\n\nenv:\n node_version: ${env.MATRIX_NODE}\n\nsteps:\n - id: package\n image: node:${env.MATRIX_NODE}\n run: npm pack\n```\n\nThe runner creates one job for every Cartesian combination. The example creates four jobs. Each variant receives `MATRIX_NODE` and `MATRIX_OS` environment variables.\n\n### Add a Scheduled Trigger\n\n```yaml\non:\n schedule:\n - id: nightly\n cron: '0 2 * * *'\n timezone: Europe/Berlin\n```\n\nCron expressions have five fields: minute, hour, day of month, month, and day of week. The scheduler uses the declared IANA timezone.\n\nSolar triggers use `sunrise` or `sunset` and geographic coordinates:\n\n```yaml\non:\n solar:\n - id: morning\n event: sunrise\n latitude: 52.52\n longitude: 13.405\n offset: +15m\n```\n\n### Use Secrets\n\nCreate a secret in the management UI or with the API, then reference it in environment values:\n\n```yaml\nsteps:\n - id: publish\n env:\n npm_token: ${secrets.NPM_TOKEN}\n run: npm publish\n```\n\nSecret values are delivered to a worker after it claims the job. Do not write them into reports or artifacts.\n\n### Persist Artifacts and Caches\n\nArtifacts are captured from the workspace after a successful run:\n\n```yaml\nartifacts:\n paths:\n - dist\n - reports/**/*.json\n```\n\nCaches are restored before steps start and saved after a successful run:\n\n```yaml\ncache:\n key: npm-${inputs.repo}-${inputs.branch}\n paths:\n - node_modules\n```\n\nConfigure a shared FileBin backend on the server and workers with `RUNNER_FILE_API_URL`, `RUNNER_FILE_BIN`, and optionally `RUNNER_FILE_PASSWORD`. Create a bin with `POST /bin`, then configure its ID. Without FileBin configuration, the runner uses the central database fallback. Cache keys are scoped by workflow; artifacts are scoped by job. Stored collections are limited to 50 MiB per capture.\n\nAdministrators can download a captured artifact with `GET /api/runs/:jobId/artifacts/:path`.\n\nPopulate workspace files from managed secrets before steps run:\n\n```yaml\nsecretFiles:\n .config/signing.key: SIGNING_KEY\n```\n\nSecret files are created with owner-only permissions in the worker workspace. They must be handled according to the worker storage lifecycle and should not be included in artifacts or caches.\n\n### Configure Workflow Plugins\n\nEnable status updates for an individual GitHub workflow by declaring a plugin and mapping its secret inputs through the existing server-managed secrets:\n\n```yaml\nplugins:\n - name: github-status\n secrets:\n GITHUB_TOKEN: ${secrets.GITHUB_TOKEN}\n context: ci/build\n```\n\nThe worker uses that secret for `pending`, `success`, `failure`, or `error` commit statuses. The token is never stored in workflow YAML or job reports. The workflow must have GitHub `owner`, `repo`, and `commit_sha` inputs; otherwise no status request is made.\n\n## Reference\n\n### Top-Level Workflow Fields\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `name` | string | Required human-readable workflow name shown in the UI and reports. |\n| `id` | string | Optional identifier used when deriving an ID outside the management API. The management API ID is authoritative after creation. |\n| `on` | object | Required trigger configuration. |\n| `env` | object | Workflow environment values, evaluated in declaration order. |\n| `matrix` | object | Matrix dimensions. Each value is an array of strings, numbers, or booleans. |\n| `concurrency` | object | Optional concurrency group and cancellation policy. |\n| `tags` | string[] | Worker capability tags required by the job. |\n| `artifacts` | object | Workspace paths captured after successful runs. |\n| `cache` | object | Keyed workspace paths restored before and saved after successful runs. |\n| `secretFiles` | object | Workspace-relative file paths mapped to secret names. |\n| `plugins` | object[] | Optional per-workflow plugin declarations and secret mappings. |\n| `steps` | object[] | Required non-empty ordered list of steps. |\n| `retries` | integer | Additional attempts for a failed step. Must be zero or greater. |\n\n`includes` and workflow-to-workflow imports are not supported. Workflow definitions are stored as complete database revisions. Reusable behavior should be implemented through the planned step reuse mechanism rather than filesystem imports.\n\n### Triggers\n\nThe first non-`schedule`/`solar` key in `on` is the provider trigger. Supported providers include `generic` and `github`.\n\n#### GitHub Trigger Filters\n\n| Field | Type | Behavior |\n| --- | --- | --- |\n| `events` | string[] | Exact event names such as `push` or `pull_request`. |\n| `owner` | string or string[] | Exact repository owner. |\n| `repo` | string or string[] | Exact repository name. |\n| `name` | string or string[] | Exact `owner/repo` name. |\n| `branches` | string or string[] | Glob patterns matching normalized branches or tags. |\n| `refs` | string or string[] | Alias for branch/ref matching. |\n| `tag` | boolean | Requires a tag push when true, a non-tag event when false. |\n| `tags` | string[] | Regular expressions matched against the tag value. |\n| `paths` | string[] | Glob patterns matched against changed files. |\n| `if` | string or string[] | Safe JavaScript condition evaluated after provider filters. |\n\nConfigured fields are combined with AND. Multiple values within a field are combined with OR. Negated `!value` entries are supported by exact-value filters.\n\n#### Schedule Trigger\n\n```yaml\nschedule:\n - id: hourly\n cron: '0 * * * *'\n timezone: UTC\n```\n\n#### Solar Trigger\n\n```yaml\nsolar:\n - id: sunrise-build\n event: sunrise\n latitude: 52.52\n longitude: 13.405\n timezone: Europe/Berlin\n offset: -15m\n```\n\n### Environment and Expressions\n\nInterpolated strings use standard JavaScript template expressions inside `${...}`. The safe evaluator supports literals, property access, arithmetic, comparisons, boolean operators, ternaries, arrays, objects, and these helpers:\n\n```text\nString(value)\nNumber(value)\nBoolean(value)\nJSON.parse(value)\nJSON.stringify(value)\nObject.keys(value)\n```\n\nAvailable context objects are:\n\n| Object | Available data |\n| --- | --- |\n| `inputs` | Trigger payload and normalized provider inputs. |\n| `env` | Runner environment plus earlier workflow or step environment entries. |\n| `secrets` | Decrypted job-scoped secrets. |\n| `steps` | Earlier step statuses, exit codes, and outputs. |\n| `files` | Workspace-scoped `exists`, `readFile`, and `join` helpers for `eval:` steps. |\n\nExpressions cannot access JavaScript constructors or prototypes. Shell commands are not expression-evaluated; only declared interpolation fields are evaluated.\n\n### Steps\n\n| Field | Type | Description |\n| --- | --- | --- |\n| `id` | string | Stable identifier used by `steps.<id>`. |\n| `name` | string | Display name. Defaults to `id`. |\n| `run` | string | Shell command or script. Mutually exclusive with `eval`. |\n| `eval` | string | In-process safe expression. Mutually exclusive with `run`. |\n| `env` | object | Step environment, evaluated after workflow environment. |\n| `image` | string | Docker image. Selects container execution for the step. |\n| `volumes` | string or string[] | Docker `-v` mappings. |\n| `dockerArgs` | string[] | Additional raw arguments for `docker run`. |\n| `timeoutMs` | positive integer | Maximum step runtime. Defaults to 30 seconds. |\n| `if` | string | Safe condition. False conditions produce a skipped step. |\n\n`run` steps execute through the selected worker driver. With `image`, the command runs as `sh -c` inside Docker. Without `image`, it runs through the worker shell. `eval` steps run inside the worker process and can produce structured outputs for later steps.\n\n### Management and API\n\nWorkflow definitions are drafted, validated, published, enabled, and deleted through the authenticated management UI or these endpoints:\n\n```text\nPOST /api/workflows/validate\nGET /api/workflows\nGET /api/workflows/:id\nPUT /api/workflows/:id\nPOST /api/workflows/:id/publish\nDELETE /api/workflows/:id\n```\n\nOnly published workflows with `enabled: true` are matched for incoming triggers. Saving a workflow creates a new immutable revision. Existing jobs continue to use the revision recorded when they were created.\n\n## Explanation\n\n### Why Workflow YAML Lives in the Database\n\nThe server stores source YAML and normalized revisions in the database. Workers are stateless: they fetch the referenced revision when claiming a job and do not read workflow files from their local filesystem. This keeps every worker on the same definition and makes published revisions reproducible.\n\n### Why Matrix Expansion Happens at Trigger Time\n\nThe stored revision remains one canonical workflow. When a trigger matches, the server creates one queue job per matrix combination. The payload records the matrix context, and the worker resolves that same variant before execution. This avoids storing duplicate workflow revisions while keeping each job independently observable.\n\n### Docker Volumes and Trust\n\n`volumes` and `dockerArgs` are intentionally powerful options. A host volume can expose credentials or signing material, and Docker arguments can change networking, users, capabilities, or isolation. Only trusted administrators should publish workflows using these fields. The runner does not copy, inspect, or redact files mounted into containers.\n\n### Reuse and Imports\n\nFilesystem imports were removed because workers no longer load workflow files. Future step reuse should operate on database-owned definitions or explicit reusable step mechanisms, keeping revisioning and authorization visible to the control plane.\n", Ri = "\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"9\"></circle>\n <path d=\"M9.6 9a2.5 2.5 0 1 1 4.2 1.8c-1.2 1-1.8 1.4-1.8 2.7\"></path>\n <path d=\"M12 17h.01\"></path>\n </svg>", zi = "\n :root { color-scheme: dark; }\n * { box-sizing: border-box; }\n body { margin: 0; background: #030712; color: #e5e7eb; font-family: ui-sans-serif, system-ui, sans-serif; }\n main { max-width: 78rem; margin: 0 auto; padding: 2rem 1rem 5rem; }\n article { max-width: 54rem; margin: 0 auto; line-height: 1.7; }\n h1, h2, h3 { color: #f9fafb; line-height: 1.2; letter-spacing: -0.02em; }\n h1 { font-size: 2.25rem; margin: 0 0 1rem; }\n h2 { border-top: 1px solid #1f2937; margin-top: 3rem; padding-top: 1.5rem; font-size: 1.6rem; }\n h3 { margin-top: 2rem; font-size: 1.15rem; }\n p, li { color: #cbd5e1; }\n a { color: #93c5fd; }\n code { border-radius: .35rem; background: #111827; color: #bfdbfe; padding: .12rem .35rem; font-size: .9em; }\n pre { overflow-x: auto; border: 1px solid #1f2937; border-radius: .75rem; background: #0b1120; padding: 1rem; }\n pre code { background: transparent; padding: 0; color: #d1d5db; }\n table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; margin: 1rem 0; }\n th, td { border-bottom: 1px solid #1f2937; padding: .65rem .75rem; text-align: left; vertical-align: top; }\n th { color: #f9fafb; background: #111827; }\n blockquote { border-left: 3px solid #6366f1; margin-left: 0; padding-left: 1rem; color: #94a3b8; }\n .topbar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; max-width: 78rem; margin: 0 auto; padding: 1rem; }\n .back { display: inline-flex; align-items: center; gap: .45rem; color: #94a3b8; text-decoration: none; font-size: .85rem; }\n .back:hover, .back:focus-visible { color: #f9fafb; }\n .help-layout { display: grid; grid-template-columns: minmax(0, 54rem); gap: 3rem; justify-content: center; }\n .toc { display: none; }\n .toc nav { position: sticky; top: 1.25rem; max-height: calc(100vh - 2.5rem); overflow-y: auto; border-left: 1px solid #1f2937; padding-left: 1rem; }\n .toc-title { margin: 0 0 .65rem; color: #f9fafb; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }\n .toc ul { display: grid; gap: .15rem; list-style: none; margin: 0; padding: 0; }\n .toc a { display: block; border-radius: .35rem; color: #94a3b8; font-size: .8rem; line-height: 1.35; padding: .3rem .45rem; text-decoration: none; }\n .toc a:hover, .toc a:focus-visible { background: #111827; color: #dbeafe; outline: none; }\n .toc-depth-2 { padding-left: .9rem !important; }\n .toc-depth-3 { padding-left: 1.8rem !important; font-size: .75rem !important; }\n @media (min-width: 1024px) { .help-layout { grid-template-columns: minmax(0, 54rem) 16rem; justify-content: center; } .toc { display: block; } }\n @media (min-width: 640px) { main { padding: 3rem 1.5rem 6rem; } }\n";
5545
5548
  function Bi(e = !1) {
5546
5549
  let t = /* @__PURE__ */ new Map(), n = (e) => {
5547
5550
  let n = e.replace(/[`*_~]/g, "").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "") || "section", r = t.get(n) || 0;
@@ -9518,7 +9521,7 @@ var wc = /* @__PURE__ */ new Set("0123456789ABCDEFabcdef"), Tc = /* @__PURE__ */
9518
9521
  for (; r === " ";) r = this.buffer[--n];
9519
9522
  if (r === "\n" && n >= this.pos && n + 1 + t > i) e = n;
9520
9523
  else break;
9521
- } while (!0);
9524
+ } while (1);
9522
9525
  return yield "", yield* this.pushToIndex(e + 1, !0), yield* this.parseLineStart();
9523
9526
  }
9524
9527
  *parsePlainScalar() {
@@ -10454,6 +10457,7 @@ function Jc(e) {
10454
10457
  artifacts: a,
10455
10458
  cache: o,
10456
10459
  secretFiles: t.secretFiles,
10460
+ plugins: Array.isArray(t.plugins) ? t.plugins : void 0,
10457
10461
  tags: Array.isArray(t.tags) ? [...new Set(t.tags.filter((e) => typeof e == "string").map((e) => e.trim()).filter(Boolean))] : void 0
10458
10462
  }];
10459
10463
  }
@@ -10567,7 +10571,7 @@ var Yc = class {
10567
10571
  server;
10568
10572
  preprocessors = /* @__PURE__ */ new Map();
10569
10573
  workflows = new Yc();
10570
- secretRepository = new $n();
10574
+ secretRepository = new er();
10571
10575
  queue;
10572
10576
  secrets;
10573
10577
  push;
@@ -10580,7 +10584,7 @@ var Yc = class {
10580
10584
  return new e(r).listen(n);
10581
10585
  }
10582
10586
  constructor(e) {
10583
- this.queue = e.queue, this.secrets = e.secrets, this.push = new er(e.config), this.adminToken = e.adminToken, this.workerToken = e.config.workerToken, this.workflowsLoaded = Promise.all([this.workflows.init(), this.secretRepository.init()]).then(() => void 0), this.registerPreprocessor(new Ce()), this.server = d.createServer((e, t) => this.handleRequest(e, t));
10587
+ this.queue = e.queue, this.secrets = e.secrets, this.push = new tr(e.config), this.adminToken = e.adminToken, this.workerToken = e.config.workerToken, this.workflowsLoaded = Promise.all([this.workflows.init(), this.secretRepository.init()]).then(() => void 0), this.registerPreprocessor(new Ce()), this.server = d.createServer((e, t) => this.handleRequest(e, t));
10584
10588
  }
10585
10589
  registerPreprocessor(e) {
10586
10590
  this.preprocessors.set(e.name, e);
@@ -10734,21 +10738,21 @@ var Yc = class {
10734
10738
  if (r.on.provider !== e) continue;
10735
10739
  let n = this.preprocessors.get(e);
10736
10740
  if (n?.filter && !n.filter(t, r.on).isValid) {
10737
- qn(`⏩ Skipped ${r.id} based on ${e} webhook filters`, { inputs: t });
10741
+ Jn(`⏩ Skipped ${r.id} based on ${e} webhook filters`, { inputs: t });
10738
10742
  continue;
10739
10743
  }
10740
10744
  if (r.on.if) try {
10741
- if (!await Xn.evaluateConditions(r.on.if, { inputs: t })) {
10742
- qn(`⏩ Skipped ${r.id} based on conditions: ${r.on.if}`, { inputs: t });
10745
+ if (!await Zn.evaluateConditions(r.on.if, { inputs: t })) {
10746
+ Jn(`⏩ Skipped ${r.id} based on conditions: ${r.on.if}`, { inputs: t });
10743
10747
  continue;
10744
10748
  }
10745
10749
  } catch (e) {
10746
10750
  console.error(`⚠️ Condition evaluation error in workflow [${r.id}]:`, e.message);
10747
10751
  continue;
10748
10752
  }
10749
- for (let e of Zn(r)) {
10753
+ for (let e of Qn(r)) {
10750
10754
  let n = "";
10751
- e.concurrency?.group && (n = await Xn.evaluateValue(e.concurrency.group, { inputs: t }));
10755
+ e.concurrency?.group && (n = await Zn.evaluateValue(e.concurrency.group, { inputs: t }));
10752
10756
  let a = {
10753
10757
  inputs: t,
10754
10758
  matrix: e.matrixContext
@@ -11078,7 +11082,7 @@ var Yc = class {
11078
11082
  "-e",
11079
11083
  "-c",
11080
11084
  t.command
11081
- ]), qn("$ systemd-run", [
11085
+ ]), Jn("$ systemd-run", [
11082
11086
  ...c,
11083
11087
  "--",
11084
11088
  ...u
@@ -11187,7 +11191,7 @@ var Yc = class {
11187
11191
  "-e",
11188
11192
  "-c",
11189
11193
  t.command
11190
- ]), qn("$ " + s, c.join(" "));
11194
+ ]), Jn("$ " + s, c.join(" "));
11191
11195
  let u;
11192
11196
  try {
11193
11197
  u = h(s, c, {
@@ -11274,7 +11278,7 @@ async function rl(e) {
11274
11278
  if (!t) {
11275
11279
  t = !0, console.log(`\n🛑 Received ${n}. Initiating graceful shutdown...`);
11276
11280
  try {
11277
- ll(), e.length > 0 && (console.log("⚙️ Waiting for active worker jobs to drain..."), await Promise.allSettled(e)), console.log("✨ Engine stopped cleanly. Goodbye!"), process.exit(0);
11281
+ ul(), e.length > 0 && (console.log("⚙️ Waiting for active worker jobs to drain..."), await Promise.allSettled(e)), console.log("✨ Engine stopped cleanly. Goodbye!"), process.exit(0);
11278
11282
  } catch (e) {
11279
11283
  console.error("❌ Error during graceful shutdown:", e.message), process.exit(1);
11280
11284
  }
@@ -11306,38 +11310,77 @@ var il = class {
11306
11310
  console.error(`[Plugin Error] ${n.name}.onWorkflowFinish:`, e);
11307
11311
  }
11308
11312
  }
11309
- }, al = { isStopping: !1 }, ol = /* @__PURE__ */ new Set(), sl = null, cl = null;
11310
- function ll() {
11311
- al.isStopping = !0, sl?.abort(), cl?.();
11313
+ }, al = class {
11314
+ name = "github-commit-status";
11315
+ token;
11316
+ apiUrl;
11317
+ context;
11318
+ constructor(e) {
11319
+ this.token = e.token, this.apiUrl = e.apiUrl || "https://api.github.com/", this.context = e.context || "on";
11320
+ }
11321
+ async onWorkflowStart(e) {
11322
+ this.hasCoordinates(e) && await this.updateStatus(e, "pending", "Workflow build has started.");
11323
+ }
11324
+ async onWorkflowFinish(e, t) {
11325
+ if (!this.hasCoordinates(e)) return;
11326
+ let n = t === "success" ? "success" : t === "failed" ? "failure" : "error", r = t === "success" ? "Workflow completed successfully." : `Workflow ${t}.`;
11327
+ await this.updateStatus(e, n, r);
11328
+ }
11329
+ async updateStatus(e, t, n) {
11330
+ let r = encodeURIComponent(String(e.inputs.owner)), i = encodeURIComponent(String(e.inputs.repo)), a = encodeURIComponent(String(e.inputs.commit_sha)), o = this.apiUrl.endsWith("/") ? this.apiUrl : `${this.apiUrl}/`, s = await fetch(new URL(`repos/${r}/${i}/statuses/${a}`, o), {
11331
+ method: "POST",
11332
+ headers: {
11333
+ Accept: "application/vnd.github+json",
11334
+ Authorization: `Bearer ${this.token}`,
11335
+ "Content-Type": "application/json",
11336
+ "User-Agent": "@cloud-cli/on",
11337
+ "X-GitHub-Api-Version": "2022-11-28"
11338
+ },
11339
+ signal: AbortSignal.timeout(1e4),
11340
+ body: JSON.stringify({
11341
+ state: t,
11342
+ target_url: e.runUrl,
11343
+ description: n.slice(0, 140),
11344
+ context: `${this.context}/${e.workflowName}`.slice(0, 100)
11345
+ })
11346
+ });
11347
+ if (!s.ok) throw Error(`GitHub status update failed with HTTP ${s.status}: ${await s.text()}`);
11348
+ }
11349
+ hasCoordinates(e) {
11350
+ return !!(this.token && e.inputs.owner && e.inputs.repo && e.inputs.commit_sha);
11351
+ }
11352
+ }, ol = { isStopping: !1 }, sl = /* @__PURE__ */ new Set(), cl = null, ll = null;
11353
+ function ul() {
11354
+ ol.isStopping = !0, cl?.abort(), ll?.();
11312
11355
  }
11313
- function ul(e, t, n, r) {
11314
- al.isStopping = !1;
11315
- let i = [dl(e, t, n, r)];
11356
+ function dl(e, t, n, r) {
11357
+ ol.isStopping = !1;
11358
+ let i = [fl(e, t, n, r)];
11316
11359
  return rl(i), i;
11317
11360
  }
11318
- async function dl(e, t, n, r) {
11361
+ async function fl(e, t, n, r) {
11319
11362
  let i = await nl(), a = new Yc(), o = /* @__PURE__ */ new Set(), s = 0, c = null, l = () => {
11320
11363
  s++, c?.();
11321
11364
  };
11322
- cl = l, sl = new AbortController();
11323
- let u = fl(r, sl.signal, l);
11324
- for (console.log(`🚀 Worker scheduler started. Driver: ${i.name}. Concurrency: ${e}. Tags: ${r.tags.join(", ") || "(none)"}`); !al.isStopping;) {
11365
+ ll = l, cl = new AbortController();
11366
+ let u = pl(r, cl.signal, l);
11367
+ for (console.log(`🚀 Worker scheduler started. Driver: ${i.name}. Concurrency: ${e}. Tags: ${r.tags.join(", ") || "(none)"}`); !ol.isStopping;) {
11325
11368
  let n = s;
11326
11369
  try {
11327
- for (; o.size < e && !al.isStopping;) {
11370
+ for (; o.size < e && !ol.isStopping;) {
11328
11371
  let e = await t.claimNextJob(r.tags);
11329
11372
  if (!e) break;
11330
- if (al.isStopping) {
11373
+ if (ol.isStopping) {
11331
11374
  await t.releaseJob(e.id);
11332
11375
  break;
11333
11376
  }
11334
11377
  let n = process.env.WORKER_NAME || "cli", s;
11335
11378
  s = (async () => {
11336
- hl(r, e.id);
11379
+ gl(r, e.id);
11337
11380
  let o = await a.getRevision(e.workflow_id, e.workflow_revision);
11338
11381
  if (!o) throw await t.finishJob(e.id, "failed"), Error(`Workflow ${e.workflow_id} revision ${e.workflow_revision} was not found`);
11339
11382
  let s = new me();
11340
- s.replace(await gl(r, n, e.id)), await _l({
11383
+ s.replace(await _l(r, n, e.id)), await vl({
11341
11384
  workerId: n,
11342
11385
  job: e,
11343
11386
  queue: t,
@@ -11347,17 +11390,17 @@ async function dl(e, t, n, r) {
11347
11390
  workflow: o
11348
11391
  });
11349
11392
  })().catch((e) => console.error(`[${n}] ⚠️ Worker execution error:`, e)).finally(() => {
11350
- o.delete(s), hl(r, e.id), l();
11393
+ o.delete(s), gl(r, e.id), l();
11351
11394
  }), o.add(s);
11352
11395
  }
11353
11396
  } catch (e) {
11354
11397
  console.error("⚠️ Worker scheduler claim error:", e), setTimeout(l, 5e3).unref();
11355
11398
  }
11356
- !al.isStopping && s === n && (await pl(n, () => s, (e) => c = e), c = null);
11399
+ !ol.isStopping && s === n && (await ml(n, () => s, (e) => c = e), c = null);
11357
11400
  }
11358
- sl.abort(), await Promise.allSettled(o), await u, cl = null, console.log("🛑 Worker scheduler stopped cleanly.");
11401
+ cl.abort(), await Promise.allSettled(o), await u, ll = null, console.log("🛑 Worker scheduler stopped cleanly.");
11359
11402
  }
11360
- async function fl(e, t, n) {
11403
+ async function pl(e, t, n) {
11361
11404
  let r = 1e3;
11362
11405
  for (; !t.aborted;) {
11363
11406
  try {
@@ -11368,10 +11411,10 @@ async function fl(e, t, n) {
11368
11411
  if (t.aborted || e?.name === "AbortError") break;
11369
11412
  console.error(`⚠️ Worker event stream disconnected: ${e.message}`);
11370
11413
  }
11371
- await ml(r, t), r = Math.min(r * 2, 3e4);
11414
+ await hl(r, t), r = Math.min(r * 2, 3e4);
11372
11415
  }
11373
11416
  }
11374
- function pl(e, t, n) {
11417
+ function ml(e, t, n) {
11375
11418
  return new Promise((r) => {
11376
11419
  if (t() !== e) return r();
11377
11420
  let i = setTimeout(r, 6e4);
@@ -11380,7 +11423,7 @@ function pl(e, t, n) {
11380
11423
  });
11381
11424
  });
11382
11425
  }
11383
- function ml(e, t) {
11426
+ function hl(e, t) {
11384
11427
  return new Promise((n) => {
11385
11428
  if (t.aborted) return n();
11386
11429
  let r = () => {
@@ -11391,7 +11434,7 @@ function ml(e, t) {
11391
11434
  t.addEventListener("abort", r, { once: !0 });
11392
11435
  });
11393
11436
  }
11394
- async function hl(e, t) {
11437
+ async function gl(e, t) {
11395
11438
  if (e.workerToken) try {
11396
11439
  let n = await fetch(new URL("/api/events", e.serverUrl), {
11397
11440
  method: "POST",
@@ -11402,12 +11445,12 @@ async function hl(e, t) {
11402
11445
  body: JSON.stringify({ jobId: t }),
11403
11446
  signal: AbortSignal.timeout(5e3)
11404
11447
  });
11405
- n.ok || qn(`Failed to publish job status event: HTTP ${n.status}`);
11448
+ n.ok || Jn(`Failed to publish job status event: HTTP ${n.status}`);
11406
11449
  } catch (e) {
11407
- qn("Failed to publish job status event:", e);
11450
+ Jn("Failed to publish job status event:", e);
11408
11451
  }
11409
11452
  }
11410
- async function gl(e, t, n) {
11453
+ async function _l(e, t, n) {
11411
11454
  if (!e.workerToken) return {};
11412
11455
  try {
11413
11456
  let r = await fetch(new URL(`/api/jobs/${n}/secrets`, e.serverUrl), {
@@ -11423,12 +11466,12 @@ async function gl(e, t, n) {
11423
11466
  throw console.error(`Unable to retrieve secrets for job ${n}:`, e), e;
11424
11467
  }
11425
11468
  }
11426
- async function _l(e) {
11469
+ async function vl(e) {
11427
11470
  let { workerId: t, job: n, config: r, secrets: a, queue: o } = e;
11428
11471
  console.log(`\n[${t}] 📦 Claimed Job #${n.id} (Workflow: ${n.workflow_id})`);
11429
11472
  let s = typeof n.payload == "string" ? JSON.parse(n.payload) : n.payload;
11430
11473
  if (!e.workflow) throw Error(`Workflow ${n.workflow_id} revision ${n.workflow_revision} was not resolved`);
11431
- let c = s.matrix ? Zn(e.workflow).find((e) => JSON.stringify(e.matrixContext) === JSON.stringify(s.matrix)) : e.workflow;
11474
+ let c = s.matrix ? Qn(e.workflow).find((e) => JSON.stringify(e.matrixContext) === JSON.stringify(s.matrix)) : e.workflow;
11432
11475
  if (!c) throw Error(`Matrix variant for job ${n.id} was not found`);
11433
11476
  let l = c, u = {
11434
11477
  ...e,
@@ -11440,7 +11483,7 @@ async function _l(e) {
11440
11483
  steps: {},
11441
11484
  logsDir: h,
11442
11485
  workingDir: g,
11443
- files: Yn(g)
11486
+ files: Xn(g)
11444
11487
  }, v = "", y = d.map((e, t) => (e.id ||= `step-${t}`, e.name ||= e.id, {
11445
11488
  id: e.id,
11446
11489
  name: e.name,
@@ -11448,10 +11491,10 @@ async function _l(e) {
11448
11491
  durationMs: 0,
11449
11492
  outputs: {},
11450
11493
  logContent: ""
11451
- })), b = jl(n, "running", p, f, _.env, y, s);
11452
- await o.saveReport(n.id, b), hl(r, n.id);
11494
+ })), b = Ml(n, "running", p, f, _.env, y, s);
11495
+ await o.saveReport(n.id, b), gl(r, n.id);
11453
11496
  try {
11454
- Object.assign(_.env, await xl(l.env, _)), Ol(l.secretFiles, a.getAll(), g), v = l.cache ? String(await Xn.evaluateValue(l.cache.key, _)) : "", v && l.cache && await Dl(o, "cache", `${n.workflow_id}:${v}`, l.cache.paths, g), await o.saveReport(n.id, b);
11497
+ Object.assign(_.env, await Sl(l.env, _)), kl(l.secretFiles, a.getAll(), g), v = l.cache ? String(await Zn.evaluateValue(l.cache.key, _)) : "", v && l.cache && await Ol(o, "cache", `${n.workflow_id}:${v}`, l.cache.paths, g), await o.saveReport(n.id, b);
11455
11498
  } catch (e) {
11456
11499
  b.status = "failed", b.finishedAt = (/* @__PURE__ */ new Date()).toISOString(), b.durationMs = Date.now() - p;
11457
11500
  let r = {
@@ -11464,31 +11507,40 @@ async function _l(e) {
11464
11507
  await o.completeJob(n.id, "failed", r), console.error(`[${t}] ❌ Job setup failed:`, e);
11465
11508
  return;
11466
11509
  }
11467
- let x = new il(r.plugins), S = {
11510
+ let x = [...r.plugins];
11511
+ for (let e of l.plugins || []) if (e.name === "github-status") {
11512
+ let n = await Sl(e.secrets, _), r = n.GITHUB_TOKEN || n.token;
11513
+ r ? x.push(new al({
11514
+ token: r,
11515
+ context: e.context,
11516
+ apiUrl: e.apiUrl
11517
+ })) : console.error(`[${t}] GitHub status plugin requires a configured token secret.`);
11518
+ } else console.error(`[${t}] Unknown workflow plugin '${e.name}'.`);
11519
+ let S = new il(x), ee = {
11468
11520
  jobId: String(n.id),
11469
11521
  workflowName: l.name,
11470
11522
  inputs: f,
11471
11523
  runUrl: new URL(`/runs/${n.id}`, r.serverUrl).toString()
11472
11524
  };
11473
- await x.triggerWorkflowStart(S);
11474
- let { cancelled: ee, failed: te } = await vl({
11525
+ await S.triggerWorkflowStart(ee);
11526
+ let { cancelled: te, failed: ne } = await yl({
11475
11527
  payload: s,
11476
11528
  steps: d,
11477
11529
  executionContext: _,
11478
11530
  ...u
11479
- }, b), ne = ee ? "cancelled" : te ? "failed" : "success";
11480
- if (ne === "success") try {
11481
- let e = l.artifacts ? await El(l.artifacts.paths, g) : [];
11531
+ }, b), re = te ? "cancelled" : ne ? "failed" : "success";
11532
+ if (re === "success") try {
11533
+ let e = l.artifacts ? await Dl(l.artifacts.paths, g) : [];
11482
11534
  if (e.length && (await o.saveStoredFiles("artifact", String(n.id), e), b.artifacts = e.map((e) => e.path)), v && l.cache) {
11483
- let e = await El(l.cache.paths, g);
11535
+ let e = await Dl(l.cache.paths, g);
11484
11536
  e.length && await o.saveStoredFiles("cache", `${n.workflow_id}:${v}`, e);
11485
11537
  }
11486
11538
  } catch (e) {
11487
- console.error(`[${t}] ⚠️ Failed to store workflow files:`, e), ne = "failed";
11539
+ console.error(`[${t}] ⚠️ Failed to store workflow files:`, e), re = "failed";
11488
11540
  }
11489
- b.status = ne, b.durationMs = Date.now() - p, b.finishedAt = (/* @__PURE__ */ new Date()).toISOString(), await o.completeJob(n.id, ne, b), hl(r, n.id), console.log(`[${t}] ✅ Job #${n.id} completed as: ${ne}`), await x.triggerWorkflowFinish(S, ne);
11541
+ b.status = re, b.durationMs = Date.now() - p, b.finishedAt = (/* @__PURE__ */ new Date()).toISOString(), await o.completeJob(n.id, re, b), gl(r, n.id), console.log(`[${t}] ✅ Job #${n.id} completed as: ${re}`), await S.triggerWorkflowFinish(ee, re);
11490
11542
  }
11491
- async function vl(e, t) {
11543
+ async function yl(e, t) {
11492
11544
  let { driver: n, workerId: r, queue: i, config: a, job: o, payload: s, steps: c, executionContext: l } = e, u = t.steps, d = !1, f = !1, p = 0;
11493
11545
  try {
11494
11546
  for (let s = 0; s < c.length; s++) {
@@ -11503,14 +11555,14 @@ async function vl(e, t) {
11503
11555
  logContent: "",
11504
11556
  startedAt: h,
11505
11557
  finishedAt: void 0
11506
- }, t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), hl(a, o.id);
11558
+ }, t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), gl(a, o.id);
11507
11559
  let g = {
11508
11560
  failed: !0,
11509
11561
  skipped: !1,
11510
11562
  cancelled: !1,
11511
11563
  report: null
11512
11564
  }, _ = e.workflow?.retries ?? 0;
11513
- for (let e = 1; e <= _ + 1 && (g = await yl({
11565
+ for (let e = 1; e <= _ + 1 && (g = await bl({
11514
11566
  workerId: r,
11515
11567
  jobId: o.id,
11516
11568
  step: m,
@@ -11538,7 +11590,7 @@ async function vl(e, t) {
11538
11590
  exitCode: 1,
11539
11591
  error: "Step failed before execution started",
11540
11592
  finishedAt: (/* @__PURE__ */ new Date()).toISOString()
11541
- }, p = s + 1, t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), hl(a, o.id), g.skipped) break;
11593
+ }, p = s + 1, t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), gl(a, o.id), g.skipped) break;
11542
11594
  if (g.cancelled) {
11543
11595
  f = !0, d = !0;
11544
11596
  break;
@@ -11551,22 +11603,22 @@ async function vl(e, t) {
11551
11603
  } catch (e) {
11552
11604
  console.log("🛑 Step failed", e), d = !0;
11553
11605
  }
11554
- return p < c.length && (Al(c, p, u), t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), hl(a, o.id)), {
11606
+ return p < c.length && (jl(c, p, u), t.durationMs = Date.now() - Date.parse(t.startedAt), await i.saveReport(o.id, t), gl(a, o.id)), {
11555
11607
  failed: d,
11556
11608
  cancelled: f,
11557
11609
  stepReports: u
11558
11610
  };
11559
11611
  }
11560
- async function yl(e) {
11612
+ async function bl(e) {
11561
11613
  let { step: t, stepIndex: n, executionContext: r } = e;
11562
- if (t.id ||= `step-${n}`, t.name ||= t.id, t.if && !await Xn.evaluateConditions(t.if, r)) return qn(`⏩ Skipped step ${t.id} based on condition: ${t.if}`, r), {
11614
+ if (t.id ||= `step-${n}`, t.name ||= t.id, t.if && !await Zn.evaluateConditions(t.if, r)) return Jn(`⏩ Skipped step ${t.id} based on condition: ${t.if}`, r), {
11563
11615
  failed: !1,
11564
11616
  cancelled: !1,
11565
11617
  skipped: !0,
11566
11618
  report: null
11567
11619
  };
11568
11620
  try {
11569
- let n = await xl(t.env, r), i = {
11621
+ let n = await Sl(t.env, r), i = {
11570
11622
  jobId: String(e.jobId),
11571
11623
  step: t,
11572
11624
  command: t.run,
@@ -11583,16 +11635,16 @@ async function yl(e) {
11583
11635
  WORKING_DIR: r.workingDir
11584
11636
  }
11585
11637
  };
11586
- return t.eval ? bl({
11638
+ return t.eval ? xl({
11587
11639
  ...e,
11588
11640
  stepContext: i
11589
- }) : kl({
11641
+ }) : Al({
11590
11642
  ...e,
11591
11643
  stepContext: i
11592
11644
  });
11593
11645
  } catch (n) {
11594
11646
  let i = n?.message || String(n);
11595
- return await e.queue.saveStepLog(e.jobId, t.id, `[STEP ERROR]:\n${i}`), qn(`⏩ Failed to run step ${t.id}`, r, n), {
11647
+ return await e.queue.saveStepLog(e.jobId, t.id, `[STEP ERROR]:\n${i}`), Jn(`⏩ Failed to run step ${t.id}`, r, n), {
11596
11648
  failed: !0,
11597
11649
  cancelled: !1,
11598
11650
  skipped: !1,
@@ -11609,12 +11661,12 @@ async function yl(e) {
11609
11661
  };
11610
11662
  }
11611
11663
  }
11612
- async function bl(e) {
11664
+ async function xl(e) {
11613
11665
  let { queue: t, stepContext: n, executionContext: r } = e, { jobId: i, step: a } = n, o = Date.now(), s = a.id, c = a.name, l;
11614
11666
  try {
11615
11667
  let e = new Promise((e, t) => {
11616
11668
  l = setTimeout(() => t(/* @__PURE__ */ Error(`Step timed out after ${n.timeoutMs}ms`)), n.timeoutMs), l.unref();
11617
- }), u = await Promise.race([Xn.evaluateExpression(a.eval, r), e]);
11669
+ }), u = await Promise.race([Zn.evaluateExpression(a.eval, r), e]);
11618
11670
  r.steps[s] = {
11619
11671
  status: "success",
11620
11672
  exitCode: 0,
@@ -11659,9 +11711,9 @@ async function bl(e) {
11659
11711
  l && clearTimeout(l);
11660
11712
  }
11661
11713
  }
11662
- async function xl(e, t) {
11714
+ async function Sl(e, t) {
11663
11715
  let n = {};
11664
- if (e) for (let [r, i] of Object.entries(e)) n[r] = String(await Xn.evaluateValue(i, {
11716
+ if (e) for (let [r, i] of Object.entries(e)) n[r] = String(await Zn.evaluateValue(i, {
11665
11717
  ...t,
11666
11718
  env: {
11667
11719
  ...t.env,
@@ -11670,18 +11722,18 @@ async function xl(e, t) {
11670
11722
  }));
11671
11723
  return n;
11672
11724
  }
11673
- var Sl = 52428800;
11674
- function Cl(e, t) {
11725
+ var Cl = 52428800;
11726
+ function wl(e, t) {
11675
11727
  let n = i.resolve(e), r = i.resolve(n, t);
11676
11728
  if (r !== n && !r.startsWith(`${n}${i.sep}`)) throw Error(`Stored file path escapes workspace: ${t}`);
11677
11729
  return r;
11678
11730
  }
11679
- function wl(e, t) {
11731
+ function Tl(e, t) {
11680
11732
  let n = "^";
11681
11733
  for (let e = 0; e < t.length; e++) t[e] === "*" && t[e + 1] === "*" ? (n += ".*", e++) : t[e] === "*" ? n += "[^/]*" : n += t[e].replace(/[|\\{}()[\]^$+?.]/g, "\\$&");
11682
11734
  return RegExp(`${n}$`).test(e);
11683
11735
  }
11684
- function Tl(t, n) {
11736
+ function El(t, n) {
11685
11737
  let r = i.resolve(n), a = [], o = (t) => {
11686
11738
  for (let n of e.readdirSync(t, { withFileTypes: !0 })) {
11687
11739
  let e = i.join(t, n.name);
@@ -11689,42 +11741,42 @@ function Tl(t, n) {
11689
11741
  }
11690
11742
  };
11691
11743
  return o(r), a.filter((r) => t.some((t) => {
11692
- let i = Cl(n, t);
11744
+ let i = wl(n, t);
11693
11745
  if (e.existsSync(i)) {
11694
11746
  let n = e.statSync(i);
11695
11747
  if (n.isFile()) return r === t;
11696
11748
  if (n.isDirectory()) return r === t || r.startsWith(`${t.replace(/\/$/, "")}/`);
11697
11749
  }
11698
- return wl(r, t);
11750
+ return Tl(r, t);
11699
11751
  }));
11700
11752
  }
11701
- async function El(t, n) {
11702
- let r = Tl(t, n), i = 0;
11753
+ async function Dl(t, n) {
11754
+ let r = El(t, n), i = 0;
11703
11755
  return r.map((t) => {
11704
- let r = e.readFileSync(Cl(n, t));
11705
- if (r.byteLength > Sl || (i += r.byteLength) > Sl) throw Error(`Stored files exceed ${Sl} bytes`);
11756
+ let r = e.readFileSync(wl(n, t));
11757
+ if (r.byteLength > Cl || (i += r.byteLength) > Cl) throw Error(`Stored files exceed ${Cl} bytes`);
11706
11758
  return {
11707
11759
  path: t,
11708
11760
  content: r.toString("base64")
11709
11761
  };
11710
11762
  });
11711
11763
  }
11712
- async function Dl(t, n, r, a, o) {
11764
+ async function Ol(t, n, r, a, o) {
11713
11765
  for (let s of await t.getStoredFiles(n, r)) {
11714
- if (!a.some((e) => s.path === e || s.path.startsWith(`${e.replace(/\/$/, "")}/`) || wl(s.path, e))) continue;
11715
- let t = Cl(o, s.path);
11766
+ if (!a.some((e) => s.path === e || s.path.startsWith(`${e.replace(/\/$/, "")}/`) || Tl(s.path, e))) continue;
11767
+ let t = wl(o, s.path);
11716
11768
  e.mkdirSync(i.dirname(t), { recursive: !0 }), e.writeFileSync(t, Buffer.from(s.content, "base64"));
11717
11769
  }
11718
11770
  }
11719
- function Ol(t, n, r) {
11771
+ function kl(t, n, r) {
11720
11772
  for (let [a, o] of Object.entries(t || {})) {
11721
11773
  let t = n[o];
11722
11774
  if (t === void 0) throw Error(`Secret '${o}' is not available for file '${a}'`);
11723
- let s = Cl(r, a);
11775
+ let s = wl(r, a);
11724
11776
  e.mkdirSync(i.dirname(s), { recursive: !0 }), e.writeFileSync(s, t, { mode: 384 }), e.chmodSync(s, 384);
11725
11777
  }
11726
11778
  }
11727
- async function kl(t) {
11779
+ async function Al(t) {
11728
11780
  let { workerId: n, jobId: r, stepContext: i, executionContext: a, driver: o, queue: s } = t, { step: c } = i, l = c.id, u = c.name, d;
11729
11781
  try {
11730
11782
  d = o.execute(i);
@@ -11739,11 +11791,11 @@ async function kl(t) {
11739
11791
  logFilePath: ""
11740
11792
  };
11741
11793
  }
11742
- ol.add(d);
11794
+ sl.add(d);
11743
11795
  let f = !1, p = setInterval(async () => {
11744
11796
  await s.isCancelled(r) && (console.log(`[${n}] 🛑 Job #${r} was cancelled! Halting execution.`), f = !0, clearInterval(p), await d.cancel());
11745
11797
  }, 3e3), m = await d.done;
11746
- if (clearInterval(p), ol.delete(d), d.logFilePath && e.existsSync(d.logFilePath)) try {
11798
+ if (clearInterval(p), sl.delete(d), d.logFilePath && e.existsSync(d.logFilePath)) try {
11747
11799
  let e = await o.readLog(d.logFilePath);
11748
11800
  await s.saveStepLog(r, l, e);
11749
11801
  } catch (e) {
@@ -11770,7 +11822,7 @@ async function kl(t) {
11770
11822
  }
11771
11823
  };
11772
11824
  }
11773
- function Al(e, t, n) {
11825
+ function jl(e, t, n) {
11774
11826
  for (let r = t; r < e.length; r++) {
11775
11827
  let t = e[r], i = t.id || `step-${r}`;
11776
11828
  n[r] = {
@@ -11784,7 +11836,7 @@ function Al(e, t, n) {
11784
11836
  };
11785
11837
  }
11786
11838
  }
11787
- function jl(e, t, n, r, i, a, o) {
11839
+ function Ml(e, t, n, r, i, a, o) {
11788
11840
  return {
11789
11841
  jobId: String(e.id),
11790
11842
  parentId: String(e.parentId || ""),
@@ -11805,7 +11857,7 @@ function jl(e, t, n, r, i, a, o) {
11805
11857
  }
11806
11858
  //#endregion
11807
11859
  //#region src/scheduler.ts
11808
- function Ml(e, t, n, r) {
11860
+ function Nl(e, t, n, r) {
11809
11861
  return e.split(",").some((e) => {
11810
11862
  let [i, a] = e.split("/"), o = a ? Number(a) : 1;
11811
11863
  if (!Number.isInteger(o) || o < 1) return !1;
@@ -11813,7 +11865,7 @@ function Ml(e, t, n, r) {
11813
11865
  return Number.isInteger(l) && Number.isInteger(u) && t >= l && t <= u && (t - l) % o === 0;
11814
11866
  });
11815
11867
  }
11816
- function Nl(e, t, n = "UTC") {
11868
+ function Pl(e, t, n = "UTC") {
11817
11869
  let r = e.trim().split(/\s+/);
11818
11870
  if (r.length !== 5) return !1;
11819
11871
  let i = new Intl.DateTimeFormat("en-US", {
@@ -11835,16 +11887,16 @@ function Nl(e, t, n = "UTC") {
11835
11887
  "Thu",
11836
11888
  "Fri",
11837
11889
  "Sat"
11838
- ].indexOf(i.weekday), o = Ml(r[2], Number(i.day), 1, 31), s = Ml(r[4].replace(/7/g, "0"), a, 0, 6);
11839
- return Ml(r[0], Number(i.minute), 0, 59) && Ml(r[1], Number(i.hour), 0, 23) && Ml(r[3], Number(i.month), 1, 12) && (r[2] === "*" || r[4] === "*" ? o && s : o || s);
11890
+ ].indexOf(i.weekday), o = Nl(r[2], Number(i.day), 1, 31), s = Nl(r[4].replace(/7/g, "0"), a, 0, 6);
11891
+ return Nl(r[0], Number(i.minute), 0, 59) && Nl(r[1], Number(i.hour), 0, 23) && Nl(r[3], Number(i.month), 1, 12) && (r[2] === "*" || r[4] === "*" ? o && s : o || s);
11840
11892
  }
11841
- function Pl(e) {
11893
+ function Fl(e) {
11842
11894
  if (!e) return 0;
11843
11895
  let t = e.match(/^([+-]?)(\d+)(m|h)$/);
11844
11896
  if (!t) throw Error(`Invalid solar offset: ${e}`);
11845
11897
  return (t[1] === "-" ? -1 : 1) * Number(t[2]) * (t[3] === "h" ? 36e5 : 6e4);
11846
11898
  }
11847
- function Fl(e, t) {
11899
+ function Il(e, t) {
11848
11900
  let n = t.latitude, r = t.longitude, i = Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate()), a = Math.floor((i - Date.UTC(e.getUTCFullYear(), 0, 0)) / 864e5), o = r / 15, s = a + ((t.event === "sunrise" ? 6 : 18) - o) / 24, c = .9856 * s - 3.289, l = c + 1.916 * Math.sin(c * Math.PI / 180) + .02 * Math.sin(2 * c * Math.PI / 180) + 282.634;
11849
11901
  l = (l + 360) % 360;
11850
11902
  let u = Math.atan(.91764 * Math.tan(l * Math.PI / 180)) * 180 / Math.PI;
@@ -11852,9 +11904,9 @@ function Fl(e, t) {
11852
11904
  let d = .39782 * Math.sin(l * Math.PI / 180), f = Math.cos(Math.asin(d)), p = (Math.cos(90.833 * Math.PI / 180) - d * Math.sin(n * Math.PI / 180)) / (f * Math.cos(n * Math.PI / 180));
11853
11905
  if (p > 1 || p < -1) return null;
11854
11906
  let m = (t.event === "sunrise" ? 360 - Math.acos(p) * 180 / Math.PI : Math.acos(p) * 180 / Math.PI) / 15;
11855
- return m = (m + u - .06571 * s - 6.622 - o + 24) % 24, new Date(i + m * 36e5 + Pl(t.offset));
11907
+ return m = (m + u - .06571 * s - 6.622 - o + 24) % 24, new Date(i + m * 36e5 + Fl(t.offset));
11856
11908
  }
11857
- var Il = class {
11909
+ var Ll = class {
11858
11910
  queue;
11859
11911
  workflows;
11860
11912
  config;
@@ -11871,9 +11923,9 @@ var Il = class {
11871
11923
  async tick(e = /* @__PURE__ */ new Date()) {
11872
11924
  let t = /* @__PURE__ */ new Date(Math.floor(e.getTime() / 6e4) * 6e4);
11873
11925
  for (let { definition: e, revision: n } of await this.workflows.published()) {
11874
- for (let [r, i] of (e.schedule || []).entries()) Nl(i.cron, t, i.timezone || "UTC") && await this.enqueue(e, n, i, `cron-${r}`, t);
11926
+ for (let [r, i] of (e.schedule || []).entries()) Pl(i.cron, t, i.timezone || "UTC") && await this.enqueue(e, n, i, `cron-${r}`, t);
11875
11927
  for (let [r, i] of (e.solar || []).entries()) {
11876
- let a = Fl(t, i);
11928
+ let a = Il(t, i);
11877
11929
  a && Math.floor(a.getTime() / 6e4) === t.getTime() / 6e4 && await this.enqueue(e, n, i, `solar-${r}`, t);
11878
11930
  }
11879
11931
  }
@@ -11887,7 +11939,7 @@ var Il = class {
11887
11939
  scheduledFor: i.toISOString(),
11888
11940
  ...n
11889
11941
  } };
11890
- for (let n of Zn(e)) {
11942
+ for (let n of Qn(e)) {
11891
11943
  let r = {
11892
11944
  inputs: o,
11893
11945
  matrix: n.matrixContext
@@ -11899,7 +11951,7 @@ var Il = class {
11899
11951
  };
11900
11952
  //#endregion
11901
11953
  //#region src/logger.ts
11902
- function Ll() {
11954
+ function Rl() {
11903
11955
  for (let e of [
11904
11956
  "log",
11905
11957
  "info",
@@ -11913,51 +11965,9 @@ function Ll() {
11913
11965
  }
11914
11966
  }
11915
11967
  //#endregion
11916
- //#region src/plugins/github-status.plugin.ts
11917
- var Rl = class {
11918
- name = "github-commit-status";
11919
- token;
11920
- apiUrl;
11921
- context;
11922
- constructor(e) {
11923
- this.token = e.token, this.apiUrl = e.apiUrl || "https://api.github.com/", this.context = e.context || "on";
11924
- }
11925
- async onWorkflowStart(e) {
11926
- this.hasCoordinates(e) && await this.updateStatus(e, "pending", "Workflow build has started.");
11927
- }
11928
- async onWorkflowFinish(e, t) {
11929
- if (!this.hasCoordinates(e)) return;
11930
- let n = t === "success" ? "success" : t === "failed" ? "failure" : "error", r = t === "success" ? "Workflow completed successfully." : `Workflow ${t}.`;
11931
- await this.updateStatus(e, n, r);
11932
- }
11933
- async updateStatus(e, t, n) {
11934
- let r = encodeURIComponent(String(e.inputs.owner)), i = encodeURIComponent(String(e.inputs.repo)), a = encodeURIComponent(String(e.inputs.commit_sha)), o = this.apiUrl.endsWith("/") ? this.apiUrl : `${this.apiUrl}/`, s = await fetch(new URL(`repos/${r}/${i}/statuses/${a}`, o), {
11935
- method: "POST",
11936
- headers: {
11937
- Accept: "application/vnd.github+json",
11938
- Authorization: `Bearer ${this.token}`,
11939
- "Content-Type": "application/json",
11940
- "User-Agent": "@cloud-cli/on",
11941
- "X-GitHub-Api-Version": "2022-11-28"
11942
- },
11943
- signal: AbortSignal.timeout(1e4),
11944
- body: JSON.stringify({
11945
- state: t,
11946
- target_url: e.runUrl,
11947
- description: n.slice(0, 140),
11948
- context: `${this.context}/${e.workflowName}`.slice(0, 100)
11949
- })
11950
- });
11951
- if (!s.ok) throw Error(`GitHub status update failed with HTTP ${s.status}: ${await s.text()}`);
11952
- }
11953
- hasCoordinates(e) {
11954
- return !!(this.token && e.inputs.owner && e.inputs.repo && e.inputs.commit_sha);
11955
- }
11956
- };
11957
- //#endregion
11958
11968
  //#region src/index.ts
11959
11969
  async function zl() {
11960
- Ll();
11970
+ Rl();
11961
11971
  let { config: e, command: t } = await ce();
11962
11972
  e || process.exit(1);
11963
11973
  let n = new me(), r = new pe(process.env.WORKER_NAME || "cli");
@@ -11972,13 +11982,13 @@ async function zl() {
11972
11982
  });
11973
11983
  break;
11974
11984
  case "start-workers":
11975
- console.log(`⚙️ Starting worker scheduler with ${e.workers} concurrent slot(s)...`), await r.init(), ul(e.workers, r, n, e);
11985
+ console.log(`⚙️ Starting worker scheduler with ${e.workers} concurrent slot(s)...`), await r.init(), dl(e.workers, r, n, e);
11976
11986
  break;
11977
11987
  case "start-scheduler": {
11978
11988
  console.log("Starting workflow scheduler..."), await r.init();
11979
11989
  let t = new Yc();
11980
11990
  await t.init();
11981
- let n = new Il(r, t, e);
11991
+ let n = new Ll(r, t, e);
11982
11992
  n.start();
11983
11993
  let i = () => {
11984
11994
  n.stop(), process.exit(0);
@@ -11991,4 +12001,4 @@ async function zl() {
11991
12001
  }
11992
12002
  zl().catch(console.error);
11993
12003
  //#endregion
11994
- export { Rl as GitHubStatusPlugin };
12004
+ export { al as GitHubStatusPlugin };