var yn = Object.defineProperty;
var Sn = (e, t, r) => t in e ? yn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
var ne = (e, t, r) => Sn(e, typeof t != "symbol" ? t + "" : t, r);
/**
 * Class file
 *
 * Typescript version 5.5.3
 * @category SyncIT Athena XAI Recommender
 * @package namespace
 * @author Miljan Krstić <miljan.krstic@syncitgroup.com>
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @link https://syncitgroup.com/
 */
class z {
    constructor(t, r, n = !1) {
        this.element = t, this.innerHTML = r, this.prepend = n, this.html();
    }
    html() {
        if (!this.element || !this.innerHTML) return;
        const t = document.createElement("template");
        t.innerHTML = this.innerHTML;
        const r = t.content.firstElementChild;
        r && (this.prepend ? this.element.prepend(r) : this.element.append(r));
    }
}
/**
 * Class file
 *
 * Typescript version 5.5.3
 * @category SyncIT Athena XAI Recommender
 * @package namespace
 * @author Miljan Krstić <miljan.krstic@syncitgroup.com>
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @link https://syncitgroup.com/
 */
class bn {
    constructor(t, r, n, s = !1) {
        this.element = t, this.event = r, this.callback = n, this.remove = s, !(!this.event && !this.isEventValid()) && (this.remove ? this.removeEvent() : this.addEvent());
    }
    addEvent() {
        var t;
        this.event && ((t = this.element) == null || t.addEventListener(this.event, this.callback));
    }
    removeEvent() {
        var t;
        this.event && ((t = this.element) == null || t.removeEventListener(this.event, this.callback));
    }
    isEventValid() {
        return !this.element || !this.event ? !1 : this.event in this.element;
    }
}
/**
 * Class file
 *
 * Typescript version 5.5.3
 * @category SyncIT Athena XAI Recommender
 * @package namespace
 * @author Miljan Krstić <miljan.krstic@syncitgroup.com>
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @link https://syncitgroup.com/
 */
