prettier-plugin-edgejs
Version:
EdgeJS Prettier Plugin
1,923 lines (1,922 loc) • 227 kB
JavaScript
import To from "uglify-js";
var Ui = typeof global == "object" && global && global.Object === Object && global, yo = typeof self == "object" && self && self.Object === Object && self, Oe = Ui || yo || Function("return this")(), ce = Oe.Symbol, Di = Object.prototype, Ao = Di.hasOwnProperty, _o = Di.toString, pt = ce ? ce.toStringTag : void 0;
function vo(t) {
var e = Ao.call(t, pt), n = t[pt];
try {
t[pt] = void 0;
var r = !0;
} catch {
}
var i = _o.call(t);
return r && (e ? t[pt] = n : delete t[pt]), i;
}
var Ro = Object.prototype, Oo = Ro.toString;
function Io(t) {
return Oo.call(t);
}
var So = "[object Null]", No = "[object Undefined]", xr = ce ? ce.toStringTag : void 0;
function Be(t) {
return t == null ? t === void 0 ? No : So : xr && xr in Object(t) ? vo(t) : Io(t);
}
function pe(t) {
return t != null && typeof t == "object";
}
var Lo = "[object Symbol]";
function on(t) {
return typeof t == "symbol" || pe(t) && Be(t) == Lo;
}
function an(t, e) {
for (var n = -1, r = t == null ? 0 : t.length, i = Array(r); ++n < r; )
i[n] = e(t[n], n, t);
return i;
}
var b = Array.isArray, Mr = ce ? ce.prototype : void 0, Pr = Mr ? Mr.toString : void 0;
function Fi(t) {
if (typeof t == "string")
return t;
if (b(t))
return an(t, Fi) + "";
if (on(t))
return Pr ? Pr.call(t) : "";
var e = t + "";
return e == "0" && 1 / t == -1 / 0 ? "-0" : e;
}
var ko = /\s/;
function Co(t) {
for (var e = t.length; e-- && ko.test(t.charAt(e)); )
;
return e;
}
var bo = /^\s+/;
function xo(t) {
return t && t.slice(0, Co(t) + 1).replace(bo, "");
}
function ue(t) {
var e = typeof t;
return t != null && (e == "object" || e == "function");
}
var wr = NaN, Mo = /^[-+]0x[0-9a-f]+$/i, Po = /^0b[01]+$/i, wo = /^0o[0-7]+$/i, Uo = parseInt;
function Do(t) {
if (typeof t == "number")
return t;
if (on(t))
return wr;
if (ue(t)) {
var e = typeof t.valueOf == "function" ? t.valueOf() : t;
t = ue(e) ? e + "" : e;
}
if (typeof t != "string")
return t === 0 ? t : +t;
t = xo(t);
var n = Po.test(t);
return n || wo.test(t) ? Uo(t.slice(2), n ? 2 : 8) : Mo.test(t) ? wr : +t;
}
var Fo = 1 / 0, $o = 17976931348623157e292;
function jo(t) {
if (!t)
return t === 0 ? t : 0;
if (t = Do(t), t === Fo || t === -1 / 0) {
var e = t < 0 ? -1 : 1;
return e * $o;
}
return t === t ? t : 0;
}
function cn(t) {
var e = jo(t), n = e % 1;
return e === e ? n ? e - n : e : 0;
}
function at(t) {
return t;
}
var Go = "[object AsyncFunction]", Bo = "[object Function]", Vo = "[object GeneratorFunction]", Ko = "[object Proxy]";
function Ue(t) {
if (!ue(t))
return !1;
var e = Be(t);
return e == Bo || e == Vo || e == Go || e == Ko;
}
var In = Oe["__core-js_shared__"], Ur = function() {
var t = /[^.]+$/.exec(In && In.keys && In.keys.IE_PROTO || "");
return t ? "Symbol(src)_1." + t : "";
}();
function Ho(t) {
return !!Ur && Ur in t;
}
var Wo = Function.prototype, zo = Wo.toString;
function Je(t) {
if (t != null) {
try {
return zo.call(t);
} catch {
}
try {
return t + "";
} catch {
}
}
return "";
}
var Yo = /[\\^$.*+?()[\]{}|]/g, Xo = /^\[object .+?Constructor\]$/, qo = Function.prototype, Qo = Object.prototype, Zo = qo.toString, Jo = Qo.hasOwnProperty, ea = RegExp(
"^" + Zo.call(Jo).replace(Yo, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function ta(t) {
if (!ue(t) || Ho(t))
return !1;
var e = Ue(t) ? ea : Xo;
return e.test(Je(t));
}
function na(t, e) {
return t?.[e];
}
function et(t, e) {
var n = na(t, e);
return ta(n) ? n : void 0;
}
var Dn = et(Oe, "WeakMap"), Dr = Object.create, ra = /* @__PURE__ */ function() {
function t() {
}
return function(e) {
if (!ue(e))
return {};
if (Dr)
return Dr(e);
t.prototype = e;
var n = new t();
return t.prototype = void 0, n;
};
}();
function ia(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 sa(t, e) {
var n = -1, r = t.length;
for (e || (e = Array(r)); ++n < r; )
e[n] = t[n];
return e;
}
var oa = 800, aa = 16, ca = Date.now;
function ua(t) {
var e = 0, n = 0;
return function() {
var r = ca(), i = aa - (r - n);
if (n = r, i > 0) {
if (++e >= oa)
return arguments[0];
} else
e = 0;
return t.apply(void 0, arguments);
};
}
function la(t) {
return function() {
return t;
};
}
var Yt = function() {
try {
var t = et(Object, "defineProperty");
return t({}, "", {}), t;
} catch {
}
}(), ha = Yt ? function(t, e) {
return Yt(t, "toString", {
configurable: !0,
enumerable: !1,
value: la(e),
writable: !0
});
} : at, fa = ua(ha);
function $i(t, e) {
for (var n = -1, r = t == null ? 0 : t.length; ++n < r && e(t[n], n, t) !== !1; )
;
return t;
}
function ji(t, e, n, r) {
for (var i = t.length, s = n + -1; ++s < i; )
if (e(t[s], s, t))
return s;
return -1;
}
function da(t) {
return t !== t;
}
function pa(t, e, n) {
for (var r = n - 1, i = t.length; ++r < i; )
if (t[r] === e)
return r;
return -1;
}
function rr(t, e, n) {
return e === e ? pa(t, e, n) : ji(t, da, n);
}
function Gi(t, e) {
var n = t == null ? 0 : t.length;
return !!n && rr(t, e, 0) > -1;
}
var ma = 9007199254740991, ga = /^(?:0|[1-9]\d*)$/;
function un(t, e) {
var n = typeof t;
return e = e ?? ma, !!e && (n == "number" || n != "symbol" && ga.test(t)) && t > -1 && t % 1 == 0 && t < e;
}
function ir(t, e, n) {
e == "__proto__" && Yt ? Yt(t, e, {
configurable: !0,
enumerable: !0,
value: n,
writable: !0
}) : t[e] = n;
}
function St(t, e) {
return t === e || t !== t && e !== e;
}
var Ea = Object.prototype, Ta = Ea.hasOwnProperty;
function ln(t, e, n) {
var r = t[e];
(!(Ta.call(t, e) && St(r, n)) || n === void 0 && !(e in t)) && ir(t, e, n);
}
function sr(t, e, n, r) {
var i = !n;
n || (n = {});
for (var s = -1, o = e.length; ++s < o; ) {
var a = e[s], c = void 0;
c === void 0 && (c = t[a]), i ? ir(n, a, c) : ln(n, a, c);
}
return n;
}
var Fr = Math.max;
function ya(t, e, n) {
return e = Fr(e === void 0 ? t.length - 1 : e, 0), function() {
for (var r = arguments, i = -1, s = Fr(r.length - e, 0), o = Array(s); ++i < s; )
o[i] = r[e + i];
i = -1;
for (var a = Array(e + 1); ++i < e; )
a[i] = r[i];
return a[e] = n(o), ia(t, this, a);
};
}
function or(t, e) {
return fa(ya(t, e, at), t + "");
}
var Aa = 9007199254740991;
function ar(t) {
return typeof t == "number" && t > -1 && t % 1 == 0 && t <= Aa;
}
function Ie(t) {
return t != null && ar(t.length) && !Ue(t);
}
function Bi(t, e, n) {
if (!ue(n))
return !1;
var r = typeof e;
return (r == "number" ? Ie(n) && un(e, n.length) : r == "string" && e in n) ? St(n[e], t) : !1;
}
function _a(t) {
return or(function(e, n) {
var r = -1, i = n.length, s = i > 1 ? n[i - 1] : void 0, o = i > 2 ? n[2] : void 0;
for (s = t.length > 3 && typeof s == "function" ? (i--, s) : void 0, o && Bi(n[0], n[1], o) && (s = i < 3 ? void 0 : s, i = 1), e = Object(e); ++r < i; ) {
var a = n[r];
a && t(e, a, r, s);
}
return e;
});
}
var va = Object.prototype;
function Nt(t) {
var e = t && t.constructor, n = typeof e == "function" && e.prototype || va;
return t === n;
}
function Ra(t, e) {
for (var n = -1, r = Array(t); ++n < t; )
r[n] = e(n);
return r;
}
var Oa = "[object Arguments]";
function $r(t) {
return pe(t) && Be(t) == Oa;
}
var Vi = Object.prototype, Ia = Vi.hasOwnProperty, Sa = Vi.propertyIsEnumerable, hn = $r(/* @__PURE__ */ function() {
return arguments;
}()) ? $r : function(t) {
return pe(t) && Ia.call(t, "callee") && !Sa.call(t, "callee");
};
function Na() {
return !1;
}
var Ki = typeof exports == "object" && exports && !exports.nodeType && exports, jr = Ki && typeof module == "object" && module && !module.nodeType && module, La = jr && jr.exports === Ki, Gr = La ? Oe.Buffer : void 0, ka = Gr ? Gr.isBuffer : void 0, vt = ka || Na, Ca = "[object Arguments]", ba = "[object Array]", xa = "[object Boolean]", Ma = "[object Date]", Pa = "[object Error]", wa = "[object Function]", Ua = "[object Map]", Da = "[object Number]", Fa = "[object Object]", $a = "[object RegExp]", ja = "[object Set]", Ga = "[object String]", Ba = "[object WeakMap]", Va = "[object ArrayBuffer]", Ka = "[object DataView]", Ha = "[object Float32Array]", Wa = "[object Float64Array]", za = "[object Int8Array]", Ya = "[object Int16Array]", Xa = "[object Int32Array]", qa = "[object Uint8Array]", Qa = "[object Uint8ClampedArray]", Za = "[object Uint16Array]", Ja = "[object Uint32Array]", U = {};
U[Ha] = U[Wa] = U[za] = U[Ya] = U[Xa] = U[qa] = U[Qa] = U[Za] = U[Ja] = !0;
U[Ca] = U[ba] = U[Va] = U[xa] = U[Ka] = U[Ma] = U[Pa] = U[wa] = U[Ua] = U[Da] = U[Fa] = U[$a] = U[ja] = U[Ga] = U[Ba] = !1;
function ec(t) {
return pe(t) && ar(t.length) && !!U[Be(t)];
}
function fn(t) {
return function(e) {
return t(e);
};
}
var Hi = typeof exports == "object" && exports && !exports.nodeType && exports, At = Hi && typeof module == "object" && module && !module.nodeType && module, tc = At && At.exports === Hi, Sn = tc && Ui.process, je = function() {
try {
var t = At && At.require && At.require("util").types;
return t || Sn && Sn.binding && Sn.binding("util");
} catch {
}
}(), Br = je && je.isTypedArray, cr = Br ? fn(Br) : ec, nc = Object.prototype, rc = nc.hasOwnProperty;
function Wi(t, e) {
var n = b(t), r = !n && hn(t), i = !n && !r && vt(t), s = !n && !r && !i && cr(t), o = n || r || i || s, a = o ? Ra(t.length, String) : [], c = a.length;
for (var u in t)
(e || rc.call(t, u)) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.
(u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
i && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
s && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
un(u, c))) && a.push(u);
return a;
}
function zi(t, e) {
return function(n) {
return t(e(n));
};
}
var ic = zi(Object.keys, Object), sc = Object.prototype, oc = sc.hasOwnProperty;
function Yi(t) {
if (!Nt(t))
return ic(t);
var e = [];
for (var n in Object(t))
oc.call(t, n) && n != "constructor" && e.push(n);
return e;
}
function le(t) {
return Ie(t) ? Wi(t) : Yi(t);
}
var ac = Object.prototype, cc = ac.hasOwnProperty, te = _a(function(t, e) {
if (Nt(e) || Ie(e)) {
sr(e, le(e), t);
return;
}
for (var n in e)
cc.call(e, n) && ln(t, n, e[n]);
});
function uc(t) {
var e = [];
if (t != null)
for (var n in Object(t))
e.push(n);
return e;
}
var lc = Object.prototype, hc = lc.hasOwnProperty;
function fc(t) {
if (!ue(t))
return uc(t);
var e = Nt(t), n = [];
for (var r in t)
r == "constructor" && (e || !hc.call(t, r)) || n.push(r);
return n;
}
function Xi(t) {
return Ie(t) ? Wi(t, !0) : fc(t);
}
var dc = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, pc = /^\w*$/;
function ur(t, e) {
if (b(t))
return !1;
var n = typeof t;
return n == "number" || n == "symbol" || n == "boolean" || t == null || on(t) ? !0 : pc.test(t) || !dc.test(t) || e != null && t in Object(e);
}
var Rt = et(Object, "create");
function mc() {
this.__data__ = Rt ? Rt(null) : {}, this.size = 0;
}
function gc(t) {
var e = this.has(t) && delete this.__data__[t];
return this.size -= e ? 1 : 0, e;
}
var Ec = "__lodash_hash_undefined__", Tc = Object.prototype, yc = Tc.hasOwnProperty;
function Ac(t) {
var e = this.__data__;
if (Rt) {
var n = e[t];
return n === Ec ? void 0 : n;
}
return yc.call(e, t) ? e[t] : void 0;
}
var _c = Object.prototype, vc = _c.hasOwnProperty;
function Rc(t) {
var e = this.__data__;
return Rt ? e[t] !== void 0 : vc.call(e, t);
}
var Oc = "__lodash_hash_undefined__";
function Ic(t, e) {
var n = this.__data__;
return this.size += this.has(t) ? 0 : 1, n[t] = Rt && e === void 0 ? Oc : e, this;
}
function qe(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]);
}
}
qe.prototype.clear = mc;
qe.prototype.delete = gc;
qe.prototype.get = Ac;
qe.prototype.has = Rc;
qe.prototype.set = Ic;
function Sc() {
this.__data__ = [], this.size = 0;
}
function dn(t, e) {
for (var n = t.length; n--; )
if (St(t[n][0], e))
return n;
return -1;
}
var Nc = Array.prototype, Lc = Nc.splice;
function kc(t) {
var e = this.__data__, n = dn(e, t);
if (n < 0)
return !1;
var r = e.length - 1;
return n == r ? e.pop() : Lc.call(e, n, 1), --this.size, !0;
}
function Cc(t) {
var e = this.__data__, n = dn(e, t);
return n < 0 ? void 0 : e[n][1];
}
function bc(t) {
return dn(this.__data__, t) > -1;
}
function xc(t, e) {
var n = this.__data__, r = dn(n, t);
return r < 0 ? (++this.size, n.push([t, e])) : n[r][1] = e, this;
}
function De(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]);
}
}
De.prototype.clear = Sc;
De.prototype.delete = kc;
De.prototype.get = Cc;
De.prototype.has = bc;
De.prototype.set = xc;
var Ot = et(Oe, "Map");
function Mc() {
this.size = 0, this.__data__ = {
hash: new qe(),
map: new (Ot || De)(),
string: new qe()
};
}
function Pc(t) {
var e = typeof t;
return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null;
}
function pn(t, e) {
var n = t.__data__;
return Pc(e) ? n[typeof e == "string" ? "string" : "hash"] : n.map;
}
function wc(t) {
var e = pn(this, t).delete(t);
return this.size -= e ? 1 : 0, e;
}
function Uc(t) {
return pn(this, t).get(t);
}
function Dc(t) {
return pn(this, t).has(t);
}
function Fc(t, e) {
var n = pn(this, t), r = n.size;
return n.set(t, e), this.size += n.size == r ? 0 : 1, this;
}
function Fe(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]);
}
}
Fe.prototype.clear = Mc;
Fe.prototype.delete = wc;
Fe.prototype.get = Uc;
Fe.prototype.has = Dc;
Fe.prototype.set = Fc;
var $c = "Expected a function";
function lr(t, e) {
if (typeof t != "function" || e != null && typeof e != "function")
throw new TypeError($c);
var n = function() {
var r = arguments, i = e ? e.apply(this, r) : r[0], s = n.cache;
if (s.has(i))
return s.get(i);
var o = t.apply(this, r);
return n.cache = s.set(i, o) || s, o;
};
return n.cache = new (lr.Cache || Fe)(), n;
}
lr.Cache = Fe;
var jc = 500;
function Gc(t) {
var e = lr(t, function(r) {
return n.size === jc && n.clear(), r;
}), n = e.cache;
return e;
}
var Bc = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Vc = /\\(\\)?/g, Kc = Gc(function(t) {
var e = [];
return t.charCodeAt(0) === 46 && e.push(""), t.replace(Bc, function(n, r, i, s) {
e.push(i ? s.replace(Vc, "$1") : r || n);
}), e;
});
function Hc(t) {
return t == null ? "" : Fi(t);
}
function mn(t, e) {
return b(t) ? t : ur(t, e) ? [t] : Kc(Hc(t));
}
function Lt(t) {
if (typeof t == "string" || on(t))
return t;
var e = t + "";
return e == "0" && 1 / t == -1 / 0 ? "-0" : e;
}
function hr(t, e) {
e = mn(e, t);
for (var n = 0, r = e.length; t != null && n < r; )
t = t[Lt(e[n++])];
return n && n == r ? t : void 0;
}
function Wc(t, e, n) {
var r = t == null ? void 0 : hr(t, e);
return r === void 0 ? n : r;
}
function fr(t, e) {
for (var n = -1, r = e.length, i = t.length; ++n < r; )
t[i + n] = e[n];
return t;
}
var Vr = ce ? ce.isConcatSpreadable : void 0;
function zc(t) {
return b(t) || hn(t) || !!(Vr && t && t[Vr]);
}
function dr(t, e, n, r, i) {
var s = -1, o = t.length;
for (n || (n = zc), i || (i = []); ++s < o; ) {
var a = t[s];
n(a) ? fr(i, a) : r || (i[i.length] = a);
}
return i;
}
function fe(t) {
var e = t == null ? 0 : t.length;
return e ? dr(t) : [];
}
var qi = zi(Object.getPrototypeOf, Object);
function Qi(t, e, n) {
var r = -1, i = t.length;
e < 0 && (e = -e > i ? 0 : i + e), n = n > i ? i : n, n < 0 && (n += i), i = e > n ? 0 : n - e >>> 0, e >>>= 0;
for (var s = Array(i); ++r < i; )
s[r] = t[r + e];
return s;
}
function Yc(t, e, n, r) {
var i = -1, s = t == null ? 0 : t.length;
for (r && s && (n = t[++i]); ++i < s; )
n = e(n, t[i], i, t);
return n;
}
function Xc() {
this.__data__ = new De(), this.size = 0;
}
function qc(t) {
var e = this.__data__, n = e.delete(t);
return this.size = e.size, n;
}
function Qc(t) {
return this.__data__.get(t);
}
function Zc(t) {
return this.__data__.has(t);
}
var Jc = 200;
function eu(t, e) {
var n = this.__data__;
if (n instanceof De) {
var r = n.__data__;
if (!Ot || r.length < Jc - 1)
return r.push([t, e]), this.size = ++n.size, this;
n = this.__data__ = new Fe(r);
}
return n.set(t, e), this.size = n.size, this;
}
function Re(t) {
var e = this.__data__ = new De(t);
this.size = e.size;
}
Re.prototype.clear = Xc;
Re.prototype.delete = qc;
Re.prototype.get = Qc;
Re.prototype.has = Zc;
Re.prototype.set = eu;
function tu(t, e) {
return t && sr(e, le(e), t);
}
var Zi = typeof exports == "object" && exports && !exports.nodeType && exports, Kr = Zi && typeof module == "object" && module && !module.nodeType && module, nu = Kr && Kr.exports === Zi, Hr = nu ? Oe.Buffer : void 0, Wr = Hr ? Hr.allocUnsafe : void 0;
function ru(t, e) {
var n = t.length, r = Wr ? Wr(n) : new t.constructor(n);
return t.copy(r), r;
}
function pr(t, e) {
for (var n = -1, r = t == null ? 0 : t.length, i = 0, s = []; ++n < r; ) {
var o = t[n];
e(o, n, t) && (s[i++] = o);
}
return s;
}
function Ji() {
return [];
}
var iu = Object.prototype, su = iu.propertyIsEnumerable, zr = Object.getOwnPropertySymbols, mr = zr ? function(t) {
return t == null ? [] : (t = Object(t), pr(zr(t), function(e) {
return su.call(t, e);
}));
} : Ji;
function ou(t, e) {
return sr(t, mr(t), e);
}
var au = Object.getOwnPropertySymbols, cu = au ? function(t) {
for (var e = []; t; )
fr(e, mr(t)), t = qi(t);
return e;
} : Ji;
function es(t, e, n) {
var r = e(t);
return b(t) ? r : fr(r, n(t));
}
function Fn(t) {
return es(t, le, mr);
}
function uu(t) {
return es(t, Xi, cu);
}
var $n = et(Oe, "DataView"), jn = et(Oe, "Promise"), ot = et(Oe, "Set"), Yr = "[object Map]", lu = "[object Object]", Xr = "[object Promise]", qr = "[object Set]", Qr = "[object WeakMap]", Zr = "[object DataView]", hu = Je($n), fu = Je(Ot), du = Je(jn), pu = Je(ot), mu = Je(Dn), oe = Be;
($n && oe(new $n(new ArrayBuffer(1))) != Zr || Ot && oe(new Ot()) != Yr || jn && oe(jn.resolve()) != Xr || ot && oe(new ot()) != qr || Dn && oe(new Dn()) != Qr) && (oe = function(t) {
var e = Be(t), n = e == lu ? t.constructor : void 0, r = n ? Je(n) : "";
if (r)
switch (r) {
case hu:
return Zr;
case fu:
return Yr;
case du:
return Xr;
case pu:
return qr;
case mu:
return Qr;
}
return e;
});
var gu = Object.prototype, Eu = gu.hasOwnProperty;
function Tu(t) {
var e = t.length, n = new t.constructor(e);
return e && typeof t[0] == "string" && Eu.call(t, "index") && (n.index = t.index, n.input = t.input), n;
}
var Xt = Oe.Uint8Array;
function yu(t) {
var e = new t.constructor(t.byteLength);
return new Xt(e).set(new Xt(t)), e;
}
function Au(t, e) {
var n = t.buffer;
return new t.constructor(n, t.byteOffset, t.byteLength);
}
var _u = /\w*$/;
function vu(t) {
var e = new t.constructor(t.source, _u.exec(t));
return e.lastIndex = t.lastIndex, e;
}
var Jr = ce ? ce.prototype : void 0, ei = Jr ? Jr.valueOf : void 0;
function Ru(t) {
return ei ? Object(ei.call(t)) : {};
}
function Ou(t, e) {
var n = t.buffer;
return new t.constructor(n, t.byteOffset, t.length);
}
var Iu = "[object Boolean]", Su = "[object Date]", Nu = "[object Map]", Lu = "[object Number]", ku = "[object RegExp]", Cu = "[object Set]", bu = "[object String]", xu = "[object Symbol]", Mu = "[object ArrayBuffer]", Pu = "[object DataView]", wu = "[object Float32Array]", Uu = "[object Float64Array]", Du = "[object Int8Array]", Fu = "[object Int16Array]", $u = "[object Int32Array]", ju = "[object Uint8Array]", Gu = "[object Uint8ClampedArray]", Bu = "[object Uint16Array]", Vu = "[object Uint32Array]";
function Ku(t, e, n) {
var r = t.constructor;
switch (e) {
case Mu:
return yu(t);
case Iu:
case Su:
return new r(+t);
case Pu:
return Au(t);
case wu:
case Uu:
case Du:
case Fu:
case $u:
case ju:
case Gu:
case Bu:
case Vu:
return Ou(t);
case Nu:
return new r();
case Lu:
case bu:
return new r(t);
case ku:
return vu(t);
case Cu:
return new r();
case xu:
return Ru(t);
}
}
function Hu(t) {
return typeof t.constructor == "function" && !Nt(t) ? ra(qi(t)) : {};
}
var Wu = "[object Map]";
function zu(t) {
return pe(t) && oe(t) == Wu;
}
var ti = je && je.isMap, Yu = ti ? fn(ti) : zu, Xu = "[object Set]";
function qu(t) {
return pe(t) && oe(t) == Xu;
}
var ni = je && je.isSet, Qu = ni ? fn(ni) : qu, ts = "[object Arguments]", Zu = "[object Array]", Ju = "[object Boolean]", el = "[object Date]", tl = "[object Error]", ns = "[object Function]", nl = "[object GeneratorFunction]", rl = "[object Map]", il = "[object Number]", rs = "[object Object]", sl = "[object RegExp]", ol = "[object Set]", al = "[object String]", cl = "[object Symbol]", ul = "[object WeakMap]", ll = "[object ArrayBuffer]", hl = "[object DataView]", fl = "[object Float32Array]", dl = "[object Float64Array]", pl = "[object Int8Array]", ml = "[object Int16Array]", gl = "[object Int32Array]", El = "[object Uint8Array]", Tl = "[object Uint8ClampedArray]", yl = "[object Uint16Array]", Al = "[object Uint32Array]", P = {};
P[ts] = P[Zu] = P[ll] = P[hl] = P[Ju] = P[el] = P[fl] = P[dl] = P[pl] = P[ml] = P[gl] = P[rl] = P[il] = P[rs] = P[sl] = P[ol] = P[al] = P[cl] = P[El] = P[Tl] = P[yl] = P[Al] = !0;
P[tl] = P[ns] = P[ul] = !1;
function Gt(t, e, n, r, i, s) {
var o;
if (o !== void 0)
return o;
if (!ue(t))
return t;
var a = b(t);
if (a)
return o = Tu(t), sa(t, o);
var c = oe(t), u = c == ns || c == nl;
if (vt(t))
return ru(t);
if (c == rs || c == ts || u && !i)
return o = u ? {} : Hu(t), ou(t, tu(o, t));
if (!P[c])
return i ? t : {};
o = Ku(t, c), s || (s = new Re());
var l = s.get(t);
if (l)
return l;
s.set(t, o), Qu(t) ? t.forEach(function(T) {
o.add(Gt(T, e, n, T, t, s));
}) : Yu(t) && t.forEach(function(T, p) {
o.set(p, Gt(T, e, n, p, t, s));
});
var h = Fn, f = a ? void 0 : h(t);
return $i(f || t, function(T, p) {
f && (p = T, T = t[p]), ln(o, p, Gt(T, e, n, p, t, s));
}), o;
}
var _l = 4;
function W(t) {
return Gt(t, _l);
}
function kt(t) {
for (var e = -1, n = t == null ? 0 : t.length, r = 0, i = []; ++e < n; ) {
var s = t[e];
s && (i[r++] = s);
}
return i;
}
var vl = "__lodash_hash_undefined__";
function Rl(t) {
return this.__data__.set(t, vl), this;
}
function Ol(t) {
return this.__data__.has(t);
}
function ct(t) {
var e = -1, n = t == null ? 0 : t.length;
for (this.__data__ = new Fe(); ++e < n; )
this.add(t[e]);
}
ct.prototype.add = ct.prototype.push = Rl;
ct.prototype.has = Ol;
function is(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 gr(t, e) {
return t.has(e);
}
var Il = 1, Sl = 2;
function ss(t, e, n, r, i, s) {
var o = n & Il, a = t.length, c = e.length;
if (a != c && !(o && c > a))
return !1;
var u = s.get(t), l = s.get(e);
if (u && l)
return u == e && l == t;
var h = -1, f = !0, T = n & Sl ? new ct() : void 0;
for (s.set(t, e), s.set(e, t); ++h < a; ) {
var p = t[h], _ = e[h];
if (r)
var O = o ? r(_, p, h, e, t, s) : r(p, _, h, t, e, s);
if (O !== void 0) {
if (O)
continue;
f = !1;
break;
}
if (T) {
if (!is(e, function(A, y) {
if (!gr(T, y) && (p === A || i(p, A, n, r, s)))
return T.push(y);
})) {
f = !1;
break;
}
} else if (!(p === _ || i(p, _, n, r, s))) {
f = !1;
break;
}
}
return s.delete(t), s.delete(e), f;
}
function Nl(t) {
var e = -1, n = Array(t.size);
return t.forEach(function(r, i) {
n[++e] = [i, r];
}), n;
}
function Er(t) {
var e = -1, n = Array(t.size);
return t.forEach(function(r) {
n[++e] = r;
}), n;
}
var Ll = 1, kl = 2, Cl = "[object Boolean]", bl = "[object Date]", xl = "[object Error]", Ml = "[object Map]", Pl = "[object Number]", wl = "[object RegExp]", Ul = "[object Set]", Dl = "[object String]", Fl = "[object Symbol]", $l = "[object ArrayBuffer]", jl = "[object DataView]", ri = ce ? ce.prototype : void 0, Nn = ri ? ri.valueOf : void 0;
function Gl(t, e, n, r, i, s, o) {
switch (n) {
case jl:
if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset)
return !1;
t = t.buffer, e = e.buffer;
case $l:
return !(t.byteLength != e.byteLength || !s(new Xt(t), new Xt(e)));
case Cl:
case bl:
case Pl:
return St(+t, +e);
case xl:
return t.name == e.name && t.message == e.message;
case wl:
case Dl:
return t == e + "";
case Ml:
var a = Nl;
case Ul:
var c = r & Ll;
if (a || (a = Er), t.size != e.size && !c)
return !1;
var u = o.get(t);
if (u)
return u == e;
r |= kl, o.set(t, e);
var l = ss(a(t), a(e), r, i, s, o);
return o.delete(t), l;
case Fl:
if (Nn)
return Nn.call(t) == Nn.call(e);
}
return !1;
}
var Bl = 1, Vl = Object.prototype, Kl = Vl.hasOwnProperty;
function Hl(t, e, n, r, i, s) {
var o = n & Bl, a = Fn(t), c = a.length, u = Fn(e), l = u.length;
if (c != l && !o)
return !1;
for (var h = c; h--; ) {
var f = a[h];
if (!(o ? f in e : Kl.call(e, f)))
return !1;
}
var T = s.get(t), p = s.get(e);
if (T && p)
return T == e && p == t;
var _ = !0;
s.set(t, e), s.set(e, t);
for (var O = o; ++h < c; ) {
f = a[h];
var A = t[f], y = e[f];
if (r)
var d = o ? r(y, A, f, e, t, s) : r(A, y, f, t, e, s);
if (!(d === void 0 ? A === y || i(A, y, n, r, s) : d)) {
_ = !1;
break;
}
O || (O = f == "constructor");
}
if (_ && !O) {
var m = t.constructor, N = e.constructor;
m != N && "constructor" in t && "constructor" in e && !(typeof m == "function" && m instanceof m && typeof N == "function" && N instanceof N) && (_ = !1);
}
return s.delete(t), s.delete(e), _;
}
var Wl = 1, ii = "[object Arguments]", si = "[object Array]", wt = "[object Object]", zl = Object.prototype, oi = zl.hasOwnProperty;
function Yl(t, e, n, r, i, s) {
var o = b(t), a = b(e), c = o ? si : oe(t), u = a ? si : oe(e);
c = c == ii ? wt : c, u = u == ii ? wt : u;
var l = c == wt, h = u == wt, f = c == u;
if (f && vt(t)) {
if (!vt(e))
return !1;
o = !0, l = !1;
}
if (f && !l)
return s || (s = new Re()), o || cr(t) ? ss(t, e, n, r, i, s) : Gl(t, e, c, n, r, i, s);
if (!(n & Wl)) {
var T = l && oi.call(t, "__wrapped__"), p = h && oi.call(e, "__wrapped__");
if (T || p) {
var _ = T ? t.value() : t, O = p ? e.value() : e;
return s || (s = new Re()), i(_, O, n, r, s);
}
}
return f ? (s || (s = new Re()), Hl(t, e, n, r, i, s)) : !1;
}
function Tr(t, e, n, r, i) {
return t === e ? !0 : t == null || e == null || !pe(t) && !pe(e) ? t !== t && e !== e : Yl(t, e, n, r, Tr, i);
}
var Xl = 1, ql = 2;
function Ql(t, e, n, r) {
var i = n.length, s = i;
if (t == null)
return !s;
for (t = Object(t); i--; ) {
var o = n[i];
if (o[2] ? o[1] !== t[o[0]] : !(o[0] in t))
return !1;
}
for (; ++i < s; ) {
o = n[i];
var a = o[0], c = t[a], u = o[1];
if (o[2]) {
if (c === void 0 && !(a in t))
return !1;
} else {
var l = new Re(), h;
if (!(h === void 0 ? Tr(u, c, Xl | ql, r, l) : h))
return !1;
}
}
return !0;
}
function os(t) {
return t === t && !ue(t);
}
function Zl(t) {
for (var e = le(t), n = e.length; n--; ) {
var r = e[n], i = t[r];
e[n] = [r, i, os(i)];
}
return e;
}
function as(t, e) {
return function(n) {
return n == null ? !1 : n[t] === e && (e !== void 0 || t in Object(n));
};
}
function Jl(t) {
var e = Zl(t);
return e.length == 1 && e[0][2] ? as(e[0][0], e[0][1]) : function(n) {
return n === t || Ql(n, t, e);
};
}
function eh(t, e) {
return t != null && e in Object(t);
}
function cs(t, e, n) {
e = mn(e, t);
for (var r = -1, i = e.length, s = !1; ++r < i; ) {
var o = Lt(e[r]);
if (!(s = t != null && n(t, o)))
break;
t = t[o];
}
return s || ++r != i ? s : (i = t == null ? 0 : t.length, !!i && ar(i) && un(o, i) && (b(t) || hn(t)));
}
function th(t, e) {
return t != null && cs(t, e, eh);
}
var nh = 1, rh = 2;
function ih(t, e) {
return ur(t) && os(e) ? as(Lt(t), e) : function(n) {
var r = Wc(n, t);
return r === void 0 && r === e ? th(n, t) : Tr(e, r, nh | rh);
};
}
function sh(t) {
return function(e) {
return e?.[t];
};
}
function oh(t) {
return function(e) {
return hr(e, t);
};
}
function ah(t) {
return ur(t) ? sh(Lt(t)) : oh(t);
}
function Se(t) {
return typeof t == "function" ? t : t == null ? at : typeof t == "object" ? b(t) ? ih(t[0], t[1]) : Jl(t) : ah(t);
}
function ch(t, e, n, r) {
for (var i = -1, s = t == null ? 0 : t.length; ++i < s; ) {
var o = t[i];
e(r, o, n(o), t);
}
return r;
}
function uh(t) {
return function(e, n, r) {
for (var i = -1, s = Object(e), o = r(e), a = o.length; a--; ) {
var c = o[++i];
if (n(s[c], c, s) === !1)
break;
}
return e;
};
}
var lh = uh();
function hh(t, e) {
return t && lh(t, e, le);
}
function fh(t, e) {
return function(n, r) {
if (n == null)
return n;
if (!Ie(n))
return t(n, r);
for (var i = n.length, s = -1, o = Object(n); ++s < i && r(o[s], s, o) !== !1; )
;
return n;
};
}
var tt = fh(hh);
function dh(t, e, n, r) {
return tt(t, function(i, s, o) {
e(r, i, n(i), o);
}), r;
}
function ph(t, e) {
return function(n, r) {
var i = b(n) ? ch : dh, s = {};
return i(n, t, Se(r), s);
};
}
var us = Object.prototype, mh = us.hasOwnProperty, yr = or(function(t, e) {
t = Object(t);
var n = -1, r = e.length, i = r > 2 ? e[2] : void 0;
for (i && Bi(e[0], e[1], i) && (r = 1); ++n < r; )
for (var s = e[n], o = Xi(s), a = -1, c = o.length; ++a < c; ) {
var u = o[a], l = t[u];
(l === void 0 || St(l, us[u]) && !mh.call(t, u)) && (t[u] = s[u]);
}
return t;
});
function ai(t) {
return pe(t) && Ie(t);
}
var gh = 200;
function Eh(t, e, n, r) {
var i = -1, s = Gi, o = !0, a = t.length, c = [], u = e.length;
if (!a)
return c;
e.length >= gh && (s = gr, o = !1, e = new ct(e));
e:
for (; ++i < a; ) {
var l = t[i], h = l;
if (l = l !== 0 ? l : 0, o && h === h) {
for (var f = u; f--; )
if (e[f] === h)
continue e;
c.push(l);
} else s(e, h, r) || c.push(l);
}
return c;
}
var gn = or(function(t, e) {
return ai(t) ? Eh(t, dr(e, 1, ai, !0)) : [];
});
function ut(t) {
var e = t == null ? 0 : t.length;
return e ? t[e - 1] : void 0;
}
function H(t, e, n) {
var r = t == null ? 0 : t.length;
return r ? (e = e === void 0 ? 1 : cn(e), Qi(t, e < 0 ? 0 : e, r)) : [];
}
function It(t, e, n) {
var r = t == null ? 0 : t.length;
return r ? (e = e === void 0 ? 1 : cn(e), e = r - e, Qi(t, 0, e < 0 ? 0 : e)) : [];
}
function Th(t) {
return typeof t == "function" ? t : at;
}
function I(t, e) {
var n = b(t) ? $i : tt;
return n(t, Th(e));
}
function yh(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 Ah(t, e) {
var n = !0;
return tt(t, function(r, i, s) {
return n = !!e(r, i, s), n;
}), n;
}
function de(t, e, n) {
var r = b(t) ? yh : Ah;
return r(t, Se(e));
}
function ls(t, e) {
var n = [];
return tt(t, function(r, i, s) {
e(r, i, s) && n.push(r);
}), n;
}
function he(t, e) {
var n = b(t) ? pr : ls;
return n(t, Se(e));
}
function _h(t) {
return function(e, n, r) {
var i = Object(e);
if (!Ie(e)) {
var s = Se(n);
e = le(e), n = function(a) {
return s(i[a], a, i);
};
}
var o = t(e, n, r);
return o > -1 ? i[s ? e[o] : o] : void 0;
};
}
var vh = Math.max;
function Rh(t, e, n) {
var r = t == null ? 0 : t.length;
if (!r)
return -1;
var i = n == null ? 0 : cn(n);
return i < 0 && (i = vh(r + i, 0)), ji(t, Se(e), i);
}
var lt = _h(Rh);
function me(t) {
return t && t.length ? t[0] : void 0;
}
function Oh(t, e) {
var n = -1, r = Ie(t) ? Array(t.length) : [];
return tt(t, function(i, s, o) {
r[++n] = e(i, s, o);
}), r;
}
function v(t, e) {
var n = b(t) ? an : Oh;
return n(t, Se(e));
}
function ae(t, e) {
return dr(v(t, e));
}
var Ih = Object.prototype, Sh = Ih.hasOwnProperty, Nh = ph(function(t, e, n) {
Sh.call(t, n) ? t[n].push(e) : ir(t, n, [e]);
}), Lh = Object.prototype, kh = Lh.hasOwnProperty;
function Ch(t, e) {
return t != null && kh.call(t, e);
}
function R(t, e) {
return t != null && cs(t, e, Ch);
}
var bh = "[object String]";
function J(t) {
return typeof t == "string" || !b(t) && pe(t) && Be(t) == bh;
}
function xh(t, e) {
return an(e, function(n) {
return t[n];
});
}
function V(t) {
return t == null ? [] : xh(t, le(t));
}
var Mh = Math.max;
function q(t, e, n, r) {
t = Ie(t) ? t : V(t), n = n ? cn(n) : 0;
var i = t.length;
return n < 0 && (n = Mh(i + n, 0)), J(t) ? n <= i && t.indexOf(e, n) > -1 : !!i && rr(t, e, n) > -1;
}
function ci(t, e, n) {
var r = t == null ? 0 : t.length;
if (!r)
return -1;
var i = 0;
return rr(t, e, i);
}
var Ph = "[object Map]", wh = "[object Set]", Uh = Object.prototype, Dh = Uh.hasOwnProperty;
function w(t) {
if (t == null)
return !0;
if (Ie(t) && (b(t) || typeof t == "string" || typeof t.splice == "function" || vt(t) || cr(t) || hn(t)))
return !t.length;
var e = oe(t);
if (e == Ph || e == wh)
return !t.size;
if (Nt(t))
return !Yi(t).length;
for (var n in t)
if (Dh.call(t, n))
return !1;
return !0;
}
var Fh = "[object RegExp]";
function $h(t) {
return pe(t) && Be(t) == Fh;
}
var ui = je && je.isRegExp, Me = ui ? fn(ui) : $h;
function Pe(t) {
return t === void 0;
}
var jh = "Expected a function";
function Gh(t) {
if (typeof t != "function")
throw new TypeError(jh);
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 Bh(t, e, n, r) {
if (!ue(t))
return t;
e = mn(e, t);
for (var i = -1, s = e.length, o = s - 1, a = t; a != null && ++i < s; ) {
var c = Lt(e[i]), u = n;
if (c === "__proto__" || c === "constructor" || c === "prototype")
return t;
if (i != o) {
var l = a[c];
u = void 0, u === void 0 && (u = ue(l) ? l : un(e[i + 1]) ? [] : {});
}
ln(a, c, u), a = a[c];
}
return t;
}
function Vh(t, e, n) {
for (var r = -1, i = e.length, s = {}; ++r < i; ) {
var o = e[r], a = hr(t, o);
n(a, o) && Bh(s, mn(o, t), a);
}
return s;
}
function ge(t, e) {
if (t == null)
return {};
var n = an(uu(t), function(r) {
return [r];
});
return e = Se(e), Vh(t, n, function(r, i) {
return e(r, i[0]);
});
}
function Kh(t, e, n, r, i) {
return i(t, function(s, o, a) {
n = r ? (r = !1, s) : e(n, s, o, a);
}), n;
}
function ne(t, e, n) {
var r = b(t) ? Yc : Kh, i = arguments.length < 3;
return r(t, Se(e), n, i, tt);
}
function En(t, e) {
var n = b(t) ? pr : ls;
return n(t, Gh(Se(e)));
}
function Hh(t, e) {
var n;
return tt(t, function(r, i, s) {
return n = e(r, i, s), !n;
}), !!n;
}
function hs(t, e, n) {
var r = b(t) ? is : Hh;
return r(t, Se(e));
}
var Wh = 1 / 0, zh = ot && 1 / Er(new ot([, -0]))[1] == Wh ? function(t) {
return new ot(t);
} : B, Yh = 200;
function Xh(t, e, n) {
var r = -1, i = Gi, s = t.length, o = !0, a = [], c = a;
if (s >= Yh) {
var u = zh(t);
if (u)
return Er(u);
o = !1, i = gr, c = new ct();
} else
c = a;
e:
for (; ++r < s; ) {
var l = t[r], h = l;
if (l = l !== 0 ? l : 0, o && h === h) {
for (var f = c.length; f--; )
if (c[f] === h)
continue e;
a.push(l);
} else i(c, h, n) || (c !== a && c.push(h), a.push(l));
}
return a;
}
function Ar(t) {
return t && t.length ? Xh(t) : [];
}
function Gn(t) {
console && console.error && console.error(`Error: ${t}`);
}
function fs(t) {
console && console.warn && console.warn(`Warning: ${t}`);
}
function ds(t) {
const e = (/* @__PURE__ */ new Date()).getTime(), n = t();
return { time: (/* @__PURE__ */ new Date()).getTime() - e, value: n };
}
function ps(t) {
function e() {
}
e.prototype = t;
const n = new e();
function r() {
return typeof n.bar;
}
return r(), r(), t;
}
function qh(t) {
return Qh(t) ? t.LABEL : t.name;
}
function Qh(t) {
return J(t.LABEL) && t.LABEL !== "";
}
class Ne {
get definition() {
return this._definition;
}
set definition(e) {
this._definition = e;
}
constructor(e) {
this._definition = e;
}
accept(e) {
e.visit(this), I(this.definition, (n) => {
n.accept(e);
});
}
}
class re extends Ne {
constructor(e) {
super([]), this.idx = 1, te(this, ge(e, (n) => n !== void 0));
}
set definition(e) {
}
get definition() {
return this.referencedRule !== void 0 ? this.referencedRule.definition : [];
}
accept(e) {
e.visit(this);
}
}
class ht extends Ne {
constructor(e) {
super(e.definition), this.orgText = "", te(this, ge(e, (n) => n !== void 0));
}
}
class ee extends Ne {
constructor(e) {
super(e.definition), this.ignoreAmbiguities = !1, te(this, ge(e, (n) => n !== void 0));
}
}
class Z extends Ne {
constructor(e) {
super(e.definition), this.idx = 1, te(this, ge(e, (n) => n !== void 0));
}
}
class Le extends Ne {
constructor(e) {
super(e.definition), this.idx = 1, te(this, ge(e, (n) => n !== void 0));
}
}
class ke extends Ne {
constructor(e) {
super(e.definition), this.idx = 1, te(this, ge(e, (n) => n !== void 0));
}
}
class K extends Ne {
constructor(e) {
super(e.definition), this.idx = 1, te(this, ge(e, (n) => n !== void 0));
}
}
class Ee extends Ne {
constructor(e) {
super(e.definition), this.idx = 1, te(this, ge(e, (n) => n !== void 0));
}
}
class Te extends Ne {
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, te(this, ge(e, (n) => n !== void 0));
}
}
class F {
constructor(e) {
this.idx = 1, te(this, ge(e, (n) => n !== void 0));
}
accept(e) {
e.visit(this);
}
}
function Zh(t) {
return v(t, Bt);
}
function Bt(t) {
function e(n) {
return v(n, Bt);
}
if (t instanceof re) {
const n = {
type: "NonTerminal",
name: t.nonTerminalName,
idx: t.idx
};
return J(t.label) && (n.label = t.label), n;
} else {
if (t instanceof ee)
return {
type: "Alternative",
definition: e(t.definition)
};
if (t instanceof Z)
return {
type: "Option",
idx: t.idx,
definition: e(t.definition)
};
if (t instanceof Le)
return {
type: "RepetitionMandatory",
idx: t.idx,
definition: e(t.definition)
};
if (t instanceof ke)
return {
type: "RepetitionMandatoryWithSeparator",
idx: t.idx,
separator: Bt(new F({ terminalType: t.separator })),
definition: e(t.definition)
};
if (t instanceof Ee)
return {
type: "RepetitionWithSeparator",
idx: t.idx,
separator: Bt(new F({ terminalType: t.separator })),
definition: e(t.definition)
};
if (t instanceof K)
return {
type: "Repetition",
idx: t.idx,
definition: e(t.definition)
};
if (t instanceof Te)
return {
type: "Alternation",
idx: t.idx,
definition: e(t.definition)
};
if (t instanceof F) {
const n = {
type: "Terminal",
name: t.terminalType.name,
label: qh(t.terminalType),
idx: t.idx
};
J(t.label) && (n.terminalLabel = t.label);
const r = t.terminalType.PATTERN;
return t.terminalType.PATTERN && (n.pattern = Me(r) ? r.source : r), n;
} else {
if (t instanceof ht)
return {
type: "Rule",
name: t.name,
orgText: t.orgText,
definition: e(t.definition)
};
throw Error("non exhaustive match");
}
}
}
class ft {
visit(e) {
const n = e;
switch (n.constructor) {
case re:
return this.visitNonTerminal(n);
case ee:
return this.visitAlternative(n);
case Z:
return this.visitOption(n);
case Le:
return this.visitRepetitionMandatory(n);
case ke:
return this.visitRepetitionMandatoryWithSeparator(n);
case Ee:
return this.visitRepetitionWithSeparator(n);
case K:
return this.visitRepetition(n);
case Te:
return this.visitAlternation(n);
case F:
return this.visitTerminal(n);
case ht:
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 Jh(t) {
return t instanceof ee || t instanceof Z || t instanceof K || t instanceof Le || t instanceof ke || t instanceof Ee || t instanceof F || t instanceof ht;
}
function qt(t, e = []) {
return t instanceof Z || t instanceof K || t instanceof Ee ? !0 : t instanceof Te ? hs(t.definition, (n) => qt(n, e)) : t instanceof re && q(e, t) ? !1 : t instanceof Ne ? (t instanceof re && e.push(t), de(t.definition, (n) => qt(n, e))) : !1;
}
function ef(t) {
return t instanceof Te;
}
function ve(t) {
if (t instanceof re)
return "SUBRULE";
if (t instanceof Z)
return "OPTION";
if (t instanceof Te)
return "OR";
if (t instanceof Le)
return "AT_LEAST_ONE";
if (t instanceof ke)
return "AT_LEAST_ONE_SEP";
if (t instanceof Ee)
return "MANY_SEP";
if (t instanceof K)
return "MANY";
if (t instanceof F)
return "CONSUME";
throw Error("non exhaustive match");
}
class Tn {
walk(e, n = []) {
I(e.definition, (r, i) => {
const s = H(e.definition, i + 1);
if (r instanceof re)
this.walkProdRef(r, s, n);
else if (r instanceof F)
this.walkTerminal(r, s, n);
else if (r instanceof ee)
this.walkFlat(r, s, n);
else if (r instanceof Z)
this.walkOption(r, s, n);
else if (r instanceof Le)
this.walkAtLeastOne(r, s, n);
else if (r instanceof ke)
this.walkAtLeastOneSep(r, s, n);
else if (r instanceof Ee)
this.walkManySep(r, s, n);
else if (r instanceof K)
this.walkMany(r, s, n);
else if (r instanceof Te)
this.walkOr(r, s, n);
else
throw Error("non exhaustive match");
});
}
walkTerminal(e, n, r) {
}
walkProdRef(e, n, r) {
}
walkFlat(e, n, r) {
const i = n.concat(r);
this.walk(e, i);
}
walkOption(e, n, r) {
const i = n.concat(r);
this.walk(e, i);
}
walkAtLeastOne(e, n, r) {
const i = [
new Z({ definition: e.definition })
].concat(n, r);
this.walk(e, i);
}
walkAtLeastOneSep(e, n, r) {
const i = li(e, n, r);
this.walk(e, i);
}
walkMany(e, n, r) {
const i = [
new Z({ definition: e.definition })
].concat(n, r);
this.walk(e, i);
}
walkManySep(e, n, r) {
const i = li(e, n, r);
this.walk(e, i);
}
walkOr(e, n, r) {
const i = n.concat(r);
I(e.definition, (s) => {
const o = new ee({ definition: [s] });
this.walk(o, i);
});
}
}
function li(t, e, n) {
return [
new Z({
definition: [
new F({ terminalType: t.separator })
].concat(t.definition)
})
].concat(e, n);
}
function Ct(t) {
if (t instanceof re)
return Ct(t.referencedRule);
if (t instanceof F)
return rf(t);
if (Jh(t))
return tf(t);
if (ef(t))
return nf(t);
throw Error("non exhaustive match");
}
function tf(t) {
let e = [];
const n = t.definition;
let r = 0, i = n.length > r, s, o = !0;
for (; i && o; )
s = n[r], o = qt(s), e = e.concat(Ct(s)), r = r + 1, i = n.length > r;
return Ar(e);
}
function nf(t) {
const e = v(t.definition, (n) => Ct(n));
return Ar(fe(e));
}
function rf(t) {
return [t.terminalType];
}
const ms = "_~IN~_";
class sf extends Tn {
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 i = af(e.referencedRule, e.idx) + this.topProd.name, s = n.concat(r), o = new ee({ definition: s }), a = Ct(o);
this.follows[i] = a;
}
}
function of(t) {
const e = {};
return I(t, (n) => {
const r = new sf(n).startWalking();
te(e, r);
}), e;
}
function af(t, e) {
return t.name + e + ms;
}
function S(t) {
return t.charCodeAt(0);
}
function Ln(t, e) {
Array.isArray(t) ? t.forEach(function(n) {
e.push(n);
}) : e.push(t);
}
function mt(t, e) {
if (t[e] === !0)
throw "duplicate flag " + e;
t[e], t[e] = !0;
}
function st(t) {
if (t === void 0)
throw Error("Internal Error - Should never get here!");
return !0;
}
function cf() {
throw Error("Internal Error - Should never get here!");
}
function hi(t) {
return t.type === "Character";
}
const Qt = [];
for (let t = S("0"); t <= S("9"); t++)
Qt.push(t);
const Zt = [S("_")].concat(Qt);
for (let t = S("a"); t <= S("z"); t++)
Zt.push(t);
for (let t = S("A"); t <= S("Z"); t++)
Zt.push(t);
const fi = [
S(" "),
S("\f"),
S(`
`),
S("\r"),
S(" "),
S("\v"),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S(" "),
S("\u2028"),
S("\u2029"),
S(" "),
S(" "),
S(" "),
S("\uFEFF")
], uf = /[0-9a-fA-F]/, Ut = /[0-9]/, lf = /[1-9]/;
class hf {
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":
mt(r, "global");
break;
case "i":
mt(r, "ignoreCase");
break;
case "m":
mt(r, "multiLine");
break;
case "u":
mt(r, "unicode");
break;
case "y":
mt(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 {