UNPKG

edgejs-parser

Version:
1,924 lines (1,923 loc) 195 kB
var Is = typeof global == "object" && global && global.Object === Object && global, Zi = typeof self == "object" && self && self.Object === Object && self, pe = Is || Zi || Function("return this")(), J = pe.Symbol, Ss = Object.prototype, Qi = Ss.hasOwnProperty, Ji = Ss.toString, st = J ? J.toStringTag : void 0; function ea(t) { var e = Qi.call(t, st), n = t[st]; try { t[st] = void 0; var r = !0; } catch { } var s = Ji.call(t); return r && (e ? t[st] = n : delete t[st]), s; } var ta = Object.prototype, na = ta.toString; function ra(t) { return na.call(t); } var sa = "[object Null]", ia = "[object Undefined]", Ar = J ? J.toStringTag : void 0; function be(t) { return t == null ? t === void 0 ? ia : sa : Ar && Ar in Object(t) ? ea(t) : ra(t); } function oe(t) { return t != null && typeof t == "object"; } var aa = "[object Symbol]"; function qt(t) { return typeof t == "symbol" || oe(t) && be(t) == aa; } function Zt(t, e) { for (var n = -1, r = t == null ? 0 : t.length, s = Array(r); ++n < r; ) s[n] = e(t[n], n, t); return s; } var N = Array.isArray, Rr = J ? J.prototype : void 0, Ir = Rr ? Rr.toString : void 0; function _s(t) { if (typeof t == "string") return t; if (N(t)) return Zt(t, _s) + ""; if (qt(t)) return Ir ? Ir.call(t) : ""; var e = t + ""; return e == "0" && 1 / t == -1 / 0 ? "-0" : e; } var oa = /\s/; function ca(t) { for (var e = t.length; e-- && oa.test(t.charAt(e)); ) ; return e; } var ua = /^\s+/; function la(t) { return t && t.slice(0, ca(t) + 1).replace(ua, ""); } function ee(t) { var e = typeof t; return t != null && (e == "object" || e == "function"); } var Sr = NaN, ha = /^[-+]0x[0-9a-f]+$/i, fa = /^0b[01]+$/i, da = /^0o[0-7]+$/i, pa = parseInt; function Ea(t) { if (typeof t == "number") return t; if (qt(t)) return Sr; if (ee(t)) { var e = typeof t.valueOf == "function" ? t.valueOf() : t; t = ee(e) ? e + "" : e; } if (typeof t != "string") return t === 0 ? t : +t; t = la(t); var n = fa.test(t); return n || da.test(t) ? pa(t.slice(2), n ? 2 : 8) : ha.test(t) ? Sr : +t; } var ga = 1 / 0, Ta = 17976931348623157e292; function ma(t) { if (!t) return t === 0 ? t : 0; if (t = Ea(t), t === ga || t === -1 / 0) { var e = t < 0 ? -1 : 1; return e * Ta; } return t === t ? t : 0; } function Qt(t) { var e = ma(t), n = e % 1; return e === e ? n ? e - n : e : 0; } function Ye(t) { return t; } var Aa = "[object AsyncFunction]", Ra = "[object Function]", Ia = "[object GeneratorFunction]", Sa = "[object Proxy]"; function Ne(t) { if (!ee(t)) return !1; var e = be(t); return e == Ra || e == Ia || e == Aa || e == Sa; } var gn = pe["__core-js_shared__"], _r = function() { var t = /[^.]+$/.exec(gn && gn.keys && gn.keys.IE_PROTO || ""); return t ? "Symbol(src)_1." + t : ""; }(); function _a(t) { return !!_r && _r in t; } var Oa = Function.prototype, Na = Oa.toString; function He(t) { if (t != null) { try { return Na.call(t); } catch { } try { return t + ""; } catch { } } return ""; } var Ca = /[\\^$.*+?()[\]{}|]/g, La = /^\[object .+?Constructor\]$/, ya = Function.prototype, va = Object.prototype, Pa = ya.toString, Ma = va.hasOwnProperty, ka = RegExp( "^" + Pa.call(Ma).replace(Ca, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); function xa(t) { if (!ee(t) || _a(t)) return !1; var e = Ne(t) ? ka : La; return e.test(He(t)); } function ba(t, e) { return t?.[e]; } function Ke(t, e) { var n = ba(t, e); return xa(n) ? n : void 0; } var On = Ke(pe, "WeakMap"), Or = Object.create, wa = /* @__PURE__ */ function() { function t() { } return function(e) { if (!ee(e)) return {}; if (Or) return Or(e); t.prototype = e; var n = new t(); return t.prototype = void 0, n; }; }(); function Ua(t, e, n) { switch (n.length) { case 0: return t.call(e); case 1: return t.call(e, n[0]); case 2: return t.call(e, n[0], n[1]); case 3: return t.call(e, n[0], n[1], n[2]); } return t.apply(e, n); } function b() { } function Fa(t, e) { var n = -1, r = t.length; for (e || (e = Array(r)); ++n < r; ) e[n] = t[n]; return e; } var Da = 800, $a = 16, Ga = Date.now; function Ba(t) { var e = 0, n = 0; return function() { var r = Ga(), s = $a - (r - n); if (n = r, s > 0) { if (++e >= Da) return arguments[0]; } else e = 0; return t.apply(void 0, arguments); }; } function Ha(t) { return function() { return t; }; } var $t = function() { try { var t = Ke(Object, "defineProperty"); return t({}, "", {}), t; } catch { } }(), Ka = $t ? function(t, e) { return $t(t, "toString", { configurable: !0, enumerable: !1, value: Ha(e), writable: !0 }); } : Ye, Wa = Ba(Ka); function Os(t, e) { for (var n = -1, r = t == null ? 0 : t.length; ++n < r && e(t[n], n, t) !== !1; ) ; return t; } function Ns(t, e, n, r) { for (var s = t.length, i = n + -1; ++i < s; ) if (e(t[i], i, t)) return i; return -1; } function ja(t) { return t !== t; } function za(t, e, n) { for (var r = n - 1, s = t.length; ++r < s; ) if (t[r] === e) return r; return -1; } function Kn(t, e, n) { return e === e ? za(t, e, n) : Ns(t, ja, n); } function Cs(t, e) { var n = t == null ? 0 : t.length; return !!n && Kn(t, e, 0) > -1; } var Va = 9007199254740991, Ya = /^(?:0|[1-9]\d*)$/; function Jt(t, e) { var n = typeof t; return e = e ?? Va, !!e && (n == "number" || n != "symbol" && Ya.test(t)) && t > -1 && t % 1 == 0 && t < e; } function Wn(t, e, n) { e == "__proto__" && $t ? $t(t, e, { configurable: !0, enumerable: !0, value: n, writable: !0 }) : t[e] = n; } function gt(t, e) { return t === e || t !== t && e !== e; } var Xa = Object.prototype, qa = Xa.hasOwnProperty; function en(t, e, n) { var r = t[e]; (!(qa.call(t, e) && gt(r, n)) || n === void 0 && !(e in t)) && Wn(t, e, n); } function jn(t, e, n, r) { var s = !n; n || (n = {}); for (var i = -1, a = e.length; ++i < a; ) { var o = e[i], c = void 0; c === void 0 && (c = t[o]), s ? Wn(n, o, c) : en(n, o, c); } return n; } var Nr = Math.max; function Za(t, e, n) { return e = Nr(e === void 0 ? t.length - 1 : e, 0), function() { for (var r = arguments, s = -1, i = Nr(r.length - e, 0), a = Array(i); ++s < i; ) a[s] = r[e + s]; s = -1; for (var o = Array(e + 1); ++s < e; ) o[s] = r[s]; return o[e] = n(a), Ua(t, this, o); }; } function zn(t, e) { return Wa(Za(t, e, Ye), t + ""); } var Qa = 9007199254740991; function Vn(t) { return typeof t == "number" && t > -1 && t % 1 == 0 && t <= Qa; } function Ee(t) { return t != null && Vn(t.length) && !Ne(t); } function Ls(t, e, n) { if (!ee(n)) return !1; var r = typeof e; return (r == "number" ? Ee(n) && Jt(e, n.length) : r == "string" && e in n) ? gt(n[e], t) : !1; } function Ja(t) { return zn(function(e, n) { var r = -1, s = n.length, i = s > 1 ? n[s - 1] : void 0, a = s > 2 ? n[2] : void 0; for (i = t.length > 3 && typeof i == "function" ? (s--, i) : void 0, a && Ls(n[0], n[1], a) && (i = s < 3 ? void 0 : i, s = 1), e = Object(e); ++r < s; ) { var o = n[r]; o && t(e, o, r, i); } return e; }); } var eo = Object.prototype; function Tt(t) { var e = t && t.constructor, n = typeof e == "function" && e.prototype || eo; return t === n; } function to(t, e) { for (var n = -1, r = Array(t); ++n < t; ) r[n] = e(n); return r; } var no = "[object Arguments]"; function Cr(t) { return oe(t) && be(t) == no; } var ys = Object.prototype, ro = ys.hasOwnProperty, so = ys.propertyIsEnumerable, tn = Cr(/* @__PURE__ */ function() { return arguments; }()) ? Cr : function(t) { return oe(t) && ro.call(t, "callee") && !so.call(t, "callee"); }; function io() { return !1; } var vs = typeof exports == "object" && exports && !exports.nodeType && exports, Lr = vs && typeof module == "object" && module && !module.nodeType && module, ao = Lr && Lr.exports === vs, yr = ao ? pe.Buffer : void 0, oo = yr ? yr.isBuffer : void 0, ft = oo || io, co = "[object Arguments]", uo = "[object Array]", lo = "[object Boolean]", ho = "[object Date]", fo = "[object Error]", po = "[object Function]", Eo = "[object Map]", go = "[object Number]", To = "[object Object]", mo = "[object RegExp]", Ao = "[object Set]", Ro = "[object String]", Io = "[object WeakMap]", So = "[object ArrayBuffer]", _o = "[object DataView]", Oo = "[object Float32Array]", No = "[object Float64Array]", Co = "[object Int8Array]", Lo = "[object Int16Array]", yo = "[object Int32Array]", vo = "[object Uint8Array]", Po = "[object Uint8ClampedArray]", Mo = "[object Uint16Array]", ko = "[object Uint32Array]", P = {}; P[Oo] = P[No] = P[Co] = P[Lo] = P[yo] = P[vo] = P[Po] = P[Mo] = P[ko] = !0; P[co] = P[uo] = P[So] = P[lo] = P[_o] = P[ho] = P[fo] = P[po] = P[Eo] = P[go] = P[To] = P[mo] = P[Ao] = P[Ro] = P[Io] = !1; function xo(t) { return oe(t) && Vn(t.length) && !!P[be(t)]; } function nn(t) { return function(e) { return t(e); }; } var Ps = typeof exports == "object" && exports && !exports.nodeType && exports, lt = Ps && typeof module == "object" && module && !module.nodeType && module, bo = lt && lt.exports === Ps, Tn = bo && Is.process, ke = function() { try { var t = lt && lt.require && lt.require("util").types; return t || Tn && Tn.binding && Tn.binding("util"); } catch { } }(), vr = ke && ke.isTypedArray, Yn = vr ? nn(vr) : xo, wo = Object.prototype, Uo = wo.hasOwnProperty; function Ms(t, e) { var n = N(t), r = !n && tn(t), s = !n && !r && ft(t), i = !n && !r && !s && Yn(t), a = n || r || s || i, o = a ? to(t.length, String) : [], c = o.length; for (var u in t) (e || Uo.call(t, u)) && !(a && // Safari 9 has enumerable `arguments.length` in strict mode. (u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. s && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. i && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties. Jt(u, c))) && o.push(u); return o; } function ks(t, e) { return function(n) { return t(e(n)); }; } var Fo = ks(Object.keys, Object), Do = Object.prototype, $o = Do.hasOwnProperty; function xs(t) { if (!Tt(t)) return Fo(t); var e = []; for (var n in Object(t)) $o.call(t, n) && n != "constructor" && e.push(n); return e; } function te(t) { return Ee(t) ? Ms(t) : xs(t); } var Go = Object.prototype, Bo = Go.hasOwnProperty, V = Ja(function(t, e) { if (Tt(e) || Ee(e)) { jn(e, te(e), t); return; } for (var n in e) Bo.call(e, n) && en(t, n, e[n]); }); function Ho(t) { var e = []; if (t != null) for (var n in Object(t)) e.push(n); return e; } var Ko = Object.prototype, Wo = Ko.hasOwnProperty; function jo(t) { if (!ee(t)) return Ho(t); var e = Tt(t), n = []; for (var r in t) r == "constructor" && (e || !Wo.call(t, r)) || n.push(r); return n; } function bs(t) { return Ee(t) ? Ms(t, !0) : jo(t); } var zo = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Vo = /^\w*$/; function Xn(t, e) { if (N(t)) return !1; var n = typeof t; return n == "number" || n == "symbol" || n == "boolean" || t == null || qt(t) ? !0 : Vo.test(t) || !zo.test(t) || e != null && t in Object(e); } var dt = Ke(Object, "create"); function Yo() { this.__data__ = dt ? dt(null) : {}, this.size = 0; } function Xo(t) { var e = this.has(t) && delete this.__data__[t]; return this.size -= e ? 1 : 0, e; } var qo = "__lodash_hash_undefined__", Zo = Object.prototype, Qo = Zo.hasOwnProperty; function Jo(t) { var e = this.__data__; if (dt) { var n = e[t]; return n === qo ? void 0 : n; } return Qo.call(e, t) ? e[t] : void 0; } var ec = Object.prototype, tc = ec.hasOwnProperty; function nc(t) { var e = this.__data__; return dt ? e[t] !== void 0 : tc.call(e, t); } var rc = "__lodash_hash_undefined__"; function sc(t, e) { var n = this.__data__; return this.size += this.has(t) ? 0 : 1, n[t] = dt && e === void 0 ? rc : e, this; } function $e(t) { var e = -1, n = t == null ? 0 : t.length; for (this.clear(); ++e < n; ) { var r = t[e]; this.set(r[0], r[1]); } } $e.prototype.clear = Yo; $e.prototype.delete = Xo; $e.prototype.get = Jo; $e.prototype.has = nc; $e.prototype.set = sc; function ic() { this.__data__ = [], this.size = 0; } function rn(t, e) { for (var n = t.length; n--; ) if (gt(t[n][0], e)) return n; return -1; } var ac = Array.prototype, oc = ac.splice; function cc(t) { var e = this.__data__, n = rn(e, t); if (n < 0) return !1; var r = e.length - 1; return n == r ? e.pop() : oc.call(e, n, 1), --this.size, !0; } function uc(t) { var e = this.__data__, n = rn(e, t); return n < 0 ? void 0 : e[n][1]; } function lc(t) { return rn(this.__data__, t) > -1; } function hc(t, e) { var n = this.__data__, r = rn(n, t); return r < 0 ? (++this.size, n.push([t, e])) : n[r][1] = e, this; } function Ce(t) { var e = -1, n = t == null ? 0 : t.length; for (this.clear(); ++e < n; ) { var r = t[e]; this.set(r[0], r[1]); } } Ce.prototype.clear = ic; Ce.prototype.delete = cc; Ce.prototype.get = uc; Ce.prototype.has = lc; Ce.prototype.set = hc; var pt = Ke(pe, "Map"); function fc() { this.size = 0, this.__data__ = { hash: new $e(), map: new (pt || Ce)(), string: new $e() }; } function dc(t) { var e = typeof t; return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null; } function sn(t, e) { var n = t.__data__; return dc(e) ? n[typeof e == "string" ? "string" : "hash"] : n.map; } function pc(t) { var e = sn(this, t).delete(t); return this.size -= e ? 1 : 0, e; } function Ec(t) { return sn(this, t).get(t); } function gc(t) { return sn(this, t).has(t); } function Tc(t, e) { var n = sn(this, t), r = n.size; return n.set(t, e), this.size += n.size == r ? 0 : 1, this; } function Le(t) { var e = -1, n = t == null ? 0 : t.length; for (this.clear(); ++e < n; ) { var r = t[e]; this.set(r[0], r[1]); } } Le.prototype.clear = fc; Le.prototype.delete = pc; Le.prototype.get = Ec; Le.prototype.has = gc; Le.prototype.set = Tc; var mc = "Expected a function"; function qn(t, e) { if (typeof t != "function" || e != null && typeof e != "function") throw new TypeError(mc); var n = function() { var r = arguments, s = e ? e.apply(this, r) : r[0], i = n.cache; if (i.has(s)) return i.get(s); var a = t.apply(this, r); return n.cache = i.set(s, a) || i, a; }; return n.cache = new (qn.Cache || Le)(), n; } qn.Cache = Le; var Ac = 500; function Rc(t) { var e = qn(t, function(r) { return n.size === Ac && n.clear(), r; }), n = e.cache; return e; } var Ic = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Sc = /\\(\\)?/g, _c = Rc(function(t) { var e = []; return t.charCodeAt(0) === 46 && e.push(""), t.replace(Ic, function(n, r, s, i) { e.push(s ? i.replace(Sc, "$1") : r || n); }), e; }); function Oc(t) { return t == null ? "" : _s(t); } function an(t, e) { return N(t) ? t : Xn(t, e) ? [t] : _c(Oc(t)); } function mt(t) { if (typeof t == "string" || qt(t)) return t; var e = t + ""; return e == "0" && 1 / t == -1 / 0 ? "-0" : e; } function Zn(t, e) { e = an(e, t); for (var n = 0, r = e.length; t != null && n < r; ) t = t[mt(e[n++])]; return n && n == r ? t : void 0; } function Nc(t, e, n) { var r = t == null ? void 0 : Zn(t, e); return r === void 0 ? n : r; } function Qn(t, e) { for (var n = -1, r = e.length, s = t.length; ++n < r; ) t[s + n] = e[n]; return t; } var Pr = J ? J.isConcatSpreadable : void 0; function Cc(t) { return N(t) || tn(t) || !!(Pr && t && t[Pr]); } function Jn(t, e, n, r, s) { var i = -1, a = t.length; for (n || (n = Cc), s || (s = []); ++i < a; ) { var o = t[i]; n(o) ? Qn(s, o) : r || (s[s.length] = o); } return s; } function ie(t) { var e = t == null ? 0 : t.length; return e ? Jn(t) : []; } var ws = ks(Object.getPrototypeOf, Object); function Us(t, e, n) { var r = -1, s = t.length; e < 0 && (e = -e > s ? 0 : s + e), n = n > s ? s : n, n < 0 && (n += s), s = e > n ? 0 : n - e >>> 0, e >>>= 0; for (var i = Array(s); ++r < s; ) i[r] = t[r + e]; return i; } function Lc(t, e, n, r) { var s = -1, i = t == null ? 0 : t.length; for (r && i && (n = t[++s]); ++s < i; ) n = e(n, t[s], s, t); return n; } function yc() { this.__data__ = new Ce(), this.size = 0; } function vc(t) { var e = this.__data__, n = e.delete(t); return this.size = e.size, n; } function Pc(t) { return this.__data__.get(t); } function Mc(t) { return this.__data__.has(t); } var kc = 200; function xc(t, e) { var n = this.__data__; if (n instanceof Ce) { var r = n.__data__; if (!pt || r.length < kc - 1) return r.push([t, e]), this.size = ++n.size, this; n = this.__data__ = new Le(r); } return n.set(t, e), this.size = n.size, this; } function de(t) { var e = this.__data__ = new Ce(t); this.size = e.size; } de.prototype.clear = yc; de.prototype.delete = vc; de.prototype.get = Pc; de.prototype.has = Mc; de.prototype.set = xc; function bc(t, e) { return t && jn(e, te(e), t); } var Fs = typeof exports == "object" && exports && !exports.nodeType && exports, Mr = Fs && typeof module == "object" && module && !module.nodeType && module, wc = Mr && Mr.exports === Fs, kr = wc ? pe.Buffer : void 0, xr = kr ? kr.allocUnsafe : void 0; function Uc(t, e) { var n = t.length, r = xr ? xr(n) : new t.constructor(n); return t.copy(r), r; } function er(t, e) { for (var n = -1, r = t == null ? 0 : t.length, s = 0, i = []; ++n < r; ) { var a = t[n]; e(a, n, t) && (i[s++] = a); } return i; } function Ds() { return []; } var Fc = Object.prototype, Dc = Fc.propertyIsEnumerable, br = Object.getOwnPropertySymbols, tr = br ? function(t) { return t == null ? [] : (t = Object(t), er(br(t), function(e) { return Dc.call(t, e); })); } : Ds; function $c(t, e) { return jn(t, tr(t), e); } var Gc = Object.getOwnPropertySymbols, Bc = Gc ? function(t) { for (var e = []; t; ) Qn(e, tr(t)), t = ws(t); return e; } : Ds; function $s(t, e, n) { var r = e(t); return N(t) ? r : Qn(r, n(t)); } function Nn(t) { return $s(t, te, tr); } function Hc(t) { return $s(t, bs, Bc); } var Cn = Ke(pe, "DataView"), Ln = Ke(pe, "Promise"), Ve = Ke(pe, "Set"), wr = "[object Map]", Kc = "[object Object]", Ur = "[object Promise]", Fr = "[object Set]", Dr = "[object WeakMap]", $r = "[object DataView]", Wc = He(Cn), jc = He(pt), zc = He(Ln), Vc = He(Ve), Yc = He(On), Z = be; (Cn && Z(new Cn(new ArrayBuffer(1))) != $r || pt && Z(new pt()) != wr || Ln && Z(Ln.resolve()) != Ur || Ve && Z(new Ve()) != Fr || On && Z(new On()) != Dr) && (Z = function(t) { var e = be(t), n = e == Kc ? t.constructor : void 0, r = n ? He(n) : ""; if (r) switch (r) { case Wc: return $r; case jc: return wr; case zc: return Ur; case Vc: return Fr; case Yc: return Dr; } return e; }); var Xc = Object.prototype, qc = Xc.hasOwnProperty; function Zc(t) { var e = t.length, n = new t.constructor(e); return e && typeof t[0] == "string" && qc.call(t, "index") && (n.index = t.index, n.input = t.input), n; } var Gt = pe.Uint8Array; function Qc(t) { var e = new t.constructor(t.byteLength); return new Gt(e).set(new Gt(t)), e; } function Jc(t, e) { var n = t.buffer; return new t.constructor(n, t.byteOffset, t.byteLength); } var eu = /\w*$/; function tu(t) { var e = new t.constructor(t.source, eu.exec(t)); return e.lastIndex = t.lastIndex, e; } var Gr = J ? J.prototype : void 0, Br = Gr ? Gr.valueOf : void 0; function nu(t) { return Br ? Object(Br.call(t)) : {}; } function ru(t, e) { var n = t.buffer; return new t.constructor(n, t.byteOffset, t.length); } var su = "[object Boolean]", iu = "[object Date]", au = "[object Map]", ou = "[object Number]", cu = "[object RegExp]", uu = "[object Set]", lu = "[object String]", hu = "[object Symbol]", fu = "[object ArrayBuffer]", du = "[object DataView]", pu = "[object Float32Array]", Eu = "[object Float64Array]", gu = "[object Int8Array]", Tu = "[object Int16Array]", mu = "[object Int32Array]", Au = "[object Uint8Array]", Ru = "[object Uint8ClampedArray]", Iu = "[object Uint16Array]", Su = "[object Uint32Array]"; function _u(t, e, n) { var r = t.constructor; switch (e) { case fu: return Qc(t); case su: case iu: return new r(+t); case du: return Jc(t); case pu: case Eu: case gu: case Tu: case mu: case Au: case Ru: case Iu: case Su: return ru(t); case au: return new r(); case ou: case lu: return new r(t); case cu: return tu(t); case uu: return new r(); case hu: return nu(t); } } function Ou(t) { return typeof t.constructor == "function" && !Tt(t) ? wa(ws(t)) : {}; } var Nu = "[object Map]"; function Cu(t) { return oe(t) && Z(t) == Nu; } var Hr = ke && ke.isMap, Lu = Hr ? nn(Hr) : Cu, yu = "[object Set]"; function vu(t) { return oe(t) && Z(t) == yu; } var Kr = ke && ke.isSet, Pu = Kr ? nn(Kr) : vu, Gs = "[object Arguments]", Mu = "[object Array]", ku = "[object Boolean]", xu = "[object Date]", bu = "[object Error]", Bs = "[object Function]", wu = "[object GeneratorFunction]", Uu = "[object Map]", Fu = "[object Number]", Hs = "[object Object]", Du = "[object RegExp]", $u = "[object Set]", Gu = "[object String]", Bu = "[object Symbol]", Hu = "[object WeakMap]", Ku = "[object ArrayBuffer]", Wu = "[object DataView]", ju = "[object Float32Array]", zu = "[object Float64Array]", Vu = "[object Int8Array]", Yu = "[object Int16Array]", Xu = "[object Int32Array]", qu = "[object Uint8Array]", Zu = "[object Uint8ClampedArray]", Qu = "[object Uint16Array]", Ju = "[object Uint32Array]", y = {}; y[Gs] = y[Mu] = y[Ku] = y[Wu] = y[ku] = y[xu] = y[ju] = y[zu] = y[Vu] = y[Yu] = y[Xu] = y[Uu] = y[Fu] = y[Hs] = y[Du] = y[$u] = y[Gu] = y[Bu] = y[qu] = y[Zu] = y[Qu] = y[Ju] = !0; y[bu] = y[Bs] = y[Hu] = !1; function kt(t, e, n, r, s, i) { var a; if (a !== void 0) return a; if (!ee(t)) return t; var o = N(t); if (o) return a = Zc(t), Fa(t, a); var c = Z(t), u = c == Bs || c == wu; if (ft(t)) return Uc(t); if (c == Hs || c == Gs || u && !s) return a = u ? {} : Ou(t), $c(t, bc(a, t)); if (!y[c]) return s ? t : {}; a = _u(t, c), i || (i = new de()); var l = i.get(t); if (l) return l; i.set(t, a), Pu(t) ? t.forEach(function(p) { a.add(kt(p, e, n, p, t, i)); }) : Lu(t) && t.forEach(function(p, T) { a.set(T, kt(p, e, n, T, t, i)); }); var h = Nn, f = o ? void 0 : h(t); return Os(f || t, function(p, T) { f && (T = p, p = t[T]), en(a, T, kt(p, e, n, T, t, i)); }), a; } var el = 4; function D(t) { return kt(t, el); } function At(t) { for (var e = -1, n = t == null ? 0 : t.length, r = 0, s = []; ++e < n; ) { var i = t[e]; i && (s[r++] = i); } return s; } var tl = "__lodash_hash_undefined__"; function nl(t) { return this.__data__.set(t, tl), this; } function rl(t) { return this.__data__.has(t); } function Xe(t) { var e = -1, n = t == null ? 0 : t.length; for (this.__data__ = new Le(); ++e < n; ) this.add(t[e]); } Xe.prototype.add = Xe.prototype.push = nl; Xe.prototype.has = rl; function Ks(t, e) { for (var n = -1, r = t == null ? 0 : t.length; ++n < r; ) if (e(t[n], n, t)) return !0; return !1; } function nr(t, e) { return t.has(e); } var sl = 1, il = 2; function Ws(t, e, n, r, s, i) { var a = n & sl, o = t.length, c = e.length; if (o != c && !(a && c > o)) return !1; var u = i.get(t), l = i.get(e); if (u && l) return u == e && l == t; var h = -1, f = !0, p = n & il ? new Xe() : void 0; for (i.set(t, e), i.set(e, t); ++h < o; ) { var T = t[h], I = e[h]; if (r) var O = a ? r(I, T, h, e, t, i) : r(T, I, h, t, e, i); if (O !== void 0) { if (O) continue; f = !1; break; } if (p) { if (!Ks(e, function(g, E) { if (!nr(p, E) && (T === g || s(T, g, n, r, i))) return p.push(E); })) { f = !1; break; } } else if (!(T === I || s(T, I, n, r, i))) { f = !1; break; } } return i.delete(t), i.delete(e), f; } function al(t) { var e = -1, n = Array(t.size); return t.forEach(function(r, s) { n[++e] = [s, r]; }), n; } function rr(t) { var e = -1, n = Array(t.size); return t.forEach(function(r) { n[++e] = r; }), n; } var ol = 1, cl = 2, ul = "[object Boolean]", ll = "[object Date]", hl = "[object Error]", fl = "[object Map]", dl = "[object Number]", pl = "[object RegExp]", El = "[object Set]", gl = "[object String]", Tl = "[object Symbol]", ml = "[object ArrayBuffer]", Al = "[object DataView]", Wr = J ? J.prototype : void 0, mn = Wr ? Wr.valueOf : void 0; function Rl(t, e, n, r, s, i, a) { switch (n) { case Al: if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1; t = t.buffer, e = e.buffer; case ml: return !(t.byteLength != e.byteLength || !i(new Gt(t), new Gt(e))); case ul: case ll: case dl: return gt(+t, +e); case hl: return t.name == e.name && t.message == e.message; case pl: case gl: return t == e + ""; case fl: var o = al; case El: var c = r & ol; if (o || (o = rr), t.size != e.size && !c) return !1; var u = a.get(t); if (u) return u == e; r |= cl, a.set(t, e); var l = Ws(o(t), o(e), r, s, i, a); return a.delete(t), l; case Tl: if (mn) return mn.call(t) == mn.call(e); } return !1; } var Il = 1, Sl = Object.prototype, _l = Sl.hasOwnProperty; function Ol(t, e, n, r, s, i) { var a = n & Il, o = Nn(t), c = o.length, u = Nn(e), l = u.length; if (c != l && !a) return !1; for (var h = c; h--; ) { var f = o[h]; if (!(a ? f in e : _l.call(e, f))) return !1; } var p = i.get(t), T = i.get(e); if (p && T) return p == e && T == t; var I = !0; i.set(t, e), i.set(e, t); for (var O = a; ++h < c; ) { f = o[h]; var g = t[f], E = e[f]; if (r) var d = a ? r(E, g, f, e, t, i) : r(g, E, f, t, e, i); if (!(d === void 0 ? g === E || s(g, E, n, r, i) : d)) { I = !1; break; } O || (O = f == "constructor"); } if (I && !O) { var m = t.constructor, L = e.constructor; m != L && "constructor" in t && "constructor" in e && !(typeof m == "function" && m instanceof m && typeof L == "function" && L instanceof L) && (I = !1); } return i.delete(t), i.delete(e), I; } var Nl = 1, jr = "[object Arguments]", zr = "[object Array]", Ct = "[object Object]", Cl = Object.prototype, Vr = Cl.hasOwnProperty; function Ll(t, e, n, r, s, i) { var a = N(t), o = N(e), c = a ? zr : Z(t), u = o ? zr : Z(e); c = c == jr ? Ct : c, u = u == jr ? Ct : u; var l = c == Ct, h = u == Ct, f = c == u; if (f && ft(t)) { if (!ft(e)) return !1; a = !0, l = !1; } if (f && !l) return i || (i = new de()), a || Yn(t) ? Ws(t, e, n, r, s, i) : Rl(t, e, c, n, r, s, i); if (!(n & Nl)) { var p = l && Vr.call(t, "__wrapped__"), T = h && Vr.call(e, "__wrapped__"); if (p || T) { var I = p ? t.value() : t, O = T ? e.value() : e; return i || (i = new de()), s(I, O, n, r, i); } } return f ? (i || (i = new de()), Ol(t, e, n, r, s, i)) : !1; } function sr(t, e, n, r, s) { return t === e ? !0 : t == null || e == null || !oe(t) && !oe(e) ? t !== t && e !== e : Ll(t, e, n, r, sr, s); } var yl = 1, vl = 2; function Pl(t, e, n, r) { var s = n.length, i = s; if (t == null) return !i; for (t = Object(t); s--; ) { var a = n[s]; if (a[2] ? a[1] !== t[a[0]] : !(a[0] in t)) return !1; } for (; ++s < i; ) { a = n[s]; var o = a[0], c = t[o], u = a[1]; if (a[2]) { if (c === void 0 && !(o in t)) return !1; } else { var l = new de(), h; if (!(h === void 0 ? sr(u, c, yl | vl, r, l) : h)) return !1; } } return !0; } function js(t) { return t === t && !ee(t); } function Ml(t) { for (var e = te(t), n = e.length; n--; ) { var r = e[n], s = t[r]; e[n] = [r, s, js(s)]; } return e; } function zs(t, e) { return function(n) { return n == null ? !1 : n[t] === e && (e !== void 0 || t in Object(n)); }; } function kl(t) { var e = Ml(t); return e.length == 1 && e[0][2] ? zs(e[0][0], e[0][1]) : function(n) { return n === t || Pl(n, t, e); }; } function xl(t, e) { return t != null && e in Object(t); } function Vs(t, e, n) { e = an(e, t); for (var r = -1, s = e.length, i = !1; ++r < s; ) { var a = mt(e[r]); if (!(i = t != null && n(t, a))) break; t = t[a]; } return i || ++r != s ? i : (s = t == null ? 0 : t.length, !!s && Vn(s) && Jt(a, s) && (N(t) || tn(t))); } function bl(t, e) { return t != null && Vs(t, e, xl); } var wl = 1, Ul = 2; function Fl(t, e) { return Xn(t) && js(e) ? zs(mt(t), e) : function(n) { var r = Nc(n, t); return r === void 0 && r === e ? bl(n, t) : sr(e, r, wl | Ul); }; } function Dl(t) { return function(e) { return e?.[t]; }; } function $l(t) { return function(e) { return Zn(e, t); }; } function Gl(t) { return Xn(t) ? Dl(mt(t)) : $l(t); } function ge(t) { return typeof t == "function" ? t : t == null ? Ye : typeof t == "object" ? N(t) ? Fl(t[0], t[1]) : kl(t) : Gl(t); } function Bl(t, e, n, r) { for (var s = -1, i = t == null ? 0 : t.length; ++s < i; ) { var a = t[s]; e(r, a, n(a), t); } return r; } function Hl(t) { return function(e, n, r) { for (var s = -1, i = Object(e), a = r(e), o = a.length; o--; ) { var c = a[++s]; if (n(i[c], c, i) === !1) break; } return e; }; } var Kl = Hl(); function Wl(t, e) { return t && Kl(t, e, te); } function jl(t, e) { return function(n, r) { if (n == null) return n; if (!Ee(n)) return t(n, r); for (var s = n.length, i = -1, a = Object(n); ++i < s && r(a[i], i, a) !== !1; ) ; return n; }; } var We = jl(Wl); function zl(t, e, n, r) { return We(t, function(s, i, a) { e(r, s, n(s), a); }), r; } function Vl(t, e) { return function(n, r) { var s = N(n) ? Bl : zl, i = e ? e() : {}; return s(n, t, ge(r), i); }; } var Ys = Object.prototype, Yl = Ys.hasOwnProperty, ir = zn(function(t, e) { t = Object(t); var n = -1, r = e.length, s = r > 2 ? e[2] : void 0; for (s && Ls(e[0], e[1], s) && (r = 1); ++n < r; ) for (var i = e[n], a = bs(i), o = -1, c = a.length; ++o < c; ) { var u = a[o], l = t[u]; (l === void 0 || gt(l, Ys[u]) && !Yl.call(t, u)) && (t[u] = i[u]); } return t; }); function Yr(t) { return oe(t) && Ee(t); } var Xl = 200; function ql(t, e, n, r) { var s = -1, i = Cs, a = !0, o = t.length, c = [], u = e.length; if (!o) return c; e.length >= Xl && (i = nr, a = !1, e = new Xe(e)); e: for (; ++s < o; ) { var l = t[s], h = l; if (l = l !== 0 ? l : 0, a && h === h) { for (var f = u; f--; ) if (e[f] === h) continue e; c.push(l); } else i(e, h, r) || c.push(l); } return c; } var on = zn(function(t, e) { return Yr(t) ? ql(t, Jn(e, 1, Yr, !0)) : []; }); function qe(t) { var e = t == null ? 0 : t.length; return e ? t[e - 1] : void 0; } function F(t, e, n) { var r = t == null ? 0 : t.length; return r ? (e = e === void 0 ? 1 : Qt(e), Us(t, e < 0 ? 0 : e, r)) : []; } function Et(t, e, n) { var r = t == null ? 0 : t.length; return r ? (e = e === void 0 ? 1 : Qt(e), e = r - e, Us(t, 0, e < 0 ? 0 : e)) : []; } function Zl(t) { return typeof t == "function" ? t : Ye; } function S(t, e) { var n = N(t) ? Os : We; return n(t, Zl(e)); } function Ql(t, e) { for (var n = -1, r = t == null ? 0 : t.length; ++n < r; ) if (!e(t[n], n, t)) return !1; return !0; } function Jl(t, e) { var n = !0; return We(t, function(r, s, i) { return n = !!e(r, s, i), n; }), n; } function ae(t, e, n) { var r = N(t) ? Ql : Jl; return r(t, ge(e)); } function Xs(t, e) { var n = []; return We(t, function(r, s, i) { e(r, s, i) && n.push(r); }), n; } function ne(t, e) { var n = N(t) ? er : Xs; return n(t, ge(e)); } function eh(t) { return function(e, n, r) { var s = Object(e); if (!Ee(e)) { var i = ge(n); e = te(e), n = function(o) { return i(s[o], o, s); }; } var a = t(e, n, r); return a > -1 ? s[i ? e[a] : a] : void 0; }; } var th = Math.max; function nh(t, e, n) { var r = t == null ? 0 : t.length; if (!r) return -1; var s = n == null ? 0 : Qt(n); return s < 0 && (s = th(r + s, 0)), Ns(t, ge(e), s); } var Ze = eh(nh); function ce(t) { return t && t.length ? t[0] : void 0; } function rh(t, e) { var n = -1, r = Ee(t) ? Array(t.length) : []; return We(t, function(s, i, a) { r[++n] = e(s, i, a); }), r; } function A(t, e) { var n = N(t) ? Zt : rh; return n(t, ge(e)); } function Q(t, e) { return Jn(A(t, e)); } var sh = Object.prototype, ih = sh.hasOwnProperty, ah = Vl(function(t, e, n) { ih.call(t, n) ? t[n].push(e) : Wn(t, n, [e]); }), oh = Object.prototype, ch = oh.hasOwnProperty; function uh(t, e) { return t != null && ch.call(t, e); } function R(t, e) { return t != null && Vs(t, e, uh); } var lh = "[object String]"; function W(t) { return typeof t == "string" || !N(t) && oe(t) && be(t) == lh; } function hh(t, e) { return Zt(e, function(n) { return t[n]; }); } function w(t) { return t == null ? [] : hh(t, te(t)); } var fh = Math.max; function H(t, e, n, r) { t = Ee(t) ? t : w(t), n = n ? Qt(n) : 0; var s = t.length; return n < 0 && (n = fh(s + n, 0)), W(t) ? n <= s && t.indexOf(e, n) > -1 : !!s && Kn(t, e, n) > -1; } function Xr(t, e, n) { var r = t == null ? 0 : t.length; if (!r) return -1; var s = 0; return Kn(t, e, s); } var dh = "[object Map]", ph = "[object Set]", Eh = Object.prototype, gh = Eh.hasOwnProperty; function v(t) { if (t == null) return !0; if (Ee(t) && (N(t) || typeof t == "string" || typeof t.splice == "function" || ft(t) || Yn(t) || tn(t))) return !t.length; var e = Z(t); if (e == dh || e == ph) return !t.size; if (Tt(t)) return !xs(t).length; for (var n in t) if (gh.call(t, n)) return !1; return !0; } var Th = "[object RegExp]"; function mh(t) { return oe(t) && be(t) == Th; } var qr = ke && ke.isRegExp, Se = qr ? nn(qr) : mh; function _e(t) { return t === void 0; } var Ah = "Expected a function"; function Rh(t) { if (typeof t != "function") throw new TypeError(Ah); return function() { var e = arguments; switch (e.length) { case 0: return !t.call(this); case 1: return !t.call(this, e[0]); case 2: return !t.call(this, e[0], e[1]); case 3: return !t.call(this, e[0], e[1], e[2]); } return !t.apply(this, e); }; } function Ih(t, e, n, r) { if (!ee(t)) return t; e = an(e, t); for (var s = -1, i = e.length, a = i - 1, o = t; o != null && ++s < i; ) { var c = mt(e[s]), u = n; if (c === "__proto__" || c === "constructor" || c === "prototype") return t; if (s != a) { var l = o[c]; u = void 0, u === void 0 && (u = ee(l) ? l : Jt(e[s + 1]) ? [] : {}); } en(o, c, u), o = o[c]; } return t; } function Sh(t, e, n) { for (var r = -1, s = e.length, i = {}; ++r < s; ) { var a = e[r], o = Zn(t, a); n(o, a) && Ih(i, an(a, t), o); } return i; } function ue(t, e) { if (t == null) return {}; var n = Zt(Hc(t), function(r) { return [r]; }); return e = ge(e), Sh(t, n, function(r, s) { return e(r, s[0]); }); } function _h(t, e, n, r, s) { return s(t, function(i, a, o) { n = r ? (r = !1, i) : e(n, i, a, o); }), n; } function Y(t, e, n) { var r = N(t) ? Lc : _h, s = arguments.length < 3; return r(t, ge(e), n, s, We); } function cn(t, e) { var n = N(t) ? er : Xs; return n(t, Rh(ge(e))); } function Oh(t, e) { var n; return We(t, function(r, s, i) { return n = e(r, s, i), !n; }), !!n; } function qs(t, e, n) { var r = N(t) ? Ks : Oh; return r(t, ge(e)); } var Nh = 1 / 0, Ch = Ve && 1 / rr(new Ve([, -0]))[1] == Nh ? function(t) { return new Ve(t); } : b, Lh = 200; function yh(t, e, n) { var r = -1, s = Cs, i = t.length, a = !0, o = [], c = o; if (i >= Lh) { var u = Ch(t); if (u) return rr(u); a = !1, s = nr, c = new Xe(); } else c = o; e: for (; ++r < i; ) { var l = t[r], h = l; if (l = l !== 0 ? l : 0, a && h === h) { for (var f = c.length; f--; ) if (c[f] === h) continue e; o.push(l); } else s(c, h, n) || (c !== o && c.push(h), o.push(l)); } return o; } function ar(t) { return t && t.length ? yh(t) : []; } function yn(t) { console && console.error && console.error(`Error: ${t}`); } function Zs(t) { console && console.warn && console.warn(`Warning: ${t}`); } function Qs(t) { const e = (/* @__PURE__ */ new Date()).getTime(), n = t(); return { time: (/* @__PURE__ */ new Date()).getTime() - e, value: n }; } function Js(t) { function e() { } e.prototype = t; const n = new e(); function r() { return typeof n.bar; } return r(), r(), t; } function vh(t) { return Ph(t) ? t.LABEL : t.name; } function Ph(t) { return W(t.LABEL) && t.LABEL !== ""; } class Te { get definition() { return this._definition; } set definition(e) { this._definition = e; } constructor(e) { this._definition = e; } accept(e) { e.visit(this), S(this.definition, (n) => { n.accept(e); }); } } class X extends Te { constructor(e) { super([]), this.idx = 1, V(this, ue(e, (n) => n !== void 0)); } set definition(e) { } get definition() { return this.referencedRule !== void 0 ? this.referencedRule.definition : []; } accept(e) { e.visit(this); } } class Qe extends Te { constructor(e) { super(e.definition), this.orgText = "", V(this, ue(e, (n) => n !== void 0)); } } class j extends Te { constructor(e) { super(e.definition), this.ignoreAmbiguities = !1, V(this, ue(e, (n) => n !== void 0)); } } class K extends Te { constructor(e) { super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0)); } } class me extends Te { constructor(e) { super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0)); } } class Ae extends Te { constructor(e) { super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0)); } } class U extends Te { constructor(e) { super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0)); } } class le extends Te { constructor(e) { super(e.definition), this.idx = 1, V(this, ue(e, (n) => n !== void 0)); } } class he extends Te { get definition() { return this._definition; } set definition(e) { this._definition = e; } constructor(e) { super(e.definition), this.idx = 1, this.ignoreAmbiguities = !1, this.hasPredicates = !1, V(this, ue(e, (n) => n !== void 0)); } } class M { constructor(e) { this.idx = 1, V(this, ue(e, (n) => n !== void 0)); } accept(e) { e.visit(this); } } function Mh(t) { return A(t, xt); } function xt(t) { function e(n) { return A(n, xt); } if (t instanceof X) { const n = { type: "NonTerminal", name: t.nonTerminalName, idx: t.idx }; return W(t.label) && (n.label = t.label), n; } else { if (t instanceof j) return { type: "Alternative", definition: e(t.definition) }; if (t instanceof K) return { type: "Option", idx: t.idx, definition: e(t.definition) }; if (t instanceof me) return { type: "RepetitionMandatory", idx: t.idx, definition: e(t.definition) }; if (t instanceof Ae) return { type: "RepetitionMandatoryWithSeparator", idx: t.idx, separator: xt(new M({ terminalType: t.separator })), definition: e(t.definition) }; if (t instanceof le) return { type: "RepetitionWithSeparator", idx: t.idx, separator: xt(new M({ terminalType: t.separator })), definition: e(t.definition) }; if (t instanceof U) return { type: "Repetition", idx: t.idx, definition: e(t.definition) }; if (t instanceof he) return { type: "Alternation", idx: t.idx, definition: e(t.definition) }; if (t instanceof M) { const n = { type: "Terminal", name: t.terminalType.name, label: vh(t.terminalType), idx: t.idx }; W(t.label) && (n.terminalLabel = t.label); const r = t.terminalType.PATTERN; return t.terminalType.PATTERN && (n.pattern = Se(r) ? r.source : r), n; } else { if (t instanceof Qe) return { type: "Rule", name: t.name, orgText: t.orgText, definition: e(t.definition) }; throw Error("non exhaustive match"); } } } class Je { visit(e) { const n = e; switch (n.constructor) { case X: return this.visitNonTerminal(n); case j: return this.visitAlternative(n); case K: return this.visitOption(n); case me: return this.visitRepetitionMandatory(n); case Ae: return this.visitRepetitionMandatoryWithSeparator(n); case le: return this.visitRepetitionWithSeparator(n); case U: return this.visitRepetition(n); case he: return this.visitAlternation(n); case M: return this.visitTerminal(n); case Qe: return this.visitRule(n); /* c8 ignore next 2 */ default: throw Error("non exhaustive match"); } } /* c8 ignore next */ visitNonTerminal(e) { } /* c8 ignore next */ visitAlternative(e) { } /* c8 ignore next */ visitOption(e) { } /* c8 ignore next */ visitRepetition(e) { } /* c8 ignore next */ visitRepetitionMandatory(e) { } /* c8 ignore next 3 */ visitRepetitionMandatoryWithSeparator(e) { } /* c8 ignore next */ visitRepetitionWithSeparator(e) { } /* c8 ignore next */ visitAlternation(e) { } /* c8 ignore next */ visitTerminal(e) { } /* c8 ignore next */ visitRule(e) { } } function kh(t) { return t instanceof j || t instanceof K || t instanceof U || t instanceof me || t instanceof Ae || t instanceof le || t instanceof M || t instanceof Qe; } function Bt(t, e = []) { return t instanceof K || t instanceof U || t instanceof le ? !0 : t instanceof he ? qs(t.definition, (r) => Bt(r, e)) : t instanceof X && H(e, t) ? !1 : t instanceof Te ? (t instanceof X && e.push(t), ae(t.definition, (r) => Bt(r, e))) : !1; } function xh(t) { return t instanceof he; } function fe(t) { if (t instanceof X) return "SUBRULE"; if (t instanceof K) return "OPTION"; if (t instanceof he) return "OR"; if (t instanceof me) return "AT_LEAST_ONE"; if (t instanceof Ae) return "AT_LEAST_ONE_SEP"; if (t instanceof le) return "MANY_SEP"; if (t instanceof U) return "MANY"; if (t instanceof M) return "CONSUME"; throw Error("non exhaustive match"); } class un { walk(e, n = []) { S(e.definition, (r, s) => { const i = F(e.definition, s + 1); if (r instanceof X) this.walkProdRef(r, i, n); else if (r instanceof M) this.walkTerminal(r, i, n); else if (r instanceof j) this.walkFlat(r, i, n); else if (r instanceof K) this.walkOption(r, i, n); else if (r instanceof me) this.walkAtLeastOne(r, i, n); else if (r instanceof Ae) this.walkAtLeastOneSep(r, i, n); else if (r instanceof le) this.walkManySep(r, i, n); else if (r instanceof U) this.walkMany(r, i, n); else if (r instanceof he) this.walkOr(r, i, n); else throw Error("non exhaustive match"); }); } walkTerminal(e, n, r) { } walkProdRef(e, n, r) { } walkFlat(e, n, r) { const s = n.concat(r); this.walk(e, s); } walkOption(e, n, r) { const s = n.concat(r); this.walk(e, s); } walkAtLeastOne(e, n, r) { const s = [ new K({ definition: e.definition }) ].concat(n, r); this.walk(e, s); } walkAtLeastOneSep(e, n, r) { const s = Zr(e, n, r); this.walk(e, s); } walkMany(e, n, r) { const s = [ new K({ definition: e.definition }) ].concat(n, r); this.walk(e, s); } walkManySep(e, n, r) { const s = Zr(e, n, r); this.walk(e, s); } walkOr(e, n, r) { const s = n.concat(r); S(e.definition, (i) => { const a = new j({ definition: [i] }); this.walk(a, s); }); } } function Zr(t, e, n) { return [ new K({ definition: [ new M({ terminalType: t.separator }) ].concat(t.definition) }) ].concat(e, n); } function Rt(t) { if (t instanceof X) return Rt(t.referencedRule); if (t instanceof M) return Uh(t); if (kh(t)) return bh(t); if (xh(t)) return wh(t); throw Error("non exhaustive match"); } function bh(t) { let e = []; const n = t.definition; let r = 0, s = n.length > r, i, a = !0; for (; s && a; ) i = n[r], a = Bt(i), e = e.concat(Rt(i)), r = r + 1, s = n.length > r; return ar(e); } function wh(t) { const e = A(t.definition, (n) => Rt(n)); return ar(ie(e)); } function Uh(t) { return [t.terminalType]; } const ei = "_~IN~_"; class Fh extends un { constructor(e) { super(), this.topProd = e, this.follows = {}; } startWalking() { return this.walk(this.topProd), this.follows; } walkTerminal(e, n, r) { } walkProdRef(e, n, r) { const s = $h(e.referencedRule, e.idx) + this.topProd.name, i = n.concat(r), a = new j({ definition: i }), o = Rt(a); this.follows[s] = o; } } function Dh(t) { const e = {}; return S(t, (n) => { const r = new Fh(n).startWalking(); V(e, r); }), e; } function $h(t, e) { return t.name + e + ei; } function _(t) { return t.charCodeAt(0); } function An(t, e) { Array.isArray(t) ? t.forEach(function(n) { e.push(n); }) : e.push(t); } function it(t, e) { if (t[e] === !0) throw "duplicate flag " + e; t[e], t[e] = !0; } function ze(t) { if (t === void 0) throw Error("Internal Error - Should never get here!"); return !0; } function Gh() { throw Error("Internal Error - Should never get here!"); } function Qr(t) { return t.type === "Character"; } const Ht = []; for (let t = _("0"); t <= _("9"); t++) Ht.push(t); const Kt = [_("_")].concat(Ht); for (let t = _("a"); t <= _("z"); t++) Kt.push(t); for (let t = _("A"); t <= _("Z"); t++) Kt.push(t); const Jr = [ _(" "), _("\f"), _(` `), _("\r"), _(" "), _("\v"), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _(" "), _("\u2028"), _("\u2029"), _(" "), _(" "), _(" "), _("\uFEFF") ], Bh = /[0-9a-fA-F]/, Lt = /[0-9]/, Hh = /[1-9]/; class Kh { constructor() { this.idx = 0, this.input = "", this.groupIdx = 0; } saveState() { return { idx: this.idx, input: this.input, groupIdx: this.groupIdx }; } restoreState(e) { this.idx = e.idx, this.input = e.input, this.groupIdx = e.groupIdx; } pattern(e) { this.idx = 0, this.input = e, this.groupIdx = 0, this.consumeChar("/"); const n = this.disjunction(); this.consumeChar("/"); const r = { type: "Flags", loc: { begin: this.idx, end: e.length }, global: !1, ignoreCase: !1, multiLine: !1, unicode: !1, sticky: !1 }; for (; this.isRegExpFlag(); ) switch (this.popChar()) { case "g": it(r, "global"); break; case "i": it(r, "ignoreCase"); break; case "m": it(r, "multiLine"); break; case "u": it(r, "unicode"); break; case "y": it(r, "sticky"); break; } if (this.idx !== this.input.length) throw Error("Redundant input: " + this.input.substring(this.idx)); return { type: "Pattern", flags: r, value: n, loc: this.loc(0) }; } disjunction() { const e = [], n = this.idx; for (e.push(this.alternative()); this.peekChar() === "|"; ) this.consumeChar("|"), e.push(this.alternative()); return { type: "Disjunction", value: e, loc: this.loc(n) }; } alternative() { const e = [], n = this.idx; for (; this.isTerm(); ) e.push(this.term()); return { type: "Alternative", value: e, loc: this.loc(n) }; } term() { return this.isAssertion() ? this.assertion() : this.atom(); } assertion() { const e = this.idx; switch (this.popChar()) { case "^": return { type: "StartAnchor", loc: this.loc(e) }; case "$": return { type: "EndAnchor", loc: this.loc(e) }; // '\b' or '\B' case "\\": switch (this.popChar()) { case "b": return { type: "WordBoundary", loc: this.loc(e)