class wn {
    querySelector(t, r = document) {
        return r.querySelector(t);
    }
    querySelectorAll(t, r = document) {
        return r.querySelectorAll(t);
    }
}
const J = new wn();
function Cr(e, t) {
    return function() {
        return e.apply(t, arguments);
    };
}
const { toString: En } = Object.prototype, { getPrototypeOf: Ot } = Object, Me = /* @__PURE__ */ ((e) => (t) => {
    const r = En.call(t);
    return e[r] || (e[r] = r.slice(8, -1).toLowerCase());
})(/* @__PURE__ */ Object.create(null)), B = (e) => (e = e.toLowerCase(), (t) => Me(t) === e), Ne = (e) => (t) => typeof t === e, { isArray: ee } = Array, ue = Ne("undefined");
function kn(e) {
    return e !== null && !ue(e) && e.constructor !== null && !ue(e.constructor) && T(e.constructor.isBuffer) && e.constructor.isBuffer(e);
}
const Pr = B("ArrayBuffer");
function xn(e) {
    let t;
    return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? t = ArrayBuffer.isView(e) : t = e && e.buffer && Pr(e.buffer), t;
}
const Cn = Ne("string"), T = Ne("function"), Lr = Ne("number"), Te = (e) => e !== null && typeof e == "object", Pn = (e) => e === !0 || e === !1, be = (e) => {
    if (Me(e) !== "object")
        return !1;
    const t = Ot(e);
    return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(Symbol.toStringTag in e) && !(Symbol.iterator in e);
}, Ln = B("Date"), An = B("File"), On = B("Blob"), Rn = B("FileList"), Mn = (e) => Te(e) && T(e.pipe), Nn = (e) => {
    let t;
    return e && (typeof FormData == "function" && e instanceof FormData || T(e.append) && ((t = Me(e)) === "formdata" || // detect form-data instance
        t === "object" && T(e.toString) && e.toString() === "[object FormData]"));
}, Tn = B("URLSearchParams"), [In, Dn, Bn, Fn] = ["ReadableStream", "Request", "Response", "Headers"].map(B), Hn = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
function he(e, t, { allOwnKeys: r = !1 } = {}) {
    if (e === null || typeof e > "u")
        return;
    let n, s;
    if (typeof e != "object" && (e = [e]), ee(e))
        for (n = 0, s = e.length; n < s; n++)
            t.call(null, e[n], n, e);
    else {
        const o = r ? Object.getOwnPropertyNames(e) : Object.keys(e), i = o.length;
        let u;
        for (n = 0; n < i; n++)
            u = o[n], t.call(null, e[u], u, e);
    }
}
function Ar(e, t) {
    t = t.toLowerCase();
    const r = Object.keys(e);
    let n = r.length, s;
    for (; n-- > 0; )
        if (s = r[n], t === s.toLowerCase())
            return s;
    return null;
}
const K = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, Or = (e) => !ue(e) && e !== K;
function Ze() {
    const { caseless: e } = Or(this) && this || {}, t = {}, r = (n, s) => {
        const o = e && Ar(t, s) || s;
        be(t[o]) && be(n) ? t[o] = Ze(t[o], n) : be(n) ? t[o] = Ze({}, n) : ee(n) ? t[o] = n.slice() : t[o] = n;
    };
    for (let n = 0, s = arguments.length; n < s; n++)
        arguments[n] && he(arguments[n], r);
    return t;
}
const qn = (e, t, r, { allOwnKeys: n } = {}) => (he(t, (s, o) => {
    r && T(s) ? e[o] = Cr(s, r) : e[o] = s;
}, { allOwnKeys: n }), e), Un = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), Vn = (e, t, r, n) => {
    e.prototype = Object.create(t.prototype, n), e.prototype.constructor = e, Object.defineProperty(e, "super", {
        value: t.prototype
    }), r && Object.assign(e.prototype, r);
}, zn = (e, t, r, n) => {
    let s, o, i;
    const u = {};
    if (t = t || {}, e == null) return t;
    do {
        for (s = Object.getOwnPropertyNames(e), o = s.length; o-- > 0; )
            i = s[o], (!n || n(i, e, t)) && !u[i] && (t[i] = e[i], u[i] = !0);
        e = r !== !1 && Ot(e);
    } while (e && (!r || r(e, t)) && e !== Object.prototype);
    return t;
}, Gn = (e, t, r) => {
    e = String(e), (r === void 0 || r > e.length) && (r = e.length), r -= t.length;
    const n = e.indexOf(t, r);
    return n !== -1 && n === r;
}, Wn = (e) => {
    if (!e) return null;
    if (ee(e)) return e;
    let t = e.length;
    if (!Lr(t)) return null;
    const r = new Array(t);
    for (; t-- > 0; )
        r[t] = e[t];
    return r;
}, jn = /* @__PURE__ */ ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && Ot(Uint8Array)), Jn = (e, t) => {
    const n = (e && e[Symbol.iterator]).call(e);
    let s;
    for (; (s = n.next()) && !s.done; ) {
        const o = s.value;
        t.call(e, o[0], o[1]);
    }
}, Kn = (e, t) => {
    let r;
    const n = [];
    for (; (r = e.exec(t)) !== null; )
        n.push(r);
    return n;
}, Xn = B("HTMLFormElement"), Qn = (e) => e.toLowerCase().replace(
    /[-_\s]([a-z\d])(\w*)/g,
    function(r, n, s) {
        return n.toUpperCase() + s;
    }
), Vt = (({ hasOwnProperty: e }) => (t, r) => e.call(t, r))(Object.prototype), Yn = B("RegExp"), Rr = (e, t) => {
    const r = Object.getOwnPropertyDescriptors(e), n = {};
    he(r, (s, o) => {
        let i;
        (i = t(s, o, e)) !== !1 && (n[o] = i || s);
    }), Object.defineProperties(e, n);
}, Zn = (e) => {
    Rr(e, (t, r) => {
        if (T(e) && ["arguments", "caller", "callee"].indexOf(r) !== -1)
            return !1;
        const n = e[r];
        if (T(n)) {
            if (t.enumerable = !1, "writable" in t) {
                t.writable = !1;
                return;
            }
            t.set || (t.set = () => {
                throw Error("Can not rewrite read-only method '" + r + "'");
            });
        }
    });
}, $n = (e, t) => {
    const r = {}, n = (s) => {
        s.forEach((o) => {
            r[o] = !0;
        });
    };
    return ee(e) ? n(e) : n(String(e).split(t)), r;
}, es = () => {
}, ts = (e, t) => e != null && Number.isFinite(e = +e) ? e : t, Fe = "abcdefghijklmnopqrstuvwxyz", zt = "0123456789", Mr = {
    DIGIT: zt,
    ALPHA: Fe,
    ALPHA_DIGIT: Fe + Fe.toUpperCase() + zt
}, rs = (e = 16, t = Mr.ALPHA_DIGIT) => {
    let r = "";
    const { length: n } = t;
    for (; e--; )
        r += t[Math.random() * n | 0];
    return r;
};
function ns(e) {
    return !!(e && T(e.append) && e[Symbol.toStringTag] === "FormData" && e[Symbol.iterator]);
}
const ss = (e) => {
    const t = new Array(10), r = (n, s) => {
        if (Te(n)) {
            if (t.indexOf(n) >= 0)
                return;
            if (!("toJSON" in n)) {
                t[s] = n;
                const o = ee(n) ? [] : {};
                return he(n, (i, u) => {
                    const a = r(i, s + 1);
                    !ue(a) && (o[u] = a);
                }), t[s] = void 0, o;
            }
        }
        return n;
    };
    return r(e, 0);
}, is = B("AsyncFunction"), os = (e) => e && (Te(e) || T(e)) && T(e.then) && T(e.catch), Nr = ((e, t) => e ? setImmediate : t ? ((r, n) => (K.addEventListener("message", ({ source: s, data: o }) => {
    s === K && o === r && n.length && n.shift()();
}, !1), (s) => {
    n.push(s), K.postMessage(r, "*");
}))(`axios@${Math.random()}`, []) : (r) => setTimeout(r))(
    typeof setImmediate == "function",
    T(K.postMessage)
), as = typeof queueMicrotask < "u" ? queueMicrotask.bind(K) : typeof process < "u" && process.nextTick || Nr, b = {
    isArray: ee,
    isArrayBuffer: Pr,
    isBuffer: kn,
    isFormData: Nn,
    isArrayBufferView: xn,
    isString: Cn,
    isNumber: Lr,
    isBoolean: Pn,
    isObject: Te,
    isPlainObject: be,
    isReadableStream: In,
    isRequest: Dn,
    isResponse: Bn,
    isHeaders: Fn,
    isUndefined: ue,
    isDate: Ln,
    isFile: An,
    isBlob: On,
    isRegExp: Yn,
    isFunction: T,
    isStream: Mn,
    isURLSearchParams: Tn,
    isTypedArray: jn,
    isFileList: Rn,
    forEach: he,
    merge: Ze,
    extend: qn,
    trim: Hn,
    stripBOM: Un,
    inherits: Vn,
    toFlatObject: zn,
    kindOf: Me,
    kindOfTest: B,
    endsWith: Gn,
    toArray: Wn,
    forEachEntry: Jn,
    matchAll: Kn,
    isHTMLForm: Xn,
    hasOwnProperty: Vt,
    hasOwnProp: Vt,
    // an alias to avoid ESLint no-prototype-builtins detection
    reduceDescriptors: Rr,
    freezeMethods: Zn,
    toObjectSet: $n,
    toCamelCase: Qn,
    noop: es,
    toFiniteNumber: ts,
    findKey: Ar,
    global: K,
    isContextDefined: Or,
    ALPHABET: Mr,
    generateString: rs,
    isSpecCompliantForm: ns,
    toJSONObject: ss,
    isAsyncFn: is,
    isThenable: os,
    setImmediate: Nr,
    asap: as
};
function C(e, t, r, n, s) {
    Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = e, this.name = "AxiosError", t && (this.code = t), r && (this.config = r), n && (this.request = n), s && (this.response = s, this.status = s.status ? s.status : null);
}
b.inherits(C, Error, {
    toJSON: function() {
        return {
            // Standard
            message: this.message,
            name: this.name,
            // Microsoft
            description: this.description,
            number: this.number,
            // Mozilla
            fileName: this.fileName,
            lineNumber: this.lineNumber,
            columnNumber: this.columnNumber,
            stack: this.stack,
            // Axios
            config: b.toJSONObject(this.config),
            code: this.code,
            status: this.status
        };
    }
});
const Tr = C.prototype, Ir = {};
[
    "ERR_BAD_OPTION_VALUE",
    "ERR_BAD_OPTION",
    "ECONNABORTED",
    "ETIMEDOUT",
    "ERR_NETWORK",
    "ERR_FR_TOO_MANY_REDIRECTS",
    "ERR_DEPRECATED",
    "ERR_BAD_RESPONSE",
    "ERR_BAD_REQUEST",
    "ERR_CANCELED",
    "ERR_NOT_SUPPORT",
    "ERR_INVALID_URL"
    // eslint-disable-next-line func-names
].forEach((e) => {
    Ir[e] = { value: e };
});
Object.defineProperties(C, Ir);
Object.defineProperty(Tr, "isAxiosError", { value: !0 });
C.from = (e, t, r, n, s, o) => {
    const i = Object.create(Tr);
    return b.toFlatObject(e, i, function(a) {
        return a !== Error.prototype;
    }, (u) => u !== "isAxiosError"), C.call(i, e.message, t, r, n, s), i.cause = e, i.name = e.name, o && Object.assign(i, o), i;
};
const ls = null;
function $e(e) {
    return b.isPlainObject(e) || b.isArray(e);
}
function Dr(e) {
    return b.endsWith(e, "[]") ? e.slice(0, -2) : e;
}
function Gt(e, t, r) {
    return e ? e.concat(t).map(function(s, o) {
        return s = Dr(s), !r && o ? "[" + s + "]" : s;
    }).join(r ? "." : "") : t;
}
function us(e) {
    return b.isArray(e) && !e.some($e);
}
const cs = b.toFlatObject(b, {}, null, function(t) {
    return /^is[A-Z]/.test(t);
});
function Ie(e, t, r) {
    if (!b.isObject(e))
        throw new TypeError("target must be an object");
    t = t || new FormData(), r = b.toFlatObject(r, {
        metaTokens: !0,
        dots: !1,
        indexes: !1
    }, !1, function(g, m) {
        return !b.isUndefined(m[g]);
    });
    const n = r.metaTokens, s = r.visitor || l, o = r.dots, i = r.indexes, a = (r.Blob || typeof Blob < "u" && Blob) && b.isSpecCompliantForm(t);
    if (!b.isFunction(s))
        throw new TypeError("visitor must be a function");
    function f(c) {
        if (c === null) return "";
        if (b.isDate(c))
            return c.toISOString();
        if (!a && b.isBlob(c))
            throw new C("Blob is not supported. Use a Buffer instead.");
        return b.isArrayBuffer(c) || b.isTypedArray(c) ? a && typeof Blob == "function" ? new Blob([c]) : Buffer.from(c) : c;
    }
    function l(c, g, m) {
        let S = c;
        if (c && !m && typeof c == "object") {
            if (b.endsWith(g, "{}"))
                g = n ? g : g.slice(0, -2), c = JSON.stringify(c);
            else if (b.isArray(c) && us(c) || (b.isFileList(c) || b.endsWith(g, "[]")) && (S = b.toArray(c)))
                return g = Dr(g), S.forEach(function(w, v) {
                    !(b.isUndefined(w) || w === null) && t.append(
                        // eslint-disable-next-line no-nested-ternary
                        i === !0 ? Gt([g], v, o) : i === null ? g : g + "[]",
                        f(w)
                    );
                }), !1;
        }
        return $e(c) ? !0 : (t.append(Gt(m, g, o), f(c)), !1);
    }
    const d = [], h = Object.assign(cs, {
        defaultVisitor: l,
        convertValue: f,
        isVisitable: $e
    });
    function p(c, g) {
        if (!b.isUndefined(c)) {
            if (d.indexOf(c) !== -1)
                throw Error("Circular reference detected in " + g.join("."));
            d.push(c), b.forEach(c, function(S, _) {
                (!(b.isUndefined(S) || S === null) && s.call(
                    t,
                    S,
                    b.isString(_) ? _.trim() : _,
                    g,
                    h
                )) === !0 && p(S, g ? g.concat(_) : [_]);
            }), d.pop();
        }
    }
    if (!b.isObject(e))
        throw new TypeError("data must be an object");
    return p(e), t;
}
function Wt(e) {
    const t = {
        "!": "%21",
        "'": "%27",
        "(": "%28",
        ")": "%29",
        "~": "%7E",
        "%20": "+",
        "%00": "\0"
    };
    return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function(n) {
        return t[n];
    });
}
function Rt(e, t) {
    this._pairs = [], e && Ie(e, this, t);
}
const Br = Rt.prototype;
Br.append = function(t, r) {
    this._pairs.push([t, r]);
};
Br.toString = function(t) {
    const r = t ? function(n) {
        return t.call(this, n, Wt);
    } : Wt;
    return this._pairs.map(function(s) {
        return r(s[0]) + "=" + r(s[1]);
    }, "").join("&");
};
function hs(e) {
    return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
}
function Fr(e, t, r) {
    if (!t)
        return e;
    const n = r && r.encode || hs;
    b.isFunction(r) && (r = {
        serialize: r
    });
    const s = r && r.serialize;
    let o;
    if (s ? o = s(t, r) : o = b.isURLSearchParams(t) ? t.toString() : new Rt(t, r).toString(n), o) {
        const i = e.indexOf("#");
        i !== -1 && (e = e.slice(0, i)), e += (e.indexOf("?") === -1 ? "?" : "&") + o;
    }
    return e;
}
class jt {
    constructor() {
        this.handlers = [];
    }
    /**
     * Add a new interceptor to the stack
     *
     * @param {Function} fulfilled The function to handle `then` for a `Promise`
     * @param {Function} rejected The function to handle `reject` for a `Promise`
     *
     * @return {Number} An ID used to remove interceptor later
     */
    use(t, r, n) {
        return this.handlers.push({
            fulfilled: t,
            rejected: r,
            synchronous: n ? n.synchronous : !1,
            runWhen: n ? n.runWhen : null
        }), this.handlers.length - 1;
    }
    /**
     * Remove an interceptor from the stack
     *
     * @param {Number} id The ID that was returned by `use`
     *
     * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
     */
    eject(t) {
        this.handlers[t] && (this.handlers[t] = null);
    }
    /**
     * Clear all interceptors from the stack
     *
     * @returns {void}
     */
    clear() {
        this.handlers && (this.handlers = []);
    }
    /**
     * Iterate over all the registered interceptors
     *
     * This method is particularly useful for skipping over any
     * interceptors that may have become `null` calling `eject`.
     *
     * @param {Function} fn The function to call for each interceptor
     *
     * @returns {void}
     */
    forEach(t) {
        b.forEach(this.handlers, function(n) {
            n !== null && t(n);
        });
    }
}
const Hr = {
    silentJSONParsing: !0,
    forcedJSONParsing: !0,
    clarifyTimeoutError: !1
}, fs = typeof URLSearchParams < "u" ? URLSearchParams : Rt, ps = typeof FormData < "u" ? FormData : null, ds = typeof Blob < "u" ? Blob : null, ms = {
    isBrowser: !0,
    classes: {
        URLSearchParams: fs,
        FormData: ps,
        Blob: ds
    },
    protocols: ["http", "https", "file", "blob", "url", "data"]
}, Mt = typeof window < "u" && typeof document < "u", et = typeof navigator == "object" && navigator || void 0, gs = Mt && (!et || ["ReactNative", "NativeScript", "NS"].indexOf(et.product) < 0), vs = typeof WorkerGlobalScope < "u" && // eslint-disable-next-line no-undef
    self instanceof WorkerGlobalScope && typeof self.importScripts == "function", _s = Mt && window.location.href || "http://localhost", ys = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
    __proto__: null,
    hasBrowserEnv: Mt,
    hasStandardBrowserEnv: gs,
    hasStandardBrowserWebWorkerEnv: vs,
    navigator: et,
    origin: _s
}, Symbol.toStringTag, { value: "Module" })), M = {
    ...ys,
    ...ms
};
function Ss(e, t) {
    return Ie(e, new M.classes.URLSearchParams(), Object.assign({
        visitor: function(r, n, s, o) {
            return M.isNode && b.isBuffer(r) ? (this.append(n, r.toString("base64")), !1) : o.defaultVisitor.apply(this, arguments);
        }
    }, t));
}
function bs(e) {
    return b.matchAll(/\w+|\[(\w*)]/g, e).map((t) => t[0] === "[]" ? "" : t[1] || t[0]);
}
function ws(e) {
    const t = {}, r = Object.keys(e);
    let n;
    const s = r.length;
    let o;
    for (n = 0; n < s; n++)
        o = r[n], t[o] = e[o];
    return t;
}
function qr(e) {
    function t(r, n, s, o) {
        let i = r[o++];
        if (i === "__proto__") return !0;
        const u = Number.isFinite(+i), a = o >= r.length;
        return i = !i && b.isArray(s) ? s.length : i, a ? (b.hasOwnProp(s, i) ? s[i] = [s[i], n] : s[i] = n, !u) : ((!s[i] || !b.isObject(s[i])) && (s[i] = []), t(r, n, s[i], o) && b.isArray(s[i]) && (s[i] = ws(s[i])), !u);
    }
    if (b.isFormData(e) && b.isFunction(e.entries)) {
        const r = {};
        return b.forEachEntry(e, (n, s) => {
            t(bs(n), s, r, 0);
        }), r;
    }
    return null;
}
function Es(e, t, r) {
    if (b.isString(e))
        try {
            return (t || JSON.parse)(e), b.trim(e);
        } catch (n) {
            if (n.name !== "SyntaxError")
                throw n;
        }
    return (r || JSON.stringify)(e);
}
const fe = {
    transitional: Hr,
    adapter: ["xhr", "http", "fetch"],
    transformRequest: [function(t, r) {
        const n = r.getContentType() || "", s = n.indexOf("application/json") > -1, o = b.isObject(t);
        if (o && b.isHTMLForm(t) && (t = new FormData(t)), b.isFormData(t))
            return s ? JSON.stringify(qr(t)) : t;
        if (b.isArrayBuffer(t) || b.isBuffer(t) || b.isStream(t) || b.isFile(t) || b.isBlob(t) || b.isReadableStream(t))
            return t;
        if (b.isArrayBufferView(t))
            return t.buffer;
        if (b.isURLSearchParams(t))
            return r.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), t.toString();
        let u;
        if (o) {
            if (n.indexOf("application/x-www-form-urlencoded") > -1)
                return Ss(t, this.formSerializer).toString();
            if ((u = b.isFileList(t)) || n.indexOf("multipart/form-data") > -1) {
                const a = this.env && this.env.FormData;
                return Ie(
                    u ? { "files[]": t } : t,
                    a && new a(),
                    this.formSerializer
                );
            }
        }
        return o || s ? (r.setContentType("application/json", !1), Es(t)) : t;
    }],
    transformResponse: [function(t) {
        const r = this.transitional || fe.transitional, n = r && r.forcedJSONParsing, s = this.responseType === "json";
        if (b.isResponse(t) || b.isReadableStream(t))
            return t;
        if (t && b.isString(t) && (n && !this.responseType || s)) {
            const i = !(r && r.silentJSONParsing) && s;
            try {
                return JSON.parse(t);
            } catch (u) {
                if (i)
                    throw u.name === "SyntaxError" ? C.from(u, C.ERR_BAD_RESPONSE, this, null, this.response) : u;
            }
        }
        return t;
    }],
    /**
     * A timeout in milliseconds to abort a request. If set to 0 (default) a
     * timeout is not created.
     */
    timeout: 0,
    xsrfCookieName: "XSRF-TOKEN",
    xsrfHeaderName: "X-XSRF-TOKEN",
    maxContentLength: -1,
    maxBodyLength: -1,
    env: {
        FormData: M.classes.FormData,
        Blob: M.classes.Blob
    },
    validateStatus: function(t) {
        return t >= 200 && t < 300;
    },
    headers: {
        common: {
            Accept: "application/json, text/plain, */*",
            "Content-Type": void 0
        }
    }
};
b.forEach(["delete", "get", "head", "post", "put", "patch"], (e) => {
    fe.headers[e] = {};
});
const ks = b.toObjectSet([
    "age",
    "authorization",
    "content-length",
    "content-type",
    "etag",
    "expires",
    "from",
    "host",
    "if-modified-since",
    "if-unmodified-since",
    "last-modified",
    "location",
    "max-forwards",
    "proxy-authorization",
    "referer",
    "retry-after",
    "user-agent"
]), xs = (e) => {
    const t = {};
    let r, n, s;
    return e && e.split(`
`).forEach(function(i) {
        s = i.indexOf(":"), r = i.substring(0, s).trim().toLowerCase(), n = i.substring(s + 1).trim(), !(!r || t[r] && ks[r]) && (r === "set-cookie" ? t[r] ? t[r].push(n) : t[r] = [n] : t[r] = t[r] ? t[r] + ", " + n : n);
    }), t;
}, Jt = Symbol("internals");
function se(e) {
    return e && String(e).trim().toLowerCase();
}
function we(e) {
    return e === !1 || e == null ? e : b.isArray(e) ? e.map(we) : String(e);
}
function Cs(e) {
    const t = /* @__PURE__ */ Object.create(null), r = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
    let n;
    for (; n = r.exec(e); )
        t[n[1]] = n[2];
    return t;
}
const Ps = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
function He(e, t, r, n, s) {
    if (b.isFunction(n))
        return n.call(this, t, r);
    if (s && (t = r), !!b.isString(t)) {
        if (b.isString(n))
            return t.indexOf(n) !== -1;
        if (b.isRegExp(n))
            return n.test(t);
    }
}
function Ls(e) {
    return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (t, r, n) => r.toUpperCase() + n);
}
function As(e, t) {
    const r = b.toCamelCase(" " + t);
    ["get", "set", "has"].forEach((n) => {
        Object.defineProperty(e, n + r, {
            value: function(s, o, i) {
                return this[n].call(this, t, s, o, i);
            },
            configurable: !0
        });
    });
}
let N = class {
    constructor(t) {
        t && this.set(t);
    }
    set(t, r, n) {
        const s = this;
        function o(u, a, f) {
            const l = se(a);
            if (!l)
                throw new Error("header name must be a non-empty string");
            const d = b.findKey(s, l);
            (!d || s[d] === void 0 || f === !0 || f === void 0 && s[d] !== !1) && (s[d || a] = we(u));
        }
        const i = (u, a) => b.forEach(u, (f, l) => o(f, l, a));
        if (b.isPlainObject(t) || t instanceof this.constructor)
            i(t, r);
        else if (b.isString(t) && (t = t.trim()) && !Ps(t))
            i(xs(t), r);
        else if (b.isHeaders(t))
            for (const [u, a] of t.entries())
                o(a, u, n);
        else
            t != null && o(r, t, n);
        return this;
    }
    get(t, r) {
        if (t = se(t), t) {
            const n = b.findKey(this, t);
            if (n) {
                const s = this[n];
                if (!r)
                    return s;
                if (r === !0)
                    return Cs(s);
                if (b.isFunction(r))
                    return r.call(this, s, n);
                if (b.isRegExp(r))
                    return r.exec(s);
                throw new TypeError("parser must be boolean|regexp|function");
            }
        }
    }
    has(t, r) {
        if (t = se(t), t) {
            const n = b.findKey(this, t);
            return !!(n && this[n] !== void 0 && (!r || He(this, this[n], n, r)));
        }
        return !1;
    }
    delete(t, r) {
        const n = this;
        let s = !1;
        function o(i) {
            if (i = se(i), i) {
                const u = b.findKey(n, i);
                u && (!r || He(n, n[u], u, r)) && (delete n[u], s = !0);
            }
        }
        return b.isArray(t) ? t.forEach(o) : o(t), s;
    }
    clear(t) {
        const r = Object.keys(this);
        let n = r.length, s = !1;
        for (; n--; ) {
            const o = r[n];
            (!t || He(this, this[o], o, t, !0)) && (delete this[o], s = !0);
        }
        return s;
    }
    normalize(t) {
        const r = this, n = {};
        return b.forEach(this, (s, o) => {
            const i = b.findKey(n, o);
            if (i) {
                r[i] = we(s), delete r[o];
                return;
            }
            const u = t ? Ls(o) : String(o).trim();
            u !== o && delete r[o], r[u] = we(s), n[u] = !0;
        }), this;
    }
    concat(...t) {
        return this.constructor.concat(this, ...t);
    }
    toJSON(t) {
        const r = /* @__PURE__ */ Object.create(null);
        return b.forEach(this, (n, s) => {
            n != null && n !== !1 && (r[s] = t && b.isArray(n) ? n.join(", ") : n);
        }), r;
    }
    [Symbol.iterator]() {
        return Object.entries(this.toJSON())[Symbol.iterator]();
    }
    toString() {
        return Object.entries(this.toJSON()).map(([t, r]) => t + ": " + r).join(`
`);
    }
    get [Symbol.toStringTag]() {
        return "AxiosHeaders";
    }
    static from(t) {
        return t instanceof this ? t : new this(t);
    }
    static concat(t, ...r) {
        const n = new this(t);
        return r.forEach((s) => n.set(s)), n;
    }
    static accessor(t) {
        const n = (this[Jt] = this[Jt] = {
            accessors: {}
        }).accessors, s = this.prototype;
        function o(i) {
            const u = se(i);
            n[u] || (As(s, i), n[u] = !0);
        }
        return b.isArray(t) ? t.forEach(o) : o(t), this;
    }
};
N.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
b.reduceDescriptors(N.prototype, ({ value: e }, t) => {
    let r = t[0].toUpperCase() + t.slice(1);
    return {
        get: () => e,
        set(n) {
            this[r] = n;
        }
    };
});
b.freezeMethods(N);
function qe(e, t) {
    const r = this || fe, n = t || r, s = N.from(n.headers);
    let o = n.data;
    return b.forEach(e, function(u) {
        o = u.call(r, o, s.normalize(), t ? t.status : void 0);
    }), s.normalize(), o;
}
function Ur(e) {
    return !!(e && e.__CANCEL__);
}
function te(e, t, r) {
    C.call(this, e ?? "canceled", C.ERR_CANCELED, t, r), this.name = "CanceledError";
}
b.inherits(te, C, {
    __CANCEL__: !0
});
function Vr(e, t, r) {
    const n = r.config.validateStatus;
    !r.status || !n || n(r.status) ? e(r) : t(new C(
        "Request failed with status code " + r.status,
        [C.ERR_BAD_REQUEST, C.ERR_BAD_RESPONSE][Math.floor(r.status / 100) - 4],
        r.config,
        r.request,
        r
    ));
}
function Os(e) {
    const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
    return t && t[1] || "";
}
function Rs(e, t) {
    e = e || 10;
    const r = new Array(e), n = new Array(e);
    let s = 0, o = 0, i;
    return t = t !== void 0 ? t : 1e3, function(a) {
        const f = Date.now(), l = n[o];
        i || (i = f), r[s] = a, n[s] = f;
        let d = o, h = 0;
        for (; d !== s; )
            h += r[d++], d = d % e;
        if (s = (s + 1) % e, s === o && (o = (o + 1) % e), f - i < t)
            return;
        const p = l && f - l;
        return p ? Math.round(h * 1e3 / p) : void 0;
    };
}
function Ms(e, t) {
    let r = 0, n = 1e3 / t, s, o;
    const i = (f, l = Date.now()) => {
        r = l, s = null, o && (clearTimeout(o), o = null), e.apply(null, f);
    };
    return [(...f) => {
        const l = Date.now(), d = l - r;
        d >= n ? i(f, l) : (s = f, o || (o = setTimeout(() => {
            o = null, i(s);
        }, n - d)));
    }, () => s && i(s)];
}
const Pe = (e, t, r = 3) => {
    let n = 0;
    const s = Rs(50, 250);
    return Ms((o) => {
        const i = o.loaded, u = o.lengthComputable ? o.total : void 0, a = i - n, f = s(a), l = i <= u;
        n = i;
        const d = {
            loaded: i,
            total: u,
            progress: u ? i / u : void 0,
            bytes: a,
            rate: f || void 0,
            estimated: f && u && l ? (u - i) / f : void 0,
            event: o,
            lengthComputable: u != null,
            [t ? "download" : "upload"]: !0
        };
        e(d);
    }, r);
}, Kt = (e, t) => {
    const r = e != null;
    return [(n) => t[0]({
        lengthComputable: r,
        total: e,
        loaded: n
    }), t[1]];
}, Xt = (e) => (...t) => b.asap(() => e(...t)), Ns = M.hasStandardBrowserEnv ? /* @__PURE__ */ ((e, t) => (r) => (r = new URL(r, M.origin), e.protocol === r.protocol && e.host === r.host && (t || e.port === r.port)))(
    new URL(M.origin),
    M.navigator && /(msie|trident)/i.test(M.navigator.userAgent)
) : () => !0, Ts = M.hasStandardBrowserEnv ? (
    // Standard browser envs support document.cookie
    {
        write(e, t, r, n, s, o) {
            const i = [e + "=" + encodeURIComponent(t)];
            b.isNumber(r) && i.push("expires=" + new Date(r).toGMTString()), b.isString(n) && i.push("path=" + n), b.isString(s) && i.push("domain=" + s), o === !0 && i.push("secure"), document.cookie = i.join("; ");
        },
        read(e) {
            const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
            return t ? decodeURIComponent(t[3]) : null;
        },
        remove(e) {
            this.write(e, "", Date.now() - 864e5);
        }
    }
) : (
    // Non-standard browser env (web workers, react-native) lack needed support.
    {
        write() {
        },
        read() {
            return null;
        },
        remove() {
        }
    }
);
function Is(e) {
    return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e);
}
function Ds(e, t) {
    return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
}
function zr(e, t) {
    return e && !Is(t) ? Ds(e, t) : t;
}
const Qt = (e) => e instanceof N ? { ...e } : e;
function Q(e, t) {
    t = t || {};
    const r = {};
    function n(f, l, d, h) {
        return b.isPlainObject(f) && b.isPlainObject(l) ? b.merge.call({ caseless: h }, f, l) : b.isPlainObject(l) ? b.merge({}, l) : b.isArray(l) ? l.slice() : l;
    }
    function s(f, l, d, h) {
        if (b.isUndefined(l)) {
            if (!b.isUndefined(f))
                return n(void 0, f, d, h);
        } else return n(f, l, d, h);
    }
    function o(f, l) {
        if (!b.isUndefined(l))
            return n(void 0, l);
    }
    function i(f, l) {
        if (b.isUndefined(l)) {
            if (!b.isUndefined(f))
                return n(void 0, f);
        } else return n(void 0, l);
    }
    function u(f, l, d) {
        if (d in t)
            return n(f, l);
        if (d in e)
            return n(void 0, f);
    }
    const a = {
        url: o,
        method: o,
        data: o,
        baseURL: i,
        transformRequest: i,
        transformResponse: i,
        paramsSerializer: i,
        timeout: i,
        timeoutMessage: i,
        withCredentials: i,
        withXSRFToken: i,
        adapter: i,
        responseType: i,
        xsrfCookieName: i,
        xsrfHeaderName: i,
        onUploadProgress: i,
        onDownloadProgress: i,
        decompress: i,
        maxContentLength: i,
        maxBodyLength: i,
        beforeRedirect: i,
        transport: i,
        httpAgent: i,
        httpsAgent: i,
        cancelToken: i,
        socketPath: i,
        responseEncoding: i,
        validateStatus: u,
        headers: (f, l, d) => s(Qt(f), Qt(l), d, !0)
    };
    return b.forEach(Object.keys(Object.assign({}, e, t)), function(l) {
        const d = a[l] || s, h = d(e[l], t[l], l);
        b.isUndefined(h) && d !== u || (r[l] = h);
    }), r;
}
const Gr = (e) => {
    const t = Q({}, e);
    let { data: r, withXSRFToken: n, xsrfHeaderName: s, xsrfCookieName: o, headers: i, auth: u } = t;
    t.headers = i = N.from(i), t.url = Fr(zr(t.baseURL, t.url), e.params, e.paramsSerializer), u && i.set(
        "Authorization",
        "Basic " + btoa((u.username || "") + ":" + (u.password ? unescape(encodeURIComponent(u.password)) : ""))
    );
    let a;
    if (b.isFormData(r)) {
        if (M.hasStandardBrowserEnv || M.hasStandardBrowserWebWorkerEnv)
            i.setContentType(void 0);
        else if ((a = i.getContentType()) !== !1) {
            const [f, ...l] = a ? a.split(";").map((d) => d.trim()).filter(Boolean) : [];
            i.setContentType([f || "multipart/form-data", ...l].join("; "));
        }
    }
    if (M.hasStandardBrowserEnv && (n && b.isFunction(n) && (n = n(t)), n || n !== !1 && Ns(t.url))) {
        const f = s && o && Ts.read(o);
        f && i.set(s, f);
    }
    return t;
}, Bs = typeof XMLHttpRequest < "u", Fs = Bs && function(e) {
    return new Promise(function(r, n) {
        const s = Gr(e);
        let o = s.data;
        const i = N.from(s.headers).normalize();
        let { responseType: u, onUploadProgress: a, onDownloadProgress: f } = s, l, d, h, p, c;
        function g() {
            p && p(), c && c(), s.cancelToken && s.cancelToken.unsubscribe(l), s.signal && s.signal.removeEventListener("abort", l);
        }
        let m = new XMLHttpRequest();
        m.open(s.method.toUpperCase(), s.url, !0), m.timeout = s.timeout;
        function S() {
            if (!m)
                return;
            const w = N.from(
                "getAllResponseHeaders" in m && m.getAllResponseHeaders()
            ), y = {
                data: !u || u === "text" || u === "json" ? m.responseText : m.response,
                status: m.status,
                statusText: m.statusText,
                headers: w,
                config: e,
                request: m
            };
            Vr(function(E) {
                r(E), g();
            }, function(E) {
                n(E), g();
            }, y), m = null;
        }
        "onloadend" in m ? m.onloadend = S : m.onreadystatechange = function() {
            !m || m.readyState !== 4 || m.status === 0 && !(m.responseURL && m.responseURL.indexOf("file:") === 0) || setTimeout(S);
        }, m.onabort = function() {
            m && (n(new C("Request aborted", C.ECONNABORTED, e, m)), m = null);
        }, m.onerror = function() {
            n(new C("Network Error", C.ERR_NETWORK, e, m)), m = null;
        }, m.ontimeout = function() {
            let v = s.timeout ? "timeout of " + s.timeout + "ms exceeded" : "timeout exceeded";
            const y = s.transitional || Hr;
            s.timeoutErrorMessage && (v = s.timeoutErrorMessage), n(new C(
                v,
                y.clarifyTimeoutError ? C.ETIMEDOUT : C.ECONNABORTED,
                e,
                m
            )), m = null;
        }, o === void 0 && i.setContentType(null), "setRequestHeader" in m && b.forEach(i.toJSON(), function(v, y) {
            m.setRequestHeader(y, v);
        }), b.isUndefined(s.withCredentials) || (m.withCredentials = !!s.withCredentials), u && u !== "json" && (m.responseType = s.responseType), f && ([h, c] = Pe(f, !0), m.addEventListener("progress", h)), a && m.upload && ([d, p] = Pe(a), m.upload.addEventListener("progress", d), m.upload.addEventListener("loadend", p)), (s.cancelToken || s.signal) && (l = (w) => {
            m && (n(!w || w.type ? new te(null, e, m) : w), m.abort(), m = null);
        }, s.cancelToken && s.cancelToken.subscribe(l), s.signal && (s.signal.aborted ? l() : s.signal.addEventListener("abort", l)));
        const _ = Os(s.url);
        if (_ && M.protocols.indexOf(_) === -1) {
            n(new C("Unsupported protocol " + _ + ":", C.ERR_BAD_REQUEST, e));
            return;
        }
        m.send(o || null);
    });
}, Hs = (e, t) => {
    const { length: r } = e = e ? e.filter(Boolean) : [];
    if (t || r) {
        let n = new AbortController(), s;
        const o = function(f) {
            if (!s) {
                s = !0, u();
                const l = f instanceof Error ? f : this.reason;
                n.abort(l instanceof C ? l : new te(l instanceof Error ? l.message : l));
            }
        };
        let i = t && setTimeout(() => {
            i = null, o(new C(`timeout ${t} of ms exceeded`, C.ETIMEDOUT));
        }, t);
        const u = () => {
            e && (i && clearTimeout(i), i = null, e.forEach((f) => {
                f.unsubscribe ? f.unsubscribe(o) : f.removeEventListener("abort", o);
            }), e = null);
        };
        e.forEach((f) => f.addEventListener("abort", o));
        const { signal: a } = n;
        return a.unsubscribe = () => b.asap(u), a;
    }
}, qs = function* (e, t) {
    let r = e.byteLength;
    if (r < t) {
        yield e;
        return;
    }
    let n = 0, s;
    for (; n < r; )
        s = n + t, yield e.slice(n, s), n = s;
}, Us = async function* (e, t) {
    for await (const r of Vs(e))
        yield* qs(r, t);
}, Vs = async function* (e) {
    if (e[Symbol.asyncIterator]) {
        yield* e;
        return;
    }
    const t = e.getReader();
    try {
        for (; ; ) {
            const { done: r, value: n } = await t.read();
            if (r)
                break;
            yield n;
        }
    } finally {
        await t.cancel();
    }
}, Yt = (e, t, r, n) => {
    const s = Us(e, t);
    let o = 0, i, u = (a) => {
        i || (i = !0, n && n(a));
    };
    return new ReadableStream({
        async pull(a) {
            try {
                const { done: f, value: l } = await s.next();
                if (f) {
                    u(), a.close();
                    return;
                }
                let d = l.byteLength;
                if (r) {
                    let h = o += d;
                    r(h);
                }
                a.enqueue(new Uint8Array(l));
            } catch (f) {
                throw u(f), f;
            }
        },
        cancel(a) {
            return u(a), s.return();
        }
    }, {
        highWaterMark: 2
    });
}, De = typeof fetch == "function" && typeof Request == "function" && typeof Response == "function", Wr = De && typeof ReadableStream == "function", zs = De && (typeof TextEncoder == "function" ? /* @__PURE__ */ ((e) => (t) => e.encode(t))(new TextEncoder()) : async (e) => new Uint8Array(await new Response(e).arrayBuffer())), jr = (e, ...t) => {
    try {
        return !!e(...t);
    } catch {
        return !1;
    }
}, Gs = Wr && jr(() => {
    let e = !1;
    const t = new Request(M.origin, {
        body: new ReadableStream(),
        method: "POST",
        get duplex() {
            return e = !0, "half";
        }
    }).headers.has("Content-Type");
    return e && !t;
}), Zt = 64 * 1024, tt = Wr && jr(() => b.isReadableStream(new Response("").body)), Le = {
    stream: tt && ((e) => e.body)
};
De && ((e) => {
    ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((t) => {
        !Le[t] && (Le[t] = b.isFunction(e[t]) ? (r) => r[t]() : (r, n) => {
            throw new C(`Response type '${t}' is not supported`, C.ERR_NOT_SUPPORT, n);
        });
    });
})(new Response());
const Ws = async (e) => {
    if (e == null)
        return 0;
    if (b.isBlob(e))
        return e.size;
    if (b.isSpecCompliantForm(e))
        return (await new Request(M.origin, {
            method: "POST",
            body: e
        }).arrayBuffer()).byteLength;
    if (b.isArrayBufferView(e) || b.isArrayBuffer(e))
        return e.byteLength;
    if (b.isURLSearchParams(e) && (e = e + ""), b.isString(e))
        return (await zs(e)).byteLength;
}, js = async (e, t) => {
    const r = b.toFiniteNumber(e.getContentLength());
    return r ?? Ws(t);
}, Js = De && (async (e) => {
    let {
        url: t,
        method: r,
        data: n,
        signal: s,
        cancelToken: o,
        timeout: i,
        onDownloadProgress: u,
        onUploadProgress: a,
        responseType: f,
        headers: l,
        withCredentials: d = "same-origin",
        fetchOptions: h
    } = Gr(e);
    f = f ? (f + "").toLowerCase() : "text";
    let p = Hs([s, o && o.toAbortSignal()], i), c;
    const g = p && p.unsubscribe && (() => {
        p.unsubscribe();
    });
    let m;
    try {
        if (a && Gs && r !== "get" && r !== "head" && (m = await js(l, n)) !== 0) {
            let y = new Request(t, {
                method: "POST",
                body: n,
                duplex: "half"
            }), k;
            if (b.isFormData(n) && (k = y.headers.get("content-type")) && l.setContentType(k), y.body) {
                const [E, x] = Kt(
                    m,
                    Pe(Xt(a))
                );
                n = Yt(y.body, Zt, E, x);
            }
        }
        b.isString(d) || (d = d ? "include" : "omit");
        const S = "credentials" in Request.prototype;
        c = new Request(t, {
            ...h,
            signal: p,
            method: r.toUpperCase(),
            headers: l.normalize().toJSON(),
            body: n,
            duplex: "half",
            credentials: S ? d : void 0
        });
        let _ = await fetch(c);
        const w = tt && (f === "stream" || f === "response");
        if (tt && (u || w && g)) {
            const y = {};
            ["status", "statusText", "headers"].forEach((L) => {
                y[L] = _[L];
            });
            const k = b.toFiniteNumber(_.headers.get("content-length")), [E, x] = u && Kt(
                k,
                Pe(Xt(u), !0)
            ) || [];
            _ = new Response(
                Yt(_.body, Zt, E, () => {
                    x && x(), g && g();
                }),
                y
            );
        }
        f = f || "text";
        let v = await Le[b.findKey(Le, f) || "text"](_, e);
        return !w && g && g(), await new Promise((y, k) => {
            Vr(y, k, {
                data: v,
                headers: N.from(_.headers),
                status: _.status,
                statusText: _.statusText,
                config: e,
                request: c
            });
        });
    } catch (S) {
        throw g && g(), S && S.name === "TypeError" && /fetch/i.test(S.message) ? Object.assign(
            new C("Network Error", C.ERR_NETWORK, e, c),
            {
                cause: S.cause || S
            }
        ) : C.from(S, S && S.code, e, c);
    }
}), rt = {
    http: ls,
    xhr: Fs,
    fetch: Js
};
b.forEach(rt, (e, t) => {
    if (e) {
        try {
            Object.defineProperty(e, "name", { value: t });
        } catch {
        }
        Object.defineProperty(e, "adapterName", { value: t });
    }
});
const $t = (e) => `- ${e}`, Ks = (e) => b.isFunction(e) || e === null || e === !1, Jr = {
    getAdapter: (e) => {
        e = b.isArray(e) ? e : [e];
        const { length: t } = e;
        let r, n;
        const s = {};
        for (let o = 0; o < t; o++) {
            r = e[o];
            let i;
            if (n = r, !Ks(r) && (n = rt[(i = String(r)).toLowerCase()], n === void 0))
                throw new C(`Unknown adapter '${i}'`);
            if (n)
                break;
            s[i || "#" + o] = n;
        }
        if (!n) {
            const o = Object.entries(s).map(
                ([u, a]) => `adapter ${u} ` + (a === !1 ? "is not supported by the environment" : "is not available in the build")
            );
            let i = t ? o.length > 1 ? `since :
` + o.map($t).join(`
`) : " " + $t(o[0]) : "as no adapter specified";
            throw new C(
                "There is no suitable adapter to dispatch the request " + i,
                "ERR_NOT_SUPPORT"
            );
        }
        return n;
    },
    adapters: rt
};
function Ue(e) {
    if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted)
        throw new te(null, e);
}
function er(e) {
    return Ue(e), e.headers = N.from(e.headers), e.data = qe.call(
        e,
        e.transformRequest
    ), ["post", "put", "patch"].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), Jr.getAdapter(e.adapter || fe.adapter)(e).then(function(n) {
        return Ue(e), n.data = qe.call(
            e,
            e.transformResponse,
            n
        ), n.headers = N.from(n.headers), n;
    }, function(n) {
        return Ur(n) || (Ue(e), n && n.response && (n.response.data = qe.call(
            e,
            e.transformResponse,
            n.response
        ), n.response.headers = N.from(n.response.headers))), Promise.reject(n);
    });
}
const Kr = "1.7.9", Be = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((e, t) => {
    Be[e] = function(n) {
        return typeof n === e || "a" + (t < 1 ? "n " : " ") + e;
    };
});
const tr = {};
Be.transitional = function(t, r, n) {
    function s(o, i) {
        return "[Axios v" + Kr + "] Transitional option '" + o + "'" + i + (n ? ". " + n : "");
    }
    return (o, i, u) => {
        if (t === !1)
            throw new C(
                s(i, " has been removed" + (r ? " in " + r : "")),
                C.ERR_DEPRECATED
            );
        return r && !tr[i] && (tr[i] = !0, console.warn(
            s(
                i,
                " has been deprecated since v" + r + " and will be removed in the near future"
            )
        )), t ? t(o, i, u) : !0;
    };
};
Be.spelling = function(t) {
    return (r, n) => (console.warn(`${n} is likely a misspelling of ${t}`), !0);
};
function Xs(e, t, r) {
    if (typeof e != "object")
        throw new C("options must be an object", C.ERR_BAD_OPTION_VALUE);
    const n = Object.keys(e);
    let s = n.length;
    for (; s-- > 0; ) {
        const o = n[s], i = t[o];
        if (i) {
            const u = e[o], a = u === void 0 || i(u, o, e);
            if (a !== !0)
                throw new C("option " + o + " must be " + a, C.ERR_BAD_OPTION_VALUE);
            continue;
        }
        if (r !== !0)
            throw new C("Unknown option " + o, C.ERR_BAD_OPTION);
    }
}
const Ee = {
    assertOptions: Xs,
    validators: Be
}, H = Ee.validators;
let X = class {
    constructor(t) {
        this.defaults = t, this.interceptors = {
            request: new jt(),
            response: new jt()
        };
    }
    /**
     * Dispatch a request
     *
     * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
     * @param {?Object} config
     *
     * @returns {Promise} The Promise to be fulfilled
     */
    async request(t, r) {
        try {
            return await this._request(t, r);
        } catch (n) {
            if (n instanceof Error) {
                let s = {};
                Error.captureStackTrace ? Error.captureStackTrace(s) : s = new Error();
                const o = s.stack ? s.stack.replace(/^.+\n/, "") : "";
                try {
                    n.stack ? o && !String(n.stack).endsWith(o.replace(/^.+\n.+\n/, "")) && (n.stack += `
` + o) : n.stack = o;
                } catch {
                }
            }
            throw n;
        }
    }
    _request(t, r) {
        typeof t == "string" ? (r = r || {}, r.url = t) : r = t || {}, r = Q(this.defaults, r);
        const { transitional: n, paramsSerializer: s, headers: o } = r;
        n !== void 0 && Ee.assertOptions(n, {
            silentJSONParsing: H.transitional(H.boolean),
            forcedJSONParsing: H.transitional(H.boolean),
            clarifyTimeoutError: H.transitional(H.boolean)
        }, !1), s != null && (b.isFunction(s) ? r.paramsSerializer = {
            serialize: s
        } : Ee.assertOptions(s, {
            encode: H.function,
            serialize: H.function
        }, !0)), Ee.assertOptions(r, {
            baseUrl: H.spelling("baseURL"),
            withXsrfToken: H.spelling("withXSRFToken")
        }, !0), r.method = (r.method || this.defaults.method || "get").toLowerCase();
        let i = o && b.merge(
            o.common,
            o[r.method]
        );
        o && b.forEach(
            ["delete", "get", "head", "post", "put", "patch", "common"],
            (c) => {
                delete o[c];
            }
        ), r.headers = N.concat(i, o);
        const u = [];
        let a = !0;
        this.interceptors.request.forEach(function(g) {
            typeof g.runWhen == "function" && g.runWhen(r) === !1 || (a = a && g.synchronous, u.unshift(g.fulfilled, g.rejected));
        });
        const f = [];
        this.interceptors.response.forEach(function(g) {
            f.push(g.fulfilled, g.rejected);
        });
        let l, d = 0, h;
        if (!a) {
            const c = [er.bind(this), void 0];
            for (c.unshift.apply(c, u), c.push.apply(c, f), h = c.length, l = Promise.resolve(r); d < h; )
                l = l.then(c[d++], c[d++]);
            return l;
        }
        h = u.length;
        let p = r;
        for (d = 0; d < h; ) {
            const c = u[d++], g = u[d++];
            try {
                p = c(p);
            } catch (m) {
                g.call(this, m);
                break;
            }
        }
        try {
            l = er.call(this, p);
        } catch (c) {
            return Promise.reject(c);
        }
        for (d = 0, h = f.length; d < h; )
            l = l.then(f[d++], f[d++]);
        return l;
    }
    getUri(t) {
        t = Q(this.defaults, t);
        const r = zr(t.baseURL, t.url);
        return Fr(r, t.params, t.paramsSerializer);
    }
};
b.forEach(["delete", "get", "head", "options"], function(t) {
    X.prototype[t] = function(r, n) {
        return this.request(Q(n || {}, {
            method: t,
            url: r,
            data: (n || {}).data
        }));
    };
});
b.forEach(["post", "put", "patch"], function(t) {
    function r(n) {
        return function(o, i, u) {
            return this.request(Q(u || {}, {
                method: t,
                headers: n ? {
                    "Content-Type": "multipart/form-data"
                } : {},
                url: o,
                data: i
            }));
        };
    }
    X.prototype[t] = r(), X.prototype[t + "Form"] = r(!0);
});
let Qs = class Xr {
    constructor(t) {
        if (typeof t != "function")
            throw new TypeError("executor must be a function.");
        let r;
        this.promise = new Promise(function(o) {
            r = o;
        });
        const n = this;
        this.promise.then((s) => {
            if (!n._listeners) return;
            let o = n._listeners.length;
            for (; o-- > 0; )
                n._listeners[o](s);
            n._listeners = null;
        }), this.promise.then = (s) => {
            let o;
            const i = new Promise((u) => {
                n.subscribe(u), o = u;
            }).then(s);
            return i.cancel = function() {
                n.unsubscribe(o);
            }, i;
        }, t(function(o, i, u) {
            n.reason || (n.reason = new te(o, i, u), r(n.reason));
        });
    }
    /**
     * Throws a `CanceledError` if cancellation has been requested.
     */
    throwIfRequested() {
        if (this.reason)
            throw this.reason;
    }
    /**
     * Subscribe to the cancel signal
     */
    subscribe(t) {
        if (this.reason) {
            t(this.reason);
            return;
        }
        this._listeners ? this._listeners.push(t) : this._listeners = [t];
    }
    /**
     * Unsubscribe from the cancel signal
     */
    unsubscribe(t) {
        if (!this._listeners)
            return;
        const r = this._listeners.indexOf(t);
        r !== -1 && this._listeners.splice(r, 1);
    }
    toAbortSignal() {
        const t = new AbortController(), r = (n) => {
            t.abort(n);
        };
        return this.subscribe(r), t.signal.unsubscribe = () => this.unsubscribe(r), t.signal;
    }
    /**
     * Returns an object that contains a new `CancelToken` and a function that, when called,
     * cancels the `CancelToken`.
     */
    static source() {
        let t;
        return {
            token: new Xr(function(s) {
                t = s;
            }),
            cancel: t
        };
    }
};
function Ys(e) {
    return function(r) {
        return e.apply(null, r);
    };
}
function Zs(e) {
    return b.isObject(e) && e.isAxiosError === !0;
}
const nt = {
    Continue: 100,
    SwitchingProtocols: 101,
    Processing: 102,
    EarlyHints: 103,
    Ok: 200,
    Created: 201,
    Accepted: 202,
    NonAuthoritativeInformation: 203,
    NoContent: 204,
    ResetContent: 205,
    PartialContent: 206,
    MultiStatus: 207,
    AlreadyReported: 208,
    ImUsed: 226,
    MultipleChoices: 300,
    MovedPermanently: 301,
    Found: 302,
    SeeOther: 303,
    NotModified: 304,
    UseProxy: 305,
    Unused: 306,
    TemporaryRedirect: 307,
    PermanentRedirect: 308,
    BadRequest: 400,
    Unauthorized: 401,
    PaymentRequired: 402,
    Forbidden: 403,
    NotFound: 404,
    MethodNotAllowed: 405,
    NotAcceptable: 406,
    ProxyAuthenticationRequired: 407,
    RequestTimeout: 408,
    Conflict: 409,
    Gone: 410,
    LengthRequired: 411,
    PreconditionFailed: 412,
    PayloadTooLarge: 413,
    UriTooLong: 414,
    UnsupportedMediaType: 415,
    RangeNotSatisfiable: 416,
    ExpectationFailed: 417,
    ImATeapot: 418,
    MisdirectedRequest: 421,
    UnprocessableEntity: 422,
    Locked: 423,
    FailedDependency: 424,
    TooEarly: 425,
    UpgradeRequired: 426,
    PreconditionRequired: 428,
    TooManyRequests: 429,
    RequestHeaderFieldsTooLarge: 431,
    UnavailableForLegalReasons: 451,
    InternalServerError: 500,
    NotImplemented: 501,
    BadGateway: 502,
    ServiceUnavailable: 503,
    GatewayTimeout: 504,
    HttpVersionNotSupported: 505,
    VariantAlsoNegotiates: 506,
    InsufficientStorage: 507,
    LoopDetected: 508,
    NotExtended: 510,
    NetworkAuthenticationRequired: 511
};
Object.entries(nt).forEach(([e, t]) => {
    nt[t] = e;
});
function Qr(e) {
    const t = new X(e), r = Cr(X.prototype.request, t);
    return b.extend(r, X.prototype, t, { allOwnKeys: !0 }), b.extend(r, t, null, { allOwnKeys: !0 }), r.create = function(s) {
        return Qr(Q(e, s));
    }, r;
}
const O = Qr(fe);
O.Axios = X;
O.CanceledError = te;
O.CancelToken = Qs;
O.isCancel = Ur;
O.VERSION = Kr;
O.toFormData = Ie;
O.AxiosError = C;
O.Cancel = O.CanceledError;
O.all = function(t) {
    return Promise.all(t);
};
O.spread = Ys;
O.isAxiosError = Zs;
O.mergeConfig = Q;
O.AxiosHeaders = N;
O.formToJSON = (e) => qr(b.isHTMLForm(e) ? new FormData(e) : e);
O.getAdapter = Jr.getAdapter;
O.HttpStatusCode = nt;
O.default = O;
const {
    Axios: Pa,
    AxiosError: La,
    CanceledError: Aa,
    isCancel: Oa,
    CancelToken: Ra,
    VERSION: Ma,
    all: Na,
    Cancel: Ta,
    isAxiosError: Ia,
    spread: Da,
    toFormData: Ba,
    AxiosHeaders: Fa,
    HttpStatusCode: Ha,
    formToJSON: qa,
    getAdapter: Ua,
    mergeConfig: Va
} = O;
/**
 * Class file
 *
 * Typescript version 5.5.3
 * @category SyncIT Athena XAI Recommender
 * @package namespace
 * @author Miljan Krstić <miljan.krstic@syncitgroup.com>
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @link https://syncitgroup.com/
 */
class $s {
    constructor() {
        ne(this, "headers");
        O.defaults.baseURL = void 0, this.headers = {
            "Content-Type": "application/json",
            Accept: "application/json"
        }, this.fetchInstance = this.fetchInstance.bind(this);
    }
    async fetchInstance({
                            url: t,
                            method: r,
                            body: n,
                            options: s
                        }) {
        try {
            const o = {
                method: r,
                headers: this.headers,
                data: JSON.stringify(n),
                ...s
            };
            return await O(t, o);
        } catch (o) {
            throw console.error(`Error in API request: ${o}`), o;
        }
    }
}
const ei = new $s();
/**
 * Class file
 *
 * Typescript version 5.5.3
 * @category SyncIT Athena XAI Recommender
 * @package namespace
 * @author Miljan Krstić <miljan.krstic@syncitgroup.com>
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @link https://syncitgroup.com/
 */
class ti {
    constructor() {
        ne(this, "events");
        this.events = {};
    }
    subscribe(t, r) {
        this.events[t] || (this.events[t] = []), this.events[t].push(r);
    }
    publish(t, r) {
        this.events[t] && this.events[t].forEach((n) => {
            n(r);
        });
    }
}
const Yr = new ti(), ri = (e) => {
    if (e.price)
        return e.price.minimal_price && e.price.maximal_price ? `
                    <div class="athena-price-container two-prices">
                        <div class="athena-minimal_maximal-price">
                            <span class="athena-price">${e.price.minimal_price_with_currency}</span>
                            <span class="athena-price">${e.price.maximal_price_with_currency}</span>
                        </div>
                    </div>
                ` : e.loyalty_price ? e.price.loyalty_price ? `
                    <div class="athena-price-container two-prices">
                        <span class="athena-price athena-price-when-sale">
                            ${e.price.regular_price_with_currency ? e.price.regular_price_with_currency : ""}
                        </span>
                        <span class="athena-price athena-sale-price">${e.price.loyalty_price_with_currency}</span>

                        ${e.best_month_price ? `<span class="athena-price athena-sale-best-month">${e.price.best_month_price_with_currency}</span>` : ""}
                    </div>
                ` : `
                    <div class="athena-price-container one-price">
                        <span class="athena-price">
                            ${e.price.regular_price_with_currency}
                        </span>

                        ${e.best_month_price ? `<span class="athena-price athena-sale-best-month">${e.price.best_month_price_with_currency}</span>` : ""}
                    </div>
                ` : e.price.special_price ? `
                   <div class="athena-price-container two-prices">
                        <span class="athena-price athena-price-when-sale">
                            ${e.price.regular_price_with_currency ? e.price.regular_price_with_currency : ""}
                        </span>
                        <span class="athena-price athena-sale-price">${e.price.special_price_with_currency}</span>

                        ${e.best_month_price ? `<span class="athena-price athena-sale-best-month">${e.price.best_month_price_with_currency}</span>` : ""}
                   </div>
                ` : `
                    <div class="athena-price-container one-price">
                        <span class="athena-price">
                            ${e.price.regular_price_with_currency ? e.price.regular_price_with_currency : ""}
                        </span>

                        ${e.best_month_price ? `<span class="athena-price athena-sale-best-month">${e.price.best_month_price_with_currency}</span>` : ""}
                    </div>
                `;
}, rr = (e) => {
    const t = ri(e);
    return `
        <div class="item product product-item athena-recommendation__product-item"
             ${e.id ? `data-element-id-product-recommendation="${e.id}"` : ""}
             ${e.original_sku ? `data-element-sku-product-recommendation="${e.original_sku}"` : ""}
             data-url-product-recommendation="${e.link ? e.link : ""}"
        >
            <a class="athena-product-item-link">
                ${e.price && e.price.discount_percentage !== 0 && typeof e.price.discount_percentage < "u" ? `
                    <span class="discount-div">
                        -${e.price.discount_percentage}%
                    </span>
                ` : ""}
                <span class="athena-product-item-photo">
                    ${e.image ? `
                        <img
                            class="athena-product-image-photo"
                            src="${e.image}"
                            alt="${e.name ? e.name : ""}"
                        />
                        
                        <span class="find-visual-similar">Find similar style</span>
                        
                    ` : ""}
                </span>
            </a>

            <span class="athena-product-item-details">
                <a class="athena-page-product-link">
                    <span class="athena-product-name" title="${e.name ? e.name : ""}">
                        ${e.name ? e.name : ""}
                    </span>
                </a>
                ${e.short_description ? `
                    <div class="athena-product-item-description">${e.short_description}</div>
                ` : ""}

                ${t || ""}
            </span>
        </div>
    `;
}, ni = () => {
    const e = Date.now().toString(16).padStart(12, "0");
    return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (t, r) => {
        const n = Math.random() * 16 | 0;
        return (r < 12 ? parseInt(e[r], 16) : t === "x" ? n : n & 3 | 8).toString(16);
    });
};
function si(e) {
    return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var st = { exports: {} }, it = { exports: {} }, I = {}, A = {};
A.__esModule = !0;
A.extend = Zr;
A.indexOf = ui;
A.escapeExpression = ci;
A.isEmpty = hi;
A.createFrame = fi;
A.blockParams = pi;
A.appendContextPath = di;
var ii = {
    "&": "&amp;",
    "<": "&lt;",
    ">": "&gt;",
    '"': "&quot;",
    "'": "&#x27;",
    "`": "&#x60;",
    "=": "&#x3D;"
}, oi = /[&<>"'`=]/g, ai = /[&<>"'`=]/;
function li(e) {
    return ii[e];
}
function Zr(e) {
    for (var t = 1; t < arguments.length; t++)
        for (var r in arguments[t])
            Object.prototype.hasOwnProperty.call(arguments[t], r) && (e[r] = arguments[t][r]);
    return e;
}
var Nt = Object.prototype.toString;
A.toString = Nt;
var ot = function(t) {
    return typeof t == "function";
};
ot(/x/) && (A.isFunction = ot = function(e) {
    return typeof e == "function" && Nt.call(e) === "[object Function]";
});
A.isFunction = ot;
var $r = Array.isArray || function(e) {
    return e && typeof e == "object" ? Nt.call(e) === "[object Array]" : !1;
};
A.isArray = $r;
function ui(e, t) {
    for (var r = 0, n = e.length; r < n; r++)
        if (e[r] === t)
            return r;
    return -1;
}
function ci(e) {
    if (typeof e != "string") {
        if (e && e.toHTML)
            return e.toHTML();
        if (e == null)
            return "";
        if (!e)
            return e + "";
        e = "" + e;
    }
    return ai.test(e) ? e.replace(oi, li) : e;
}
function hi(e) {
    return !e && e !== 0 ? !0 : !!($r(e) && e.length === 0);
}
function fi(e) {
    var t = Zr({}, e);
    return t._parent = e, t;
}
function pi(e, t) {
    return e.path = t, e;
}
function di(e, t) {
    return (e ? e + "." : "") + t;
}
var at = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    var r = ["description", "fileName", "lineNumber", "endLineNumber", "message", "name", "number", "stack"];
    function n(s, o) {
        var i = o && o.loc, u = void 0, a = void 0, f = void 0, l = void 0;
        i && (u = i.start.line, a = i.end.line, f = i.start.column, l = i.end.column, s += " - " + u + ":" + f);
        for (var d = Error.prototype.constructor.call(this, s), h = 0; h < r.length; h++)
            this[r[h]] = d[r[h]];
        Error.captureStackTrace && Error.captureStackTrace(this, n);
        try {
            i && (this.lineNumber = u, this.endLineNumber = a, Object.defineProperty ? (Object.defineProperty(this, "column", {
                value: f,
                enumerable: !0
            }), Object.defineProperty(this, "endColumn", {
                value: l,
                enumerable: !0
            })) : (this.column = f, this.endColumn = l));
        } catch {
        }
    }
    n.prototype = new Error(), t.default = n, e.exports = t.default;
})(at, at.exports);
var F = at.exports, pe = {}, lt = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    var r = A;
    t.default = function(n) {
        n.registerHelper("blockHelperMissing", function(s, o) {
            var i = o.inverse, u = o.fn;
            if (s === !0)
                return u(this);
            if (s === !1 || s == null)
                return i(this);
            if (r.isArray(s))
                return s.length > 0 ? (o.ids && (o.ids = [o.name]), n.helpers.each(s, o)) : i(this);
            if (o.data && o.ids) {
                var a = r.createFrame(o.data);
                a.contextPath = r.appendContextPath(o.data.contextPath, o.name), o = { data: a };
            }
            return u(s, o);
        });
    }, e.exports = t.default;
})(lt, lt.exports);
var mi = lt.exports, ut = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    function r(i) {
        return i && i.__esModule ? i : { default: i };
    }
    var n = A, s = F, o = r(s);
    t.default = function(i) {
        i.registerHelper("each", function(u, a) {
            if (!a)
                throw new o.default("Must pass iterator to #each");
            var f = a.fn, l = a.inverse, d = 0, h = "", p = void 0, c = void 0;
            a.data && a.ids && (c = n.appendContextPath(a.data.contextPath, a.ids[0]) + "."), n.isFunction(u) && (u = u.call(this)), a.data && (p = n.createFrame(a.data));
            function g(v, y, k) {
                p && (p.key = v, p.index = y, p.first = y === 0, p.last = !!k, c && (p.contextPath = c + v)), h = h + f(u[v], {
                    data: p,
                    blockParams: n.blockParams([u[v], v], [c + v, null])
                });
            }
            if (u && typeof u == "object")
                if (n.isArray(u))
                    for (var m = u.length; d < m; d++)
                        d in u && g(d, d, d === u.length - 1);
                else if (typeof Symbol == "function" && u[Symbol.iterator]) {
                    for (var S = [], _ = u[Symbol.iterator](), w = _.next(); !w.done; w = _.next())
                        S.push(w.value);
                    u = S;
                    for (var m = u.length; d < m; d++)
                        g(d, d, d === u.length - 1);
                } else
                    (function() {
                        var v = void 0;
                        Object.keys(u).forEach(function(y) {
                            v !== void 0 && g(v, d - 1), v = y, d++;
                        }), v !== void 0 && g(v, d - 1, !0);
                    })();
            return d === 0 && (h = l(this)), h;
        });
    }, e.exports = t.default;
})(ut, ut.exports);
var gi = ut.exports, ct = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    function r(o) {
        return o && o.__esModule ? o : { default: o };
    }
    var n = F, s = r(n);
    t.default = function(o) {
        o.registerHelper("helperMissing", function() {
            if (arguments.length !== 1)
                throw new s.default('Missing helper: "' + arguments[arguments.length - 1].name + '"');
        });
    }, e.exports = t.default;
})(ct, ct.exports);
var vi = ct.exports, ht = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    function r(i) {
        return i && i.__esModule ? i : { default: i };
    }
    var n = A, s = F, o = r(s);
    t.default = function(i) {
        i.registerHelper("if", function(u, a) {
            if (arguments.length != 2)
                throw new o.default("#if requires exactly one argument");
            return n.isFunction(u) && (u = u.call(this)), !a.hash.includeZero && !u || n.isEmpty(u) ? a.inverse(this) : a.fn(this);
        }), i.registerHelper("unless", function(u, a) {
            if (arguments.length != 2)
                throw new o.default("#unless requires exactly one argument");
            return i.helpers.if.call(this, u, {
                fn: a.inverse,
                inverse: a.fn,
                hash: a.hash
            });
        });
    }, e.exports = t.default;
})(ht, ht.exports);
var _i = ht.exports, ft = { exports: {} };
(function(e, t) {
    t.__esModule = !0, t.default = function(r) {
        r.registerHelper("log", function() {
            for (var n = [void 0], s = arguments[arguments.length - 1], o = 0; o < arguments.length - 1; o++)
                n.push(arguments[o]);
            var i = 1;
            s.hash.level != null ? i = s.hash.level : s.data && s.data.level != null && (i = s.data.level), n[0] = i, r.log.apply(r, n);
        });
    }, e.exports = t.default;
})(ft, ft.exports);
var yi = ft.exports, pt = { exports: {} };
(function(e, t) {
    t.__esModule = !0, t.default = function(r) {
        r.registerHelper("lookup", function(n, s, o) {
            return n && o.lookupProperty(n, s);
        });
    }, e.exports = t.default;
})(pt, pt.exports);
var Si = pt.exports, dt = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    function r(i) {
        return i && i.__esModule ? i : { default: i };
    }
    var n = A, s = F, o = r(s);
    t.default = function(i) {
        i.registerHelper("with", function(u, a) {
            if (arguments.length != 2)
                throw new o.default("#with requires exactly one argument");
            n.isFunction(u) && (u = u.call(this));
            var f = a.fn;
            if (n.isEmpty(u))
                return a.inverse(this);
            var l = a.data;
            return a.data && a.ids && (l = n.createFrame(a.data), l.contextPath = n.appendContextPath(a.data.contextPath, a.ids[0])), f(u, {
                data: l,
                blockParams: n.blockParams([u], [l && l.contextPath])
            });
        });
    }, e.exports = t.default;
})(dt, dt.exports);
var bi = dt.exports;
pe.__esModule = !0;
pe.registerDefaultHelpers = Di;
pe.moveHelperToHooks = Bi;
function Y(e) {
    return e && e.__esModule ? e : { default: e };
}
var wi = mi, Ei = Y(wi), ki = gi, xi = Y(ki), Ci = vi, Pi = Y(Ci), Li = _i, Ai = Y(Li), Oi = yi, Ri = Y(Oi), Mi = Si, Ni = Y(Mi), Ti = bi, Ii = Y(Ti);
function Di(e) {
    Ei.default(e), xi.default(e), Pi.default(e), Ai.default(e), Ri.default(e), Ni.default(e), Ii.default(e);
}
function Bi(e, t, r) {
    e.helpers[t] && (e.hooks[t] = e.helpers[t], r || delete e.helpers[t]);
}
var Tt = {}, mt = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    var r = A;
    t.default = function(n) {
        n.registerDecorator("inline", function(s, o, i, u) {
            var a = s;
            return o.partials || (o.partials = {}, a = function(f, l) {
                var d = i.partials;
                i.partials = r.extend({}, d, o.partials);
                var h = s(f, l);
                return i.partials = d, h;
            }), o.partials[u.args[0]] = u.fn, a;
        });
    }, e.exports = t.default;
})(mt, mt.exports);
var Fi = mt.exports;
Tt.__esModule = !0;
Tt.registerDefaultDecorators = Vi;
function Hi(e) {
    return e && e.__esModule ? e : { default: e };
}
var qi = Fi, Ui = Hi(qi);
function Vi(e) {
    Ui.default(e);
}
var gt = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    var r = A, n = {
        methodMap: ["debug", "info", "warn", "error"],
        level: "info",
        // Maps a given level value to the `methodMap` indexes above.
        lookupLevel: function(o) {
            if (typeof o == "string") {
                var i = r.indexOf(n.methodMap, o.toLowerCase());
                i >= 0 ? o = i : o = parseInt(o, 10);
            }
            return o;
        },
        // Can be overridden in the host environment
        log: function(o) {
            if (o = n.lookupLevel(o), typeof console < "u" && n.lookupLevel(n.level) <= o) {
                var i = n.methodMap[o];
                console[i] || (i = "log");
                for (var u = arguments.length, a = Array(u > 1 ? u - 1 : 0), f = 1; f < u; f++)
                    a[f - 1] = arguments[f];
                console[i].apply(console, a);
            }
        }
    };
    t.default = n, e.exports = t.default;
})(gt, gt.exports);
var en = gt.exports, re = {}, It = {};
It.__esModule = !0;
It.createNewLookupObject = Gi;
var zi = A;
function Gi() {
    for (var e = arguments.length, t = Array(e), r = 0; r < e; r++)
        t[r] = arguments[r];
    return zi.extend.apply(void 0, [/* @__PURE__ */ Object.create(null)].concat(t));
}
re.__esModule = !0;
re.createProtoAccessControl = Ki;
re.resultIsAllowed = Xi;
re.resetLoggedProperties = Yi;
function Wi(e) {
    return e && e.__esModule ? e : { default: e };
}
var nr = It, ji = en, Ji = Wi(ji), Ae = /* @__PURE__ */ Object.create(null);
function Ki(e) {
    var t = /* @__PURE__ */ Object.create(null);
    t.constructor = !1, t.__defineGetter__ = !1, t.__defineSetter__ = !1, t.__lookupGetter__ = !1;
    var r = /* @__PURE__ */ Object.create(null);
    return r.__proto__ = !1, {
        properties: {
            whitelist: nr.createNewLookupObject(r, e.allowedProtoProperties),
            defaultValue: e.allowProtoPropertiesByDefault
        },
        methods: {
            whitelist: nr.createNewLookupObject(t, e.allowedProtoMethods),
            defaultValue: e.allowProtoMethodsByDefault
        }
    };
}
function Xi(e, t, r) {
    return sr(typeof e == "function" ? t.methods : t.properties, r);
}
function sr(e, t) {
    return e.whitelist[t] !== void 0 ? e.whitelist[t] === !0 : e.defaultValue !== void 0 ? e.defaultValue : (Qi(t), !1);
}
function Qi(e) {
    Ae[e] !== !0 && (Ae[e] = !0, Ji.default.log("error", 'Handlebars: Access has been denied to resolve the property "' + e + `" because it is not an "own property" of its parent.
You can add a runtime option to disable the check or this warning:
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`));
}
function Yi() {
    Object.keys(Ae).forEach(function(e) {
        delete Ae[e];
    });
}
I.__esModule = !0;
I.HandlebarsEnvironment = vt;
function tn(e) {
    return e && e.__esModule ? e : { default: e };
}
var j = A, Zi = F, Ve = tn(Zi), $i = pe, eo = Tt, to = en, Oe = tn(to), ro = re, no = "4.7.8";
I.VERSION = no;
var so = 8;
I.COMPILER_REVISION = so;
var io = 7;
I.LAST_COMPATIBLE_COMPILER_REVISION = io;
var oo = {
    1: "<= 1.0.rc.2",
    // 1.0.rc.2 is actually rev2 but doesn't report it
    2: "== 1.0.0-rc.3",
    3: "== 1.0.0-rc.4",
    4: "== 1.x.x",
    5: "== 2.0.0-alpha.x",
    6: ">= 2.0.0-beta.1",
    7: ">= 4.0.0 <4.3.0",
    8: ">= 4.3.0"
};
I.REVISION_CHANGES = oo;
var ze = "[object Object]";
function vt(e, t, r) {
    this.helpers = e || {}, this.partials = t || {}, this.decorators = r || {}, $i.registerDefaultHelpers(this), eo.registerDefaultDecorators(this);
}
vt.prototype = {
    constructor: vt,
    logger: Oe.default,
    log: Oe.default.log,
    registerHelper: function(t, r) {
        if (j.toString.call(t) === ze) {
            if (r)
                throw new Ve.default("Arg not supported with multiple helpers");
            j.extend(this.helpers, t);
        } else
            this.helpers[t] = r;
    },
    unregisterHelper: function(t) {
        delete this.helpers[t];
    },
    registerPartial: function(t, r) {
        if (j.toString.call(t) === ze)
            j.extend(this.partials, t);
        else {
            if (typeof r > "u")
                throw new Ve.default('Attempting to register a partial called "' + t + '" as undefined');
            this.partials[t] = r;
        }
    },
    unregisterPartial: function(t) {
        delete this.partials[t];
    },
    registerDecorator: function(t, r) {
        if (j.toString.call(t) === ze) {
            if (r)
                throw new Ve.default("Arg not supported with multiple decorators");
            j.extend(this.decorators, t);
        } else
            this.decorators[t] = r;
    },
    unregisterDecorator: function(t) {
        delete this.decorators[t];
    },
    /**
     * Reset the memory of illegal property accesses that have already been logged.
     * @deprecated should only be used in handlebars test-cases
     */
    resetLoggedPropertyAccesses: function() {
        ro.resetLoggedProperties();
    }
};
var ao = Oe.default.log;
I.log = ao;
I.createFrame = j.createFrame;
I.logger = Oe.default;
var _t = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    function r(n) {
        this.string = n;
    }
    r.prototype.toString = r.prototype.toHTML = function() {
        return "" + this.string;
    }, t.default = r, e.exports = t.default;
})(_t, _t.exports);
var lo = _t.exports, W = {}, Dt = {};
Dt.__esModule = !0;
Dt.wrapHelper = uo;
function uo(e, t) {
    if (typeof e != "function")
        return e;
    var r = function() {
        var s = arguments[arguments.length - 1];
        return arguments[arguments.length - 1] = t(s), e.apply(this, arguments);
    };
    return r;
}
W.__esModule = !0;
W.checkRevision = go;
W.template = vo;
W.wrapProgram = ke;
W.resolvePartial = _o;
W.invokePartial = yo;
W.noop = rn;
function co(e) {
    return e && e.__esModule ? e : { default: e };
}
function ho(e) {
    if (e && e.__esModule)
        return e;
    var t = {};
    if (e != null)
        for (var r in e)
            Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);
    return t.default = e, t;
}
var fo = A, q = ho(fo), po = F, U = co(po), V = I, ir = pe, mo = Dt, or = re;
function go(e) {
    var t = e && e[0] || 1, r = V.COMPILER_REVISION;
    if (!(t >= V.LAST_COMPATIBLE_COMPILER_REVISION && t <= V.COMPILER_REVISION))
        if (t < V.LAST_COMPATIBLE_COMPILER_REVISION) {
            var n = V.REVISION_CHANGES[r], s = V.REVISION_CHANGES[t];
            throw new U.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (" + n + ") or downgrade your runtime to an older version (" + s + ").");
        } else
            throw new U.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (" + e[1] + ").");
}
function vo(e, t) {
    if (!t)
        throw new U.default("No environment passed to template");
    if (!e || !e.main)
        throw new U.default("Unknown template object: " + typeof e);
    e.main.decorator = e.main_d, t.VM.checkRevision(e.compiler);
    var r = e.compiler && e.compiler[0] === 7;
    function n(i, u, a) {
        a.hash && (u = q.extend({}, u, a.hash), a.ids && (a.ids[0] = !0)), i = t.VM.resolvePartial.call(this, i, u, a);
        var f = q.extend({}, a, {
            hooks: this.hooks,
            protoAccessControl: this.protoAccessControl
        }), l = t.VM.invokePartial.call(this, i, u, f);
        if (l == null && t.compile && (a.partials[a.name] = t.compile(i, e.compilerOptions, t), l = a.partials[a.name](u, f)), l != null) {
            if (a.indent) {
                for (var d = l.split(`
`), h = 0, p = d.length; h < p && !(!d[h] && h + 1 === p); h++)
                    d[h] = a.indent + d[h];
                l = d.join(`
`);
            }
            return l;
        } else
            throw new U.default("The partial " + a.name + " could not be compiled when running in runtime-only mode");
    }
    var s = {
        strict: function(u, a, f) {
            if (!u || !(a in u))
                throw new U.default('"' + a + '" not defined in ' + u, {
                    loc: f
                });
            return s.lookupProperty(u, a);
        },
        lookupProperty: function(u, a) {
            var f = u[a];
            if (f == null || Object.prototype.hasOwnProperty.call(u, a) || or.resultIsAllowed(f, s.protoAccessControl, a))
                return f;
        },
        lookup: function(u, a) {
            for (var f = u.length, l = 0; l < f; l++) {
                var d = u[l] && s.lookupProperty(u[l], a);
                if (d != null)
                    return u[l][a];
            }
        },
        lambda: function(u, a) {
            return typeof u == "function" ? u.call(a) : u;
        },
        escapeExpression: q.escapeExpression,
        invokePartial: n,
        fn: function(u) {
            var a = e[u];
            return a.decorator = e[u + "_d"], a;
        },
        programs: [],
        program: function(u, a, f, l, d) {
            var h = this.programs[u], p = this.fn(u);
            return a || d || l || f ? h = ke(this, u, p, a, f, l, d) : h || (h = this.programs[u] = ke(this, u, p)), h;
        },
        data: function(u, a) {
            for (; u && a--; )
                u = u._parent;
            return u;
        },
        mergeIfNeeded: function(u, a) {
            var f = u || a;
            return u && a && u !== a && (f = q.extend({}, a, u)), f;
        },
        // An empty object to use as replacement for null-contexts
        nullContext: Object.seal({}),
        noop: t.VM.noop,
        compilerInfo: e.compiler
    };
    function o(i) {
        var u = arguments.length <= 1 || arguments[1] === void 0 ? {} : arguments[1], a = u.data;
        o._setup(u), !u.partial && e.useData && (a = So(i, a));
        var f = void 0, l = e.useBlockParams ? [] : void 0;
        e.useDepths && (u.depths ? f = i != u.depths[0] ? [i].concat(u.depths) : u.depths : f = [i]);
        function d(h) {
            return "" + e.main(s, h, s.helpers, s.partials, a, l, f);
        }
        return d = nn(e.main, d, s, u.depths || [], a, l), d(i, u);
    }
    return o.isTop = !0, o._setup = function(i) {
        if (i.partial)
            s.protoAccessControl = i.protoAccessControl, s.helpers = i.helpers, s.partials = i.partials, s.decorators = i.decorators, s.hooks = i.hooks;
        else {
            var u = q.extend({}, t.helpers, i.helpers);
            bo(u, s), s.helpers = u, e.usePartial && (s.partials = s.mergeIfNeeded(i.partials, t.partials)), (e.usePartial || e.useDecorators) && (s.decorators = q.extend({}, t.decorators, i.decorators)), s.hooks = {}, s.protoAccessControl = or.createProtoAccessControl(i);
            var a = i.allowCallsToHelperMissing || r;
            ir.moveHelperToHooks(s, "helperMissing", a), ir.moveHelperToHooks(s, "blockHelperMissing", a);
        }
    }, o._child = function(i, u, a, f) {
        if (e.useBlockParams && !a)
            throw new U.default("must pass block params");
        if (e.useDepths && !f)
            throw new U.default("must pass parent depths");
        return ke(s, i, e[i], u, 0, a, f);
    }, o;
}
function ke(e, t, r, n, s, o, i) {
    function u(a) {
        var f = arguments.length <= 1 || arguments[1] === void 0 ? {} : arguments[1], l = i;
        return i && a != i[0] && !(a === e.nullContext && i[0] === null) && (l = [a].concat(i)), r(e, a, e.helpers, e.partials, f.data || n, o && [f.blockParams].concat(o), l);
    }
    return u = nn(r, u, e, i, n, o), u.program = t, u.depth = i ? i.length : 0, u.blockParams = s || 0, u;
}
function _o(e, t, r) {
    return e ? !e.call && !r.name && (r.name = e, e = r.partials[e]) : r.name === "@partial-block" ? e = r.data["partial-block"] : e = r.partials[r.name], e;
}
function yo(e, t, r) {
    var n = r.data && r.data["partial-block"];
    r.partial = !0, r.ids && (r.data.contextPath = r.ids[0] || r.data.contextPath);
    var s = void 0;
    if (r.fn && r.fn !== rn && function() {
        r.data = V.createFrame(r.data);
        var o = r.fn;
        s = r.data["partial-block"] = function(u) {
            var a = arguments.length <= 1 || arguments[1] === void 0 ? {} : arguments[1];
            return a.data = V.createFrame(a.data), a.data["partial-block"] = n, o(u, a);
        }, o.partials && (r.partials = q.extend({}, r.partials, o.partials));
    }(), e === void 0 && s && (e = s), e === void 0)
        throw new U.default("The partial " + r.name + " could not be found");
    if (e instanceof Function)
        return e(t, r);
}
function rn() {
    return "";
}
function So(e, t) {
    return (!t || !("root" in t)) && (t = t ? V.createFrame(t) : {}, t.root = e), t;
}
function nn(e, t, r, n, s, o) {
    if (e.decorator) {
        var i = {};
        t = e.decorator(t, i, r, n && n[0], s, o, n), q.extend(t, i);
    }
    return t;
}
function bo(e, t) {
    Object.keys(e).forEach(function(r) {
        var n = e[r];
        e[r] = wo(n, t);
    });
}
function wo(e, t) {
    var r = t.lookupProperty;
    return mo.wrapHelper(e, function(n) {
        return q.extend({ lookupProperty: r }, n);
    });
}
var yt = { exports: {} };
(function(e, t) {
    t.__esModule = !0, t.default = function(r) {
        (function() {
            typeof globalThis != "object" && (Object.prototype.__defineGetter__("__magic__", function() {
                return this;
            }), __magic__.globalThis = __magic__, delete Object.prototype.__magic__);
        })();
        var n = globalThis.Handlebars;
        r.noConflict = function() {
            return globalThis.Handlebars === r && (globalThis.Handlebars = n), r;
        };
    }, e.exports = t.default;
})(yt, yt.exports);
var sn = yt.exports;
(function(e, t) {
    t.__esModule = !0;
    function r(_) {
        return _ && _.__esModule ? _ : { default: _ };
    }
    function n(_) {
        if (_ && _.__esModule)
            return _;
        var w = {};
        if (_ != null)
            for (var v in _)
                Object.prototype.hasOwnProperty.call(_, v) && (w[v] = _[v]);
        return w.default = _, w;
    }
    var s = I, o = n(s), i = lo, u = r(i), a = F, f = r(a), l = A, d = n(l), h = W, p = n(h), c = sn, g = r(c);
    function m() {
        var _ = new o.HandlebarsEnvironment();
        return d.extend(_, o), _.SafeString = u.default, _.Exception = f.default, _.Utils = d, _.escapeExpression = d.escapeExpression, _.VM = p, _.template = function(w) {
            return p.template(w, _);
        }, _;
    }
    var S = m();
    S.create = m, g.default(S), S.default = S, t.default = S, e.exports = t.default;
})(it, it.exports);
var Eo = it.exports, St = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    var r = {
        // Public API used to evaluate derived attributes regarding AST nodes
        helpers: {
            // a mustache is definitely a helper if:
            // * it is an eligible helper, and
            // * it has at least one parameter or hash segment
            helperExpression: function(s) {
                return s.type === "SubExpression" || (s.type === "MustacheStatement" || s.type === "BlockStatement") && !!(s.params && s.params.length || s.hash);
            },
            scopedId: function(s) {
                return /^\.|this\b/.test(s.original);
            },
            // an ID is simple if it only has one part, and that part is not
            // `..` or `this`.
            simpleId: function(s) {
                return s.parts.length === 1 && !r.helpers.scopedId(s) && !s.depth;
            }
        }
    };
    t.default = r, e.exports = t.default;
})(St, St.exports);
var on = St.exports, de = {}, bt = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    var r = function() {
        var n = {
            trace: function() {
            },
            yy: {},
            symbols_: { error: 2, root: 3, program: 4, EOF: 5, program_repetition0: 6, statement: 7, mustache: 8, block: 9, rawBlock: 10, partial: 11, partialBlock: 12, content: 13, COMMENT: 14, CONTENT: 15, openRawBlock: 16, rawBlock_repetition0: 17, END_RAW_BLOCK: 18, OPEN_RAW_BLOCK: 19, helperName: 20, openRawBlock_repetition0: 21, openRawBlock_option0: 22, CLOSE_RAW_BLOCK: 23, openBlock: 24, block_option0: 25, closeBlock: 26, openInverse: 27, block_option1: 28, OPEN_BLOCK: 29, openBlock_repetition0: 30, openBlock_option0: 31, openBlock_option1: 32, CLOSE: 33, OPEN_INVERSE: 34, openInverse_repetition0: 35, openInverse_option0: 36, openInverse_option1: 37, openInverseChain: 38, OPEN_INVERSE_CHAIN: 39, openInverseChain_repetition0: 40, openInverseChain_option0: 41, openInverseChain_option1: 42, inverseAndProgram: 43, INVERSE: 44, inverseChain: 45, inverseChain_option0: 46, OPEN_ENDBLOCK: 47, OPEN: 48, mustache_repetition0: 49, mustache_option0: 50, OPEN_UNESCAPED: 51, mustache_repetition1: 52, mustache_option1: 53, CLOSE_UNESCAPED: 54, OPEN_PARTIAL: 55, partialName: 56, partial_repetition0: 57, partial_option0: 58, openPartialBlock: 59, OPEN_PARTIAL_BLOCK: 60, openPartialBlock_repetition0: 61, openPartialBlock_option0: 62, param: 63, sexpr: 64, OPEN_SEXPR: 65, sexpr_repetition0: 66, sexpr_option0: 67, CLOSE_SEXPR: 68, hash: 69, hash_repetition_plus0: 70, hashSegment: 71, ID: 72, EQUALS: 73, blockParams: 74, OPEN_BLOCK_PARAMS: 75, blockParams_repetition_plus0: 76, CLOSE_BLOCK_PARAMS: 77, path: 78, dataName: 79, STRING: 80, NUMBER: 81, BOOLEAN: 82, UNDEFINED: 83, NULL: 84, DATA: 85, pathSegments: 86, SEP: 87, $accept: 0, $end: 1 },
            terminals_: { 2: "error", 5: "EOF", 14: "COMMENT", 15: "CONTENT", 18: "END_RAW_BLOCK", 19: "OPEN_RAW_BLOCK", 23: "CLOSE_RAW_BLOCK", 29: "OPEN_BLOCK", 33: "CLOSE", 34: "OPEN_INVERSE", 39: "OPEN_INVERSE_CHAIN", 44: "INVERSE", 47: "OPEN_ENDBLOCK", 48: "OPEN", 51: "OPEN_UNESCAPED", 54: "CLOSE_UNESCAPED", 55: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 65: "OPEN_SEXPR", 68: "CLOSE_SEXPR", 72: "ID", 73: "EQUALS", 75: "OPEN_BLOCK_PARAMS", 77: "CLOSE_BLOCK_PARAMS", 80: "STRING", 81: "NUMBER", 82: "BOOLEAN", 83: "UNDEFINED", 84: "NULL", 85: "DATA", 87: "SEP" },
            productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]],
            performAction: function(u, a, f, l, d, h, p) {
                var c = h.length - 1;
                switch (d) {
                    case 1:
                        return h[c - 1];
                    case 2:
                        this.$ = l.prepareProgram(h[c]);
                        break;
                    case 3:
                        this.$ = h[c];
                        break;
                    case 4:
                        this.$ = h[c];
                        break;
                    case 5:
                        this.$ = h[c];
                        break;
                    case 6:
                        this.$ = h[c];
                        break;
                    case 7:
                        this.$ = h[c];
                        break;
                    case 8:
                        this.$ = h[c];
                        break;
                    case 9:
                        this.$ = {
                            type: "CommentStatement",
                            value: l.stripComment(h[c]),
                            strip: l.stripFlags(h[c], h[c]),
                            loc: l.locInfo(this._$)
                        };
                        break;
                    case 10:
                        this.$ = {
                            type: "ContentStatement",
                            original: h[c],
                            value: h[c],
                            loc: l.locInfo(this._$)
                        };
                        break;
                    case 11:
                        this.$ = l.prepareRawBlock(h[c - 2], h[c - 1], h[c], this._$);
                        break;
                    case 12:
                        this.$ = { path: h[c - 3], params: h[c - 2], hash: h[c - 1] };
                        break;
                    case 13:
                        this.$ = l.prepareBlock(h[c - 3], h[c - 2], h[c - 1], h[c], !1, this._$);
                        break;
                    case 14:
                        this.$ = l.prepareBlock(h[c - 3], h[c - 2], h[c - 1], h[c], !0, this._$);
                        break;
                    case 15:
                        this.$ = { open: h[c - 5], path: h[c - 4], params: h[c - 3], hash: h[c - 2], blockParams: h[c - 1], strip: l.stripFlags(h[c - 5], h[c]) };
                        break;
                    case 16:
                        this.$ = { path: h[c - 4], params: h[c - 3], hash: h[c - 2], blockParams: h[c - 1], strip: l.stripFlags(h[c - 5], h[c]) };
                        break;
                    case 17:
                        this.$ = { path: h[c - 4], params: h[c - 3], hash: h[c - 2], blockParams: h[c - 1], strip: l.stripFlags(h[c - 5], h[c]) };
                        break;
                    case 18:
                        this.$ = { strip: l.stripFlags(h[c - 1], h[c - 1]), program: h[c] };
                        break;
                    case 19:
                        var g = l.prepareBlock(h[c - 2], h[c - 1], h[c], h[c], !1, this._$), m = l.prepareProgram([g], h[c - 1].loc);
                        m.chained = !0, this.$ = { strip: h[c - 2].strip, program: m, chain: !0 };
                        break;
                    case 20:
                        this.$ = h[c];
                        break;
                    case 21:
                        this.$ = { path: h[c - 1], strip: l.stripFlags(h[c - 2], h[c]) };
                        break;
                    case 22:
                        this.$ = l.prepareMustache(h[c - 3], h[c - 2], h[c - 1], h[c - 4], l.stripFlags(h[c - 4], h[c]), this._$);
                        break;
                    case 23:
                        this.$ = l.prepareMustache(h[c - 3], h[c - 2], h[c - 1], h[c - 4], l.stripFlags(h[c - 4], h[c]), this._$);
                        break;
                    case 24:
                        this.$ = {
                            type: "PartialStatement",
                            name: h[c - 3],
                            params: h[c - 2],
                            hash: h[c - 1],
                            indent: "",
                            strip: l.stripFlags(h[c - 4], h[c]),
                            loc: l.locInfo(this._$)
                        };
                        break;
                    case 25:
                        this.$ = l.preparePartialBlock(h[c - 2], h[c - 1], h[c], this._$);
                        break;
                    case 26:
                        this.$ = { path: h[c - 3], params: h[c - 2], hash: h[c - 1], strip: l.stripFlags(h[c - 4], h[c]) };
                        break;
                    case 27:
                        this.$ = h[c];
                        break;
                    case 28:
                        this.$ = h[c];
                        break;
                    case 29:
                        this.$ = {
                            type: "SubExpression",
                            path: h[c - 3],
                            params: h[c - 2],
                            hash: h[c - 1],
                            loc: l.locInfo(this._$)
                        };
                        break;
                    case 30:
                        this.$ = { type: "Hash", pairs: h[c], loc: l.locInfo(this._$) };
                        break;
                    case 31:
                        this.$ = { type: "HashPair", key: l.id(h[c - 2]), value: h[c], loc: l.locInfo(this._$) };
                        break;
                    case 32:
                        this.$ = l.id(h[c - 1]);
                        break;
                    case 33:
                        this.$ = h[c];
                        break;
                    case 34:
                        this.$ = h[c];
                        break;
                    case 35:
                        this.$ = { type: "StringLiteral", value: h[c], original: h[c], loc: l.locInfo(this._$) };
                        break;
                    case 36:
                        this.$ = { type: "NumberLiteral", value: Number(h[c]), original: Number(h[c]), loc: l.locInfo(this._$) };
                        break;
                    case 37:
                        this.$ = { type: "BooleanLiteral", value: h[c] === "true", original: h[c] === "true", loc: l.locInfo(this._$) };
                        break;
                    case 38:
                        this.$ = { type: "UndefinedLiteral", original: void 0, value: void 0, loc: l.locInfo(this._$) };
                        break;
                    case 39:
                        this.$ = { type: "NullLiteral", original: null, value: null, loc: l.locInfo(this._$) };
                        break;
                    case 40:
                        this.$ = h[c];
                        break;
                    case 41:
                        this.$ = h[c];
                        break;
                    case 42:
                        this.$ = l.preparePath(!0, h[c], this._$);
                        break;
                    case 43:
                        this.$ = l.preparePath(!1, h[c], this._$);
                        break;
                    case 44:
                        h[c - 2].push({ part: l.id(h[c]), original: h[c], separator: h[c - 1] }), this.$ = h[c - 2];
                        break;
                    case 45:
                        this.$ = [{ part: l.id(h[c]), original: h[c] }];
                        break;
                    case 46:
                        this.$ = [];
                        break;
                    case 47:
                        h[c - 1].push(h[c]);
                        break;
                    case 48:
                        this.$ = [];
                        break;
                    case 49:
                        h[c - 1].push(h[c]);
                        break;
                    case 50:
                        this.$ = [];
                        break;
                    case 51:
                        h[c - 1].push(h[c]);
                        break;
                    case 58:
                        this.$ = [];
                        break;
                    case 59:
                        h[c - 1].push(h[c]);
                        break;
                    case 64:
                        this.$ = [];
                        break;
                    case 65:
                        h[c - 1].push(h[c]);
                        break;
                    case 70:
                        this.$ = [];
                        break;
                    case 71:
                        h[c - 1].push(h[c]);
                        break;
                    case 78:
                        this.$ = [];
                        break;
                    case 79:
                        h[c - 1].push(h[c]);
                        break;
                    case 82:
                        this.$ = [];
                        break;
                    case 83:
                        h[c - 1].push(h[c]);
                        break;
                    case 86:
                        this.$ = [];
                        break;
                    case 87:
                        h[c - 1].push(h[c]);
                        break;
                    case 90:
                        this.$ = [];
                        break;
                    case 91:
                        h[c - 1].push(h[c]);
                        break;
                    case 94:
                        this.$ = [];
                        break;
                    case 95:
                        h[c - 1].push(h[c]);
                        break;
                    case 98:
                        this.$ = [h[c]];
                        break;
                    case 99:
                        h[c - 1].push(h[c]);
                        break;
                    case 100:
                        this.$ = [h[c]];
                        break;
                    case 101:
                        h[c - 1].push(h[c]);
                        break;
                }
            },
            table: [{ 3: 1, 4: 2, 5: [2, 46], 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 1: [3] }, { 5: [1, 4] }, { 5: [2, 2], 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: [1, 12], 15: [1, 20], 16: 17, 19: [1, 23], 24: 15, 27: 16, 29: [1, 21], 34: [1, 22], 39: [2, 2], 44: [2, 2], 47: [2, 2], 48: [1, 13], 51: [1, 14], 55: [1, 18], 59: 19, 60: [1, 24] }, { 1: [2, 1] }, { 5: [2, 47], 14: [2, 47], 15: [2, 47], 19: [2, 47], 29: [2, 47], 34: [2, 47], 39: [2, 47], 44: [2, 47], 47: [2, 47], 48: [2, 47], 51: [2, 47], 55: [2, 47], 60: [2, 47] }, { 5: [2, 3], 14: [2, 3], 15: [2, 3], 19: [2, 3], 29: [2, 3], 34: [2, 3], 39: [2, 3], 44: [2, 3], 47: [2, 3], 48: [2, 3], 51: [2, 3], 55: [2, 3], 60: [2, 3] }, { 5: [2, 4], 14: [2, 4], 15: [2, 4], 19: [2, 4], 29: [2, 4], 34: [2, 4], 39: [2, 4], 44: [2, 4], 47: [2, 4], 48: [2, 4], 51: [2, 4], 55: [2, 4], 60: [2, 4] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 19: [2, 5], 29: [2, 5], 34: [2, 5], 39: [2, 5], 44: [2, 5], 47: [2, 5], 48: [2, 5], 51: [2, 5], 55: [2, 5], 60: [2, 5] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 19: [2, 6], 29: [2, 6], 34: [2, 6], 39: [2, 6], 44: [2, 6], 47: [2, 6], 48: [2, 6], 51: [2, 6], 55: [2, 6], 60: [2, 6] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 19: [2, 7], 29: [2, 7], 34: [2, 7], 39: [2, 7], 44: [2, 7], 47: [2, 7], 48: [2, 7], 51: [2, 7], 55: [2, 7], 60: [2, 7] }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 19: [2, 8], 29: [2, 8], 34: [2, 8], 39: [2, 8], 44: [2, 8], 47: [2, 8], 48: [2, 8], 51: [2, 8], 55: [2, 8], 60: [2, 8] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 19: [2, 9], 29: [2, 9], 34: [2, 9], 39: [2, 9], 44: [2, 9], 47: [2, 9], 48: [2, 9], 51: [2, 9], 55: [2, 9], 60: [2, 9] }, { 20: 25, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 36, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 37, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 4: 38, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 15: [2, 48], 17: 39, 18: [2, 48] }, { 20: 41, 56: 40, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 44, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 18: [2, 10], 19: [2, 10], 29: [2, 10], 34: [2, 10], 39: [2, 10], 44: [2, 10], 47: [2, 10], 48: [2, 10], 51: [2, 10], 55: [2, 10], 60: [2, 10] }, { 20: 45, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 46, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 47, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 41, 56: 48, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [2, 78], 49: 49, 65: [2, 78], 72: [2, 78], 80: [2, 78], 81: [2, 78], 82: [2, 78], 83: [2, 78], 84: [2, 78], 85: [2, 78] }, { 23: [2, 33], 33: [2, 33], 54: [2, 33], 65: [2, 33], 68: [2, 33], 72: [2, 33], 75: [2, 33], 80: [2, 33], 81: [2, 33], 82: [2, 33], 83: [2, 33], 84: [2, 33], 85: [2, 33] }, { 23: [2, 34], 33: [2, 34], 54: [2, 34], 65: [2, 34], 68: [2, 34], 72: [2, 34], 75: [2, 34], 80: [2, 34], 81: [2, 34], 82: [2, 34], 83: [2, 34], 84: [2, 34], 85: [2, 34] }, { 23: [2, 35], 33: [2, 35], 54: [2, 35], 65: [2, 35], 68: [2, 35], 72: [2, 35], 75: [2, 35], 80: [2, 35], 81: [2, 35], 82: [2, 35], 83: [2, 35], 84: [2, 35], 85: [2, 35] }, { 23: [2, 36], 33: [2, 36], 54: [2, 36], 65: [2, 36], 68: [2, 36], 72: [2, 36], 75: [2, 36], 80: [2, 36], 81: [2, 36], 82: [2, 36], 83: [2, 36], 84: [2, 36], 85: [2, 36] }, { 23: [2, 37], 33: [2, 37], 54: [2, 37], 65: [2, 37], 68: [2, 37], 72: [2, 37], 75: [2, 37], 80: [2, 37], 81: [2, 37], 82: [2, 37], 83: [2, 37], 84: [2, 37], 85: [2, 37] }, { 23: [2, 38], 33: [2, 38], 54: [2, 38], 65: [2, 38], 68: [2, 38], 72: [2, 38], 75: [2, 38], 80: [2, 38], 81: [2, 38], 82: [2, 38], 83: [2, 38], 84: [2, 38], 85: [2, 38] }, { 23: [2, 39], 33: [2, 39], 54: [2, 39], 65: [2, 39], 68: [2, 39], 72: [2, 39], 75: [2, 39], 80: [2, 39], 81: [2, 39], 82: [2, 39], 83: [2, 39], 84: [2, 39], 85: [2, 39] }, { 23: [2, 43], 33: [2, 43], 54: [2, 43], 65: [2, 43], 68: [2, 43], 72: [2, 43], 75: [2, 43], 80: [2, 43], 81: [2, 43], 82: [2, 43], 83: [2, 43], 84: [2, 43], 85: [2, 43], 87: [1, 50] }, { 72: [1, 35], 86: 51 }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 52: 52, 54: [2, 82], 65: [2, 82], 72: [2, 82], 80: [2, 82], 81: [2, 82], 82: [2, 82], 83: [2, 82], 84: [2, 82], 85: [2, 82] }, { 25: 53, 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 54, 47: [2, 54] }, { 28: 59, 43: 60, 44: [1, 58], 47: [2, 56] }, { 13: 62, 15: [1, 20], 18: [1, 61] }, { 33: [2, 86], 57: 63, 65: [2, 86], 72: [2, 86], 80: [2, 86], 81: [2, 86], 82: [2, 86], 83: [2, 86], 84: [2, 86], 85: [2, 86] }, { 33: [2, 40], 65: [2, 40], 72: [2, 40], 80: [2, 40], 81: [2, 40], 82: [2, 40], 83: [2, 40], 84: [2, 40], 85: [2, 40] }, { 33: [2, 41], 65: [2, 41], 72: [2, 41], 80: [2, 41], 81: [2, 41], 82: [2, 41], 83: [2, 41], 84: [2, 41], 85: [2, 41] }, { 20: 64, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 65, 47: [1, 66] }, { 30: 67, 33: [2, 58], 65: [2, 58], 72: [2, 58], 75: [2, 58], 80: [2, 58], 81: [2, 58], 82: [2, 58], 83: [2, 58], 84: [2, 58], 85: [2, 58] }, { 33: [2, 64], 35: 68, 65: [2, 64], 72: [2, 64], 75: [2, 64], 80: [2, 64], 81: [2, 64], 82: [2, 64], 83: [2, 64], 84: [2, 64], 85: [2, 64] }, { 21: 69, 23: [2, 50], 65: [2, 50], 72: [2, 50], 80: [2, 50], 81: [2, 50], 82: [2, 50], 83: [2, 50], 84: [2, 50], 85: [2, 50] }, { 33: [2, 90], 61: 70, 65: [2, 90], 72: [2, 90], 80: [2, 90], 81: [2, 90], 82: [2, 90], 83: [2, 90], 84: [2, 90], 85: [2, 90] }, { 20: 74, 33: [2, 80], 50: 71, 63: 72, 64: 75, 65: [1, 43], 69: 73, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 72: [1, 79] }, { 23: [2, 42], 33: [2, 42], 54: [2, 42], 65: [2, 42], 68: [2, 42], 72: [2, 42], 75: [2, 42], 80: [2, 42], 81: [2, 42], 82: [2, 42], 83: [2, 42], 84: [2, 42], 85: [2, 42], 87: [1, 50] }, { 20: 74, 53: 80, 54: [2, 84], 63: 81, 64: 75, 65: [1, 43], 69: 82, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 83, 47: [1, 66] }, { 47: [2, 55] }, { 4: 84, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 47: [2, 20] }, { 20: 85, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 86, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 26: 87, 47: [1, 66] }, { 47: [2, 57] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 19: [2, 11], 29: [2, 11], 34: [2, 11], 39: [2, 11], 44: [2, 11], 47: [2, 11], 48: [2, 11], 51: [2, 11], 55: [2, 11], 60: [2, 11] }, { 15: [2, 49], 18: [2, 49] }, { 20: 74, 33: [2, 88], 58: 88, 63: 89, 64: 75, 65: [1, 43], 69: 90, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 65: [2, 94], 66: 91, 68: [2, 94], 72: [2, 94], 80: [2, 94], 81: [2, 94], 82: [2, 94], 83: [2, 94], 84: [2, 94], 85: [2, 94] }, { 5: [2, 25], 14: [2, 25], 15: [2, 25], 19: [2, 25], 29: [2, 25], 34: [2, 25], 39: [2, 25], 44: [2, 25], 47: [2, 25], 48: [2, 25], 51: [2, 25], 55: [2, 25], 60: [2, 25] }, { 20: 92, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 31: 93, 33: [2, 60], 63: 94, 64: 75, 65: [1, 43], 69: 95, 70: 76, 71: 77, 72: [1, 78], 75: [2, 60], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 66], 36: 96, 63: 97, 64: 75, 65: [1, 43], 69: 98, 70: 76, 71: 77, 72: [1, 78], 75: [2, 66], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 22: 99, 23: [2, 52], 63: 100, 64: 75, 65: [1, 43], 69: 101, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 92], 62: 102, 63: 103, 64: 75, 65: [1, 43], 69: 104, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 105] }, { 33: [2, 79], 65: [2, 79], 72: [2, 79], 80: [2, 79], 81: [2, 79], 82: [2, 79], 83: [2, 79], 84: [2, 79], 85: [2, 79] }, { 33: [2, 81] }, { 23: [2, 27], 33: [2, 27], 54: [2, 27], 65: [2, 27], 68: [2, 27], 72: [2, 27], 75: [2, 27], 80: [2, 27], 81: [2, 27], 82: [2, 27], 83: [2, 27], 84: [2, 27], 85: [2, 27] }, { 23: [2, 28], 33: [2, 28], 54: [2, 28], 65: [2, 28], 68: [2, 28], 72: [2, 28], 75: [2, 28], 80: [2, 28], 81: [2, 28], 82: [2, 28], 83: [2, 28], 84: [2, 28], 85: [2, 28] }, { 23: [2, 30], 33: [2, 30], 54: [2, 30], 68: [2, 30], 71: 106, 72: [1, 107], 75: [2, 30] }, { 23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98] }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 73: [1, 108], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 23: [2, 44], 33: [2, 44], 54: [2, 44], 65: [2, 44], 68: [2, 44], 72: [2, 44], 75: [2, 44], 80: [2, 44], 81: [2, 44], 82: [2, 44], 83: [2, 44], 84: [2, 44], 85: [2, 44], 87: [2, 44] }, { 54: [1, 109] }, { 54: [2, 83], 65: [2, 83], 72: [2, 83], 80: [2, 83], 81: [2, 83], 82: [2, 83], 83: [2, 83], 84: [2, 83], 85: [2, 83] }, { 54: [2, 85] }, { 5: [2, 13], 14: [2, 13], 15: [2, 13], 19: [2, 13], 29: [2, 13], 34: [2, 13], 39: [2, 13], 44: [2, 13], 47: [2, 13], 48: [2, 13], 51: [2, 13], 55: [2, 13], 60: [2, 13] }, { 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 111, 46: 110, 47: [2, 76] }, { 33: [2, 70], 40: 112, 65: [2, 70], 72: [2, 70], 75: [2, 70], 80: [2, 70], 81: [2, 70], 82: [2, 70], 83: [2, 70], 84: [2, 70], 85: [2, 70] }, { 47: [2, 18] }, { 5: [2, 14], 14: [2, 14], 15: [2, 14], 19: [2, 14], 29: [2, 14], 34: [2, 14], 39: [2, 14], 44: [2, 14], 47: [2, 14], 48: [2, 14], 51: [2, 14], 55: [2, 14], 60: [2, 14] }, { 33: [1, 113] }, { 33: [2, 87], 65: [2, 87], 72: [2, 87], 80: [2, 87], 81: [2, 87], 82: [2, 87], 83: [2, 87], 84: [2, 87], 85: [2, 87] }, { 33: [2, 89] }, { 20: 74, 63: 115, 64: 75, 65: [1, 43], 67: 114, 68: [2, 96], 69: 116, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 117] }, { 32: 118, 33: [2, 62], 74: 119, 75: [1, 120] }, { 33: [2, 59], 65: [2, 59], 72: [2, 59], 75: [2, 59], 80: [2, 59], 81: [2, 59], 82: [2, 59], 83: [2, 59], 84: [2, 59], 85: [2, 59] }, { 33: [2, 61], 75: [2, 61] }, { 33: [2, 68], 37: 121, 74: 122, 75: [1, 120] }, { 33: [2, 65], 65: [2, 65], 72: [2, 65], 75: [2, 65], 80: [2, 65], 81: [2, 65], 82: [2, 65], 83: [2, 65], 84: [2, 65], 85: [2, 65] }, { 33: [2, 67], 75: [2, 67] }, { 23: [1, 123] }, { 23: [2, 51], 65: [2, 51], 72: [2, 51], 80: [2, 51], 81: [2, 51], 82: [2, 51], 83: [2, 51], 84: [2, 51], 85: [2, 51] }, { 23: [2, 53] }, { 33: [1, 124] }, { 33: [2, 91], 65: [2, 91], 72: [2, 91], 80: [2, 91], 81: [2, 91], 82: [2, 91], 83: [2, 91], 84: [2, 91], 85: [2, 91] }, { 33: [2, 93] }, { 5: [2, 22], 14: [2, 22], 15: [2, 22], 19: [2, 22], 29: [2, 22], 34: [2, 22], 39: [2, 22], 44: [2, 22], 47: [2, 22], 48: [2, 22], 51: [2, 22], 55: [2, 22], 60: [2, 22] }, { 23: [2, 99], 33: [2, 99], 54: [2, 99], 68: [2, 99], 72: [2, 99], 75: [2, 99] }, { 73: [1, 108] }, { 20: 74, 63: 125, 64: 75, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 23], 14: [2, 23], 15: [2, 23], 19: [2, 23], 29: [2, 23], 34: [2, 23], 39: [2, 23], 44: [2, 23], 47: [2, 23], 48: [2, 23], 51: [2, 23], 55: [2, 23], 60: [2, 23] }, { 47: [2, 19] }, { 47: [2, 77] }, { 20: 74, 33: [2, 72], 41: 126, 63: 127, 64: 75, 65: [1, 43], 69: 128, 70: 76, 71: 77, 72: [1, 78], 75: [2, 72], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 24], 14: [2, 24], 15: [2, 24], 19: [2, 24], 29: [2, 24], 34: [2, 24], 39: [2, 24], 44: [2, 24], 47: [2, 24], 48: [2, 24], 51: [2, 24], 55: [2, 24], 60: [2, 24] }, { 68: [1, 129] }, { 65: [2, 95], 68: [2, 95], 72: [2, 95], 80: [2, 95], 81: [2, 95], 82: [2, 95], 83: [2, 95], 84: [2, 95], 85: [2, 95] }, { 68: [2, 97] }, { 5: [2, 21], 14: [2, 21], 15: [2, 21], 19: [2, 21], 29: [2, 21], 34: [2, 21], 39: [2, 21], 44: [2, 21], 47: [2, 21], 48: [2, 21], 51: [2, 21], 55: [2, 21], 60: [2, 21] }, { 33: [1, 130] }, { 33: [2, 63] }, { 72: [1, 132], 76: 131 }, { 33: [1, 133] }, { 33: [2, 69] }, { 15: [2, 12], 18: [2, 12] }, { 14: [2, 26], 15: [2, 26], 19: [2, 26], 29: [2, 26], 34: [2, 26], 47: [2, 26], 48: [2, 26], 51: [2, 26], 55: [2, 26], 60: [2, 26] }, { 23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31] }, { 33: [2, 74], 42: 134, 74: 135, 75: [1, 120] }, { 33: [2, 71], 65: [2, 71], 72: [2, 71], 75: [2, 71], 80: [2, 71], 81: [2, 71], 82: [2, 71], 83: [2, 71], 84: [2, 71], 85: [2, 71] }, { 33: [2, 73], 75: [2, 73] }, { 23: [2, 29], 33: [2, 29], 54: [2, 29], 65: [2, 29], 68: [2, 29], 72: [2, 29], 75: [2, 29], 80: [2, 29], 81: [2, 29], 82: [2, 29], 83: [2, 29], 84: [2, 29], 85: [2, 29] }, { 14: [2, 15], 15: [2, 15], 19: [2, 15], 29: [2, 15], 34: [2, 15], 39: [2, 15], 44: [2, 15], 47: [2, 15], 48: [2, 15], 51: [2, 15], 55: [2, 15], 60: [2, 15] }, { 72: [1, 137], 77: [1, 136] }, { 72: [2, 100], 77: [2, 100] }, { 14: [2, 16], 15: [2, 16], 19: [2, 16], 29: [2, 16], 34: [2, 16], 44: [2, 16], 47: [2, 16], 48: [2, 16], 51: [2, 16], 55: [2, 16], 60: [2, 16] }, { 33: [1, 138] }, { 33: [2, 75] }, { 33: [2, 32] }, { 72: [2, 101], 77: [2, 101] }, { 14: [2, 17], 15: [2, 17], 19: [2, 17], 29: [2, 17], 34: [2, 17], 39: [2, 17], 44: [2, 17], 47: [2, 17], 48: [2, 17], 51: [2, 17], 55: [2, 17], 60: [2, 17] }],
            defaultActions: { 4: [2, 1], 54: [2, 55], 56: [2, 20], 60: [2, 57], 73: [2, 81], 82: [2, 85], 86: [2, 18], 90: [2, 89], 101: [2, 53], 104: [2, 93], 110: [2, 19], 111: [2, 77], 116: [2, 97], 119: [2, 63], 122: [2, 69], 135: [2, 75], 136: [2, 32] },
            parseError: function(u, a) {
                throw new Error(u);
            },
            parse: function(u) {
                var a = this, f = [0], l = [null], d = [], h = this.table, p = "", c = 0, g = 0;
                this.lexer.setInput(u), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, this.yy.parser = this, typeof this.lexer.yylloc > "u" && (this.lexer.yylloc = {});
                var m = this.lexer.yylloc;
                d.push(m);
                var S = this.lexer.options && this.lexer.options.ranges;
                typeof this.yy.parseError == "function" && (this.parseError = this.yy.parseError);
                function _() {
                    var $;
                    return $ = a.lexer.lex() || 1, typeof $ != "number" && ($ = a.symbols_[$] || $), $;
                }
                for (var w, v, y, k, E = {}, x, L, P, R; ; ) {
                    if (v = f[f.length - 1], this.defaultActions[v] ? y = this.defaultActions[v] : ((w === null || typeof w > "u") && (w = _()), y = h[v] && h[v][w]), typeof y > "u" || !y.length || !y[0]) {
                        var Z = "";
                        {
                            R = [];
                            for (x in h[v]) this.terminals_[x] && x > 2 && R.push("'" + this.terminals_[x] + "'");
                            this.lexer.showPosition ? Z = "Parse error on line " + (c + 1) + `:
` + this.lexer.showPosition() + `
Expecting ` + R.join(", ") + ", got '" + (this.terminals_[w] || w) + "'" : Z = "Parse error on line " + (c + 1) + ": Unexpected " + (w == 1 ? "end of input" : "'" + (this.terminals_[w] || w) + "'"), this.parseError(Z, { text: this.lexer.match, token: this.terminals_[w] || w, line: this.lexer.yylineno, loc: m, expected: R });
                        }
                    }
                    if (y[0] instanceof Array && y.length > 1)
                        throw new Error("Parse Error: multiple actions possible at state: " + v + ", token: " + w);
                    switch (y[0]) {
                        case 1:
                            f.push(w), l.push(this.lexer.yytext), d.push(this.lexer.yylloc), f.push(y[1]), w = null, g = this.lexer.yyleng, p = this.lexer.yytext, c = this.lexer.yylineno, m = this.lexer.yylloc;
                            break;
                        case 2:
                            if (L = this.productions_[y[1]][1], E.$ = l[l.length - L], E._$ = { first_line: d[d.length - (L || 1)].first_line, last_line: d[d.length - 1].last_line, first_column: d[d.length - (L || 1)].first_column, last_column: d[d.length - 1].last_column }, S && (E._$.range = [d[d.length - (L || 1)].range[0], d[d.length - 1].range[1]]), k = this.performAction.call(E, p, g, c, this.yy, y[1], l, d), typeof k < "u")
                                return k;
                            L && (f = f.slice(0, -1 * L * 2), l = l.slice(0, -1 * L), d = d.slice(0, -1 * L)), f.push(this.productions_[y[1]][0]), l.push(E.$), d.push(E._$), P = h[f[f.length - 2]][f[f.length - 1]], f.push(P);
                            break;
                        case 3:
                            return !0;
                    }
                }
                return !0;
            }
        }, s = function() {
            var i = {
                EOF: 1,
                parseError: function(a, f) {
                    if (this.yy.parser)
                        this.yy.parser.parseError(a, f);
                    else
                        throw new Error(a);
                },
                setInput: function(a) {
                    return this._input = a, this._more = this._less = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
                },
                input: function() {
                    var a = this._input[0];
                    this.yytext += a, this.yyleng++, this.offset++, this.match += a, this.matched += a;
                    var f = a.match(/(?:\r\n?|\n).*/g);
                    return f ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), a;
                },
                unput: function(a) {
                    var f = a.length, l = a.split(/(?:\r\n?|\n)/g);
                    this._input = a + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - f - 1), this.offset -= f;
                    var d = this.match.split(/(?:\r\n?|\n)/g);
                    this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), l.length - 1 && (this.yylineno -= l.length - 1);
                    var h = this.yylloc.range;
                    return this.yylloc = {
                        first_line: this.yylloc.first_line,
                        last_line: this.yylineno + 1,
                        first_column: this.yylloc.first_column,
                        last_column: l ? (l.length === d.length ? this.yylloc.first_column : 0) + d[d.length - l.length].length - l[0].length : this.yylloc.first_column - f
                    }, this.options.ranges && (this.yylloc.range = [h[0], h[0] + this.yyleng - f]), this;
                },
                more: function() {
                    return this._more = !0, this;
                },
                less: function(a) {
                    this.unput(this.match.slice(a));
                },
                pastInput: function() {
                    var a = this.matched.substr(0, this.matched.length - this.match.length);
                    return (a.length > 20 ? "..." : "") + a.substr(-20).replace(/\n/g, "");
                },
                upcomingInput: function() {
                    var a = this.match;
                    return a.length < 20 && (a += this._input.substr(0, 20 - a.length)), (a.substr(0, 20) + (a.length > 20 ? "..." : "")).replace(/\n/g, "");
                },
                showPosition: function() {
                    var a = this.pastInput(), f = new Array(a.length + 1).join("-");
                    return a + this.upcomingInput() + `
` + f + "^";
                },
                next: function() {
                    if (this.done)
                        return this.EOF;
                    this._input || (this.done = !0);
                    var a, f, l, d, h;
                    this._more || (this.yytext = "", this.match = "");
                    for (var p = this._currentRules(), c = 0; c < p.length && (l = this._input.match(this.rules[p[c]]), !(l && (!f || l[0].length > f[0].length) && (f = l, d = c, !this.options.flex))); c++)
                        ;
                    return f ? (h = f[0].match(/(?:\r\n?|\n).*/g), h && (this.yylineno += h.length), this.yylloc = {
                        first_line: this.yylloc.last_line,
                        last_line: this.yylineno + 1,
                        first_column: this.yylloc.last_column,
                        last_column: h ? h[h.length - 1].length - h[h.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + f[0].length
                    }, this.yytext += f[0], this.match += f[0], this.matches = f, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._input = this._input.slice(f[0].length), this.matched += f[0], a = this.performAction.call(this, this.yy, this, p[d], this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), a || void 0) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
` + this.showPosition(), { text: "", token: null, line: this.yylineno });
                },
                lex: function() {
                    var a = this.next();
                    return typeof a < "u" ? a : this.lex();
                },
                begin: function(a) {
                    this.conditionStack.push(a);
                },
                popState: function() {
                    return this.conditionStack.pop();
                },
                _currentRules: function() {
                    return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
                },
                topState: function() {
                    return this.conditionStack[this.conditionStack.length - 2];
                },
                pushState: function(a) {
                    this.begin(a);
                }
            };
            return i.options = {}, i.performAction = function(a, f, l, d) {
                function h(p, c) {
                    return f.yytext = f.yytext.substring(p, f.yyleng - c + p);
                }
                switch (l) {
                    case 0:
                        if (f.yytext.slice(-2) === "\\\\" ? (h(0, 1), this.begin("mu")) : f.yytext.slice(-1) === "\\" ? (h(0, 1), this.begin("emu")) : this.begin("mu"), f.yytext) return 15;
                        break;
                    case 1:
                        return 15;
                    case 2:
                        return this.popState(), 15;
                    case 3:
                        return this.begin("raw"), 15;
                    case 4:
                        return this.popState(), this.conditionStack[this.conditionStack.length - 1] === "raw" ? 15 : (h(5, 9), "END_RAW_BLOCK");
                    case 5:
                        return 15;
                    case 6:
                        return this.popState(), 14;
                    case 7:
                        return 65;
                    case 8:
                        return 68;
                    case 9:
                        return 19;
                    case 10:
                        return this.popState(), this.begin("raw"), 23;
                    case 11:
                        return 55;
                    case 12:
                        return 60;
                    case 13:
                        return 29;
                    case 14:
                        return 47;
                    case 15:
                        return this.popState(), 44;
                    case 16:
                        return this.popState(), 44;
                    case 17:
                        return 34;
                    case 18:
                        return 39;
                    case 19:
                        return 51;
                    case 20:
                        return 48;
                    case 21:
                        this.unput(f.yytext), this.popState(), this.begin("com");
                        break;
                    case 22:
                        return this.popState(), 14;
                    case 23:
                        return 48;
                    case 24:
                        return 73;
                    case 25:
                        return 72;
                    case 26:
                        return 72;
                    case 27:
                        return 87;
                    case 28:
                        break;
                    case 29:
                        return this.popState(), 54;
                    case 30:
                        return this.popState(), 33;
                    case 31:
                        return f.yytext = h(1, 2).replace(/\\"/g, '"'), 80;
                    case 32:
                        return f.yytext = h(1, 2).replace(/\\'/g, "'"), 80;
                    case 33:
                        return 85;
                    case 34:
                        return 82;
                    case 35:
                        return 82;
                    case 36:
                        return 83;
                    case 37:
                        return 84;
                    case 38:
                        return 81;
                    case 39:
                        return 75;
                    case 40:
                        return 77;
                    case 41:
                        return 72;
                    case 42:
                        return f.yytext = f.yytext.replace(/\\([\\\]])/g, "$1"), 72;
                    case 43:
                        return "INVALID";
                    case 44:
                        return 5;
                }
            }, i.rules = [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{(?=[^/]))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]+?(?=(\{\{\{\{)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#>)/, /^(?:\{\{(~)?#\*?)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?\*?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)|])))/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)])))/, /^(?:false(?=([~}\s)])))/, /^(?:undefined(?=([~}\s)])))/, /^(?:null(?=([~}\s)])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/], i.conditions = { mu: { rules: [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], inclusive: !1 }, emu: { rules: [2], inclusive: !1 }, com: { rules: [6], inclusive: !1 }, raw: { rules: [3, 4, 5], inclusive: !1 }, INITIAL: { rules: [0, 1, 44], inclusive: !0 } }, i;
        }();
        n.lexer = s;
        function o() {
            this.yy = {};
        }
        return o.prototype = n, n.Parser = o, new o();
    }();
    t.default = r, e.exports = t.default;
})(bt, bt.exports);
var ko = bt.exports, wt = { exports: {} }, Et = { exports: {} };
(function(e, t) {
    t.__esModule = !0;
    function r(f) {
        return f && f.__esModule ? f : { default: f };
    }
    var n = F, s = r(n);
    function o() {
        this.parents = [];
    }
    o.prototype = {
        constructor: o,
        mutating: !1,
        // Visits a given value. If mutating, will replace the value if necessary.
        acceptKey: function(l, d) {
            var h = this.accept(l[d]);
            if (this.mutating) {
                if (h && !o.prototype[h.type])
                    throw new s.default('Unexpected node type "' + h.type + '" found when accepting ' + d + " on " + l.type);
                l[d] = h;
            }
        },
        // Performs an accept operation with added sanity check to ensure
        // required keys are not removed.
        acceptRequired: function(l, d) {
            if (this.acceptKey(l, d), !l[d])
                throw new s.default(l.type + " requires " + d);
        },
        // Traverses a given array. If mutating, empty respnses will be removed
        // for child elements.
        acceptArray: function(l) {
            for (var d = 0, h = l.length; d < h; d++)
                this.acceptKey(l, d), l[d] || (l.splice(d, 1), d--, h--);
        },
        accept: function(l) {
            if (l) {
                if (!this[l.type])
                    throw new s.default("Unknown type: " + l.type, l);
                this.current && this.parents.unshift(this.current), this.current = l;
                var d = this[l.type](l);
                if (this.current = this.parents.shift(), !this.mutating || d)
                    return d;
                if (d !== !1)
                    return l;
            }
        },
        Program: function(l) {
            this.acceptArray(l.body);
        },
        MustacheStatement: i,
        Decorator: i,
        BlockStatement: u,
        DecoratorBlock: u,
        PartialStatement: a,
        PartialBlockStatement: function(l) {
            a.call(this, l), this.acceptKey(l, "program");
        },
        ContentStatement: function() {
        },
        CommentStatement: function() {
        },
        SubExpression: i,
        PathExpression: function() {
        },
        StringLiteral: function() {
        },
        NumberLiteral: function() {
        },
        BooleanLiteral: function() {
        },
        UndefinedLiteral: function() {
        },
        NullLiteral: function() {
        },
        Hash: function(l) {
            this.acceptArray(l.pairs);
        },
        HashPair: function(l) {
            this.acceptRequired(l, "value");
        }
    };
    function i(f) {
        this.acceptRequired(f, "path"), this.acceptArray(f.params), this.acceptKey(f, "hash");
    }
    function u(f) {
        i.call(this, f), this.acceptKey(f, "program"), this.acceptKey(f, "inverse");
    }
    function a(f) {
        this.acceptRequired(f, "name"), this.acceptArray(f.params), this.acceptKey(f, "hash");
    }
    t.default = o, e.exports = t.default;
})(Et, Et.exports);
var an = Et.exports;
(function(e, t) {
    t.__esModule = !0;
    function r(l) {
        return l && l.__esModule ? l : { default: l };
    }
    var n = an, s = r(n);
    function o() {
        var l = arguments.length <= 0 || arguments[0] === void 0 ? {} : arguments[0];
        this.options = l;
    }
    o.prototype = new s.default(), o.prototype.Program = function(l) {
        var d = !this.options.ignoreStandalone, h = !this.isRootSeen;
        this.isRootSeen = !0;
        for (var p = l.body, c = 0, g = p.length; c < g; c++) {
            var m = p[c], S = this.accept(m);
            if (S) {
                var _ = i(p, c, h), w = u(p, c, h), v = S.openStandalone && _, y = S.closeStandalone && w, k = S.inlineStandalone && _ && w;
                S.close && a(p, c, !0), S.open && f(p, c, !0), d && k && (a(p, c), f(p, c) && m.type === "PartialStatement" && (m.indent = /([ \t]+$)/.exec(p[c - 1].original)[1])), d && v && (a((m.program || m.inverse).body), f(p, c)), d && y && (a(p, c), f((m.inverse || m.program).body));
            }
        }
        return l;
    }, o.prototype.BlockStatement = o.prototype.DecoratorBlock = o.prototype.PartialBlockStatement = function(l) {
        this.accept(l.program), this.accept(l.inverse);
        var d = l.program || l.inverse, h = l.program && l.inverse, p = h, c = h;
        if (h && h.chained)
            for (p = h.body[0].program; c.chained; )
                c = c.body[c.body.length - 1].program;
        var g = {
            open: l.openStrip.open,
            close: l.closeStrip.close,
            // Determine the standalone candiacy. Basically flag our content as being possibly standalone
            // so our parent can determine if we actually are standalone
            openStandalone: u(d.body),
            closeStandalone: i((p || d).body)
        };
        if (l.openStrip.close && a(d.body, null, !0), h) {
            var m = l.inverseStrip;
            m.open && f(d.body, null, !0), m.close && a(p.body, null, !0), l.closeStrip.open && f(c.body, null, !0), !this.options.ignoreStandalone && i(d.body) && u(p.body) && (f(d.body), a(p.body));
        } else l.closeStrip.open && f(d.body, null, !0);
        return g;
    }, o.prototype.Decorator = o.prototype.MustacheStatement = function(l) {
        return l.strip;
    }, o.prototype.PartialStatement = o.prototype.CommentStatement = function(l) {
        var d = l.strip || {};
        return {
            inlineStandalone: !0,
            open: d.open,
            close: d.close
        };
    };
    function i(l, d, h) {
        d === void 0 && (d = l.length);
        var p = l[d - 1], c = l[d - 2];
        if (!p)
            return h;
        if (p.type === "ContentStatement")
            return (c || !h ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(p.original);
    }
    function u(l, d, h) {
        d === void 0 && (d = -1);
        var p = l[d + 1], c = l[d + 2];
        if (!p)
            return h;
        if (p.type === "ContentStatement")
            return (c || !h ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(p.original);
    }
    function a(l, d, h) {
        var p = l[d == null ? 0 : d + 1];
        if (!(!p || p.type !== "ContentStatement" || !h && p.rightStripped)) {
            var c = p.value;
            p.value = p.value.replace(h ? /^\s+/ : /^[ \t]*\r?\n?/, ""), p.rightStripped = p.value !== c;
        }
    }
    function f(l, d, h) {
        var p = l[d == null ? l.length - 1 : d - 1];
        if (!(!p || p.type !== "ContentStatement" || !h && p.leftStripped)) {
            var c = p.value;
            return p.value = p.value.replace(h ? /\s+$/ : /[ \t]+$/, ""), p.leftStripped = p.value !== c, p.leftStripped;
        }
    }
    t.default = o, e.exports = t.default;
})(wt, wt.exports);
var xo = wt.exports, D = {};
D.__esModule = !0;
D.SourceLocation = Lo;
D.id = Ao;
D.stripFlags = Oo;
D.stripComment = Ro;
D.preparePath = Mo;
D.prepareMustache = No;
D.prepareRawBlock = To;
D.prepareBlock = Io;
D.prepareProgram = Do;
D.preparePartialBlock = Bo;
function Co(e) {
    return e && e.__esModule ? e : { default: e };
}
var Po = F, Bt = Co(Po);
function Ft(e, t) {
    if (t = t.path ? t.path.original : t, e.path.original !== t) {
        var r = { loc: e.path.loc };
        throw new Bt.default(e.path.original + " doesn't match " + t, r);
    }
}
function Lo(e, t) {
    this.source = e, this.start = {
        line: t.first_line,
        column: t.first_column
    }, this.end = {
        line: t.last_line,
        column: t.last_column
    };
}
function Ao(e) {
    return /^\[.*\]$/.test(e) ? e.substring(1, e.length - 1) : e;
}
function Oo(e, t) {
    return {
        open: e.charAt(2) === "~",
        close: t.charAt(t.length - 3) === "~"
    };
}
function Ro(e) {
    return e.replace(/^\{\{~?!-?-?/, "").replace(/-?-?~?\}\}$/, "");
}
function Mo(e, t, r) {
    r = this.locInfo(r);
    for (var n = e ? "@" : "", s = [], o = 0, i = 0, u = t.length; i < u; i++) {
        var a = t[i].part, f = t[i].original !== a;
        if (n += (t[i].separator || "") + a, !f && (a === ".." || a === "." || a === "this")) {
            if (s.length > 0)
                throw new Bt.default("Invalid path: " + n, { loc: r });
            a === ".." && o++;
        } else
            s.push(a);
    }
    return {
        type: "PathExpression",
        data: e,
        depth: o,
        parts: s,
        original: n,
        loc: r
    };
}
function No(e, t, r, n, s, o) {
    var i = n.charAt(3) || n.charAt(2), u = i !== "{" && i !== "&", a = /\*/.test(n);
    return {
        type: a ? "Decorator" : "MustacheStatement",
        path: e,
        params: t,
        hash: r,
        escaped: u,
        strip: s,
        loc: this.locInfo(o)
    };
}
function To(e, t, r, n) {
    Ft(e, r), n = this.locInfo(n);
    var s = {
        type: "Program",
        body: t,
        strip: {},
        loc: n
    };
    return {
        type: "BlockStatement",
        path: e.path,
        params: e.params,
        hash: e.hash,
        program: s,
        openStrip: {},
        inverseStrip: {},
        closeStrip: {},
        loc: n
    };
}
function Io(e, t, r, n, s, o) {
    n && n.path && Ft(e, n);
    var i = /\*/.test(e.open);
    t.blockParams = e.blockParams;
    var u = void 0, a = void 0;
    if (r) {
        if (i)
            throw new Bt.default("Unexpected inverse block on decorator", r);
        r.chain && (r.program.body[0].closeStrip = n.strip), a = r.strip, u = r.program;
    }
    return s && (s = u, u = t, t = s), {
        type: i ? "DecoratorBlock" : "BlockStatement",
        path: e.path,
        params: e.params,
        hash: e.hash,
        program: t,
        inverse: u,
        openStrip: e.strip,
        inverseStrip: a,
        closeStrip: n && n.strip,
        loc: this.locInfo(o)
    };
}
function Do(e, t) {
    if (!t && e.length) {
        var r = e[0].loc, n = e[e.length - 1].loc;
        r && n && (t = {
            source: r.source,
            start: {
                line: r.start.line,
                column: r.start.column
            },
            end: {
                line: n.end.line,
                column: n.end.column
            }
        });
    }
    return {
        type: "Program",
        body: e,
        strip: {},
        loc: t
    };
}
function Bo(e, t, r, n) {
    return Ft(e, r), {
        type: "PartialBlockStatement",
        name: e.path,
        params: e.params,
        hash: e.hash,
        program: t,
        openStrip: e.strip,
        closeStrip: r && r.strip,
        loc: this.locInfo(n)
    };
}
de.__esModule = !0;
de.parseWithoutProcessing = un;
de.parse = Wo;
function Fo(e) {
    if (e && e.__esModule)
        return e;
    var t = {};
    if (e != null)
        for (var r in e)
            Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);
    return t.default = e, t;
}
function ln(e) {
    return e && e.__esModule ? e : { default: e };
}
var Ho = ko, kt = ln(Ho), qo = xo, Uo = ln(qo), Vo = D, zo = Fo(Vo), Go = A;
de.parser = kt.default;
var xe = {};
Go.extend(xe, zo);
function un(e, t) {
    if (e.type === "Program")
        return e;
    kt.default.yy = xe, xe.locInfo = function(n) {
        return new xe.SourceLocation(t && t.srcName, n);
    };
    var r = kt.default.parse(e);
    return r;
}
function Wo(e, t) {
    var r = un(e, t), n = new Uo.default(t);
    return n.accept(r);
}
var me = {};
me.__esModule = !0;
me.Compiler = xt;
me.precompile = Xo;
me.compile = Qo;
function cn(e) {
    return e && e.__esModule ? e : { default: e };
}
var jo = F, le = cn(jo), ce = A, Jo = on, ie = cn(Jo), Ko = [].slice;
function xt() {
}
xt.prototype = {
    compiler: xt,
    equals: function(t) {
        var r = this.opcodes.length;
        if (t.opcodes.length !== r)
            return !1;
        for (var n = 0; n < r; n++) {
            var s = this.opcodes[n], o = t.opcodes[n];
            if (s.opcode !== o.opcode || !hn(s.args, o.args))
                return !1;
        }
        r = this.children.length;
        for (var n = 0; n < r; n++)
            if (!this.children[n].equals(t.children[n]))
                return !1;
        return !0;
    },
    guid: 0,
    compile: function(t, r) {
        return this.sourceNode = [], this.opcodes = [], this.children = [], this.options = r, this.stringParams = r.stringParams, this.trackIds = r.trackIds, r.blockParams = r.blockParams || [], r.knownHelpers = ce.extend(/* @__PURE__ */ Object.create(null), {
            helperMissing: !0,
            blockHelperMissing: !0,
            each: !0,
            if: !0,
            unless: !0,
            with: !0,
            log: !0,
            lookup: !0
        }, r.knownHelpers), this.accept(t);
    },
    compileProgram: function(t) {
        var r = new this.compiler(), n = r.compile(t, this.options), s = this.guid++;
        return this.usePartial = this.usePartial || n.usePartial, this.children[s] = n, this.useDepths = this.useDepths || n.useDepths, s;
    },
    accept: function(t) {
        if (!this[t.type])
            throw new le.default("Unknown type: " + t.type, t);
        this.sourceNode.unshift(t);
        var r = this[t.type](t);
        return this.sourceNode.shift(), r;
    },
    Program: function(t) {
        this.options.blockParams.unshift(t.blockParams);
        for (var r = t.body, n = r.length, s = 0; s < n; s++)
            this.accept(r[s]);
        return this.options.blockParams.shift(), this.isSimple = n === 1, this.blockParams = t.blockParams ? t.blockParams.length : 0, this;
    },
    BlockStatement: function(t) {
        ar(t);
        var r = t.program, n = t.inverse;
        r = r && this.compileProgram(r), n = n && this.compileProgram(n);
        var s = this.classifySexpr(t);
        s === "helper" ? this.helperSexpr(t, r, n) : s === "simple" ? (this.simpleSexpr(t), this.opcode("pushProgram", r), this.opcode("pushProgram", n), this.opcode("emptyHash"), this.opcode("blockValue", t.path.original)) : (this.ambiguousSexpr(t, r, n), this.opcode("pushProgram", r), this.opcode("pushProgram", n), this.opcode("emptyHash"), this.opcode("ambiguousBlockValue")), this.opcode("append");
    },
    DecoratorBlock: function(t) {
        var r = t.program && this.compileProgram(t.program), n = this.setupFullMustacheParams(t, r, void 0), s = t.path;
        this.useDecorators = !0, this.opcode("registerDecorator", n.length, s.original);
    },
    PartialStatement: function(t) {
        this.usePartial = !0;
        var r = t.program;
        r && (r = this.compileProgram(t.program));
        var n = t.params;
        if (n.length > 1)
            throw new le.default("Unsupported number of partial arguments: " + n.length, t);
        n.length || (this.options.explicitPartialContext ? this.opcode("pushLiteral", "undefined") : n.push({ type: "PathExpression", parts: [], depth: 0 }));
        var s = t.name.original, o = t.name.type === "SubExpression";
        o && this.accept(t.name), this.setupFullMustacheParams(t, r, void 0, !0);
        var i = t.indent || "";
        this.options.preventIndent && i && (this.opcode("appendContent", i), i = ""), this.opcode("invokePartial", o, s, i), this.opcode("append");
    },
    PartialBlockStatement: function(t) {
        this.PartialStatement(t);
    },
    MustacheStatement: function(t) {
        this.SubExpression(t), t.escaped && !this.options.noEscape ? this.opcode("appendEscaped") : this.opcode("append");
    },
    Decorator: function(t) {
        this.DecoratorBlock(t);
    },
    ContentStatement: function(t) {
        t.value && this.opcode("appendContent", t.value);
    },
    CommentStatement: function() {
    },
    SubExpression: function(t) {
        ar(t);
        var r = this.classifySexpr(t);
        r === "simple" ? this.simpleSexpr(t) : r === "helper" ? this.helperSexpr(t) : this.ambiguousSexpr(t);
    },
    ambiguousSexpr: function(t, r, n) {
        var s = t.path, o = s.parts[0], i = r != null || n != null;
        this.opcode("getContext", s.depth), this.opcode("pushProgram", r), this.opcode("pushProgram", n), s.strict = !0, this.accept(s), this.opcode("invokeAmbiguous", o, i);
    },
    simpleSexpr: function(t) {
        var r = t.path;
        r.strict = !0, this.accept(r), this.opcode("resolvePossibleLambda");
    },
    helperSexpr: function(t, r, n) {
        var s = this.setupFullMustacheParams(t, r, n), o = t.path, i = o.parts[0];
        if (this.options.knownHelpers[i])
            this.opcode("invokeKnownHelper", s.length, i);
        else {
            if (this.options.knownHelpersOnly)
                throw new le.default("You specified knownHelpersOnly, but used the unknown helper " + i, t);
            o.strict = !0, o.falsy = !0, this.accept(o), this.opcode("invokeHelper", s.length, o.original, ie.default.helpers.simpleId(o));
        }
    },
    PathExpression: function(t) {
        this.addDepth(t.depth), this.opcode("getContext", t.depth);
        var r = t.parts[0], n = ie.default.helpers.scopedId(t), s = !t.depth && !n && this.blockParamIndex(r);
        s ? this.opcode("lookupBlockParam", s, t.parts) : r ? t.data ? (this.options.data = !0, this.opcode("lookupData", t.depth, t.parts, t.strict)) : this.opcode("lookupOnContext", t.parts, t.falsy, t.strict, n) : this.opcode("pushContext");
    },
    StringLiteral: function(t) {
        this.opcode("pushString", t.value);
    },
    NumberLiteral: function(t) {
        this.opcode("pushLiteral", t.value);
    },
    BooleanLiteral: function(t) {
        this.opcode("pushLiteral", t.value);
    },
    UndefinedLiteral: function() {
        this.opcode("pushLiteral", "undefined");
    },
    NullLiteral: function() {
        this.opcode("pushLiteral", "null");
    },
    Hash: function(t) {
        var r = t.pairs, n = 0, s = r.length;
        for (this.opcode("pushHash"); n < s; n++)
            this.pushParam(r[n].value);
        for (; n--; )
            this.opcode("assignToHash", r[n].key);
        this.opcode("popHash");
    },
    // HELPERS
    opcode: function(t) {
        this.opcodes.push({
            opcode: t,
            args: Ko.call(arguments, 1),
            loc: this.sourceNode[0].loc
        });
    },
    addDepth: function(t) {
        t && (this.useDepths = !0);
    },
    classifySexpr: function(t) {
        var r = ie.default.helpers.simpleId(t.path), n = r && !!this.blockParamIndex(t.path.parts[0]), s = !n && ie.default.helpers.helperExpression(t), o = !n && (s || r);
        if (o && !s) {
            var i = t.path.parts[0], u = this.options;
            u.knownHelpers[i] ? s = !0 : u.knownHelpersOnly && (o = !1);
        }
        return s ? "helper" : o ? "ambiguous" : "simple";
    },
    pushParams: function(t) {
        for (var r = 0, n = t.length; r < n; r++)
            this.pushParam(t[r]);
    },
    pushParam: function(t) {
        var r = t.value != null ? t.value : t.original || "";
        if (this.stringParams)
            r.replace && (r = r.replace(/^(\.?\.\/)*/g, "").replace(/\//g, ".")), t.depth && this.addDepth(t.depth), this.opcode("getContext", t.depth || 0), this.opcode("pushStringParam", r, t.type), t.type === "SubExpression" && this.accept(t);
        else {
            if (this.trackIds) {
                var n = void 0;
                if (t.parts && !ie.default.helpers.scopedId(t) && !t.depth && (n = this.blockParamIndex(t.parts[0])), n) {
                    var s = t.parts.slice(1).join(".");
                    this.opcode("pushId", "BlockParam", n, s);
                } else
                    r = t.original || r, r.replace && (r = r.replace(/^this(?:\.|$)/, "").replace(/^\.\//, "").replace(/^\.$/, "")), this.opcode("pushId", t.type, r);
            }
            this.accept(t);
        }
    },
    setupFullMustacheParams: function(t, r, n, s) {
        var o = t.params;
        return this.pushParams(o), this.opcode("pushProgram", r), this.opcode("pushProgram", n), t.hash ? this.accept(t.hash) : this.opcode("emptyHash", s), o;
    },
    blockParamIndex: function(t) {
        for (var r = 0, n = this.options.blockParams.length; r < n; r++) {
            var s = this.options.blockParams[r], o = s && ce.indexOf(s, t);
            if (s && o >= 0)
                return [r, o];
        }
    }
};
function Xo(e, t, r) {
    if (e == null || typeof e != "string" && e.type !== "Program")
        throw new le.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed " + e);
    t = t || {}, "data" in t || (t.data = !0), t.compat && (t.useDepths = !0);
    var n = r.parse(e, t), s = new r.Compiler().compile(n, t);
    return new r.JavaScriptCompiler().compile(s, t);
}
function Qo(e, t, r) {
    if (t === void 0 && (t = {}), e == null || typeof e != "string" && e.type !== "Program")
        throw new le.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed " + e);
    t = ce.extend({}, t), "data" in t || (t.data = !0), t.compat && (t.useDepths = !0);
    var n = void 0;
    function s() {
        var i = r.parse(e, t), u = new r.Compiler().compile(i, t), a = new r.JavaScriptCompiler().compile(u, t, void 0, !0);
        return r.template(a);
    }
    function o(i, u) {
        return n || (n = s()), n.call(this, i, u);
    }
    return o._setup = function(i) {
        return n || (n = s()), n._setup(i);
    }, o._child = function(i, u, a, f) {
        return n || (n = s()), n._child(i, u, a, f);
    }, o;
}
function hn(e, t) {
    if (e === t)
        return !0;
    if (ce.isArray(e) && ce.isArray(t) && e.length === t.length) {
        for (var r = 0; r < e.length; r++)
            if (!hn(e[r], t[r]))
                return !1;
        return !0;
    }
}
function ar(e) {
    if (!e.path.parts) {
        var t = e.path;
        e.path = {
            type: "PathExpression",
            data: !1,
            depth: 0,
            parts: [t.original + ""],
            original: t.original + "",
            loc: t.loc
        };
    }
}
var Ct = { exports: {} }, Pt = { exports: {} }, oe = {}, Ge = {}, _e = {}, ye = {}, lr;
function Yo() {
    if (lr) return ye;
    lr = 1;
    var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
    return ye.encode = function(t) {
        if (0 <= t && t < e.length)
            return e[t];
        throw new TypeError("Must be between 0 and 63: " + t);
    }, ye.decode = function(t) {
        var r = 65, n = 90, s = 97, o = 122, i = 48, u = 57, a = 43, f = 47, l = 26, d = 52;
        return r <= t && t <= n ? t - r : s <= t && t <= o ? t - s + l : i <= t && t <= u ? t - i + d : t == a ? 62 : t == f ? 63 : -1;
    }, ye;
}
var ur;
function fn() {
    if (ur) return _e;
    ur = 1;
    var e = Yo(), t = 5, r = 1 << t, n = r - 1, s = r;
    function o(u) {
        return u < 0 ? (-u << 1) + 1 : (u << 1) + 0;
    }
    function i(u) {
        var a = (u & 1) === 1, f = u >> 1;
        return a ? -f : f;
    }
    return _e.encode = function(a) {
        var f = "", l, d = o(a);
        do
            l = d & n, d >>>= t, d > 0 && (l |= s), f += e.encode(l);
        while (d > 0);
        return f;
    }, _e.decode = function(a, f, l) {
        var d = a.length, h = 0, p = 0, c, g;
        do {
            if (f >= d)
                throw new Error("Expected more digits in base 64 VLQ value.");
            if (g = e.decode(a.charCodeAt(f++)), g === -1)
                throw new Error("Invalid base64 digit: " + a.charAt(f - 1));
            c = !!(g & s), g &= n, h = h + (g << p), p += t;
        } while (c);
        l.value = i(h), l.rest = f;
    }, _e;
}
var We = {}, cr;
function ge() {
    return cr || (cr = 1, function(e) {
        function t(v, y, k) {
            if (y in v)
                return v[y];
            if (arguments.length === 3)
                return k;
            throw new Error('"' + y + '" is a required argument.');
        }
        e.getArg = t;
        var r = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/, n = /^data:.+\,.+$/;
        function s(v) {
            var y = v.match(r);
            return y ? {
                scheme: y[1],
                auth: y[2],
                host: y[3],
                port: y[4],
                path: y[5]
            } : null;
        }
        e.urlParse = s;
        function o(v) {
            var y = "";
            return v.scheme && (y += v.scheme + ":"), y += "//", v.auth && (y += v.auth + "@"), v.host && (y += v.host), v.port && (y += ":" + v.port), v.path && (y += v.path), y;
        }
        e.urlGenerate = o;
        function i(v) {
            var y = v, k = s(v);
            if (k) {
                if (!k.path)
                    return v;
                y = k.path;
            }
            for (var E = e.isAbsolute(y), x = y.split(/\/+/), L, P = 0, R = x.length - 1; R >= 0; R--)
                L = x[R], L === "." ? x.splice(R, 1) : L === ".." ? P++ : P > 0 && (L === "" ? (x.splice(R + 1, P), P = 0) : (x.splice(R, 2), P--));
            return y = x.join("/"), y === "" && (y = E ? "/" : "."), k ? (k.path = y, o(k)) : y;
        }
        e.normalize = i;
        function u(v, y) {
            v === "" && (v = "."), y === "" && (y = ".");
            var k = s(y), E = s(v);
            if (E && (v = E.path || "/"), k && !k.scheme)
                return E && (k.scheme = E.scheme), o(k);
            if (k || y.match(n))
                return y;
            if (E && !E.host && !E.path)
                return E.host = y, o(E);
            var x = y.charAt(0) === "/" ? y : i(v.replace(/\/+$/, "") + "/" + y);
            return E ? (E.path = x, o(E)) : x;
        }
        e.join = u, e.isAbsolute = function(v) {
            return v.charAt(0) === "/" || r.test(v);
        };
        function a(v, y) {
            v === "" && (v = "."), v = v.replace(/\/$/, "");
            for (var k = 0; y.indexOf(v + "/") !== 0; ) {
                var E = v.lastIndexOf("/");
                if (E < 0 || (v = v.slice(0, E), v.match(/^([^\/]+:\/)?\/*$/)))
                    return y;
                ++k;
            }
            return Array(k + 1).join("../") + y.substr(v.length + 1);
        }
        e.relative = a;
        var f = function() {
            var v = /* @__PURE__ */ Object.create(null);
            return !("__proto__" in v);
        }();
        function l(v) {
            return v;
        }
        function d(v) {
            return p(v) ? "$" + v : v;
        }
        e.toSetString = f ? l : d;
        function h(v) {
            return p(v) ? v.slice(1) : v;
        }
        e.fromSetString = f ? l : h;
        function p(v) {
            if (!v)
                return !1;
            var y = v.length;
            if (y < 9 || v.charCodeAt(y - 1) !== 95 || v.charCodeAt(y - 2) !== 95 || v.charCodeAt(y - 3) !== 111 || v.charCodeAt(y - 4) !== 116 || v.charCodeAt(y - 5) !== 111 || v.charCodeAt(y - 6) !== 114 || v.charCodeAt(y - 7) !== 112 || v.charCodeAt(y - 8) !== 95 || v.charCodeAt(y - 9) !== 95)
                return !1;
            for (var k = y - 10; k >= 0; k--)
                if (v.charCodeAt(k) !== 36)
                    return !1;
            return !0;
        }
        function c(v, y, k) {
            var E = m(v.source, y.source);
            return E !== 0 || (E = v.originalLine - y.originalLine, E !== 0) || (E = v.originalColumn - y.originalColumn, E !== 0 || k) || (E = v.generatedColumn - y.generatedColumn, E !== 0) || (E = v.generatedLine - y.generatedLine, E !== 0) ? E : m(v.name, y.name);
        }
        e.compareByOriginalPositions = c;
        function g(v, y, k) {
            var E = v.generatedLine - y.generatedLine;
            return E !== 0 || (E = v.generatedColumn - y.generatedColumn, E !== 0 || k) || (E = m(v.source, y.source), E !== 0) || (E = v.originalLine - y.originalLine, E !== 0) || (E = v.originalColumn - y.originalColumn, E !== 0) ? E : m(v.name, y.name);
        }
        e.compareByGeneratedPositionsDeflated = g;
        function m(v, y) {
            return v === y ? 0 : v === null ? 1 : y === null ? -1 : v > y ? 1 : -1;
        }
        function S(v, y) {
            var k = v.generatedLine - y.generatedLine;
            return k !== 0 || (k = v.generatedColumn - y.generatedColumn, k !== 0) || (k = m(v.source, y.source), k !== 0) || (k = v.originalLine - y.originalLine, k !== 0) || (k = v.originalColumn - y.originalColumn, k !== 0) ? k : m(v.name, y.name);
        }
        e.compareByGeneratedPositionsInflated = S;
        function _(v) {
            return JSON.parse(v.replace(/^\)]}'[^\n]*\n/, ""));
        }
        e.parseSourceMapInput = _;
        function w(v, y, k) {
            if (y = y || "", v && (v[v.length - 1] !== "/" && y[0] !== "/" && (v += "/"), y = v + y), k) {
                var E = s(k);
                if (!E)
                    throw new Error("sourceMapURL could not be parsed");
                if (E.path) {
                    var x = E.path.lastIndexOf("/");
                    x >= 0 && (E.path = E.path.substring(0, x + 1));
                }
                y = u(o(E), y);
            }
            return i(y);
        }
        e.computeSourceURL = w;
    }(We)), We;
}
var je = {}, hr;
function pn() {
    if (hr) return je;
    hr = 1;
    var e = ge(), t = Object.prototype.hasOwnProperty, r = typeof Map < "u";
    function n() {
        this._array = [], this._set = r ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null);
    }
    return n.fromArray = function(o, i) {
        for (var u = new n(), a = 0, f = o.length; a < f; a++)
            u.add(o[a], i);
        return u;
    }, n.prototype.size = function() {
        return r ? this._set.size : Object.getOwnPropertyNames(this._set).length;
    }, n.prototype.add = function(o, i) {
        var u = r ? o : e.toSetString(o), a = r ? this.has(o) : t.call(this._set, u), f = this._array.length;
        (!a || i) && this._array.push(o), a || (r ? this._set.set(o, f) : this._set[u] = f);
    }, n.prototype.has = function(o) {
        if (r)
            return this._set.has(o);
        var i = e.toSetString(o);
        return t.call(this._set, i);
    }, n.prototype.indexOf = function(o) {
        if (r) {
            var i = this._set.get(o);
            if (i >= 0)
                return i;
        } else {
            var u = e.toSetString(o);
            if (t.call(this._set, u))
                return this._set[u];
        }
        throw new Error('"' + o + '" is not in the set.');
    }, n.prototype.at = function(o) {
        if (o >= 0 && o < this._array.length)
            return this._array[o];
        throw new Error("No element indexed by " + o);
    }, n.prototype.toArray = function() {
        return this._array.slice();
    }, je.ArraySet = n, je;
}
var Je = {}, fr;
function Zo() {
    if (fr) return Je;
    fr = 1;
    var e = ge();
    function t(n, s) {
        var o = n.generatedLine, i = s.generatedLine, u = n.generatedColumn, a = s.generatedColumn;
        return i > o || i == o && a >= u || e.compareByGeneratedPositionsInflated(n, s) <= 0;
    }
    function r() {
        this._array = [], this._sorted = !0, this._last = { generatedLine: -1, generatedColumn: 0 };
    }
    return r.prototype.unsortedForEach = function(s, o) {
        this._array.forEach(s, o);
    }, r.prototype.add = function(s) {
        t(this._last, s) ? (this._last = s, this._array.push(s)) : (this._sorted = !1, this._array.push(s));
    }, r.prototype.toArray = function() {
        return this._sorted || (this._array.sort(e.compareByGeneratedPositionsInflated), this._sorted = !0), this._array;
    }, Je.MappingList = r, Je;
}
var pr;
function dn() {
    if (pr) return Ge;
    pr = 1;
    var e = fn(), t = ge(), r = pn().ArraySet, n = Zo().MappingList;
    function s(o) {
        o || (o = {}), this._file = t.getArg(o, "file", null), this._sourceRoot = t.getArg(o, "sourceRoot", null), this._skipValidation = t.getArg(o, "skipValidation", !1), this._sources = new r(), this._names = new r(), this._mappings = new n(), this._sourcesContents = null;
    }
    return s.prototype._version = 3, s.fromSourceMap = function(i) {
        var u = i.sourceRoot, a = new s({
            file: i.file,
            sourceRoot: u
        });
        return i.eachMapping(function(f) {
            var l = {
                generated: {
                    line: f.generatedLine,
                    column: f.generatedColumn
                }
            };
            f.source != null && (l.source = f.source, u != null && (l.source = t.relative(u, l.source)), l.original = {
                line: f.originalLine,
                column: f.originalColumn
            }, f.name != null && (l.name = f.name)), a.addMapping(l);
        }), i.sources.forEach(function(f) {
            var l = f;
            u !== null && (l = t.relative(u, f)), a._sources.has(l) || a._sources.add(l);
            var d = i.sourceContentFor(f);
            d != null && a.setSourceContent(f, d);
        }), a;
    }, s.prototype.addMapping = function(i) {
        var u = t.getArg(i, "generated"), a = t.getArg(i, "original", null), f = t.getArg(i, "source", null), l = t.getArg(i, "name", null);
        this._skipValidation || this._validateMapping(u, a, f, l), f != null && (f = String(f), this._sources.has(f) || this._sources.add(f)), l != null && (l = String(l), this._names.has(l) || this._names.add(l)), this._mappings.add({
            generatedLine: u.line,
            generatedColumn: u.column,
            originalLine: a != null && a.line,
            originalColumn: a != null && a.column,
            source: f,
            name: l
        });
    }, s.prototype.setSourceContent = function(i, u) {
        var a = i;
        this._sourceRoot != null && (a = t.relative(this._sourceRoot, a)), u != null ? (this._sourcesContents || (this._sourcesContents = /* @__PURE__ */ Object.create(null)), this._sourcesContents[t.toSetString(a)] = u) : this._sourcesContents && (delete this._sourcesContents[t.toSetString(a)], Object.keys(this._sourcesContents).length === 0 && (this._sourcesContents = null));
    }, s.prototype.applySourceMap = function(i, u, a) {
        var f = u;
        if (u == null) {
            if (i.file == null)
                throw new Error(
                    `SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`
                );
            f = i.file;
        }
        var l = this._sourceRoot;
        l != null && (f = t.relative(l, f));
        var d = new r(), h = new r();
        this._mappings.unsortedForEach(function(p) {
            if (p.source === f && p.originalLine != null) {
                var c = i.originalPositionFor({
                    line: p.originalLine,
                    column: p.originalColumn
                });
                c.source != null && (p.source = c.source, a != null && (p.source = t.join(a, p.source)), l != null && (p.source = t.relative(l, p.source)), p.originalLine = c.line, p.originalColumn = c.column, c.name != null && (p.name = c.name));
            }
            var g = p.source;
            g != null && !d.has(g) && d.add(g);
            var m = p.name;
            m != null && !h.has(m) && h.add(m);
        }, this), this._sources = d, this._names = h, i.sources.forEach(function(p) {
            var c = i.sourceContentFor(p);
            c != null && (a != null && (p = t.join(a, p)), l != null && (p = t.relative(l, p)), this.setSourceContent(p, c));
        }, this);
    }, s.prototype._validateMapping = function(i, u, a, f) {
        if (u && typeof u.line != "number" && typeof u.column != "number")
            throw new Error(
                "original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values."
            );
        if (!(i && "line" in i && "column" in i && i.line > 0 && i.column >= 0 && !u && !a && !f)) {
            if (i && "line" in i && "column" in i && u && "line" in u && "column" in u && i.line > 0 && i.column >= 0 && u.line > 0 && u.column >= 0 && a)
                return;
            throw new Error("Invalid mapping: " + JSON.stringify({
                generated: i,
                source: a,
                original: u,
                name: f
            }));
        }
    }, s.prototype._serializeMappings = function() {
        for (var i = 0, u = 1, a = 0, f = 0, l = 0, d = 0, h = "", p, c, g, m, S = this._mappings.toArray(), _ = 0, w = S.length; _ < w; _++) {
            if (c = S[_], p = "", c.generatedLine !== u)
                for (i = 0; c.generatedLine !== u; )
                    p += ";", u++;
            else if (_ > 0) {
                if (!t.compareByGeneratedPositionsInflated(c, S[_ - 1]))
                    continue;
                p += ",";
            }
            p += e.encode(c.generatedColumn - i), i = c.generatedColumn, c.source != null && (m = this._sources.indexOf(c.source), p += e.encode(m - d), d = m, p += e.encode(c.originalLine - 1 - f), f = c.originalLine - 1, p += e.encode(c.originalColumn - a), a = c.originalColumn, c.name != null && (g = this._names.indexOf(c.name), p += e.encode(g - l), l = g)), h += p;
        }
        return h;
    }, s.prototype._generateSourcesContent = function(i, u) {
        return i.map(function(a) {
            if (!this._sourcesContents)
                return null;
            u != null && (a = t.relative(u, a));
            var f = t.toSetString(a);
            return Object.prototype.hasOwnProperty.call(this._sourcesContents, f) ? this._sourcesContents[f] : null;
        }, this);
    }, s.prototype.toJSON = function() {
        var i = {
            version: this._version,
            sources: this._sources.toArray(),
            names: this._names.toArray(),
            mappings: this._serializeMappings()
        };
        return this._file != null && (i.file = this._file), this._sourceRoot != null && (i.sourceRoot = this._sourceRoot), this._sourcesContents && (i.sourcesContent = this._generateSourcesContent(i.sources, i.sourceRoot)), i;
    }, s.prototype.toString = function() {
        return JSON.stringify(this.toJSON());
    }, Ge.SourceMapGenerator = s, Ge;
}
var ae = {}, Ke = {}, dr;
function $o() {
    return dr || (dr = 1, function(e) {
        e.GREATEST_LOWER_BOUND = 1, e.LEAST_UPPER_BOUND = 2;
        function t(r, n, s, o, i, u) {
            var a = Math.floor((n - r) / 2) + r, f = i(s, o[a], !0);
            return f === 0 ? a : f > 0 ? n - a > 1 ? t(a, n, s, o, i, u) : u == e.LEAST_UPPER_BOUND ? n < o.length ? n : -1 : a : a - r > 1 ? t(r, a, s, o, i, u) : u == e.LEAST_UPPER_BOUND ? a : r < 0 ? -1 : r;
        }
        e.search = function(n, s, o, i) {
            if (s.length === 0)
                return -1;
            var u = t(
                -1,
                s.length,
                n,
                s,
                o,
                i || e.GREATEST_LOWER_BOUND
            );
            if (u < 0)
                return -1;
            for (; u - 1 >= 0 && o(s[u], s[u - 1], !0) === 0; )
                --u;
            return u;
        };
    }(Ke)), Ke;
}
var Xe = {}, mr;
function ea() {
    if (mr) return Xe;
    mr = 1;
    function e(n, s, o) {
        var i = n[s];
        n[s] = n[o], n[o] = i;
    }
    function t(n, s) {
        return Math.round(n + Math.random() * (s - n));
    }
    function r(n, s, o, i) {
        if (o < i) {
            var u = t(o, i), a = o - 1;
            e(n, u, i);
            for (var f = n[i], l = o; l < i; l++)
                s(n[l], f) <= 0 && (a += 1, e(n, a, l));
            e(n, a + 1, l);
            var d = a + 1;
            r(n, s, o, d - 1), r(n, s, d + 1, i);
        }
    }
    return Xe.quickSort = function(n, s) {
        r(n, s, 0, n.length - 1);
    }, Xe;
}
var gr;
function ta() {
    if (gr) return ae;
    gr = 1;
    var e = ge(), t = $o(), r = pn().ArraySet, n = fn(), s = ea().quickSort;
    function o(f, l) {
        var d = f;
        return typeof f == "string" && (d = e.parseSourceMapInput(f)), d.sections != null ? new a(d, l) : new i(d, l);
    }
    o.fromSourceMap = function(f, l) {
        return i.fromSourceMap(f, l);
    }, o.prototype._version = 3, o.prototype.__generatedMappings = null, Object.defineProperty(o.prototype, "_generatedMappings", {
        configurable: !0,
        enumerable: !0,
        get: function() {
            return this.__generatedMappings || this._parseMappings(this._mappings, this.sourceRoot), this.__generatedMappings;
        }
    }), o.prototype.__originalMappings = null, Object.defineProperty(o.prototype, "_originalMappings", {
        configurable: !0,
        enumerable: !0,
        get: function() {
            return this.__originalMappings || this._parseMappings(this._mappings, this.sourceRoot), this.__originalMappings;
        }
    }), o.prototype._charIsMappingSeparator = function(l, d) {
        var h = l.charAt(d);
        return h === ";" || h === ",";
    }, o.prototype._parseMappings = function(l, d) {
        throw new Error("Subclasses must implement _parseMappings");
    }, o.GENERATED_ORDER = 1, o.ORIGINAL_ORDER = 2, o.GREATEST_LOWER_BOUND = 1, o.LEAST_UPPER_BOUND = 2, o.prototype.eachMapping = function(l, d, h) {
        var p = d || null, c = h || o.GENERATED_ORDER, g;
        switch (c) {
            case o.GENERATED_ORDER:
                g = this._generatedMappings;
                break;
            case o.ORIGINAL_ORDER:
                g = this._originalMappings;
                break;
            default:
                throw new Error("Unknown order of iteration.");
        }
        var m = this.sourceRoot;
        g.map(function(S) {
            var _ = S.source === null ? null : this._sources.at(S.source);
            return _ = e.computeSourceURL(m, _, this._sourceMapURL), {
                source: _,
                generatedLine: S.generatedLine,
                generatedColumn: S.generatedColumn,
                originalLine: S.originalLine,
                originalColumn: S.originalColumn,
                name: S.name === null ? null : this._names.at(S.name)
            };
        }, this).forEach(l, p);
    }, o.prototype.allGeneratedPositionsFor = function(l) {
        var d = e.getArg(l, "line"), h = {
            source: e.getArg(l, "source"),
            originalLine: d,
            originalColumn: e.getArg(l, "column", 0)
        };
        if (h.source = this._findSourceIndex(h.source), h.source < 0)
            return [];
        var p = [], c = this._findMapping(
            h,
            this._originalMappings,
            "originalLine",
            "originalColumn",
            e.compareByOriginalPositions,
            t.LEAST_UPPER_BOUND
        );
        if (c >= 0) {
            var g = this._originalMappings[c];
            if (l.column === void 0)
                for (var m = g.originalLine; g && g.originalLine === m; )
                    p.push({
                        line: e.getArg(g, "generatedLine", null),
                        column: e.getArg(g, "generatedColumn", null),
                        lastColumn: e.getArg(g, "lastGeneratedColumn", null)
                    }), g = this._originalMappings[++c];
            else
                for (var S = g.originalColumn; g && g.originalLine === d && g.originalColumn == S; )
                    p.push({
                        line: e.getArg(g, "generatedLine", null),
                        column: e.getArg(g, "generatedColumn", null),
                        lastColumn: e.getArg(g, "lastGeneratedColumn", null)
                    }), g = this._originalMappings[++c];
        }
        return p;
    }, ae.SourceMapConsumer = o;
    function i(f, l) {
        var d = f;
        typeof f == "string" && (d = e.parseSourceMapInput(f));
        var h = e.getArg(d, "version"), p = e.getArg(d, "sources"), c = e.getArg(d, "names", []), g = e.getArg(d, "sourceRoot", null), m = e.getArg(d, "sourcesContent", null), S = e.getArg(d, "mappings"), _ = e.getArg(d, "file", null);
        if (h != this._version)
            throw new Error("Unsupported version: " + h);
        g && (g = e.normalize(g)), p = p.map(String).map(e.normalize).map(function(w) {
            return g && e.isAbsolute(g) && e.isAbsolute(w) ? e.relative(g, w) : w;
        }), this._names = r.fromArray(c.map(String), !0), this._sources = r.fromArray(p, !0), this._absoluteSources = this._sources.toArray().map(function(w) {
            return e.computeSourceURL(g, w, l);
        }), this.sourceRoot = g, this.sourcesContent = m, this._mappings = S, this._sourceMapURL = l, this.file = _;
    }
    i.prototype = Object.create(o.prototype), i.prototype.consumer = o, i.prototype._findSourceIndex = function(f) {
        var l = f;
        if (this.sourceRoot != null && (l = e.relative(this.sourceRoot, l)), this._sources.has(l))
            return this._sources.indexOf(l);
        var d;
        for (d = 0; d < this._absoluteSources.length; ++d)
            if (this._absoluteSources[d] == f)
                return d;
        return -1;
    }, i.fromSourceMap = function(l, d) {
        var h = Object.create(i.prototype), p = h._names = r.fromArray(l._names.toArray(), !0), c = h._sources = r.fromArray(l._sources.toArray(), !0);
        h.sourceRoot = l._sourceRoot, h.sourcesContent = l._generateSourcesContent(
            h._sources.toArray(),
            h.sourceRoot
        ), h.file = l._file, h._sourceMapURL = d, h._absoluteSources = h._sources.toArray().map(function(k) {
            return e.computeSourceURL(h.sourceRoot, k, d);
        });
        for (var g = l._mappings.toArray().slice(), m = h.__generatedMappings = [], S = h.__originalMappings = [], _ = 0, w = g.length; _ < w; _++) {
            var v = g[_], y = new u();
            y.generatedLine = v.generatedLine, y.generatedColumn = v.generatedColumn, v.source && (y.source = c.indexOf(v.source), y.originalLine = v.originalLine, y.originalColumn = v.originalColumn, v.name && (y.name = p.indexOf(v.name)), S.push(y)), m.push(y);
        }
        return s(h.__originalMappings, e.compareByOriginalPositions), h;
    }, i.prototype._version = 3, Object.defineProperty(i.prototype, "sources", {
        get: function() {
            return this._absoluteSources.slice();
        }
    });
    function u() {
        this.generatedLine = 0, this.generatedColumn = 0, this.source = null, this.originalLine = null, this.originalColumn = null, this.name = null;
    }
    i.prototype._parseMappings = function(l, d) {
        for (var h = 1, p = 0, c = 0, g = 0, m = 0, S = 0, _ = l.length, w = 0, v = {}, y = {}, k = [], E = [], x, L, P, R, Z; w < _; )
            if (l.charAt(w) === ";")
                h++, w++, p = 0;
            else if (l.charAt(w) === ",")
                w++;
            else {
                for (x = new u(), x.generatedLine = h, R = w; R < _ && !this._charIsMappingSeparator(l, R); R++)
                    ;
                if (L = l.slice(w, R), P = v[L], P)
                    w += L.length;
                else {
                    for (P = []; w < R; )
                        n.decode(l, w, y), Z = y.value, w = y.rest, P.push(Z);
                    if (P.length === 2)
                        throw new Error("Found a source, but no line and column");
                    if (P.length === 3)
                        throw new Error("Found a source and line, but no column");
                    v[L] = P;
                }
                x.generatedColumn = p + P[0], p = x.generatedColumn, P.length > 1 && (x.source = m + P[1], m += P[1], x.originalLine = c + P[2], c = x.originalLine, x.originalLine += 1, x.originalColumn = g + P[3], g = x.originalColumn, P.length > 4 && (x.name = S + P[4], S += P[4])), E.push(x), typeof x.originalLine == "number" && k.push(x);
            }
        s(E, e.compareByGeneratedPositionsDeflated), this.__generatedMappings = E, s(k, e.compareByOriginalPositions), this.__originalMappings = k;
    }, i.prototype._findMapping = function(l, d, h, p, c, g) {
        if (l[h] <= 0)
            throw new TypeError("Line must be greater than or equal to 1, got " + l[h]);
        if (l[p] < 0)
            throw new TypeError("Column must be greater than or equal to 0, got " + l[p]);
        return t.search(l, d, c, g);
    }, i.prototype.computeColumnSpans = function() {
        for (var l = 0; l < this._generatedMappings.length; ++l) {
            var d = this._generatedMappings[l];
            if (l + 1 < this._generatedMappings.length) {
                var h = this._generatedMappings[l + 1];
                if (d.generatedLine === h.generatedLine) {
                    d.lastGeneratedColumn = h.generatedColumn - 1;
                    continue;
                }
            }
            d.lastGeneratedColumn = 1 / 0;
        }
    }, i.prototype.originalPositionFor = function(l) {
        var d = {
            generatedLine: e.getArg(l, "line"),
            generatedColumn: e.getArg(l, "column")
        }, h = this._findMapping(
            d,
            this._generatedMappings,
            "generatedLine",
            "generatedColumn",
            e.compareByGeneratedPositionsDeflated,
            e.getArg(l, "bias", o.GREATEST_LOWER_BOUND)
        );
        if (h >= 0) {
            var p = this._generatedMappings[h];
            if (p.generatedLine === d.generatedLine) {
                var c = e.getArg(p, "source", null);
                c !== null && (c = this._sources.at(c), c = e.computeSourceURL(this.sourceRoot, c, this._sourceMapURL));
                var g = e.getArg(p, "name", null);
                return g !== null && (g = this._names.at(g)), {
                    source: c,
                    line: e.getArg(p, "originalLine", null),
                    column: e.getArg(p, "originalColumn", null),
                    name: g
                };
            }
        }
        return {
            source: null,
            line: null,
            column: null,
            name: null
        };
    }, i.prototype.hasContentsOfAllSources = function() {
        return this.sourcesContent ? this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(l) {
            return l == null;
        }) : !1;
    }, i.prototype.sourceContentFor = function(l, d) {
        if (!this.sourcesContent)
            return null;
        var h = this._findSourceIndex(l);
        if (h >= 0)
            return this.sourcesContent[h];
        var p = l;
        this.sourceRoot != null && (p = e.relative(this.sourceRoot, p));
        var c;
        if (this.sourceRoot != null && (c = e.urlParse(this.sourceRoot))) {
            var g = p.replace(/^file:\/\//, "");
            if (c.scheme == "file" && this._sources.has(g))
                return this.sourcesContent[this._sources.indexOf(g)];
            if ((!c.path || c.path == "/") && this._sources.has("/" + p))
                return this.sourcesContent[this._sources.indexOf("/" + p)];
        }
        if (d)
            return null;
        throw new Error('"' + p + '" is not in the SourceMap.');
    }, i.prototype.generatedPositionFor = function(l) {
        var d = e.getArg(l, "source");
        if (d = this._findSourceIndex(d), d < 0)
            return {
                line: null,
                column: null,
                lastColumn: null
            };
        var h = {
            source: d,
            originalLine: e.getArg(l, "line"),
            originalColumn: e.getArg(l, "column")
        }, p = this._findMapping(
            h,
            this._originalMappings,
            "originalLine",
            "originalColumn",
            e.compareByOriginalPositions,
            e.getArg(l, "bias", o.GREATEST_LOWER_BOUND)
        );
        if (p >= 0) {
            var c = this._originalMappings[p];
            if (c.source === h.source)
                return {
                    line: e.getArg(c, "generatedLine", null),
                    column: e.getArg(c, "generatedColumn", null),
                    lastColumn: e.getArg(c, "lastGeneratedColumn", null)
                };
        }
        return {
            line: null,
            column: null,
            lastColumn: null
        };
    }, ae.BasicSourceMapConsumer = i;
    function a(f, l) {
        var d = f;
        typeof f == "string" && (d = e.parseSourceMapInput(f));
        var h = e.getArg(d, "version"), p = e.getArg(d, "sections");
        if (h != this._version)
            throw new Error("Unsupported version: " + h);
        this._sources = new r(), this._names = new r();
        var c = {
            line: -1,
            column: 0
        };
        this._sections = p.map(function(g) {
            if (g.url)
                throw new Error("Support for url field in sections not implemented.");
            var m = e.getArg(g, "offset"), S = e.getArg(m, "line"), _ = e.getArg(m, "column");
            if (S < c.line || S === c.line && _ < c.column)
                throw new Error("Section offsets must be ordered and non-overlapping.");
            return c = m, {
                generatedOffset: {
                    // The offset fields are 0-based, but we use 1-based indices when
                    // encoding/decoding from VLQ.
                    generatedLine: S + 1,
                    generatedColumn: _ + 1
                },
                consumer: new o(e.getArg(g, "map"), l)
            };
        });
    }
    return a.prototype = Object.create(o.prototype), a.prototype.constructor = o, a.prototype._version = 3, Object.defineProperty(a.prototype, "sources", {
        get: function() {
            for (var f = [], l = 0; l < this._sections.length; l++)
                for (var d = 0; d < this._sections[l].consumer.sources.length; d++)
                    f.push(this._sections[l].consumer.sources[d]);
            return f;
        }
    }), a.prototype.originalPositionFor = function(l) {
        var d = {
            generatedLine: e.getArg(l, "line"),
            generatedColumn: e.getArg(l, "column")
        }, h = t.search(
            d,
            this._sections,
            function(c, g) {
                var m = c.generatedLine - g.generatedOffset.generatedLine;
                return m || c.generatedColumn - g.generatedOffset.generatedColumn;
            }
        ), p = this._sections[h];
        return p ? p.consumer.originalPositionFor({
            line: d.generatedLine - (p.generatedOffset.generatedLine - 1),
            column: d.generatedColumn - (p.generatedOffset.generatedLine === d.generatedLine ? p.generatedOffset.generatedColumn - 1 : 0),
            bias: l.bias
        }) : {
            source: null,
            line: null,
            column: null,
            name: null
        };
    }, a.prototype.hasContentsOfAllSources = function() {
        return this._sections.every(function(l) {
            return l.consumer.hasContentsOfAllSources();
        });
    }, a.prototype.sourceContentFor = function(l, d) {
        for (var h = 0; h < this._sections.length; h++) {
            var p = this._sections[h], c = p.consumer.sourceContentFor(l, !0);
            if (c)
                return c;
        }
        if (d)
            return null;
        throw new Error('"' + l + '" is not in the SourceMap.');
    }, a.prototype.generatedPositionFor = function(l) {
        for (var d = 0; d < this._sections.length; d++) {
            var h = this._sections[d];
            if (h.consumer._findSourceIndex(e.getArg(l, "source")) !== -1) {
                var p = h.consumer.generatedPositionFor(l);
                if (p) {
                    var c = {
                        line: p.line + (h.generatedOffset.generatedLine - 1),
                        column: p.column + (h.generatedOffset.generatedLine === p.line ? h.generatedOffset.generatedColumn - 1 : 0)
                    };
                    return c;
                }
            }
        }
        return {
            line: null,
            column: null
        };
    }, a.prototype._parseMappings = function(l, d) {
        this.__generatedMappings = [], this.__originalMappings = [];
        for (var h = 0; h < this._sections.length; h++)
            for (var p = this._sections[h], c = p.consumer._generatedMappings, g = 0; g < c.length; g++) {
                var m = c[g], S = p.consumer._sources.at(m.source);
                S = e.computeSourceURL(p.consumer.sourceRoot, S, this._sourceMapURL), this._sources.add(S), S = this._sources.indexOf(S);
                var _ = null;
                m.name && (_ = p.consumer._names.at(m.name), this._names.add(_), _ = this._names.indexOf(_));
                var w = {
                    source: S,
                    generatedLine: m.generatedLine + (p.generatedOffset.generatedLine - 1),
                    generatedColumn: m.generatedColumn + (p.generatedOffset.generatedLine === m.generatedLine ? p.generatedOffset.generatedColumn - 1 : 0),
                    originalLine: m.originalLine,
                    originalColumn: m.originalColumn,
                    name: _
                };
                this.__generatedMappings.push(w), typeof w.originalLine == "number" && this.__originalMappings.push(w);
            }
        s(this.__generatedMappings, e.compareByGeneratedPositionsDeflated), s(this.__originalMappings, e.compareByOriginalPositions);
    }, ae.IndexedSourceMapConsumer = a, ae;
}
var Qe = {}, vr;
function ra() {
    if (vr) return Qe;
    vr = 1;
    var e = dn().SourceMapGenerator, t = ge(), r = /(\r?\n)/, n = 10, s = "$$$isSourceNode$$$";
    function o(i, u, a, f, l) {
        this.children = [], this.sourceContents = {}, this.line = i ?? null, this.column = u ?? null, this.source = a ?? null, this.name = l ?? null, this[s] = !0, f != null && this.add(f);
    }
    return o.fromStringWithSourceMap = function(u, a, f) {
        var l = new o(), d = u.split(r), h = 0, p = function() {
            var _ = v(), w = v() || "";
            return _ + w;
            function v() {
                return h < d.length ? d[h++] : void 0;
            }
        }, c = 1, g = 0, m = null;
        return a.eachMapping(function(_) {
            if (m !== null)
                if (c < _.generatedLine)
                    S(m, p()), c++, g = 0;
                else {
                    var w = d[h] || "", v = w.substr(0, _.generatedColumn - g);
                    d[h] = w.substr(_.generatedColumn - g), g = _.generatedColumn, S(m, v), m = _;
                    return;
                }
            for (; c < _.generatedLine; )
                l.add(p()), c++;
            if (g < _.generatedColumn) {
                var w = d[h] || "";
                l.add(w.substr(0, _.generatedColumn)), d[h] = w.substr(_.generatedColumn), g = _.generatedColumn;
            }
            m = _;
        }, this), h < d.length && (m && S(m, p()), l.add(d.splice(h).join(""))), a.sources.forEach(function(_) {
            var w = a.sourceContentFor(_);
            w != null && (f != null && (_ = t.join(f, _)), l.setSourceContent(_, w));
        }), l;
        function S(_, w) {
            if (_ === null || _.source === void 0)
                l.add(w);
            else {
                var v = f ? t.join(f, _.source) : _.source;
                l.add(new o(
                    _.originalLine,
                    _.originalColumn,
                    v,
                    w,
                    _.name
                ));
            }
        }
    }, o.prototype.add = function(u) {
        if (Array.isArray(u))
            u.forEach(function(a) {
                this.add(a);
            }, this);
        else if (u[s] || typeof u == "string")
            u && this.children.push(u);
        else
            throw new TypeError(
                "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + u
            );
        return this;
    }, o.prototype.prepend = function(u) {
        if (Array.isArray(u))
            for (var a = u.length - 1; a >= 0; a--)
                this.prepend(u[a]);
        else if (u[s] || typeof u == "string")
            this.children.unshift(u);
        else
            throw new TypeError(
                "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + u
            );
        return this;
    }, o.prototype.walk = function(u) {
        for (var a, f = 0, l = this.children.length; f < l; f++)
            a = this.children[f], a[s] ? a.walk(u) : a !== "" && u(a, {
                source: this.source,
                line: this.line,
                column: this.column,
                name: this.name
            });
    }, o.prototype.join = function(u) {
        var a, f, l = this.children.length;
        if (l > 0) {
            for (a = [], f = 0; f < l - 1; f++)
                a.push(this.children[f]), a.push(u);
            a.push(this.children[f]), this.children = a;
        }
        return this;
    }, o.prototype.replaceRight = function(u, a) {
        var f = this.children[this.children.length - 1];
        return f[s] ? f.replaceRight(u, a) : typeof f == "string" ? this.children[this.children.length - 1] = f.replace(u, a) : this.children.push("".replace(u, a)), this;
    }, o.prototype.setSourceContent = function(u, a) {
        this.sourceContents[t.toSetString(u)] = a;
    }, o.prototype.walkSourceContents = function(u) {
        for (var a = 0, f = this.children.length; a < f; a++)
            this.children[a][s] && this.children[a].walkSourceContents(u);
        for (var l = Object.keys(this.sourceContents), a = 0, f = l.length; a < f; a++)
            u(t.fromSetString(l[a]), this.sourceContents[l[a]]);
    }, o.prototype.toString = function() {
        var u = "";
        return this.walk(function(a) {
            u += a;
        }), u;
    }, o.prototype.toStringWithSourceMap = function(u) {
        var a = {
            code: "",
            line: 1,
            column: 0
        }, f = new e(u), l = !1, d = null, h = null, p = null, c = null;
        return this.walk(function(g, m) {
            a.code += g, m.source !== null && m.line !== null && m.column !== null ? ((d !== m.source || h !== m.line || p !== m.column || c !== m.name) && f.addMapping({
                source: m.source,
                original: {
                    line: m.line,
                    column: m.column
                },
                generated: {
                    line: a.line,
                    column: a.column
                },
                name: m.name
            }), d = m.source, h = m.line, p = m.column, c = m.name, l = !0) : l && (f.addMapping({
                generated: {
                    line: a.line,
                    column: a.column
                }
            }), d = null, l = !1);
            for (var S = 0, _ = g.length; S < _; S++)
                g.charCodeAt(S) === n ? (a.line++, a.column = 0, S + 1 === _ ? (d = null, l = !1) : l && f.addMapping({
                    source: m.source,
                    original: {
                        line: m.line,
                        column: m.column
                    },
                    generated: {
                        line: a.line,
                        column: a.column
                    },
                    name: m.name
                })) : a.column++;
        }), this.walkSourceContents(function(g, m) {
            f.setSourceContent(g, m);
        }), { code: a.code, map: f };
    }, Qe.SourceNode = o, Qe;
}
var _r;
function na() {
    return _r || (_r = 1, oe.SourceMapGenerator = dn().SourceMapGenerator, oe.SourceMapConsumer = ta().SourceMapConsumer, oe.SourceNode = ra().SourceNode), oe;
}
(function(e, t) {
    t.__esModule = !0;
    var r = A, n = void 0;
    try {
        var s = na();
        n = s.SourceNode;
    } catch {
    }
    n || (n = function(u, a, f, l) {
        this.src = "", l && this.add(l);
    }, n.prototype = {
        add: function(a) {
            r.isArray(a) && (a = a.join("")), this.src += a;
        },
        prepend: function(a) {
            r.isArray(a) && (a = a.join("")), this.src = a + this.src;
        },
        toStringWithSourceMap: function() {
            return { code: this.toString() };
        },
        toString: function() {
            return this.src;
        }
    });
    function o(u, a, f) {
        if (r.isArray(u)) {
            for (var l = [], d = 0, h = u.length; d < h; d++)
                l.push(a.wrap(u[d], f));
            return l;
        } else if (typeof u == "boolean" || typeof u == "number")
            return u + "";
        return u;
    }
    function i(u) {
        this.srcFile = u, this.source = [];
    }
    i.prototype = {
        isEmpty: function() {
            return !this.source.length;
        },
        prepend: function(a, f) {
            this.source.unshift(this.wrap(a, f));
        },
        push: function(a, f) {
            this.source.push(this.wrap(a, f));
        },
        merge: function() {
            var a = this.empty();
            return this.each(function(f) {
                a.add(["  ", f, `
`]);
            }), a;
        },
        each: function(a) {
            for (var f = 0, l = this.source.length; f < l; f++)
                a(this.source[f]);
        },
        empty: function() {
            var a = this.currentLocation || { start: {} };
            return new n(a.start.line, a.start.column, this.srcFile);
        },
        wrap: function(a) {
            var f = arguments.length <= 1 || arguments[1] === void 0 ? this.currentLocation || { start: {} } : arguments[1];
            return a instanceof n ? a : (a = o(a, this, f), new n(f.start.line, f.start.column, this.srcFile, a));
        },
        functionCall: function(a, f, l) {
            return l = this.generateList(l), this.wrap([a, f ? "." + f + "(" : "(", l, ")"]);
        },
        quotedString: function(a) {
            return '"' + (a + "").replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029") + '"';
        },
        objectLiteral: function(a) {
            var f = this, l = [];
            Object.keys(a).forEach(function(h) {
                var p = o(a[h], f);
                p !== "undefined" && l.push([f.quotedString(h), ":", p]);
            });
            var d = this.generateList(l);
            return d.prepend("{"), d.add("}"), d;
        },
        generateList: function(a) {
            for (var f = this.empty(), l = 0, d = a.length; l < d; l++)
                l && f.add(","), f.add(o(a[l], this));
            return f;
        },
        generateArray: function(a) {
            var f = this.generateList(a);
            return f.prepend("["), f.add("]"), f;
        }
    }, t.default = i, e.exports = t.default;
})(Pt, Pt.exports);
var sa = Pt.exports;
(function(e, t) {
    t.__esModule = !0;
    function r(h) {
        return h && h.__esModule ? h : { default: h };
    }
    var n = I, s = F, o = r(s), i = A, u = sa, a = r(u);
    function f(h) {
        this.value = h;
    }
    function l() {
    }
    l.prototype = {
        // PUBLIC API: You can override these methods in a subclass to provide
        // alternative compiled forms for name lookup and buffering semantics
        nameLookup: function(p, c) {
            return this.internalNameLookup(p, c);
        },
        depthedLookup: function(p) {
            return [this.aliasable("container.lookup"), "(depths, ", JSON.stringify(p), ")"];
        },
        compilerInfo: function() {
            var p = n.COMPILER_REVISION, c = n.REVISION_CHANGES[p];
            return [p, c];
        },
        appendToBuffer: function(p, c, g) {
            return i.isArray(p) || (p = [p]), p = this.source.wrap(p, c), this.environment.isSimple ? ["return ", p, ";"] : g ? ["buffer += ", p, ";"] : (p.appendToBuffer = !0, p);
        },
        initializeBuffer: function() {
            return this.quotedString("");
        },
        // END PUBLIC API
        internalNameLookup: function(p, c) {
            return this.lookupPropertyFunctionIsUsed = !0, ["lookupProperty(", p, ",", JSON.stringify(c), ")"];
        },
        lookupPropertyFunctionIsUsed: !1,
        compile: function(p, c, g, m) {
            this.environment = p, this.options = c, this.stringParams = this.options.stringParams, this.trackIds = this.options.trackIds, this.precompile = !m, this.name = this.environment.name, this.isChild = !!g, this.context = g || {
                decorators: [],
                programs: [],
                environments: []
            }, this.preamble(), this.stackSlot = 0, this.stackVars = [], this.aliases = {}, this.registers = { list: [] }, this.hashes = [], this.compileStack = [], this.inlineStack = [], this.blockParams = [], this.compileChildren(p, c), this.useDepths = this.useDepths || p.useDepths || p.useDecorators || this.options.compat, this.useBlockParams = this.useBlockParams || p.useBlockParams;
            var S = p.opcodes, _ = void 0, w = void 0, v = void 0, y = void 0;
            for (v = 0, y = S.length; v < y; v++)
                _ = S[v], this.source.currentLocation = _.loc, w = w || _.loc, this[_.opcode].apply(this, _.args);
            if (this.source.currentLocation = w, this.pushSource(""), this.stackSlot || this.inlineStack.length || this.compileStack.length)
                throw new o.default("Compile completed with content left on stack");
            this.decorators.isEmpty() ? this.decorators = void 0 : (this.useDecorators = !0, this.decorators.prepend(["var decorators = container.decorators, ", this.lookupPropertyFunctionVarDeclaration(), `;
`]), this.decorators.push("return fn;"), m ? this.decorators = Function.apply(this, ["fn", "props", "container", "depth0", "data", "blockParams", "depths", this.decorators.merge()]) : (this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
`), this.decorators.push(`}
`), this.decorators = this.decorators.merge()));
            var k = this.createFunctionContext(m);
            if (this.isChild)
                return k;
            var E = {
                compiler: this.compilerInfo(),
                main: k
            };
            this.decorators && (E.main_d = this.decorators, E.useDecorators = !0);
            var x = this.context, L = x.programs, P = x.decorators;
            for (v = 0, y = L.length; v < y; v++)
                L[v] && (E[v] = L[v], P[v] && (E[v + "_d"] = P[v], E.useDecorators = !0));
            return this.environment.usePartial && (E.usePartial = !0), this.options.data && (E.useData = !0), this.useDepths && (E.useDepths = !0), this.useBlockParams && (E.useBlockParams = !0), this.options.compat && (E.compat = !0), m ? E.compilerOptions = this.options : (E.compiler = JSON.stringify(E.compiler), this.source.currentLocation = { start: { line: 1, column: 0 } }, E = this.objectLiteral(E), c.srcName ? (E = E.toStringWithSourceMap({ file: c.destName }), E.map = E.map && E.map.toString()) : E = E.toString()), E;
        },
        preamble: function() {
            this.lastContext = 0, this.source = new a.default(this.options.srcName), this.decorators = new a.default(this.options.srcName);
        },
        createFunctionContext: function(p) {
            var c = this, g = "", m = this.stackVars.concat(this.registers.list);
            m.length > 0 && (g += ", " + m.join(", "));
            var S = 0;
            Object.keys(this.aliases).forEach(function(v) {
                var y = c.aliases[v];
                y.children && y.referenceCount > 1 && (g += ", alias" + ++S + "=" + v, y.children[0] = "alias" + S);
            }), this.lookupPropertyFunctionIsUsed && (g += ", " + this.lookupPropertyFunctionVarDeclaration());
            var _ = ["container", "depth0", "helpers", "partials", "data"];
            (this.useBlockParams || this.useDepths) && _.push("blockParams"), this.useDepths && _.push("depths");
            var w = this.mergeSource(g);
            return p ? (_.push(w), Function.apply(this, _)) : this.source.wrap(["function(", _.join(","), `) {
  `, w, "}"]);
        },
        mergeSource: function(p) {
            var c = this.environment.isSimple, g = !this.forceBuffer, m = void 0, S = void 0, _ = void 0, w = void 0;
            return this.source.each(function(v) {
                v.appendToBuffer ? (_ ? v.prepend("  + ") : _ = v, w = v) : (_ && (S ? _.prepend("buffer += ") : m = !0, w.add(";"), _ = w = void 0), S = !0, c || (g = !1));
            }), g ? _ ? (_.prepend("return "), w.add(";")) : S || this.source.push('return "";') : (p += ", buffer = " + (m ? "" : this.initializeBuffer()), _ ? (_.prepend("return buffer + "), w.add(";")) : this.source.push("return buffer;")), p && this.source.prepend("var " + p.substring(2) + (m ? "" : `;
`)), this.source.merge();
        },
        lookupPropertyFunctionVarDeclaration: function() {
            return `
      lookupProperty = container.lookupProperty || function(parent, propertyName) {
        if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
          return parent[propertyName];
        }
        return undefined
    }
    `.trim();
        },
        // [blockValue]
        //
        // On stack, before: hash, inverse, program, value
        // On stack, after: return value of blockHelperMissing
        //
        // The purpose of this opcode is to take a block of the form
        // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and
        // replace it on the stack with the result of properly
        // invoking blockHelperMissing.
        blockValue: function(p) {
            var c = this.aliasable("container.hooks.blockHelperMissing"), g = [this.contextName(0)];
            this.setupHelperArgs(p, 0, g);
            var m = this.popStack();
            g.splice(1, 0, m), this.push(this.source.functionCall(c, "call", g));
        },
        // [ambiguousBlockValue]
        //
        // On stack, before: hash, inverse, program, value
        // Compiler value, before: lastHelper=value of last found helper, if any
        // On stack, after, if no lastHelper: same as [blockValue]
        // On stack, after, if lastHelper: value
        ambiguousBlockValue: function() {
            var p = this.aliasable("container.hooks.blockHelperMissing"), c = [this.contextName(0)];
            this.setupHelperArgs("", 0, c, !0), this.flushInline();
            var g = this.topStack();
            c.splice(1, 0, g), this.pushSource(["if (!", this.lastHelper, ") { ", g, " = ", this.source.functionCall(p, "call", c), "}"]);
        },
        // [appendContent]
        //
        // On stack, before: ...
        // On stack, after: ...
        //
        // Appends the string value of `content` to the current buffer
        appendContent: function(p) {
            this.pendingContent ? p = this.pendingContent + p : this.pendingLocation = this.source.currentLocation, this.pendingContent = p;
        },
        // [append]
        //
        // On stack, before: value, ...
        // On stack, after: ...
        //
        // Coerces `value` to a String and appends it to the current buffer.
        //
        // If `value` is truthy, or 0, it is coerced into a string and appended
        // Otherwise, the empty string is appended
        append: function() {
            if (this.isInline())
                this.replaceStack(function(c) {
                    return [" != null ? ", c, ' : ""'];
                }), this.pushSource(this.appendToBuffer(this.popStack()));
            else {
                var p = this.popStack();
                this.pushSource(["if (", p, " != null) { ", this.appendToBuffer(p, void 0, !0), " }"]), this.environment.isSimple && this.pushSource(["else { ", this.appendToBuffer("''", void 0, !0), " }"]);
            }
        },
        // [appendEscaped]
        //
        // On stack, before: value, ...
        // On stack, after: ...
        //
        // Escape `value` and append it to the buffer
        appendEscaped: function() {
            this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"), "(", this.popStack(), ")"]));
        },
        // [getContext]
        //
        // On stack, before: ...
        // On stack, after: ...
        // Compiler value, after: lastContext=depth
        //
        // Set the value of the `lastContext` compiler value to the depth
        getContext: function(p) {
            this.lastContext = p;
        },
        // [pushContext]
        //
        // On stack, before: ...
        // On stack, after: currentContext, ...
        //
        // Pushes the value of the current context onto the stack.
        pushContext: function() {
            this.pushStackLiteral(this.contextName(this.lastContext));
        },
        // [lookupOnContext]
        //
        // On stack, before: ...
        // On stack, after: currentContext[name], ...
        //
        // Looks up the value of `name` on the current context and pushes
        // it onto the stack.
        lookupOnContext: function(p, c, g, m) {
            var S = 0;
            !m && this.options.compat && !this.lastContext ? this.push(this.depthedLookup(p[S++])) : this.pushContext(), this.resolvePath("context", p, S, c, g);
        },
        // [lookupBlockParam]
        //
        // On stack, before: ...
        // On stack, after: blockParam[name], ...
        //
        // Looks up the value of `parts` on the given block param and pushes
        // it onto the stack.
        lookupBlockParam: function(p, c) {
            this.useBlockParams = !0, this.push(["blockParams[", p[0], "][", p[1], "]"]), this.resolvePath("context", c, 1);
        },
        // [lookupData]
        //
        // On stack, before: ...
        // On stack, after: data, ...
        //
        // Push the data lookup operator
        lookupData: function(p, c, g) {
            p ? this.pushStackLiteral("container.data(data, " + p + ")") : this.pushStackLiteral("data"), this.resolvePath("data", c, 0, !0, g);
        },
        resolvePath: function(p, c, g, m, S) {
            var _ = this;
            if (this.options.strict || this.options.assumeObjects) {
                this.push(d(this.options.strict && S, this, c, g, p));
                return;
            }
            for (var w = c.length; g < w; g++)
                this.replaceStack(function(v) {
                    var y = _.nameLookup(v, c[g], p);
                    return m ? [" && ", y] : [" != null ? ", y, " : ", v];
                });
        },
        // [resolvePossibleLambda]
        //
        // On stack, before: value, ...
        // On stack, after: resolved value, ...
        //
        // If the `value` is a lambda, replace it on the stack by
        // the return value of the lambda
        resolvePossibleLambda: function() {
            this.push([this.aliasable("container.lambda"), "(", this.popStack(), ", ", this.contextName(0), ")"]);
        },
        // [pushStringParam]
        //
        // On stack, before: ...
        // On stack, after: string, currentContext, ...
        //
        // This opcode is designed for use in string mode, which
        // provides the string value of a parameter along with its
        // depth rather than resolving it immediately.
        pushStringParam: function(p, c) {
            this.pushContext(), this.pushString(c), c !== "SubExpression" && (typeof p == "string" ? this.pushString(p) : this.pushStackLiteral(p));
        },
        emptyHash: function(p) {
            this.trackIds && this.push("{}"), this.stringParams && (this.push("{}"), this.push("{}")), this.pushStackLiteral(p ? "undefined" : "{}");
        },
        pushHash: function() {
            this.hash && this.hashes.push(this.hash), this.hash = { values: {}, types: [], contexts: [], ids: [] };
        },
        popHash: function() {
            var p = this.hash;
            this.hash = this.hashes.pop(), this.trackIds && this.push(this.objectLiteral(p.ids)), this.stringParams && (this.push(this.objectLiteral(p.contexts)), this.push(this.objectLiteral(p.types))), this.push(this.objectLiteral(p.values));
        },
        // [pushString]
        //
        // On stack, before: ...
        // On stack, after: quotedString(string), ...
        //
        // Push a quoted version of `string` onto the stack
        pushString: function(p) {
            this.pushStackLiteral(this.quotedString(p));
        },
        // [pushLiteral]
        //
        // On stack, before: ...
        // On stack, after: value, ...
        //
        // Pushes a value onto the stack. This operation prevents
        // the compiler from creating a temporary variable to hold
        // it.
        pushLiteral: function(p) {
            this.pushStackLiteral(p);
        },
        // [pushProgram]
        //
        // On stack, before: ...
        // On stack, after: program(guid), ...
        //
        // Push a program expression onto the stack. This takes
        // a compile-time guid and converts it into a runtime-accessible
        // expression.
        pushProgram: function(p) {
            p != null ? this.pushStackLiteral(this.programExpression(p)) : this.pushStackLiteral(null);
        },
        // [registerDecorator]
        //
        // On stack, before: hash, program, params..., ...
        // On stack, after: ...
        //
        // Pops off the decorator's parameters, invokes the decorator,
        // and inserts the decorator into the decorators list.
        registerDecorator: function(p, c) {
            var g = this.nameLookup("decorators", c, "decorator"), m = this.setupHelperArgs(c, p);
            this.decorators.push(["fn = ", this.decorators.functionCall(g, "", ["fn", "props", "container", m]), " || fn;"]);
        },
        // [invokeHelper]
        //
        // On stack, before: hash, inverse, program, params..., ...
        // On stack, after: result of helper invocation
        //
        // Pops off the helper's parameters, invokes the helper,
        // and pushes the helper's return value onto the stack.
        //
        // If the helper is not found, `helperMissing` is called.
        invokeHelper: function(p, c, g) {
            var m = this.popStack(), S = this.setupHelper(p, c), _ = [];
            g && _.push(S.name), _.push(m), this.options.strict || _.push(this.aliasable("container.hooks.helperMissing"));
            var w = ["(", this.itemsSeparatedBy(_, "||"), ")"], v = this.source.functionCall(w, "call", S.callParams);
            this.push(v);
        },
        itemsSeparatedBy: function(p, c) {
            var g = [];
            g.push(p[0]);
            for (var m = 1; m < p.length; m++)
                g.push(c, p[m]);
            return g;
        },
        // [invokeKnownHelper]
        //
        // On stack, before: hash, inverse, program, params..., ...
        // On stack, after: result of helper invocation
        //
        // This operation is used when the helper is known to exist,
        // so a `helperMissing` fallback is not required.
        invokeKnownHelper: function(p, c) {
            var g = this.setupHelper(p, c);
            this.push(this.source.functionCall(g.name, "call", g.callParams));
        },
        // [invokeAmbiguous]
        //
        // On stack, before: hash, inverse, program, params..., ...
        // On stack, after: result of disambiguation
        //
        // This operation is used when an expression like `{{foo}}`
        // is provided, but we don't know at compile-time whether it
        // is a helper or a path.
        //
        // This operation emits more code than the other options,
        // and can be avoided by passing the `knownHelpers` and
        // `knownHelpersOnly` flags at compile-time.
        invokeAmbiguous: function(p, c) {
            this.useRegister("helper");
            var g = this.popStack();
            this.emptyHash();
            var m = this.setupHelper(0, p, c), S = this.lastHelper = this.nameLookup("helpers", p, "helper"), _ = ["(", "(helper = ", S, " || ", g, ")"];
            this.options.strict || (_[0] = "(helper = ", _.push(" != null ? helper : ", this.aliasable("container.hooks.helperMissing"))), this.push(["(", _, m.paramsInit ? ["),(", m.paramsInit] : [], "),", "(typeof helper === ", this.aliasable('"function"'), " ? ", this.source.functionCall("helper", "call", m.callParams), " : helper))"]);
        },
        // [invokePartial]
        //
        // On stack, before: context, ...
        // On stack after: result of partial invocation
        //
        // This operation pops off a context, invokes a partial with that context,
        // and pushes the result of the invocation back.
        invokePartial: function(p, c, g) {
            var m = [], S = this.setupParams(c, 1, m);
            p && (c = this.popStack(), delete S.name), g && (S.indent = JSON.stringify(g)), S.helpers = "helpers", S.partials = "partials", S.decorators = "container.decorators", p ? m.unshift(c) : m.unshift(this.nameLookup("partials", c, "partial")), this.options.compat && (S.depths = "depths"), S = this.objectLiteral(S), m.push(S), this.push(this.source.functionCall("container.invokePartial", "", m));
        },
        // [assignToHash]
        //
        // On stack, before: value, ..., hash, ...
        // On stack, after: ..., hash, ...
        //
        // Pops a value off the stack and assigns it to the current hash
        assignToHash: function(p) {
            var c = this.popStack(), g = void 0, m = void 0, S = void 0;
            this.trackIds && (S = this.popStack()), this.stringParams && (m = this.popStack(), g = this.popStack());
            var _ = this.hash;
            g && (_.contexts[p] = g), m && (_.types[p] = m), S && (_.ids[p] = S), _.values[p] = c;
        },
        pushId: function(p, c, g) {
            p === "BlockParam" ? this.pushStackLiteral("blockParams[" + c[0] + "].path[" + c[1] + "]" + (g ? " + " + JSON.stringify("." + g) : "")) : p === "PathExpression" ? this.pushString(c) : p === "SubExpression" ? this.pushStackLiteral("true") : this.pushStackLiteral("null");
        },
        // HELPERS
        compiler: l,
        compileChildren: function(p, c) {
            for (var g = p.children, m = void 0, S = void 0, _ = 0, w = g.length; _ < w; _++) {
                m = g[_], S = new this.compiler();
                var v = this.matchExistingProgram(m);
                if (v == null) {
                    this.context.programs.push("");
                    var y = this.context.programs.length;
                    m.index = y, m.name = "program" + y, this.context.programs[y] = S.compile(m, c, this.context, !this.precompile), this.context.decorators[y] = S.decorators, this.context.environments[y] = m, this.useDepths = this.useDepths || S.useDepths, this.useBlockParams = this.useBlockParams || S.useBlockParams, m.useDepths = this.useDepths, m.useBlockParams = this.useBlockParams;
                } else
                    m.index = v.index, m.name = "program" + v.index, this.useDepths = this.useDepths || v.useDepths, this.useBlockParams = this.useBlockParams || v.useBlockParams;
            }
        },
        matchExistingProgram: function(p) {
            for (var c = 0, g = this.context.environments.length; c < g; c++) {
                var m = this.context.environments[c];
                if (m && m.equals(p))
                    return m;
            }
        },
        programExpression: function(p) {
            var c = this.environment.children[p], g = [c.index, "data", c.blockParams];
            return (this.useBlockParams || this.useDepths) && g.push("blockParams"), this.useDepths && g.push("depths"), "container.program(" + g.join(", ") + ")";
        },
        useRegister: function(p) {
            this.registers[p] || (this.registers[p] = !0, this.registers.list.push(p));
        },
        push: function(p) {
            return p instanceof f || (p = this.source.wrap(p)), this.inlineStack.push(p), p;
        },
        pushStackLiteral: function(p) {
            this.push(new f(p));
        },
        pushSource: function(p) {
            this.pendingContent && (this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation)), this.pendingContent = void 0), p && this.source.push(p);
        },
        replaceStack: function(p) {
            var c = ["("], g = void 0, m = void 0, S = void 0;
            if (!this.isInline())
                throw new o.default("replaceStack on non-inline");
            var _ = this.popStack(!0);
            if (_ instanceof f)
                g = [_.value], c = ["(", g], S = !0;
            else {
                m = !0;
                var w = this.incrStack();
                c = ["((", this.push(w), " = ", _, ")"], g = this.topStack();
            }
            var v = p.call(this, g);
            S || this.popStack(), m && this.stackSlot--, this.push(c.concat(v, ")"));
        },
        incrStack: function() {
            return this.stackSlot++, this.stackSlot > this.stackVars.length && this.stackVars.push("stack" + this.stackSlot), this.topStackName();
        },
        topStackName: function() {
            return "stack" + this.stackSlot;
        },
        flushInline: function() {
            var p = this.inlineStack;
            this.inlineStack = [];
            for (var c = 0, g = p.length; c < g; c++) {
                var m = p[c];
                if (m instanceof f)
                    this.compileStack.push(m);
                else {
                    var S = this.incrStack();
                    this.pushSource([S, " = ", m, ";"]), this.compileStack.push(S);
                }
            }
        },
        isInline: function() {
            return this.inlineStack.length;
        },
        popStack: function(p) {
            var c = this.isInline(), g = (c ? this.inlineStack : this.compileStack).pop();
            if (!p && g instanceof f)
                return g.value;
            if (!c) {
                if (!this.stackSlot)
                    throw new o.default("Invalid stack pop");
                this.stackSlot--;
            }
            return g;
        },
        topStack: function() {
            var p = this.isInline() ? this.inlineStack : this.compileStack, c = p[p.length - 1];
            return c instanceof f ? c.value : c;
        },
        contextName: function(p) {
            return this.useDepths && p ? "depths[" + p + "]" : "depth" + p;
        },
        quotedString: function(p) {
            return this.source.quotedString(p);
        },
        objectLiteral: function(p) {
            return this.source.objectLiteral(p);
        },
        aliasable: function(p) {
            var c = this.aliases[p];
            return c ? (c.referenceCount++, c) : (c = this.aliases[p] = this.source.wrap(p), c.aliasable = !0, c.referenceCount = 1, c);
        },
        setupHelper: function(p, c, g) {
            var m = [], S = this.setupHelperArgs(c, p, m, g), _ = this.nameLookup("helpers", c, "helper"), w = this.aliasable(this.contextName(0) + " != null ? " + this.contextName(0) + " : (container.nullContext || {})");
            return {
                params: m,
                paramsInit: S,
                name: _,
                callParams: [w].concat(m)
            };
        },
        setupParams: function(p, c, g) {
            var m = {}, S = [], _ = [], w = [], v = !g, y = void 0;
            v && (g = []), m.name = this.quotedString(p), m.hash = this.popStack(), this.trackIds && (m.hashIds = this.popStack()), this.stringParams && (m.hashTypes = this.popStack(), m.hashContexts = this.popStack());
            var k = this.popStack(), E = this.popStack();
            (E || k) && (m.fn = E || "container.noop", m.inverse = k || "container.noop");
            for (var x = c; x--; )
                y = this.popStack(), g[x] = y, this.trackIds && (w[x] = this.popStack()), this.stringParams && (_[x] = this.popStack(), S[x] = this.popStack());
            return v && (m.args = this.source.generateArray(g)), this.trackIds && (m.ids = this.source.generateArray(w)), this.stringParams && (m.types = this.source.generateArray(_), m.contexts = this.source.generateArray(S)), this.options.data && (m.data = "data"), this.useBlockParams && (m.blockParams = "blockParams"), m;
        },
        setupHelperArgs: function(p, c, g, m) {
            var S = this.setupParams(p, c, g);
            return S.loc = JSON.stringify(this.source.currentLocation), S = this.objectLiteral(S), m ? (this.useRegister("options"), g.push("options"), ["options=", S]) : g ? (g.push(S), "") : S;
        }
    }, function() {
        for (var h = "break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "), p = l.RESERVED_WORDS = {}, c = 0, g = h.length; c < g; c++)
            p[h[c]] = !0;
    }(), l.isValidJavaScriptVariableName = function(h) {
        return !l.RESERVED_WORDS[h] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(h);
    };
    function d(h, p, c, g, m) {
        var S = p.popStack(), _ = c.length;
        for (h && _--; g < _; g++)
            S = p.nameLookup(S, c[g], m);
        return h ? [p.aliasable("container.strict"), "(", S, ", ", p.quotedString(c[g]), ", ", JSON.stringify(p.source.currentLocation), " )"] : S;
    }
    t.default = l, e.exports = t.default;
})(Ct, Ct.exports);
var ia = Ct.exports;
(function(e, t) {
    t.__esModule = !0;
    function r(_) {
        return _ && _.__esModule ? _ : { default: _ };
    }
    var n = Eo, s = r(n), o = on, i = r(o), u = de, a = me, f = ia, l = r(f), d = an, h = r(d), p = sn, c = r(p), g = s.default.create;
    function m() {
        var _ = g();
        return _.compile = function(w, v) {
            return a.compile(w, v, _);
        }, _.precompile = function(w, v) {
            return a.precompile(w, v, _);
        }, _.AST = i.default, _.Compiler = a.Compiler, _.JavaScriptCompiler = l.default, _.Parser = u.parser, _.parse = u.parse, _.parseWithoutProcessing = u.parseWithoutProcessing, _;
    }
    var S = m();
    S.create = m, c.default(S), S.Visitor = h.default, S.default = S, t.default = S, e.exports = t.default;
})(st, st.exports);
var oa = st.exports;
const yr = /* @__PURE__ */ si(oa);
var aa = {};
function la(e) {
    const { slidesToShow: t, slidesToScroll: r, loop: n } = e.config, { isStatic: s, totalSlides: o } = e, i = [], u = o - 1;
    for (let a = 0; a < o; a += r) {
        const f = a + t - 1;
        if (f > u)
            if (n) {
                const d = f - o;
                i.push([a, d]);
            } else {
                const d = u - t + 1, h = i.length - 1;
                (i.length === 0 || i.length > 0 && i[h][0] !== d) && i.push([d, u]);
                break;
            }
        else
            i.push([a, f]);
        if (s)
            break;
    }
    return i;
}
function ua(e) {
    const { totalSlides: t } = e, { loop: r } = e.config, n = la(e), s = [], o = n.length - 1;
    for (let i = 0; i < n.length; i++) {
        let u, a;
        r ? (u = i === o ? 0 : i + 1, a = i === 0 ? o : i - 1) : (u = i === o ? o : i + 1, a = i === 0 ? 0 : i - 1);
        const f = n[i][0], l = n[u][0], d = n[a][0];
        let h = l - f;
        l < f && (h += t);
        let p = f - d;
        d > f && (p += t), s.push({
            page: n[i],
            next: {
                stateIndex: u,
                moveSlides: h
            },
            prev: {
                stateIndex: a,
                moveSlides: p
            }
        });
    }
    return s;
}
const Re = "start", Sr = "end", Ce = aa.NODE_ENV !== "production";
function ca(e) {
    const { slidesToScroll: t, slidesToShow: r } = e.config, { totalSlides: n, config: s } = e;
    if (n < r && (Ce && console.warn("slidesToShow can not be larger than number of slides. Setting slidesToShow = totalSlides instead."), s.slidesToShow = n), !(n <= r) && (t > r && (Ce && console.warn("slidesToScroll can not be greater than slidesToShow. Setting slidesToScroll = slidesToShow instead"), s.slidesToScroll = r), n < t + r)) {
        const o = n - r;
        Ce && console.warn(`slidesToScroll = ${t} is too large for a slider with ${n} slides with slidesToShow=${r}, setting max possible slidesToScroll = ${o} instead.`), s.slidesToScroll = o;
    }
}
class ha {
    constructor(t, r) {
        this.config = r, this.totalSlides = t, this.isTransitioning = !1, mn(this, t, r);
    }
    next(t = 1) {
        if (this.isTransitioning || this.isStatic)
            return;
        const { stateIndex: r } = this;
        let n = 0, s = r;
        for (let o = 0; o < t; o++) {
            const i = this.states[s];
            n += i.next.moveSlides, s = i.next.stateIndex;
        }
        if (s !== r)
            return this.stateIndex = s, [r, n];
    }
    prev(t = 1) {
        if (this.isTransitioning || this.isStatic)
            return;
        const { stateIndex: r } = this;
        let n = 0, s = r;
        for (let o = 0; o < t; o++) {
            const i = this.states[s];
            n += i.prev.moveSlides, s = i.prev.stateIndex;
        }
        if (s !== r)
            return this.stateIndex = s, [r, n];
    }
}
function mn(e, t, r) {
    e.stateIndex = 0, ca(e), e.isStatic = t <= r.slidesToShow, e.states = ua(e);
}
function fa(e, t) {
    const r = requestAnimationFrame;
    if (!e.config.loop)
        gn(e);
    else {
        Ut(e), e.offset = -1 * t, G(e), da(e, t);
        const n = () => {
            r(() => {
                qt(e), r(() => {
                    e.offset = 0, G(e), Ht(e);
                });
            });
        };
        e.isDragging ? ve() ? e.track.addEventListener("touchend", n, { once: !0 }) : e.track.addEventListener("pointerup", n, { once: !0 }) : r(n);
    }
}
function pa(e, t) {
    const r = requestAnimationFrame;
    e.config.loop ? (e.offset = -1 * t, G(e), setTimeout(() => {
        ma(e, t), Ut(e), e.offset = 0, G(e), r(() => {
            r(() => {
                qt(e), Ht(e);
            });
        });
    }, e.config.transitionDuration)) : gn(e);
}
function Ht(e) {
    if (e.onSlideCbs) {
        const t = e.states[e.stateIndex], [r, n] = t.page;
        e.onSlideCbs.forEach((s) => s(e.stateIndex, r, n));
    }
}
function gn(e) {
    e.offset = -1 * e.states[e.stateIndex].page[0], G(e), Ht(e);
}
function da(e, t) {
    const r = e.slides.length;
    for (let n = 0; n < t; n++) {
        const s = e.slides[r - 1];
        e.track.prepend(s);
    }
}
function ma(e, t) {
    for (let r = 0; r < t; r++)
        e.track.append(e.slides[0]);
}
function G(e) {
    const { track: t, offset: r, dragged: n } = e;
    r === 0 ? t.style.transform = `translate3d(${n}px,0px,0px)` : t.style.transform = `translate3d(  calc( ${n}px + ${r} * (var(--slide-width) + ${e.config.slideGap})),0px,0px)`;
}
function qt(e) {
    e.track.style.transitionDuration = `${e.config.transitionDuration}ms`;
}
function Ut(e) {
    e.track.style.transitionDuration = "0ms";
}
const Lt = 10, ve = () => "ontouchstart" in window;
function vn(e) {
    const t = this, r = t.slider;
    r.isTransitioning || (r.dragged = 0, t.isScrolled = !1, t.startMouseClientX = "touches" in e ? e.touches[0].clientX : e.clientX, "touches" in e || (e.target || t).setPointerCapture(e.pointerId), Ut(r), _n(t, "addEventListener"));
}
function br(e) {
    const t = this, r = "touches" in e ? e.touches[0].clientX : e.clientX, n = t.slider.dragged = r - t.startMouseClientX, s = Math.abs(n);
    s > 5 && (t.slider.isDragging = !0), s > 15 && e.preventDefault(), t.slider.dragged = n, G(t.slider), !t.isScrolled && t.slider.config.loop && n > Lt && (t.isScrolled = !0, t.slider.prev());
}
function Ye() {
    const e = this, t = e.slider.dragged;
    e.slider.isDragging = !1, _n(e, "removeEventListener"), e.slider.dragged = 0, G(e.slider), qt(e.slider), e.isScrolled || (t < -1 * Lt ? e.slider.next() : t > Lt && e.slider.prev());
}
const ga = (e) => e.preventDefault();
function va(e) {
    const t = e.track;
    t.slider = e;
    const r = ve() ? "touchstart" : "pointerdown";
    t.addEventListener(r, vn), t.addEventListener("click", (n) => {
        (e.isTransitioning || e.isDragging) && (n.preventDefault(), n.stopImmediatePropagation(), n.stopPropagation());
    }, {
        capture: !0
    }), t.addEventListener("dragstart", ga);
}
function _n(e, t) {
    e[t]("contextmenu", Ye), ve() ? (e[t]("touchend", Ye), e[t]("touchmove", br)) : (e[t]("pointerup", Ye), e[t]("pointermove", br));
}
function _a(e) {
    const t = e.config;
    if (!t.enableAutoplay)
        return;
    const r = t.autoplayDirection === "to left" ? "next" : "prev";
    e.autoplayTimer = setInterval(() => {
        e[r]();
    }, t.autoplayInterval), t.stopAutoplayOnInteraction && e.el.addEventListener(ve() ? "touchstart" : "mousedown", () => {
        clearInterval(e.autoplayTimer);
    }, { once: !0 });
}
const At = {
    // layout
    slideGap: "20px",
    slidesToScroll: 1,
    slidesToShow: 1,
    // behavior
    loop: !0,
    // autoplay
    enableAutoplay: !1,
    stopAutoplayOnInteraction: !0,
    autoplayInterval: 3e3,
    autoplayDirection: "to left",
    // pagination
    enablePagination: !0,
    // transition
    transitionDuration: 300,
    transitionTimingFunction: "ease",
    draggable: !0
};
function wr(e) {
    const t = { ...At };
    for (const r in e)
        if (window.matchMedia(r).matches) {
            const n = e[r];
            for (const s in n)
                t[s] = n[s];
        }
    return t;
}
function ya(e) {
    const t = e.el.querySelector(".blaze-prev"), r = e.el.querySelector(".blaze-next");
    t && (t.onclick = () => {
        e.prev();
    }), r && (r.onclick = () => {
        e.next();
    });
}
function Sa(e) {
    if (!e.config.enablePagination || e.isStatic)
        return;
    const t = e.el.querySelector(".blaze-pagination");
    if (!t)
        return;
    e.paginationButtons = [];
    const r = e.states.length;
    for (let n = 0; n < r; n++) {
        const s = document.createElement("button");
        e.paginationButtons.push(s), s.textContent = 1 + n + "", s.ariaLabel = `${n + 1} of ${r}`, t.append(s), s.slider = e, s.index = n, s.onclick = ba;
    }
    e.paginationButtons[0].classList.add("active");
}
function ba() {
    const e = this.index, t = this.slider, r = t.stateIndex, n = t.config.loop, s = Math.abs(e - r), o = t.states.length - s, u = s > t.states.length / 2 && n;
    e > r ? u ? t.prev(o) : t.next(s) : u ? t.next(o) : t.prev(s);
}
function Se(e, t = e.config.transitionDuration) {
    e.isTransitioning = !0, setTimeout(() => {
        e.isTransitioning = !1;
    }, t);
}
class wa extends ha {
    constructor(t, r) {
        const n = t.querySelector(".blaze-track"), s = n.children, o = r ? wr(r) : { ...At };
        super(s.length, o), this.config = o, this.el = t, this.track = n, this.slides = s, this.offset = 0, this.dragged = 0, this.isDragging = !1, this.el.blazeSlider = this, this.passedConfig = r;
        const i = this;
        n.slider = i, kr(o, i);
        let u = !1, a = 0;
        window.addEventListener("resize", () => {
            if (a === 0) {
                a = window.innerWidth;
                return;
            }
            const f = window.innerWidth;
            a !== f && (a = f, u || (u = !0, setTimeout(() => {
                i.refresh(), u = !1;
            }, 200)));
        });
    }
    next(t) {
        if (this.isTransitioning)
            return;
        const r = super.next(t);
        if (!r) {
            Se(this);
            return;
        }
        const [n, s] = r;
        Er(this, n), Se(this), pa(this, s);
    }
    prev(t) {
        if (this.isTransitioning)
            return;
        const r = super.prev(t);
        if (!r) {
            Se(this);
            return;
        }
        const [n, s] = r;
        Er(this, n), Se(this), fa(this, s);
    }
    stopAutoplay() {
        clearInterval(this.autoplayTimer);
    }
    destroy() {
        var t;
        this.track.removeEventListener(
            ve() ? "touchstart" : "pointerdown",
            // @ts-expect-error
            vn
        ), this.stopAutoplay(), (t = this.paginationButtons) == null || t.forEach((r) => r.remove()), this.el.classList.remove("static"), this.el.classList.remove(Re);
    }
    refresh() {
        const t = this.passedConfig ? wr(this.passedConfig) : { ...At };
        this.destroy(), kr(t, this);
    }
    /**
     * Subscribe for slide change event
     * Returns a function to unsubscribe from slide change event
     */
    onSlide(t) {
        return this.onSlideCbs || (this.onSlideCbs = /* @__PURE__ */ new Set()), this.onSlideCbs.add(t), () => this.onSlideCbs.delete(t);
    }
}
function Er(e, t) {
    const r = e.el.classList, n = e.stateIndex, s = e.paginationButtons;
    e.config.loop || (n === 0 ? r.add(Re) : r.remove(Re), n === e.states.length - 1 ? r.add(Sr) : r.remove(Sr)), s && e.config.enablePagination && (s[t].classList.remove("active"), s[n].classList.add("active"));
}
function kr(e, t) {
    const r = t.track;
    t.slides = r.children, t.offset = 0, t.config = e, mn(t, t.totalSlides, e), e.loop || t.el.classList.add(Re), e.enableAutoplay && !e.loop && (Ce && console.warn("enableAutoplay:true is not consistent with loop:false, auto-fixing with enableAutoplay:false"), e.enableAutoplay = !1), r.style.transitionProperty = "transform", r.style.transitionTimingFunction = t.config.transitionTimingFunction, r.style.transitionDuration = `${t.config.transitionDuration}ms`;
    const { slidesToShow: n, slideGap: s } = t.config;
    t.el.style.setProperty("--slides-to-show", n + ""), t.el.style.setProperty("--slide-gap", s), t.isStatic ? t.el.classList.add("static") : e.draggable && va(t), Sa(t), _a(t), ya(t), G(t);
}
/**
 * Class file
 *
 * Typescript version 5.5.3
 * @category SyncIT Athena XAI Recommender
 * @package namespace
 * @author Miljan Krstić <miljan.krstic@syncitgroup.com>
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @link https://syncitgroup.com/
 */
class xr {
    constructor(t, r, n, s, o) {
        ne(this, "NESTED_ARRAY", [
            "[data-prev]",
            "[data-next]",
            "[data-paginate]"
        ]);
        if (this.renderElement = t, this.renderElementSelector = r, this.recommenderId = n, this.templateSelector = s, this.uuid = o, !t)
            throw new Error("AthenaXAI Recommendations Error: Element to render is not correctly set.");
        if (!n)
            throw new Error("AthenaXAI Recommendations Error: Recommender id not set correctly set.");
        this.initializeRenderLogic();
    }
    initializeRenderLogic() {
        this.renderElement && (this.renderElement.innerHTML = ""), Yr.subscribe(`athenaXAIRecommenderDataFetched_id=${this.recommenderId}-${this.uuid}`, (t) => {
            var o, i;
            const {
                products: r,
                title: n,
                type: s
            } = t;
            if (typeof this.templateSelector > "u" && !this.templateSelector)
                s === "carousel" ? this.defaultCarouselLogic(n, r) : this.defaultGridLogic(n, r);
            else if (this.templateSelector) {
                if (!(((o = J.querySelector(this.templateSelector)) == null ? void 0 : o.innerHTML) ?? null))
                    throw new Error("Html template not set.");
                yr.registerHelper("checkRecommendationType", (l) => l === s);
                const f = yr.compile(
                    (i = J.querySelector(this.templateSelector)) == null ? void 0 : i.innerHTML
                )({
                    title: n,
                    products: r
                });
                if (s === "carousel") {
                    const {
                        carouselValid: l,
                        message: d
                    } = this.validateCustomCarouselLogic(f);
                    if (!l && l !== null)
                        throw new Error(d);
                    l ? this.initializeCustomSlider(f) : new z(this.renderElement, f);
                } else s === "grid" && new z(this.renderElement, f);
            }
        });
    }
    initializeCustomSlider(t) {
        new z(this.renderElement, t), [
            { selector: "[data-slider]", className: "blaze-slider" },
            { selector: "[data-slider-container]", className: "blaze-container" },
            { selector: "[data-track-container]", className: "blaze-track-container" },
            { selector: "[data-track]", className: "blaze-track" }
        ].forEach(({ selector: n, className: s }) => {
            var i;
            const o = (i = this.renderElement) == null ? void 0 : i.querySelector(n);
            o && !o.classList.contains(s) && o.classList.add(s), this.NESTED_ARRAY.forEach((u) => {
                var f;
                const a = (f = this.renderElement) == null ? void 0 : f.querySelector(`${n} ${u}`);
                if (typeof (a == null ? void 0 : a.getAttribute("data-prev")) == "string") {
                    a.classList.add("blaze-prev");
                    return;
                }
                if (typeof (a == null ? void 0 : a.getAttribute("data-next")) == "string") {
                    a.classList.add("blaze-next");
                    return;
                }
                if (typeof (a == null ? void 0 : a.getAttribute("data-paginate")) == "string") {
                    a.classList.add("blaze-pagination");
                    return;
                }
            });
        }), this.initializeSlider();
    }
    validateCustomCarouselLogic(t) {
        const r = {
            carouselValid: !0,
            message: ""
        }, n = document.createDocumentFragment();
        new z(n, t);
        const s = [
            {
                selector: "[data-slider]",
                message: "Cannot append multiple sliders.",
                checkNestedMain: "[data-slider-container]",
                checkNested: this.NESTED_ARRAY
            },
            {
                selector: "[data-slider-container]",
                message: "Cannot append multiple slider containers.",
                checkNestedMain: "[data-track-container]",
                checkNested: this.NESTED_ARRAY
            },
            {
                selector: "[data-track-container]",
                message: "Cannot append multiple track containers.",
                checkNestedMain: "[data-track]",
                checkNested: this.NESTED_ARRAY
            },
            {
                selector: "[data-track]",
                message: "Cannot append multiple tracks.",
                checkNestedMain: "",
                checkNested: ""
            }
        ], o = (i, u, a) => {
            const f = u !== "" ? i.querySelectorAll(u) : [];
            return f.length === 0 || f.length > 1 ? !0 : a ? (Array.isArray(a) ? a : [a]).every((d) => {
                const h = i.querySelectorAll(d).length;
                return h === 0 || h === 1;
            }) : !0;
        };
        for (const { selector: i, message: u, checkNestedMain: a, checkNested: f } of s) {
            const l = n.querySelectorAll(i);
            if (l.length > 1) {
                r.carouselValid = !1, r.message = u;
                break;
            }
            if (l.length === 0) {
                r.carouselValid = null;
                break;
            }
            for (const d of l)
                if (a && !o(d, a, f)) {
                    r.carouselValid = !1, r.message = "Cannot append multiple elements of the same type.";
                    break;
                }
            if (!r.carouselValid) break;
        }
        return r;
    }
    initializeSlider() {
        const t = J.querySelector(`${this.renderElementSelector} .blaze-slider`);
        t && new wa(t, {
            all: {
                slidesToShow: 5
            },
            "(max-width: 1250px)": {
                slidesToShow: 4
            },
            "(max-width: 1024px)": {
                slidesToShow: 3
            },
            "(max-width: 768px)": {
                slidesToShow: 2
            },
            "(max-width: 500px)": {
                slidesToShow: 1
            }
        });
    }
    defaultCarouselLogic(t, r) {
        r.length && (new z(this.renderElement, `
            <div class="athena-xai__recommendation-blaze-slider">
                <h3 class="athena-xai__recommendation-title">${t}</h3>

                <div class="blaze-slider">
                    <div class="blaze-container">
                        <div class="blaze-track-container">
                            <div class="blaze-track">
                            </div>
                        </div>

                        <button class="blaze-prev" type="button">
                            <svg
                                fill="#000000"
                                height="40px"
                                width="40px"
                                id="Layer_1"
                                xmlns="http://www.w3.org/2000/svg"
                                viewBox="0 0 476.213 476.213"
                                xml:space="preserve"
                              >
                                <polygon points="476.213,223.107 57.427,223.107 151.82,128.713 130.607,107.5 0,238.106 130.607,368.714 151.82,347.5 	57.427,253.107 476.213,253.107 " />
                            </svg>
                        </button>
                        <button class="blaze-next" type="button">
                            <svg
                                fill="#000000"
                                height="40px"
                                width="40px"
                                id="Layer_1"
                                xmlns="http://www.w3.org/2000/svg"
                                viewBox="0 0 476.213 476.213"
                                xml:space="preserve"
                              >
                                <polygon points="476.213,223.107 57.427,223.107 151.82,128.713 130.607,107.5 0,238.106 130.607,368.714 151.82,347.5 	57.427,253.107 476.213,253.107 " />
                            </svg>
                        </button>

                        <div class="blaze-pagination"></div>
                    </div>
                </div>
            </div>
        `), r.forEach((n) => {
            new z(
                J.querySelector(`${this.renderElementSelector} .blaze-track`),
                rr(n)
            );
        }), this.initializeSlider());
    }
    defaultGridLogic(t, r) {
        r.length && (new z(this.renderElement, `
            <div class="athena-xai__recommendation-grid">
                <h3 class="athena-xai__recommendation-title">${t}</h3>
                <div class="athena-xai__recommendation-grid-container"></div>
            </div>
        `), r.forEach((n) => {
            new z(
                J.querySelector(".athena-xai__recommendation-grid-container"),
                rr(n)
            );
        }));
    }
}
/**
 * Class file
 *
 * Typescript version 5.5.3
 * @category SyncIT Athena XAI Analytics
 * @package namespace
 * @author Miljan Krstić <miljan.krstic@syncitgroup.com>
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @link https://syncitgroup.com/
 */
class Ea {
    constructor(t) {
        ne(this, "UUID", ni());
        this.recommenderParams = t;
        const {
            apiUrl: r,
            websiteToken: n,
            recommenderId: s,
            templateSelector: o,
            productSkus: i,
            renderElementSelector: u,
            checkDOMContentLoaded: a = !0
        } = this.recommenderParams;
        a ? new bn(document, "DOMContentLoaded", async () => {
            new xr(
                J.querySelector(u),
                u,
                s,
                o,
                this.UUID
            ), await this.fetchRecommenderData(
                r,
                n,
                s,
                i
            );
        }) : (new xr(
            J.querySelector(u),
            u,
            s,
            o,
            this.UUID
        ), this.fetchRecommenderData(
            r,
            n,
            s,
            i
        ).then());
    }
    async fetchRecommenderData(t, r, n, s) {
        const o = {
            params: {
                token: r,
                product_widget_id: n,
                product_skus: s
            }
        }, i = await ei.fetchInstance({
            url: `${t}/api/v1/product-widgets/get-response`,
            method: "GET",
            options: o
        });
        if (i.status === 200) {
            const u = i.data.data;
            Yr.publish(`athenaXAIRecommenderDataFetched_id=${n}-${this.UUID}`, u);
        }
    }
}
typeof window < "u" && (window.AthenaXAIRecommender = Ea);
export {
    Ea as AthenaXAIRecommender
};
