'use strict';
var Da, Oa, Hb, Rb, lc, Xc, ld, zd, Md, Nd, Od, Td, Ud, Vd, Xd, Yd, Zd, be, ce, de, he, oe, pe, qe, re, se, te, ue, xe, ye, ze, Ee, Fe, He, Ie, Je, Ke, Oe, Pe, Qe, Re, Se, Ve, $e, af, bf, cf, df, ef, ff, lf, mf, pf, qf, tf, uf, vf, wf, xf, yf, zf, Ef, Ff, Gf, Hf, If, Jf, Kf, Lf, Mf, Nf, Of, Pf, Qf, Rf, Sf, Tf, eg, fg, gg, hg, ig, jg, kg, lg, mg, ng, og, pg, qg, rg, sg, Bg, Cg, Dg, Eg, Fg, Gg, Hg, Ig, Jg = {},
    Kg = {};
"function" !== typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" === typeof "test".__proto__ ? function(e) {
    return e.__proto__
} : function(e) {
    return e.constructor.prototype
});
(function() {
    function e(a, f, b, n) {
        this.set(a, f, b, n)
    }

    function g() {
        this.Ob = this.Nb = this.Qb = this.Pb = this.ac = this.$b = this.wb = this.ub = 0
    }

    function b(a, f, b, n) {
        a < f ? b < n ? (J = a < b ? a : b, fa = f > n ? f : n) : (J = a < n ? a : n, fa = f > b ? f : b) : b < n ? (J = f < b ? f : b, fa = a > n ? a : n) : (J = f < n ? f : n, fa = a > b ? a : b)
    }

    function q() {
        this.items = this.Mc = null;
        this.ek = 0;
        F && (this.Mc = new Set);
        this.gj = [];
        this.Wf = !0
    }

    function p(a) {
        P[ha++] = a
    }

    function t() {
        this.za = this.Fh = this.y = this.Il = 0
    }

    function l(a) {
        this.Ab = [];
        this.Dl = this.Fl = this.Gl = this.El = 0;
        this.Tl = null;
        this.Vk(a)
    }

    function a(a, f) {
        this.rp = a;
        this.qp = f;
        this.cells = {}
    }

    function w(a, f) {
        this.rp = a;
        this.qp = f;
        this.cells = {}
    }

    function L(a, f, b) {
        var n;
        return ea.length ? (n = ea.pop(), n.uq = a, n.x = f, n.y = b, n) : new Da(a, f, b)
    }

    function f(a, f, n) {
        this.uq = a;
        this.x = f;
        this.y = n;
        this.fc = new Oa
    }

    function n(a, f, n) {
        var b;
        return pa.length ? (b = pa.pop(), b.uq = a, b.x = f, b.y = n, b) : new Hb(a, f, n)
    }

    function z(a, f, n) {
        this.uq = a;
        this.x = f;
        this.y = n;
        this.fc = [];
        this.ki = !0;
        this.He = new Oa;
        this.yj = !1
    }

    function u(a, f) {
        return a.te - f.te
    }
    Rb = function(a) {
        window.console && window.console.log && window.console.log(a)
    };
    lc = function(a) {
        window.console && window.console.error && window.console.error(a)
    };
    Xc = function(a) {
        return "undefined" === typeof a
    };
    ld = function(a) {
        return "number" === typeof a
    };
    zd = function(a) {
        return "string" === typeof a
    };
    Md = function(a) {
        return 0 < a && 0 === (a - 1 & a)
    };
    Nd = function(a) {
        --a;
        for (var f = 1; 32 > f; f <<= 1) a = a | a >> f;
        return a + 1
    };
    Od = function(a) {
        return 0 > a ? -a : a
    };
    Td = function(a, f) {
        return a > f ? a : f
    };
    Ud = function(a, f) {
        return a < f ? a : f
    };
    Vd = Math.PI;
    Xd = function(a) {
        return 0 <= a ? a | 0 : (a | 0) - 1
    };
    Yd = function(a) {
        var f = a | 0;
        return f === a ? f : f + 1
    };
    Zd = function(a, f, n, b, l, e, w, z) {
        var u, ga, ua, A;
        a < n ? (ga = a, u = n) : (ga = n, u = a);
        l < w ? (A = l, ua = w) : (A = w, ua = l);
        if (u < A || ga > ua) return !1;
        f < b ? (ga = f, u = b) : (ga = b, u = f);
        e < z ? (A = e, ua = z) : (A = z, ua = e);
        if (u < A || ga > ua) return !1;
        u = l - a + w - n;
        ga = e - f + z - b;
        a = n - a;
        f = b - f;
        l = w - l;
        e = z - e;
        z = Od(f * l - e * a);
        return Od(l * ga - e * u) > z ? !1 : Od(a * ga - f * u) <= z
    };
    e.prototype.set = function(a, f, n, b) {
        this.left = a;
        this.top = f;
        this.right = n;
        this.bottom = b
    };
    e.prototype.Th = function(a) {
        this.left = a.left;
        this.top = a.top;
        this.right = a.right;
        this.bottom = a.bottom
    };
    e.prototype.width = function() {
        return this.right - this.left
    };
    e.prototype.height = function() {
        return this.bottom - this.top
    };
    e.prototype.offset = function(a, f) {
        this.left += a;
        this.top += f;
        this.right += a;
        this.bottom += f;
        return this
    };
    e.prototype.normalize = function() {
        var a = 0;
        this.left > this.right && (a = this.left, this.left = this.right, this.right = a);
        this.top > this.bottom && (a = this.top, this.top = this.bottom, this.bottom = a)
    };
    e.prototype.sZ = function(a) {
        return !(a.right < this.left || a.bottom < this.top || a.left > this.right || a.top > this.bottom)
    };
    e.prototype.tZ = function(a, f, n) {
        return !(a.right + f < this.left || a.bottom + n < this.top || a.left + f > this.right || a.top + n > this.bottom)
    };
    e.prototype.Fc = function(a, f) {
        return a >= this.left && a <= this.right && f >= this.top && f <= this.bottom
    };
    e.prototype.Ij = function(a) {
        return this.left === a.left && this.top === a.top && this.right === a.right && this.bottom === a.bottom
    };
    be = e;
    g.prototype.Vi = function(a) {
        this.ub = a.left;
        this.wb = a.top;
        this.$b = a.right;
        this.ac = a.top;
        this.Pb = a.right;
        this.Qb = a.bottom;
        this.Nb = a.left;
        this.Ob = a.bottom
    };
    g.prototype.UR = function(a, f) {
        if (0 === f) this.Vi(a);
        else {
            var n = Math.sin(f),
                b = Math.cos(f),
                l = a.left * n,
                e = a.top * n,
                w = a.right * n,
                n = a.bottom * n,
                z = a.left * b,
                u = a.top * b,
                ga = a.right * b,
                b = a.bottom * b;
            this.ub = z - e;
            this.wb = u + l;
            this.$b = ga - e;
            this.ac = u + w;
            this.Pb = ga - n;
            this.Qb = b + w;
            this.Nb = z - n;
            this.Ob = b + l
        }
    };
    g.prototype.offset = function(a, f) {
        this.ub += a;
        this.wb += f;
        this.$b += a;
        this.ac += f;
        this.Pb += a;
        this.Qb += f;
        this.Nb += a;
        this.Ob += f;
        return this
    };
    var J = 0,
        fa = 0;
    g.prototype.oP = function(a) {
        b(this.ub, this.$b, this.Pb, this.Nb);
        a.left = J;
        a.right = fa;
        b(this.wb, this.ac, this.Qb, this.Ob);
        a.top = J;
        a.bottom = fa
    };
    g.prototype.Fc = function(a, f) {
        var n = this.ub,
            b = this.wb,
            l = this.$b - n,
            e = this.ac - b,
            w = this.Pb - n,
            z = this.Qb - b,
            u = a - n,
            ga = f - b,
            ua = l * l + e * e,
            A = l * w + e * z,
            e = l * u + e * ga,
            g = w * w + z * z,
            p = w * u + z * ga,
            q = 1 / (ua * g - A * A),
            l = (g * e - A * p) * q,
            ua = (ua * p - A * e) * q;
        if (0 <= l && 0 < ua && 1 > l + ua) return !0;
        l = this.Nb - n;
        e = this.Ob - b;
        ua = l * l + e * e;
        A = l * w + e * z;
        e = l * u + e * ga;
        q = 1 / (ua * g - A * A);
        l = (g * e - A * p) * q;
        ua = (ua * p - A * e) * q;
        return 0 <= l && 0 < ua && 1 > l + ua
    };
    g.prototype.Vf = function(a, f) {
        if (f) switch (a) {
            case 0:
                return this.ub;
            case 1:
                return this.$b;
            case 2:
                return this.Pb;
            case 3:
                return this.Nb;
            case 4:
                return this.ub;
            default:
                return this.ub
        } else switch (a) {
            case 0:
                return this.wb;
            case 1:
                return this.ac;
            case 2:
                return this.Qb;
            case 3:
                return this.Ob;
            case 4:
                return this.wb;
            default:
                return this.wb
        }
    };
    g.prototype.sg = function() {
        return (this.ub + this.$b + this.Pb + this.Nb) / 4
    };
    g.prototype.tg = function() {
        return (this.wb + this.ac + this.Qb + this.Ob) / 4
    };
    g.prototype.eQ = function(a) {
        var f = a.sg(),
            n = a.tg();
        if (this.Fc(f, n)) return !0;
        f = this.sg();
        n = this.tg();
        if (a.Fc(f, n)) return !0;
        var b, l, e, w, z, u, ga, ua;
        for (ga = 0; 4 > ga; ga++)
            for (ua = 0; 4 > ua; ua++)
                if (f = this.Vf(ga, !0), n = this.Vf(ga, !1), b = this.Vf(ga + 1, !0), l = this.Vf(ga + 1, !1), e = a.Vf(ua, !0), w = a.Vf(ua, !1), z = a.Vf(ua + 1, !0), u = a.Vf(ua + 1, !1), Zd(f, n, b, l, e, w, z, u)) return !0;
        return !1
    };
    ce = g;
    de = function(a, f) {
        for (var n in f) f.hasOwnProperty(n) && (a[n] = f[n]);
        return a
    };
    he = function(a, f) {
        var n, b;
        f = Xd(f);
        if (!(0 > f || f >= a.length)) {
            n = f;
            for (b = a.length - 1; n < b; n++) a[n] = a[n + 1];
            oe(a, b)
        }
    };
    oe = function(a, f) {
        a.length = f
    };
    pe = function(a) {
        oe(a, 0)
    };
    qe = function(a, f) {
        pe(a);
        var n, b;
        n = 0;
        for (b = f.length; n < b; ++n) a[n] = f[n]
    };
    re = function(a, f) {
        a.push.apply(a, f)
    };
    se = function(a, f) {
        var n, b;
        n = 0;
        for (b = a.length; n < b; ++n)
            if (a[n] === f) return n;
        return -1
    };
    te = function(a, f) {
        var n = se(a, f); - 1 !== n && he(a, n)
    };
    ue = function(a, f, n) {
        return a < f ? f : a > n ? n : a
    };
    xe = function(a) {
        return a / (180 / Vd)
    };
    ye = function(a) {
        return 180 / Vd * a
    };
    ze = function(a) {
        a %= 360;
        0 > a && (a += 360);
        return a
    };
    Ee = function(a) {
        a %= 2 * Vd;
        0 > a && (a += 2 * Vd);
        return a
    };
    Fe = function(a) {
        return ze(ye(a))
    };
    He = function(a) {
        return Ee(xe(a))
    };
    Ie = function(a, f, n, b) {
        return Math.atan2(b -
            f, n - a)
    };
    Je = function(a, f) {
        if (a === f) return 0;
        var n = Math.sin(a),
            b = Math.cos(a),
            l = Math.sin(f),
            e = Math.cos(f),
            n = n * l + b * e;
        return 1 <= n ? 0 : -1 >= n ? Vd : Math.acos(n)
    };
    Ke = function(a, f, n) {
        var b = Math.sin(a),
            l = Math.cos(a),
            e = Math.sin(f),
            w = Math.cos(f);
        return Math.acos(b * e + l * w) > n ? 0 < l * e - b * w ? Ee(a + n) : Ee(a - n) : Ee(f)
    };
    Oe = function(a, f) {
        var n = Math.sin(a),
            b = Math.cos(a),
            l = Math.sin(f),
            e = Math.cos(f);
        return 0 >= b * l - n * e
    };
    Pe = function(a, f, n, b, l, e) {
        if (0 === n) return e ? a : f;
        var w = Math.sin(n);
        n = Math.cos(n);
        a -= b;
        f -= l;
        var z = a * w;
        a = a * n - f * w;
        f = f * n +
            z;
        return e ? a + b : f + l
    };
    Qe = function(a, f, n, b) {
        a = n - a;
        f = b - f;
        return Math.sqrt(a * a + f * f)
    };
    Re = function(a, f) {
        return !a !== !f
    };
    Se = function(a, f, n) {
        return a + (f - a) * n
    };
    Ve = function(a) {
        for (var f in a)
            if (a.hasOwnProperty(f)) return !0;
        return !1
    };
    $e = function(a) {
        for (var f in a) a.hasOwnProperty(f) && delete a[f]
    };
    var ca = +new Date;
    af = function() {
        if ("undefined" !== typeof window.performance) {
            var a = window.performance;
            if ("undefined" !== typeof a.now) return a.now();
            if ("undefined" !== typeof a.webkitNow) return a.webkitNow();
            if ("undefined" !== typeof a.mozNow) return a.mozNow();
            if ("undefined" !== typeof a.msNow) return a.msNow()
        }
        return Date.now() - ca
    };
    var A = !1,
        ya = A = !1,
        Ba = !1;
    "undefined" !== typeof window && (A = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent), A = !A && /safari/i.test(navigator.userAgent), ya = /(iphone|ipod|ipad)/i.test(navigator.userAgent), Ba = window.c2ejecta);
    var F = !A && !Ba && !ya && "undefined" !== typeof Set && "undefined" !== typeof Set.prototype.forEach;
    q.prototype.contains = function(a) {
        return this.kf() ? !1 : F ? this.Mc.has(a) : this.items && this.items.hasOwnProperty(a)
    };
    q.prototype.add = function(a) {
        if (F) this.Mc.has(a) || (this.Mc.add(a), this.Wf = !1);
        else {
            var f = a.toString(),
                n = this.items;
            n ? n.hasOwnProperty(f) || (n[f] = a, this.ek++, this.Wf = !1) : (this.items = {}, this.items[f] = a, this.ek = 1, this.Wf = !1)
        }
    };
    q.prototype.remove = function(a) {
        if (!this.kf())
            if (F) this.Mc.has(a) && (this.Mc["delete"](a), this.Wf = !1);
            else if (this.items) {
            a = a.toString();
            var f = this.items;
            f.hasOwnProperty(a) && (delete f[a], this.ek--, this.Wf = !1)
        }
    };
    q.prototype.clear = function() {
        this.kf() || (F ? this.Mc.clear() : (this.items = null, this.ek = 0), pe(this.gj), this.Wf = !0)
    };
    q.prototype.kf = function() {
        return 0 === this.count()
    };
    q.prototype.count = function() {
        return F ? this.Mc.size : this.ek
    };
    var P = null,
        ha = 0;
    q.prototype.f0 = function() {
        if (!this.Wf) {
            if (F) pe(this.gj), P = this.gj, ha = 0, this.Mc.forEach(p), P = null, ha = 0;
            else {
                var a = this.gj;
                pe(a);
                var f, n = 0,
                    b = this.items;
                if (b)
                    for (f in b) b.hasOwnProperty(f) && (a[n++] = b[f])
            }
            this.Wf = !0
        }
    };
    q.prototype.qe = function() {
        this.f0();
        return this.gj
    };
    Oa = q;
    new Oa;
    bf = function(a, f) {
        F ? cf(a, f.Mc) : df(a, f.qe())
    };
    cf = function(a, f) {
        var n, b, l, e;
        b = n = 0;
        for (l = a.length; n < l; ++n) e = a[n], f.has(e) || (a[b++] = e);
        oe(a, b)
    };
    df = function(a, f) {
        var n, b, l, e;
        b = n = 0;
        for (l = a.length; n < l; ++n) e = a[n], -1 === se(f, e) && (a[b++] = e);
        oe(a, b)
    };
    t.prototype.add = function(a) {
        this.y = a - this.Il;
        this.Fh = this.za + this.y;
        this.Il = this.Fh - this.za - this.y;
        this.za = this.Fh
    };
    t.prototype.reset = function() {
        this.za = this.Fh = this.y = this.Il = 0
    };
    ef = t;
    ff = function(a) {
        return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
    };
    l.prototype.Vk = function(a) {
        this.vR = a;
        this.Bd = a.length / 2;
        this.Ab.length = a.length;
        this.Kl = this.Ll = -1;
        this.rP = 0
    };
    l.prototype.fh = function() {
        return !this.vR.length
    };
    l.prototype.X = function() {
        for (var a = this.Ab, f = a[0], n = f, b = a[1], l = b, e, w, z = 1, u = this.Bd; z < u; ++z) w = 2 * z, e = a[w], w = a[w + 1], e < f && (f = e), e > n && (n = e), w < b && (b = w), w > l && (l = w);
        this.El = f;
        this.Fl = n;
        this.Gl = b;
        this.Dl = l
    };
    l.prototype.Vi = function(a, f, n) {
        this.Ab.length = 8;
        this.Bd = 4;
        var b = this.Ab;
        b[0] = a.left - f;
        b[1] = a.top - n;
        b[2] = a.right - f;
        b[3] = a.top - n;
        b[4] = a.right - f;
        b[5] = a.bottom - n;
        b[6] = a.left - f;
        b[7] = a.bottom -
            n;
        this.Ll = a.right - a.left;
        this.Kl = a.bottom - a.top;
        this.X()
    };
    l.prototype.Ui = function(a, f, n, b, l) {
        this.Ab.length = 8;
        this.Bd = 4;
        var e = this.Ab;
        e[0] = a.ub - f;
        e[1] = a.wb - n;
        e[2] = a.$b - f;
        e[3] = a.ac - n;
        e[4] = a.Pb - f;
        e[5] = a.Qb - n;
        e[6] = a.Nb - f;
        e[7] = a.Ob - n;
        this.Ll = b;
        this.Kl = l;
        this.X()
    };
    l.prototype.TR = function(a) {
        this.Bd = a.Bd;
        qe(this.Ab, a.Ab);
        this.El = a.El;
        this.Gl - a.Gl;
        this.Fl = a.Fl;
        this.Dl = a.Dl
    };
    l.prototype.Lg = function(a, f, n) {
        if (this.Ll !== a || this.Kl !== f || this.rP !== n) {
            this.Ll = a;
            this.Kl = f;
            this.rP = n;
            var b, e, l, w, z, u = 0,
                ga = 1,
                ua = this.vR,
                A = this.Ab;
            0 !== n && (u = Math.sin(n), ga = Math.cos(n));
            n = 0;
            for (l = this.Bd; n < l; n++) b = 2 * n, e = b + 1, w = ua[b] * a, z = ua[e] * f, A[b] = w * ga - z * u, A[e] = z * ga + w * u;
            this.X()
        }
    };
    l.prototype.Fc = function(a, f) {
        var n = this.Ab;
        if (a === n[0] && f === n[1]) return !0;
        var b, e, l, w = this.Bd,
            z = this.El - 110,
            u = this.Gl - 101,
            ga = this.Fl + 131,
            ua = this.Dl + 120,
            A, g, p = 0,
            q = 0;
        for (b = 0; b < w; b++) e = 2 * b, l = (b + 1) % w * 2, A = n[e], e = n[e + 1], g = n[l], l = n[l + 1], Zd(z, u, a, f, A, e, g, l) && p++, Zd(ga, ua, a, f, A, e, g, l) && q++;
        return 1 === p % 2 || 1 === q % 2
    };
    l.prototype.Vj = function(a, f, n) {
        var b = a.Ab,
            e = this.Ab;
        if (this.Fc(b[0] + f, b[1] + n) || a.Fc(e[0] - f, e[1] - n)) return !0;
        var l, w, z, u, ga, ua, A, g, p, q, t, fa;
        l = 0;
        for (u = this.Bd; l < u; l++)
            for (w = 2 * l, z = (l + 1) % u * 2, g = e[w], w = e[w + 1], p = e[z], q = e[z + 1], z = 0, A = a.Bd; z < A; z++)
                if (ga = 2 * z, ua = (z + 1) % A * 2, t = b[ga] + f, ga = b[ga + 1] + n, fa = b[ua] + f, ua = b[ua + 1] + n, Zd(g, w, p, q, t, ga, fa, ua)) return !0;
        return !1
    };
    lf = l;
    a.prototype.gg = function(a, f, n) {
        var b;
        b = this.cells[a];
        return b ? (b = b[f]) ? b : n ? (b = L(this, a, f), this.cells[a][f] = b) : null : n ? (b = L(this, a, f), this.cells[a] = {}, this.cells[a][f] = b) : null
    };
    a.prototype.Pc = function(a) {
        return Xd(a / this.rp)
    };
    a.prototype.Qc = function(a) {
        return Xd(a / this.qp)
    };
    a.prototype.update = function(a, f, n) {
        var b, e, l, w, z;
        if (f)
            for (b = f.left, e = f.right; b <= e; ++b)
                for (l = f.top, w = f.bottom; l <= w; ++l)
                    if (!n || !n.Fc(b, l))
                        if (z = this.gg(b, l, !1)) z.remove(a), z.kf() && (z.fc.clear(), 1E3 > ea.length && ea.push(z), this.cells[b][l] = null);
        if (n)
            for (b = n.left, e = n.right; b <= e; ++b)
                for (l = n.top, w = n.bottom; l <= w; ++l) f && f.Fc(b, l) || this.gg(b, l, !0).Hq(a)
    };
    a.prototype.In = function(a, f) {
        var n, b, e, l, w, z;
        n = this.Pc(a.left);
        e = this.Qc(a.top);
        b = this.Pc(a.right);
        for (w = this.Qc(a.bottom); n <= b; ++n)
            for (l = e; l <= w; ++l)(z = this.gg(n, l, !1)) && z.dump(f)
    };
    mf = a;
    w.prototype.gg = function(a, f, b) {
        var l;
        l = this.cells[a];
        return l ? (l = l[f]) ? l : b ? (l = n(this, a, f), this.cells[a][f] = l) : null : b ? (l = n(this, a, f), this.cells[a] = {}, this.cells[a][f] = l) : null
    };
    w.prototype.Pc = function(a) {
        return Xd(a / this.rp)
    };
    w.prototype.Qc = function(a) {
        return Xd(a / this.qp)
    };
    w.prototype.update = function(a, f, n) {
        var b, l, e, w, z;
        if (f)
            for (b = f.left, l = f.right; b <= l; ++b)
                for (e = f.top, w = f.bottom; e <= w; ++e)
                    if (!n || !n.Fc(b, e))
                        if (z = this.gg(b, e, !1)) z.remove(a), z.kf() && (z.reset(), 1E3 > pa.length && pa.push(z), this.cells[b][e] = null);
        if (n)
            for (b = n.left, l = n.right; b <= l; ++b)
                for (e = n.top, w = n.bottom; e <= w; ++e) f && f.Fc(b, e) || this.gg(b, e, !0).Hq(a)
    };
    w.prototype.In = function(a, f, n, b, l) {
        var e, w;
        a = this.Pc(a);
        f = this.Qc(f);
        n = this.Pc(n);
        for (e = this.Qc(b); a <= n; ++a)
            for (b = f; b <= e; ++b)(w = this.gg(a, b, !1)) && w.dump(l)
    };
    w.prototype.QZ = function(a) {
        var f, n, b, l, e;
        f = a.left;
        b = a.top;
        n = a.right;
        for (l = a.bottom; f <= n; ++f)
            for (a = b; a <= l; ++a)
                if (e = this.gg(f, a, !1)) e.ki = !1
    };
    pf = w;
    var ea = [];
    f.prototype.kf = function() {
        return this.fc.kf()
    };
    f.prototype.Hq = function(a) {
        this.fc.add(a)
    };
    f.prototype.remove = function(a) {
        this.fc.remove(a)
    };
    f.prototype.dump = function(a) {
        re(a, this.fc.qe())
    };
    Da = f;
    var pa = [];
    z.prototype.kf = function() {
        if (!this.fc.length) return !0;
        if (this.fc.length > this.He.count()) return !1;
        this.bq();
        return !0
    };
    z.prototype.Hq = function(a) {
        this.He.contains(a) ? (this.He.remove(a), this.He.kf() && (this.yj = !1)) : this.fc.length ? (this.fc[this.fc.length - 1].Ce() > a.Ce() && (this.ki = !1), this.fc.push(a)) : (this.fc.push(a), this.ki = !0)
    };
    z.prototype.remove = function(a) {
        this.He.add(a);
        this.yj = !0;
        30 <= this.He.count() && this.bq()
    };
    z.prototype.bq = function() {
        this.yj && (this.He.count() === this.fc.length ? this.reset() : (bf(this.fc, this.He), this.He.clear(), this.yj = !1))
    };
    z.prototype.XX = function() {
        this.ki || (this.fc.sort(u), this.ki = !0)
    };
    z.prototype.reset = function() {
        pe(this.fc);
        this.ki = !0;
        this.He.clear();
        this.yj = !1
    };
    z.prototype.dump = function(a) {
        this.bq();
        this.XX();
        this.fc.length && a.push(this.fc)
    };
    Hb = z;
    var na = "lighter xor copy destination-over source-in destination-in source-out destination-out source-atop destination-atop".split(" ");
    qf = function(a) {
        return 0 >= a || 11 <= a ? "source-over" : na[a - 1]
    };
    tf = function(a, f, n) {
        if (n) switch (a.Bc = n.ONE, a.tc = n.ONE_MINUS_SRC_ALPHA, f) {
            case 1:
                a.Bc = n.ONE;
                a.tc = n.ONE;
                break;
            case 3:
                a.Bc = n.ONE;
                a.tc = n.ZERO;
                break;
            case 4:
                a.Bc = n.ONE_MINUS_DST_ALPHA;
                a.tc = n.ONE;
                break;
            case 5:
                a.Bc = n.DST_ALPHA;
                a.tc = n.ZERO;
                break;
            case 6:
                a.Bc = n.ZERO;
                a.tc = n.SRC_ALPHA;
                break;
            case 7:
                a.Bc = n.ONE_MINUS_DST_ALPHA;
                a.tc = n.ZERO;
                break;
            case 8:
                a.Bc = n.ZERO;
                a.tc = n.ONE_MINUS_SRC_ALPHA;
                break;
            case 9:
                a.Bc = n.DST_ALPHA;
                a.tc = n.ONE_MINUS_SRC_ALPHA;
                break;
            case 10:
                a.Bc = n.ONE_MINUS_DST_ALPHA, a.tc = n.SRC_ALPHA
        }
    };
    uf = function(a) {
        return Math.round(1E6 * a) / 1E6
    };
    vf = function(a, f) {
        return "string" !== typeof a || "string" !== typeof f || a.length !== f.length ? !1 : a === f ? !0 : a.toLowerCase() === f.toLowerCase()
    };
    wf = function(a) {
        a = a.target;
        return !a || a === document || a === window || document && document.body && a === document.body || vf(a.tagName, "canvas") ? !0 : !1
    }
})();
var Lg = "undefined" !== typeof Float32Array ? Float32Array : Array;

function Mg(e) {
    var g = new Lg(3);
    e && (g[0] = e[0], g[1] = e[1], g[2] = e[2]);
    return g
}

function Ng(e) {
    var g = new Lg(16);
    e && (g[0] = e[0], g[1] = e[1], g[2] = e[2], g[3] = e[3], g[4] = e[4], g[5] = e[5], g[6] = e[6], g[7] = e[7], g[8] = e[8], g[9] = e[9], g[10] = e[10], g[11] = e[11], g[12] = e[12], g[13] = e[13], g[14] = e[14], g[15] = e[15]);
    return g
}

function Og(e, g) {
    g[0] = e[0];
    g[1] = e[1];
    g[2] = e[2];
    g[3] = e[3];
    g[4] = e[4];
    g[5] = e[5];
    g[6] = e[6];
    g[7] = e[7];
    g[8] = e[8];
    g[9] = e[9];
    g[10] = e[10];
    g[11] = e[11];
    g[12] = e[12];
    g[13] = e[13];
    g[14] = e[14];
    g[15] = e[15]
}

function Pg(e, g) {
    var b = g[0],
        q = g[1];
    g = g[2];
    e[0] *= b;
    e[1] *= b;
    e[2] *= b;
    e[3] *= b;
    e[4] *= q;
    e[5] *= q;
    e[6] *= q;
    e[7] *= q;
    e[8] *= g;
    e[9] *= g;
    e[10] *= g;
    e[11] *= g
}

function Qg(e, g, b, q) {
    q || (q = Ng());
    var p, t, l, a, w, L, f, n, z = e[0],
        u = e[1];
    e = e[2];
    t = b[0];
    l = b[1];
    p = b[2];
    b = g[1];
    L = g[2];
    z === g[0] && u === b && e === L ? (e = q, e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1) : (b = z - g[0], L = u - g[1], f = e - g[2], n = 1 / Math.sqrt(b * b + L * L + f * f), b *= n, L *= n, f *= n, g = l * f - p * L, p = p * b - t * f, t = t * L - l * b, (n = Math.sqrt(g * g + p * p + t * t)) ? (n = 1 / n, g *= n, p *= n, t *= n) : t = p = g = 0, l = L * t - f * p, a = f * g - b * t, w = b * p - L * g, (n = Math.sqrt(l * l + a * a + w * w)) ? (n = 1 / n, l *= n, a *= n, w *= n) : w = a = l = 0, q[0] = g, q[1] = l, q[2] = b, q[3] = 0, q[4] = p, q[5] = a, q[6] = L, q[7] = 0, q[8] = t, q[9] = w, q[10] = f, q[11] = 0, q[12] = -(g * z + p * u + t * e), q[13] = -(l * z + a * u + w * e), q[14] = -(b * z + L * u + f * e), q[15] = 1)
}
(function() {
    function e(a, b, l) {
        this.lg = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent);
        this.height = this.width = 0;
        this.bb = !!l;
        this.Lm = this.Wj = !1;
        this.yp = 0;
        this.Ho = 1;
        this.Ns = 1E3;
        this.m0 = (this.Ns - this.Ho) / 32768;
        this.op = Mg([0, 0, 100]);
        this.xQ = Mg([0, 0, 0]);
        this.vS = Mg([0, 1, 0]);
        this.pl = Mg([1, 1, 1]);
        this.FP = !0;
        this.cn = Ng();
        this.yd = Ng();
        this.Xq = Ng();
        this.xp = Ng();
        this.R = a;
        this.version = 0 === this.R.getParameter(this.R.VERSION).indexOf("WebGL 2") ? 2 : 1;
        this.aQ()
    }

    function g(a, b, l) {
        this.R = a;
        this.Wk = b;
        this.name = l;
        this.Qd = a.getAttribLocation(b, "aPos");
        this.rg = a.getAttribLocation(b, "aTex");
        this.vQ = a.getUniformLocation(b, "matP");
        this.Zm = a.getUniformLocation(b, "matMV");
        this.wi = a.getUniformLocation(b, "opacity");
        this.kr = a.getUniformLocation(b, "colorFill");
        this.wQ = a.getUniformLocation(b, "samplerFront");
        this.qk = a.getUniformLocation(b, "samplerBack");
        this.rh = a.getUniformLocation(b, "destStart");
        this.qh = a.getUniformLocation(b, "destEnd");
        this.sk = a.getUniformLocation(b, "seconds");
        this.mr = a.getUniformLocation(b, "pixelWidth");
        this.lr = a.getUniformLocation(b, "pixelHeight");
        this.pk = a.getUniformLocation(b, "layerScale");
        this.ok = a.getUniformLocation(b, "layerAngle");
        this.tk = a.getUniformLocation(b, "viewOrigin");
        this.rk = a.getUniformLocation(b, "scrollPos");
        this.nZ = !!(this.mr || this.lr || this.sk || this.qk || this.rh || this.qh || this.pk || this.ok || this.tk || this.rk);
        this.FQ = this.GQ = -999;
        this.bn = 1;
        this.BQ = this.AQ = 0;
        this.DQ = this.zQ = this.yQ = 1;
        this.JQ = this.IQ = this.HQ = this.LQ = this.KQ = this.CQ = 0;
        this.Vq = [];
        this.EQ = Ng();
        this.wi && a.uniform1f(this.wi, 1);
        this.kr && a.uniform4f(this.kr, 1, 1, 1, 1);
        this.wQ && a.uniform1i(this.wQ, 0);
        this.qk && a.uniform1i(this.qk, 1);
        this.rh && a.uniform2f(this.rh, 0, 0);
        this.qh && a.uniform2f(this.qh, 1, 1);
        this.pk && a.uniform1f(this.pk, 1);
        this.ok && a.uniform1f(this.ok, 0);
        this.tk && a.uniform2f(this.tk, 0, 0);
        this.rk && a.uniform2f(this.rk, 0, 0);
        this.sk && a.uniform1f(this.sk, 0);
        this.Yg = !1
    }

    function b(a, b) {
        return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15]
    }

    function q(a, b) {
        this.type = a;
        this.K = b;
        this.R = b.R;
        this.Nd = this.Cc = this.fR = 0;
        this.ra = this.Wd = null;
        this.bS = []
    }
    var p = Ng();
    e.prototype.aQ = function() {
        var a = this.R,
            b;
        this.pQ = 1;
        this.jh = this.ih = null;
        this.Yl = 1;
        a.clearColor(0, 0, 0, 0);
        a.clear(a.COLOR_BUFFER_BIT);
        a.enable(a.BLEND);
        a.blendFunc(a.ONE, a.ONE_MINUS_SRC_ALPHA);
        a.disable(a.CULL_FACE);
        a.disable(a.STENCIL_TEST);
        a.disable(a.DITHER);
        this.bb ? (a.enable(a.DEPTH_TEST), a.depthFunc(a.LEQUAL)) : a.disable(a.DEPTH_TEST);
        this.qQ = a.ONE;
        this.oQ = a.ONE_MINUS_SRC_ALPHA;
        this.Co = new Float32Array(8E3 * (this.bb ? 3 : 2));
        this.mo = new Float32Array(16E3);
        this.Nr = new Float32Array(32E3);
        this.Mr = a.createBuffer();
        a.bindBuffer(a.ARRAY_BUFFER, this.Mr);
        a.bufferData(a.ARRAY_BUFFER, this.Nr.byteLength, a.DYNAMIC_DRAW);
        this.ol = Array(4);
        this.dl = Array(4);
        for (b = 0; 4 > b; b++) this.ol[b] = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, this.ol[b]), a.bufferData(a.ARRAY_BUFFER, this.Co.byteLength, a.DYNAMIC_DRAW), this.dl[b] = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, this.dl[b]), a.bufferData(a.ARRAY_BUFFER, this.mo.byteLength, a.DYNAMIC_DRAW);
        this.Ye = 0;
        this.qZ = a.createBuffer();
        a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.qZ);
        for (var l = new Uint16Array(12E3), f = b = 0; 12E3 > b;) l[b++] = f, l[b++] = f + 1, l[b++] = f + 2, l[b++] = f, l[b++] = f + 2, l[b++] = f + 3, f += 4;
        a.bufferData(a.ELEMENT_ARRAY_BUFFER, l, a.STATIC_DRAW);
        this.Mi = this.aj = this.Hf = 0;
        this.sb = [];
        b = this.bb ? "attribute highp vec3 aPos;\nattribute mediump vec2 aTex;\nvarying mediump vec2 vTex;\nuniform highp mat4 matP;\nuniform highp mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, aPos.z, 1.0);\n\tvTex = aTex;\n}" : "attribute highp vec2 aPos;\nattribute mediump vec2 aTex;\nvarying mediump vec2 vTex;\nuniform highp mat4 matP;\nuniform highp mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tvTex = aTex;\n}";
        l = this.Ej({
            src: "varying mediump vec2 vTex;\nuniform lowp float opacity;\nuniform lowp sampler2D samplerFront;\nvoid main(void) {\n\tgl_FragColor = texture2D(samplerFront, vTex);\n\tgl_FragColor *= opacity;\n}"
        }, b, "<default>");
        this.sb.push(l);
        l = this.Ej({
            src: "uniform mediump sampler2D samplerFront;\nvarying lowp float opacity;\nvoid main(void) {\n\tgl_FragColor = texture2D(samplerFront, gl_PointCoord);\n\tgl_FragColor *= opacity;\n}"
        }, "attribute vec4 aPos;\nvarying float opacity;\nuniform mat4 matP;\nuniform mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tgl_PointSize = aPos.z;\n\topacity = aPos.w;\n}", "<point>");
        this.sb.push(l);
        l = this.Ej({
            src: "varying mediump vec2 vTex;\nuniform lowp sampler2D samplerFront;\nvoid main(void) {\n\tif (texture2D(samplerFront, vTex).a < 1.0)\n\t\tdiscard;\n}"
        }, b, "<earlyz>");
        this.sb.push(l);
        l = this.Ej({
            src: "uniform lowp vec4 colorFill;\nvoid main(void) {\n\tgl_FragColor = colorFill;\n}"
        }, b, "<fill>");
        this.sb.push(l);
        for (var n in Rg) Rg.hasOwnProperty(n) && this.sb.push(this.Ej(Rg[n], b, n));
        a.activeTexture(a.TEXTURE0);
        a.bindTexture(a.TEXTURE_2D, null);
        this.Ve = [];
        this.ve = 0;
        this.wc = this.lc = !1;
        this.zP = this.gk = -1;
        this.Vh = null;
        this.$p = a.createFramebuffer();
        this.em = this.Ln = null;
        this.eP = !1;
        this.bb && (this.em = a.createRenderbuffer());
        this.Cg = Mg([0, 0, 0]);
        a = a.getParameter(a.ALIASED_POINT_SIZE_RANGE);
        this.UZ = a[0];
        this.qr = a[1];
        2048 < this.qr && (this.qr = 2048);
        this.bd(0)
    };
    g.prototype.Ds = function(a) {
        b(this.EQ, a) || (Og(a, this.EQ), this.R.uniformMatrix4fv(this.Zm, !1, a))
    };
    e.prototype.Ej = function(a, b, l) {
        var f = this.R,
            n = f.createShader(f.FRAGMENT_SHADER);
        f.shaderSource(n, a.src);
        f.compileShader(n);
        if (!f.getShaderParameter(n, f.COMPILE_STATUS)) throw a = f.getShaderInfoLog(n), f.deleteShader(n), Error("error compiling fragment shader: " + a);
        var e = f.createShader(f.VERTEX_SHADER);
        f.shaderSource(e, b);
        f.compileShader(e);
        if (!f.getShaderParameter(e, f.COMPILE_STATUS)) throw a = f.getShaderInfoLog(e), f.deleteShader(n), f.deleteShader(e), Error("error compiling vertex shader: " + a);
        b = f.createProgram();
        f.attachShader(b, n);
        f.attachShader(b, e);
        f.linkProgram(b);
        if (!f.getProgramParameter(b, f.LINK_STATUS)) throw a = f.getProgramInfoLog(b), f.deleteShader(n), f.deleteShader(e), f.deleteProgram(b), Error("error linking shader program: " + a);
        f.useProgram(b);
        f.deleteShader(n);
        f.deleteShader(e);
        n = new g(f, b, l);
        n.Yp = a.Yp || 0;
        n.Zp = a.Zp || 0;
        n.yP = !!a.yP;
        n.ke = !!a.ke;
        n.cP = !!a.cP;
        n.ta = a.ta || [];
        a = 0;
        for (e = n.ta.length; a < e; a++) n.ta[a][1] = f.getUniformLocation(b, n.ta[a][0]), n.Vq.push(0), f.uniform1f(n.ta[a][1], 0);
        return n
    };
    e.prototype.rq = function(a) {
        var b, l;
        b = 0;
        for (l = this.sb.length; b < l; b++)
            if (this.sb[b].name === a) return b;
        return -1
    };
    e.prototype.uR = function(a, b, l) {
        var f = this.yd,
            n = this.cn,
            e = [0, 0, 0, 0, 0, 0, 0, 0];
        e[0] = f[0] * a + f[4] * b + f[12];
        e[1] = f[1] * a + f[5] * b + f[13];
        e[2] = f[2] * a + f[6] * b + f[14];
        e[3] = f[3] * a + f[7] * b + f[15];
        e[4] = n[0] * e[0] + n[4] * e[1] + n[8] * e[2] + n[12] * e[3];
        e[5] = n[1] * e[0] + n[5] * e[1] + n[9] * e[2] + n[13] * e[3];
        e[6] = n[2] * e[0] + n[6] * e[1] + n[10] * e[2] + n[14] * e[3];
        e[7] = -e[2];
        0 !== e[7] && (e[7] = 1 / e[7], e[4] *= e[7], e[5] *= e[7], e[6] *= e[7], l[0] = (.5 * e[4] + .5) * this.width, l[1] = (.5 * e[5] + .5) * this.height)
    };
    e.prototype.Ah = function(a, b, e) {
        if (this.width !== a || this.height !== b || e) {
            this.dg();
            e = this.R;
            this.width = a;
            this.height = b;
            e.viewport(0, 0, a, b);
            Qg(this.op, this.xQ, this.vS, this.yd);
            if (this.bb) {
                var f = -a / 2;
                a = a / 2;
                var n = b / 2;
                b = -b / 2;
                var l = this.Ho,
                    u = this.Ns,
                    g = this.cn;
                g || (g = Ng());
                var p = a - f,
                    q = b - n,
                    A = u - l;
                g[0] = 2 / p;
                g[1] = 0;
                g[2] = 0;
                g[3] = 0;
                g[4] = 0;
                g[5] = 2 / q;
                g[6] = 0;
                g[7] = 0;
                g[8] = 0;
                g[9] = 0;
                g[10] = -2 / A;
                g[11] = 0;
                g[12] = -(f + a) / p;
                g[13] = -(b +
                    n) / q;
                g[14] = -(u + l) / A;
                g[15] = 1;
                this.pl[0] = 1;
                this.pl[1] = 1
            } else b = a / b, f = this.Ho, a = this.Ns, g = this.cn, u = f * Math.tan(45 * Math.PI / 360), b *= u, n = -b, l = -u, g || (g = Ng()), p = b - n, q = u - l, A = a - f, g[0] = 2 * f / p, g[1] = 0, g[2] = 0, g[3] = 0, g[4] = 0, g[5] = 2 * f / q, g[6] = 0, g[7] = 0, g[8] = (b + n) / p, g[9] = (u + l) / q, g[10] = -(a + f) / A, g[11] = -1, g[12] = 0, g[13] = 0, g[14] = -(a * f * 2) / A, g[15] = 0, f = [0, 0], a = [0, 0], this.uR(0, 0, f), this.uR(1, 1, a), this.pl[0] = 1 / (a[0] - f[0]), this.pl[1] = -1 / (a[1] - f[1]);
            f = 0;
            for (a = this.sb.length; f < a; f++) n = this.sb[f], n.Yg = !1, n.vQ && (e.useProgram(n.Wk), e.uniformMatrix4fv(n.vQ, !1, this.cn));
            e.useProgram(this.sb[this.gk].Wk);
            e.bindTexture(e.TEXTURE_2D, null);
            e.activeTexture(e.TEXTURE1);
            e.bindTexture(e.TEXTURE_2D, null);
            e.activeTexture(e.TEXTURE0);
            this.jh = this.ih = null;
            this.em && (e.bindFramebuffer(e.FRAMEBUFFER, this.$p), e.bindRenderbuffer(e.RENDERBUFFER, this.em), e.renderbufferStorage(e.RENDERBUFFER, e.DEPTH_COMPONENT16, this.width, this.height), this.eP || (e.framebufferRenderbuffer(e.FRAMEBUFFER, e.DEPTH_ATTACHMENT, e.RENDERBUFFER, this.em), this.eP = !0), e.bindRenderbuffer(e.RENDERBUFFER, null), e.bindFramebuffer(e.FRAMEBUFFER, null), this.Ln = null)
        }
    };
    e.prototype.Le = function() {
        Qg(this.op, this.xQ, this.vS, this.yd);
        Pg(this.yd, this.pl)
    };
    e.prototype.translate = function(a, b) {
        if (0 !== a || 0 !== b) {
            this.Cg[0] = a;
            this.Cg[1] = b;
            this.Cg[2] = 0;
            var e = this.yd,
                f = this.Cg,
                n = f[0],
                l = f[1],
                f = f[2];
            e[12] = e[0] * n + e[4] * l + e[8] * f + e[12];
            e[13] = e[1] * n + e[5] * l + e[9] * f + e[13];
            e[14] = e[2] * n + e[6] * l + e[10] * f + e[14];
            e[15] = e[3] * n + e[7] * l + e[11] * f + e[15]
        }
    };
    e.prototype.scale = function(a, b) {
        if (1 !== a || 1 !== b) this.Cg[0] = a, this.Cg[1] = b, this.Cg[2] = 1, Pg(this.yd, this.Cg)
    };
    e.prototype.$r = function(a) {
        if (0 !== a) {
            var b = this.yd,
                e, f = Math.sin(a);
            a = Math.cos(a);
            var n = b[0],
                l = b[1],
                u = b[2],
                g = b[3],
                p = b[4],
                q = b[5],
                A = b[6],
                t = b[7];
            e ? b !== e && (e[8] = b[8], e[9] = b[9], e[10] = b[10], e[11] = b[11], e[12] = b[12], e[13] = b[13], e[14] = b[14], e[15] = b[15]) : e = b;
            e[0] = n * a + p * f;
            e[1] = l * a + q * f;
            e[2] = u * a + A * f;
            e[3] = g * a + t * f;
            e[4] = n * -f + p * a;
            e[5] = l * -f + q * a;
            e[6] = u * -f + A * a;
            e[7] = g * -f + t * a
        }
    };
    e.prototype.pe = function() {
        if (!b(this.Xq, this.yd)) {
            var a = this.Vc();
            a.type = 5;
            a.ra ? Og(this.yd, a.ra) : a.ra = Ng(this.yd);
            Og(this.yd, this.Xq);
            this.wc = this.lc = !1
        }
    };
    e.prototype.Sn = function(a) {
        this.bb && (32760 < a && (a = 32760), this.yp = this.op[2] - this.Ho - a * this.m0)
    };
    q.prototype.qX = function() {
        var a = this.R,
            b = this.K;
        0 !== this.Cc ? (a.depthMask(!0), a.colorMask(!1, !1, !1, !1), a.disable(a.BLEND), a.bindFramebuffer(a.FRAMEBUFFER, b.$p), a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, null, 0), a.clear(a.DEPTH_BUFFER_BIT), a.bindFramebuffer(a.FRAMEBUFFER, null), b.Lm = !0) : (a.depthMask(!1), a.colorMask(!0, !0, !0, !0), a.enable(a.BLEND), b.Lm = !1)
    };
    q.prototype.uX = function() {
        this.R.bindTexture(this.R.TEXTURE_2D, this.Wd)
    };
    q.prototype.vX = function() {
        var a = this.R;
        a.activeTexture(a.TEXTURE1);
        a.bindTexture(a.TEXTURE_2D, this.Wd);
        a.activeTexture(a.TEXTURE0)
    };
    q.prototype.rX = function() {
        var a = this.fR,
            b = this.K;
        b.Yl = a;
        b = b.Vh;
        b.wi && b.bn !== a && (b.bn = a, this.R.uniform1f(b.wi, a))
    };
    q.prototype.lX = function() {
        this.R.drawElements(this.R.TRIANGLES, this.Nd, this.R.UNSIGNED_SHORT, this.Cc)
    };
    q.prototype.nX = function() {
        this.R.blendFunc(this.Cc, this.Nd)
    };
    q.prototype.wX = function() {
        var a, b, e, f = this.K.sb,
            n = this.K.zP;
        a = 0;
        for (b = f.length; a < b; a++) e = f[a], a === n && e.Zm ? (e.Ds(this.ra), e.Yg = !0) : e.Yg = !1;
        Og(this.ra, this.K.xp)
    };
    q.prototype.mX = function() {
        var a = this.R,
            b = this.K;
        this.Wd ? (b.jh === this.Wd && (a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, null), b.jh = null, a.activeTexture(a.TEXTURE0)), a.bindFramebuffer(a.FRAMEBUFFER, b.$p), b.Lm || a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, this.Wd, 0)) : (b.bb || a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, null, 0), a.bindFramebuffer(a.FRAMEBUFFER, null))
    };
    q.prototype.eX = function() {
        var a = this.R,
            b = this.Cc;
        0 === b ? (a.clearColor(this.ra[0], this.ra[1], this.ra[2], this.ra[3]), a.clear(a.COLOR_BUFFER_BIT)) : 1 === b ? (a.enable(a.SCISSOR_TEST), a.scissor(this.ra[0], this.ra[1], this.ra[2], this.ra[3]), a.clearColor(0, 0, 0, 0), a.clear(a.COLOR_BUFFER_BIT), a.disable(a.SCISSOR_TEST)) : a.clear(a.DEPTH_BUFFER_BIT)
    };
    q.prototype.pX = function() {
        var a = this.R;
        0 !== this.Cc ? a.enable(a.DEPTH_TEST) : a.disable(a.DEPTH_TEST)
    };
    q.prototype.kX = function() {
        var a = this.R,
            b = this.K;
        b.bb && a.disable(a.DEPTH_TEST);
        var e = b.sb[1];
        a.useProgram(e.Wk);
        !e.Yg && e.Zm && (e.Ds(b.xp), e.Yg = !0);
        a.enableVertexAttribArray(e.Qd);
        a.bindBuffer(a.ARRAY_BUFFER, b.Mr);
        a.vertexAttribPointer(e.Qd, 4, a.FLOAT, !1, 0, 0);
        a.drawArrays(a.POINTS, this.Cc / 4, this.Nd);
        e = b.Vh;
        a.useProgram(e.Wk);
        0 <= e.Qd && (a.enableVertexAttribArray(e.Qd), a.bindBuffer(a.ARRAY_BUFFER, b.ol[b.Ye]), a.vertexAttribPointer(e.Qd, b.bb ? 3 : 2, a.FLOAT, !1, 0, 0));
        0 <= e.rg && (a.enableVertexAttribArray(e.rg), a.bindBuffer(a.ARRAY_BUFFER, b.dl[b.Ye]), a.vertexAttribPointer(e.rg, 2, a.FLOAT, !1, 0, 0));
        b.bb && a.enable(a.DEPTH_TEST)
    };
    q.prototype.sX = function() {
        var a = this.R,
            b = this.K,
            e = b.sb[this.Cc];
        b.zP = this.Cc;
        b.Vh = e;
        a.useProgram(e.Wk);
        !e.Yg && e.Zm && (e.Ds(b.xp), e.Yg = !0);
        e.wi && e.bn !== b.Yl && (e.bn = b.Yl, a.uniform1f(e.wi, b.Yl));
        0 <= e.Qd && (a.enableVertexAttribArray(e.Qd), a.bindBuffer(a.ARRAY_BUFFER, b.ol[b.Ye]), a.vertexAttribPointer(e.Qd, b.bb ? 3 : 2, a.FLOAT, !1, 0, 0));
        0 <= e.rg && (a.enableVertexAttribArray(e.rg), a.bindBuffer(a.ARRAY_BUFFER, b.dl[b.Ye]), a.vertexAttribPointer(e.rg, 2, a.FLOAT, !1, 0, 0))
    };
    q.prototype.oX = function() {
        var a = this.ra;
        this.R.uniform4f(this.K.Vh.kr, a[0], a[1], a[2], a[3])
    };
    q.prototype.tX = function() {
        var a, b, e = this.K.Vh,
            f = this.R;
        a = this.ra;
        e.qk && this.K.jh !== this.Wd && (f.activeTexture(f.TEXTURE1), f.bindTexture(f.TEXTURE_2D, this.Wd), this.K.jh = this.Wd, f.activeTexture(f.TEXTURE0));
        var n = a[0];
        e.mr && n !== e.GQ && (e.GQ = n, f.uniform1f(e.mr, n));
        n = a[1];
        e.lr && n !== e.FQ && (e.FQ = n, f.uniform1f(e.lr, n));
        n = a[2];
        b = a[3];
        !e.rh || n === e.AQ && b === e.BQ || (e.AQ = n, e.BQ = b, f.uniform2f(e.rh, n, b));
        n = a[4];
        b = a[5];
        !e.qh || n === e.yQ && b === e.zQ || (e.yQ = n, e.zQ = b, f.uniform2f(e.qh, n, b));
        n = a[6];
        e.pk && n !== e.DQ && (e.DQ = n, f.uniform1f(e.pk, n));
        n = a[7];
        e.ok && n !== e.CQ && (e.CQ = n, f.uniform1f(e.ok, n));
        n = a[8];
        b = a[9];
        !e.tk || n === e.KQ && b === e.LQ || (e.KQ = n, e.LQ = b, f.uniform2f(e.tk, n, b));
        n = a[10];
        b = a[11];
        !e.rk || n === e.HQ && b === e.IQ || (e.HQ = n, e.IQ = b, f.uniform2f(e.rk, n, b));
        n = a[12];
        e.sk && n !== e.JQ && (e.JQ = n, f.uniform1f(e.sk, n));
        if (e.ta.length)
            for (a = 0, b = e.ta.length; a < b; a++) n = this.bS[a], n !== e.Vq[a] && (e.Vq[a] = n, f.uniform1f(e.ta[a][1], n))
    };
    e.prototype.Vc = function() {
        this.ve === this.Ve.length && this.Ve.push(new q(0, this));
        return this.Ve[this.ve++]
    };
    e.prototype.dg = function() {
        if (0 !== this.ve && !this.R.isContextLost()) {
            var a = this.R;
            0 < this.Mi && (a.bindBuffer(a.ARRAY_BUFFER, this.Mr), a.bufferSubData(a.ARRAY_BUFFER, 0, this.Nr.subarray(0, this.Mi)), b && 0 <= b.Qd && "<point>" === b.name && a.vertexAttribPointer(b.Qd, 4, a.FLOAT, !1, 0, 0));
            if (0 < this.Hf) {
                var b = this.Vh;
                a.bindBuffer(a.ARRAY_BUFFER, this.ol[this.Ye]);
                a.bufferSubData(a.ARRAY_BUFFER, 0, this.Co.subarray(0, this.Hf));
                b && 0 <= b.Qd && "<point>" !== b.name && a.vertexAttribPointer(b.Qd, this.bb ? 3 : 2, a.FLOAT, !1, 0, 0);
                a.bindBuffer(a.ARRAY_BUFFER, this.dl[this.Ye]);
                a.bufferSubData(a.ARRAY_BUFFER, 0, this.mo.subarray(0, this.aj));
                b && 0 <= b.rg && "<point>" !== b.name && a.vertexAttribPointer(b.rg, 2, a.FLOAT, !1, 0, 0)
            }
            for (var e, a = 0, b = this.ve; a < b; a++) switch (e = this.Ve[a], e.type) {
                case 1:
                    e.lX();
                    break;
                case 2:
                    e.uX();
                    break;
                case 3:
                    e.rX();
                    break;
                case 4:
                    e.nX();
                    break;
                case 5:
                    e.wX();
                    break;
                case 6:
                    e.mX();
                    break;
                case 7:
                    e.eX();
                    break;
                case 8:
                    e.kX();
                    break;
                case 9:
                    e.sX();
                    break;
                case 10:
                    e.tX();
                    break;
                case 11:
                    e.vX();
                    break;
                case 12:
                    e.oX();
                    break;
                case 13:
                    e.pX();
                    break;
                case 14:
                    e.qX()
            }
            this.Mi = this.aj = this.Hf = this.ve = 0;
            this.Lm = this.wc = this.lc = !1;
            this.Ye++;
            4 <= this.Ye && (this.Ye = 0)
        }
    };
    e.prototype.yg = function(a) {
        if (a !== this.pQ && !this.Wj) {
            var b = this.Vc();
            b.type = 3;
            this.pQ = b.fR = a;
            this.wc = this.lc = !1
        }
    };
    e.prototype.Zc = function(a) {
        if (a !== this.ih) {
            var b = this.Vc();
            b.type = 2;
            this.ih = b.Wd = a;
            this.wc = this.lc = !1
        }
    };
    e.prototype.xg = function(a, b) {
        if ((a !== this.qQ || b !== this.oQ) && !this.Wj) {
            var e = this.Vc();
            e.type = 4;
            e.Cc = a;
            e.Nd = b;
            this.qQ = a;
            this.oQ = b;
            this.wc = this.lc = !1
        }
    };
    e.prototype.FR = function() {
        this.xg(this.R.ONE, this.R.ONE_MINUS_SRC_ALPHA)
    };
    e.prototype.Pi = function(a, b, e, f, n, l, u, g) {
        15992 <= this.Hf && this.dg();
        var p = this.Hf,
            q = this.aj,
            A = this.Co,
            t = this.mo,
            Ba = this.yp;
        if (this.lc) this.Ve[this.ve - 1].Nd += 6;
        else {
            var F = this.Vc();
            F.type = 1;
            F.Cc = this.bb ? p : p / 2 * 3;
            F.Nd = 6;
            this.lc = !0;
            this.wc = !1
        }
        this.bb ? (A[p++] = a, A[p++] = b, A[p++] = Ba, A[p++] = e, A[p++] = f, A[p++] = Ba, A[p++] = n, A[p++] = l, A[p++] = Ba, A[p++] = u, A[p++] = g, A[p++] = Ba) : (A[p++] = a, A[p++] = b, A[p++] = e, A[p++] = f, A[p++] = n, A[p++] = l, A[p++] = u, A[p++] = g);
        t[q++] = 0;
        t[q++] = 0;
        t[q++] = 1;
        t[q++] = 0;
        t[q++] = 1;
        t[q++] = 1;
        t[q++] = 0;
        t[q++] = 1;
        this.Hf = p;
        this.aj = q
    };
    e.prototype.Je = function(a, b, e, f, n, l, u, g, p) {
        15992 <= this.Hf && this.dg();
        var q = this.Hf,
            A = this.aj,
            t = this.Co,
            Ba = this.mo,
            F = this.yp;
        if (this.lc) this.Ve[this.ve - 1].Nd += 6;
        else {
            var P = this.Vc();
            P.type = 1;
            P.Cc = this.bb ? q : q / 2 * 3;
            P.Nd = 6;
            this.lc = !0;
            this.wc = !1
        }
        var P = p.left,
            ha = p.top,
            ea = p.right;
        p = p.bottom;
        this.bb ? (t[q++] = a, t[q++] = b, t[q++] = F, t[q++] = e, t[q++] = f, t[q++] = F, t[q++] = n, t[q++] = l, t[q++] = F, t[q++] = u, t[q++] = g, t[q++] = F) : (t[q++] = a, t[q++] = b, t[q++] = e, t[q++] = f, t[q++] = n, t[q++] = l, t[q++] = u, t[q++] = g);
        Ba[A++] = P;
        Ba[A++] = ha;
        Ba[A++] = ea;
        Ba[A++] = ha;
        Ba[A++] = ea;
        Ba[A++] = p;
        Ba[A++] = P;
        Ba[A++] = p;
        this.Hf = q;
        this.aj = A
    };
    e.prototype.g_ = function(a, b, e, f) {
        7996 <= this.Mi && this.dg();
        var n = this.Mi,
            l = this.Nr;
        if (this.wc) this.Ve[this.ve - 1].Nd++;
        else {
            var u = this.Vc();
            u.type = 8;
            u.Cc = n;
            u.Nd = 1;
            this.wc = !0;
            this.lc = !1
        }
        l[n++] = a;
        l[n++] = b;
        l[n++] = e;
        l[n++] = f;
        this.Mi = n
    };
    e.prototype.bd = function(a) {
        if (this.gk !== a) {
            if (!this.sb[a]) {
                if (0 === this.gk) return;
                a = 0
            }
            var b = this.Vc();
            b.type = 9;
            this.gk = b.Cc = a;
            this.wc = this.lc = !1
        }
    };
    e.prototype.Ik = function(a) {
        a = this.sb[a];
        return !(!a.rh && !a.qh)
    };
    e.prototype.Qr = function(a) {
        a = this.sb[a];
        return !!(a.rh || a.qh || a.yP)
    };
    e.prototype.Pr = function(a) {
        return this.sb[a].ke
    };
    e.prototype.n_ = function(a) {
        a = this.sb[a];
        return 0 !== a.Yp || 0 !== a.Zp
    };
    e.prototype.VY = function(a) {
        return this.sb[a].Yp
    };
    e.prototype.WY = function(a) {
        return this.sb[a].Zp
    };
    e.prototype.XY = function(a, b) {
        return this.sb[a].ta[b][2]
    };
    e.prototype.Fn = function(a) {
        return this.sb[a].cP
    };
    e.prototype.Ti = function(a, b, e, f, n, l, u, g, p, q, A, t, Ba, F, P) {
        var ha = this.sb[this.gk],
            ea, pa;
        if (ha.nZ || P.length) {
            ea = this.Vc();
            ea.type = 10;
            ea.ra ? Og(this.yd, ea.ra) : ea.ra = Ng();
            pa = ea.ra;
            pa[0] = b;
            pa[1] = e;
            pa[2] = f;
            pa[3] = n;
            pa[4] = l;
            pa[5] = u;
            pa[6] = g;
            pa[7] = p;
            pa[8] = q;
            pa[9] = A;
            pa[10] = t;
            pa[11] = Ba;
            pa[12] = F;
            ha.qk ? ea.Wd = a : ea.Wd = null;
            if (P.length)
                for (e = ea.bS, e.length = P.length, a = 0, b = P.length; a < b; a++) e[a] = P[a];
            this.wc = this.lc = !1
        }
    };
    e.prototype.clear = function(a, b, e, f) {
        var n = this.Vc();
        n.type = 7;
        n.Cc = 0;
        n.ra || (n.ra = Ng());
        n.ra[0] = a;
        n.ra[1] = b;
        n.ra[2] = e;
        n.ra[3] = f;
        this.wc = this.lc = !1
    };
    e.prototype.clearRect = function(a, b, e, f) {
        if (!(0 > e || 0 > f)) {
            var n = this.Vc();
            n.type = 7;
            n.Cc = 1;
            n.ra || (n.ra = Ng());
            n.ra[0] = a;
            n.ra[1] = b;
            n.ra[2] = e;
            n.ra[3] = f;
            this.wc = this.lc = !1
        }
    };
    e.prototype.IR = function(a) {
        if (this.bb && (a = !!a, this.Wj !== a)) {
            var b = this.Vc();
            b.type = 14;
            b.Cc = a ? 1 : 0;
            this.wc = this.lc = !1;
            this.Wj = a;
            this.Ln = null;
            this.Wj ? this.bd(2) : this.bd(0)
        }
    };
    e.prototype.HR = function(a) {
        if (this.bb) {
            var b = this.Vc();
            b.type = 13;
            b.Cc = a ? 1 : 0;
            this.wc = this.lc = !1
        }
    };
    e.prototype.NP = function() {
        Og(this.Xq, p);
        this.Le();
        this.pe();
        var a = this.width / 2,
            b = this.height / 2;
        this.Pi(-a, b, a, b, a, -b, -a, -b);
        Og(p, this.yd);
        this.pe()
    };
    e.prototype.GR = function(a, b, e) {
        this.bd(3);
        var f = this.Vc();
        f.type = 12;
        f.ra || (f.ra = Ng());
        f.ra[0] = a;
        f.ra[1] = b;
        f.ra[2] = e;
        f.ra[3] = 1;
        this.wc = this.lc = !1
    };
    e.prototype.O_ = function() {
        this.bd(0)
    };
    e.prototype.w_ = function() {
        this.bd(2)
    };
    e.prototype.m_ = function() {
        this.dg();
        this.R.flush()
    };
    var t = [],
        l = {};
    e.prototype.WW = function() {
        pe(t);
        l = {}
    };
    e.prototype.ng = function(a, b, e, f) {
        b = !!b;
        e = !!e;
        var n = a.src + "," + b + "," + e + (b ? ",undefined" : ""),
            g = null;
        if ("undefined" !== typeof a.src && l.hasOwnProperty(n)) return g = l[n], g.Jl++, g;
        this.dg();
        var u = this.R,
            p = Md(a.width) && Md(a.height),
            g = u.createTexture();
        u.bindTexture(u.TEXTURE_2D, g);
        u.pixelStorei(u.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0);
        var q = u.RGBA,
            ca = u.RGBA,
            A = u.UNSIGNED_BYTE;
        if (f && !this.lg) switch (f) {
            case 1:
                ca = q = u.RGB;
                break;
            case 2:
                A = u.UNSIGNED_SHORT_4_4_4_4;
                break;
            case 3:
                A = u.UNSIGNED_SHORT_5_5_5_1;
                break;
            case 4:
                ca = q = u.RGB, A = u.UNSIGNED_SHORT_5_6_5
        }
        if (1 === this.version && !p && b) {
            f = document.createElement("canvas");
            f.width = Nd(a.width);
            f.height = Nd(a.height);
            var ya = f.getContext("2d");
            "undefined" !== typeof ya.imageSmoothingEnabled ? ya.imageSmoothingEnabled = e : (ya.webkitImageSmoothingEnabled = e, ya.mozImageSmoothingEnabled = e, ya.msImageSmoothingEnabled = e);
            ya.drawImage(a, 0, 0, a.width, a.height, 0, 0, f.width, f.height);
            u.texImage2D(u.TEXTURE_2D, 0, q, ca, A, f)
        } else u.texImage2D(u.TEXTURE_2D, 0, q, ca, A, a);
        b ? (u.texParameteri(u.TEXTURE_2D, u.TEXTURE_WRAP_S, u.REPEAT), u.texParameteri(u.TEXTURE_2D, u.TEXTURE_WRAP_T, u.REPEAT)) : (u.texParameteri(u.TEXTURE_2D, u.TEXTURE_WRAP_S, u.CLAMP_TO_EDGE), u.texParameteri(u.TEXTURE_2D, u.TEXTURE_WRAP_T, u.CLAMP_TO_EDGE));
        e ? (u.texParameteri(u.TEXTURE_2D, u.TEXTURE_MAG_FILTER, u.LINEAR), (p || 2 <= this.version) && this.FP ? (u.texParameteri(u.TEXTURE_2D, u.TEXTURE_MIN_FILTER, u.LINEAR_MIPMAP_LINEAR), u.generateMipmap(u.TEXTURE_2D)) : u.texParameteri(u.TEXTURE_2D, u.TEXTURE_MIN_FILTER, u.LINEAR)) : (u.texParameteri(u.TEXTURE_2D, u.TEXTURE_MAG_FILTER, u.NEAREST), u.texParameteri(u.TEXTURE_2D, u.TEXTURE_MIN_FILTER, u.NEAREST));
        u.bindTexture(u.TEXTURE_2D, null);
        this.ih = null;
        g.Kg = a.width;
        g.Jg = a.height;
        g.Jl = 1;
        g.qP = n;
        t.push(g);
        return l[n] = g
    };
    e.prototype.Jd = function(a, b, e) {
        var f;
        this.dg();
        var n = this.R;
        this.lg && (f = !1);
        var l = n.createTexture();
        n.bindTexture(n.TEXTURE_2D, l);
        n.texImage2D(n.TEXTURE_2D, 0, n.RGBA, a, b, 0, n.RGBA, f ? n.UNSIGNED_SHORT_4_4_4_4 : n.UNSIGNED_BYTE, null);
        n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE);
        n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE);
        n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, e ? n.LINEAR : n.NEAREST);
        n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, e ? n.LINEAR : n.NEAREST);
        n.bindTexture(n.TEXTURE_2D, null);
        this.ih = null;
        l.Kg = a;
        l.Jg = b;
        t.push(l);
        return l
    };
    e.prototype.deleteTexture = function(a) {
        a && ("undefined" !== typeof a.Jl && 1 < a.Jl ? a.Jl-- : (this.dg(), a === this.ih && (this.R.bindTexture(this.R.TEXTURE_2D, null), this.ih = null), a === this.jh && (this.R.activeTexture(this.R.TEXTURE1), this.R.bindTexture(this.R.TEXTURE_2D, null), this.R.activeTexture(this.R.TEXTURE0), this.jh = null), te(t, a), "undefined" !== typeof a.qP && delete l[a.qP], this.R.deleteTexture(a)))
    };
    e.prototype.Td = function(a) {
        if (a !== this.Ln) {
            var b = this.Vc();
            b.type = 6;
            this.Ln = b.Wd = a;
            this.wc = this.lc = !1
        }
    };
    xf = e
})();
(function() {
    function e(a) {
        if (a && (a.getContext || a.dc) && !a.c2runtime) {
            a.c2runtime = this;
            var f = this;
            this.gd = (this.Mm = /crosswalk/i.test(navigator.userAgent) || /xwalk/i.test(navigator.userAgent) || !("undefined" === typeof window.c2isCrosswalk || !window.c2isCrosswalk)) || "undefined" !== typeof window.device && ("undefined" !== typeof window.device.cordova || "undefined" !== typeof window.device.phonegap) || "undefined" !== typeof window.c2iscordova && window.c2iscordova;
            this.xc = !!a.dc;
            this.gQ = "undefined" !== typeof window.AppMobi || this.xc;
            this.wd = !!window.c2cocoonjs;
            this.Od = !!window.c2ejecta;
            this.wd && (CocoonJS.App.onSuspended.addEventListener(function() {
                f.setSuspended(!0)
            }), CocoonJS.App.onActivated.addEventListener(function() {
                f.setSuspended(!1)
            }));
            this.Od && (document.addEventListener("pagehide", function() {
                f.setSuspended(!0)
            }), document.addEventListener("pageshow", function() {
                f.setSuspended(!1)
            }), document.addEventListener("resize", function() {
                f.setSize(window.innerWidth, window.innerHeight)
            }));
            this.cb = this.xc || this.wd || this.Od;
            this.Yj = /edge\//i.test(navigator.userAgent);
            this.lg = (/msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent) || /iemobile/i.test(navigator.userAgent)) && !this.Yj;
            this.jQ = /tizen/i.test(navigator.userAgent);
            this.Jm = /android/i.test(navigator.userAgent) && !this.jQ && !this.lg && !this.Yj;
            this.mQ = (/iphone/i.test(navigator.userAgent) || /ipod/i.test(navigator.userAgent)) && !this.lg && !this.Yj;
            this.GZ = /ipad/i.test(navigator.userAgent);
            this.mi = this.mQ || this.GZ || this.Od;
            this.Jq = (/chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent)) && !this.lg && !this.Yj;
            this.fQ = /amazonwebappplatform/i.test(navigator.userAgent);
            this.xZ = /firefox/i.test(navigator.userAgent);
            this.AZ = /safari/i.test(navigator.userAgent) && !this.Jq && !this.lg && !this.Yj;
            this.BZ = /windows/i.test(navigator.userAgent);
            this.Nm = "undefined" !== typeof window.c2nodewebkit || "undefined" !== typeof window.c2nwjs || /nodewebkit/i.test(navigator.userAgent) || /nwjs/i.test(navigator.userAgent);
            this.kQ = !("undefined" === typeof window.c2isWindows8 || !window.c2isWindows8);
            this.DZ = !("undefined" === typeof window.c2isWindows8Capable || !window.c2isWindows8Capable);
            this.bk = !("undefined" === typeof window.c2isWindowsPhone8 || !window.c2isWindowsPhone8);
            this.Qq = !("undefined" === typeof window.c2isWindowsPhone81 || !window.c2isWindowsPhone81);
            this.Pq = !!window.cr_windows10;
            this.Oq = this.kQ || this.DZ || this.Qq || this.Pq;
            this.vZ = !("undefined" === typeof window.c2isBlackberry10 || !window.c2isBlackberry10);
            this.Km = this.Jm && !this.Jq && !this.Mm && !this.xZ && !this.fQ && !this.cb;
            this.devicePixelRatio = 1;
            this.bh = this.gd || this.Mm || this.gQ || this.wd || this.Jm || this.mi || this.bk || this.Qq || this.vZ || this.jQ || this.Od;
            this.bh || (this.bh = /(blackberry|bb10|playbook|palm|symbian|nokia|windows\s+ce|phone|mobile|tablet|kindle|silk)/i.test(navigator.userAgent));
            this.Om = !!(this.mi && this.gd && window.webkit);
            "undefined" === typeof cr_is_preview || this.Nm || "?nw" !== window.location.search && !/nodewebkit/i.test(navigator.userAgent) && !/nwjs/i.test(navigator.userAgent) || (this.Nm = !0);
            this.canvas = a;
            this.sP = document.getElementById("c2canvasdiv");
            this.K = this.R = null;
            this.tq = "(unavailable)";
            this.bb = !1;
            this.Rg = 0;
            this.hb = null;
            this.pm = !1;
            this.YQ = this.ZQ = 0;
            this.canvas.oncontextmenu = function(a) {
                a.preventDefault && a.preventDefault();
                return !1
            };
            this.canvas.onselectstart = function(a) {
                a.preventDefault && a.preventDefault();
                return !1
            };
            this.xc && (window.c2runtime = this);
            this.Nm && (window.ondragover = function(a) {
                a.preventDefault();
                return !1
            }, window.ondrop = function(a) {
                a.preventDefault();
                return !1
            }, window.nwgui && window.nwgui.App.clearCache && window.nwgui.App.clearCache());
            this.Km && "undefined" !== typeof jQuery && jQuery("canvas").parents("*").css("overflow", "visible");
            this.width = a.width;
            this.height = a.height;
            this.ca = this.width;
            this.ba = this.height;
            this.Wl = this.width;
            this.Gj = this.height;
            this.si = window.innerWidth;
            this.ri = window.innerHeight;
            this.Qa = !0;
            this.$j = !1;
            Date.now || (Date.now = function() {
                return +new Date
            });
            this.plugins = [];
            this.types = {};
            this.L = [];
            this.nb = [];
            this.er = {};
            this.je = [];
            this.Xp = {};
            this.df = [];
            this.ij = [];
            this.vo = [];
            this.HV = [];
            this.IV = [];
            this.nQ = this.iS = null;
            this.Og = {};
            this.Lq = this.jg = !1;
            this.xd = 0;
            this.Kq = this.Nq = !1;
            this.ge = [];
            this.Xj = !1;
            this.Wm = this.ds = "";
            this.Yb = null;
            this.nf = "";
            this.bl = this.eS = !1;
            this.nm = [];
            this.Qg = this.cf = 0;
            this.OQ = 30;
            this.up = this.uk = 0;
            this.Qe = 1;
            this.Vb = new ef;
            this.If = new ef;
            this.ln = this.vm = this.Vg = this.Oe = this.mh = this.cq = this.Tm = 0;
            this.Mg = null;
            this.gm = [];
            this.Wp = [];
            this.jm = -1;
            this.nr = [
                []
            ];
            this.ys = this.$m = 0;
            this.Hn(null);
            this.SQ = this.xk = 0;
            this.dr = !0;
            this.Kj = 0;
            this.cl = [];
            this.vs = this.Sr = -1;
            this.ni = !0;
            this.vi = 0;
            this.Zj = !1;
            this.S_ = 0;
            this.Ph = null;
            this.xb = this.Cm = !1;
            this.XQ = new Oa;
            this.wr = new Oa;
            this.Ar = new Oa;
            this.Ok = [];
            this.me = new lf([]);
            this.ts = new lf([]);
            this.Uf = [];
            this.Rj = {};
            this.Zf = {};
            this.Sf = {};
            this.hj = {};
            this.mP = {};
            this.uQ = this.Vm = this.Ib = this.Wb = this.tQ = this.Um = this.na = null;
            this.fj = this.Rq = !1;
            this.fq = [null, null];
            this.Xg = 0;
            this.aq = "";
            this.sf = {};
            this.Zk = this.pg = null;
            this.gS = "";
            this.kn = [];
            this.v_()
        }
    }

    function g(a, f) {
        return 128 >= f ? a[3] : 256 >= f ? a[2] : 512 >= f ? a[1] : a[0]
    }

    function b() {
        try {
            return !!window.indexedDB
        } catch (a) {
            return !1
        }
    }

    function q(a) {
        a.target.result.createObjectStore("saves", {
            keyPath: "slot"
        })
    }

    function p(a, f, b, e) {
        try {
            var n = indexedDB.open("_C2SaveStates");
            n.onupgradeneeded = q;
            n.onerror = e;
            n.onsuccess = function(n) {
                n = n.target.result;
                n.onerror = e;
                n.transaction(["saves"], "readwrite").objectStore("saves").put({
                    slot: a,
                    data: f
                }).onsuccess = b
            }
        } catch (l) {
            e(l)
        }
    }

    function t(a, f, b) {
        try {
            var e = indexedDB.open("_C2SaveStates");
            e.onupgradeneeded = q;
            e.onerror = b;
            e.onsuccess = function(e) {
                e = e.target.result;
                e.onerror = b;
                var n = e.transaction(["saves"]).objectStore("saves").get(a);
                n.onsuccess = function() {
                    n.result ? f(n.result.data) : f(null)
                }
            }
        } catch (n) {
            b(n)
        }
    }

    function l() {
        Rb("Reloading for continuous preview");
        window.c2cocoonjs ? CocoonJS.App.reload() : -1 < window.location.search.indexOf("continuous") ? window.location.reload(!0) : window.location = window.location + "?continuous"
    }

    function a(a) {
        var f, b = {};
        for (f in a) !a.hasOwnProperty(f) || a[f] instanceof Oa || a[f] && "undefined" !== typeof a[f].we || "spriteCreatedDestroyCallback" !== f && (b[f] = a[f]);
        return b
    }
    var w = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame;
    e.prototype.v_ = function() {
        var a = this;
        if (this.Om) this.DY(function(f) {
            a.mk(JSON.parse(f))
        }, function() {
            alert("Error fetching data.js")
        });
        else {
            var f;
            this.bk ? f = new ActiveXObject("Microsoft.XMLHTTP") : f = new XMLHttpRequest;
            var b = "data.js";
            if (this.kQ || this.bk || this.Qq || this.Pq) b = "data.json";
            f.open("GET", b, !0);
            var e = !1;
            if (!this.cb && "response" in f && "responseType" in f) try {
                f.responseType = "json", e = "json" === f.responseType
            } catch (n) {
                e = !1
            }
            if (!e && "responseType" in
                f) try {
                f.responseType = "text"
            } catch (l) {}
            if ("overrideMimeType" in f) try {
                f.overrideMimeType("application/json; charset=utf-8")
            } catch (g) {}
            this.bk ? f.onreadystatechange = function() {
                4 === f.readyState && a.mk(JSON.parse(f.responseText))
            } : (f.onload = function() {
                if (e) a.mk(f.response);
                else if (a.Od) {
                    var b = f.responseText,
                        b = b.substr(b.indexOf("{"));
                    a.mk(JSON.parse(b))
                } else a.mk(JSON.parse(f.responseText))
            }, f.onerror = function(a) {
                lc("Error requesting " + b + ":");
                lc(a)
            });
            f.send()
        }
    };
    e.prototype.rZ = function() {
        var a = this,
            f, b, e, n, l, g, u, p, A;
        this.eh = (!this.cb || this.Od || this.gd) && this.g0 && !this.Km;
        0 === this.Gc && this.mi && (this.eh = !1);
        this.devicePixelRatio = this.eh ? window.devicePixelRatio || window.webkitDevicePixelRatio || window.mozDevicePixelRatio || window.msDevicePixelRatio || 1 : 1;
        this.pc();
        0 < this.Gc && this.setSize(window.innerWidth, window.innerHeight, !0);
        this.canvas.addEventListener("webglcontextlost", function(f) {
            f.preventDefault();
            a.XZ();
            Rb("[Construct 2] WebGL context lost");
            window.cr_setSuspended(!0)
        }, !1);
        this.canvas.addEventListener("webglcontextrestored", function() {
            a.K.aQ();
            a.K.Ah(a.K.width, a.K.height, !0);
            a.Wb = null;
            a.Ib = null;
            a.fq[0] = null;
            a.fq[1] = null;
            a.YZ();
            a.Qa = !0;
            Rb("[Construct 2] WebGL context restored");
            window.cr_setSuspended(!1)
        }, !1);
        try {
            this.VX && (this.wd || this.Od || !this.cb) && (f = {
                alpha: !0,
                depth: !1,
                antialias: !1,
                powerPreference: "high-performance",
                failIfMajorPerformanceCaveat: !0
            }, this.R = this.canvas.getContext("webgl2", f) || this.canvas.getContext("webgl", f) || this.canvas.getContext("experimental-webgl", f))
        } catch (q) {}
        if (this.R) {
            if (f = this.R.getExtension("WEBGL_debug_renderer_info")) this.tq = this.R.getParameter(f.UNMASKED_RENDERER_WEBGL) + " [" + this.R.getParameter(f.UNMASKED_VENDOR_WEBGL) + "]";
            this.bb && (this.tq += " [front-to-back enabled]");
            this.cb || (this.nc = document.createElement("canvas"), jQuery(this.nc).appendTo(this.canvas.parentNode), this.nc.oncontextmenu = function() {
                return !1
            }, this.nc.onselectstart = function() {
                return !1
            }, this.nc.width = Math.round(this.Wl * this.devicePixelRatio), this.nc.height = Math.round(this.Gj * this.devicePixelRatio), jQuery(this.nc).css({
                width: this.Wl + "px",
                height: this.Gj +
                    "px"
            }), this.rR(), this.Lr = this.nc.getContext("2d"));
            this.K = new xf(this.R, this.bh, this.bb);
            this.K.Ah(this.canvas.width, this.canvas.height);
            this.K.FP = 0 !== this.xX;
            this.hb = null;
            f = 0;
            for (b = this.L.length; f < b; f++)
                for (l = this.L[f], e = 0, n = l.ja.length; e < n; e++) u = l.ja[e], u.Kb = this.K.rq(u.id), u.ke = this.K.Pr(u.Kb), this.fj = this.fj || this.K.Ik(u.Kb);
            f = 0;
            for (b = this.je.length; f < b; f++) {
                p = this.je[f];
                e = 0;
                for (n = p.ja.length; e < n; e++) u = p.ja[e], u.Kb = this.K.rq(u.id), u.ke = this.K.Pr(u.Kb);
                p.oe();
                e = 0;
                for (n = p.ma.length; e < n; e++) {
                    A = p.ma[e];
                    l = 0;
                    for (g = A.ja.length; l < g; l++) u = A.ja[l], u.Kb = this.K.rq(u.id), u.ke = this.K.Pr(u.Kb), this.fj = this.fj || this.K.Ik(u.Kb);
                    A.oe()
                }
            }
        } else {
            if (0 < this.Gc && this.xc) {
                this.canvas = null;
                document.oncontextmenu = function() {
                    return !1
                };
                document.onselectstart = function() {
                    return !1
                };
                this.hb = AppMobi.canvas.getContext("2d");
                try {
                    this.hb.samplingMode = this.$a ? "smooth" : "sharp", this.hb.globalScale = 1, this.hb.HTML5CompatibilityMode = !0, this.hb.imageSmoothingEnabled = this.$a
                } catch (z) {}
                0 !== this.width && 0 !== this.height && (this.hb.width = this.width, this.hb.height = this.height)
            }
            this.hb || (this.wd ? (f = {
                antialias: !!this.$a,
                alpha: !0
            }, this.hb = this.canvas.getContext("2d", f)) : (f = {
                alpha: !0
            }, this.hb = this.canvas.getContext("2d", f)), this.Rn(this.hb, this.$a));
            this.Lr = this.nc = null
        }
        this.oS = function(f) {
            a.Ta(!1, f)
        };
        window == window.top || this.cb || this.Oq || this.bk || (document.addEventListener("mousedown", function() {
            window.focus()
        }, !0), document.addEventListener("touchstart", function() {
            window.focus()
        }, !0));
        "undefined" !== typeof cr_is_preview && (this.wd && console.log("[Construct 2] In preview-over-wifi via CocoonJS mode"), -1 < window.location.search.indexOf("continuous") && (Rb("Reloading for continuous preview"), this.Wm = "__c2_continuouspreview", this.bl = !0), this.e_ && !this.bh && (jQuery(window).focus(function() {
            a.setSuspended(!1)
        }), jQuery(window).blur(function() {
            var f = window.parent;
            f && f.document.hasFocus() || a.setSuspended(!0)
        })));
        window.addEventListener("blur", function() {
            a.vg()
        });
        this.cb || (f = function(a) {
            if (wf(a) && document.activeElement && document.activeElement !== document.getElementsByTagName("body")[0] && document.activeElement.blur) try {
                document.activeElement.blur()
            } catch (f) {}
        }, "undefined" !== typeof PointerEvent ? document.addEventListener("pointerdown", f) : window.navigator.msPointerEnabled ? document.addEventListener("MSPointerDown", f) : document.addEventListener("touchstart", f), document.addEventListener("mousedown", f));
        0 === this.Gc && this.eh && 1 < this.devicePixelRatio && this.setSize(this.Wa, this.Va, !0);
        this.tS();
        this.kZ();
        this.go();
        this.J = {}
    };
    e.prototype.setSize = function(a, f, b) {
        var e = 0,
            n = 0,
            l = 0,
            u = 0,
            u = 0;
        if (this.si !== a || this.ri !== f || b) {
            this.si = a;
            this.ri = f;
            var g = this.Gc;
            if ((l = (document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.Zj) && !this.gd) || 0 !== this.Gc || b) l && 0 < this.Xg && (g = this.Xg), b = this.devicePixelRatio, 4 <= g ? (l = this.Wa / this.Va, a / f > l ? (l *= f, 5 === g ? (u = l * b / this.Wa, 1 < u ? u = Math.floor(u) : 1 > u && (u = 1 / Math.ceil(1 / u)), l = this.Wa * u / b, u = this.Va * u / b, e = (a - l) / 2, n = (f - u) / 2, a = l, f = u) : (e = (a - l) / 2, a = l)) : (u = a / l, 5 === g ? (u = u * b / this.Va, 1 < u ? u = Math.floor(u) : 1 > u && (u = 1 / Math.ceil(1 / u)), l = this.Wa * u / b, u = this.Va * u / b, e = (a - l) / 2, n = (f - u) / 2, a = l) : n = (f - u) / 2, f = u)) : this.Nm && this.Zj && 0 === this.OP && (e = Math.floor((a - this.Wa) / 2), n = Math.floor((f - this.Va) / 2), a = this.Wa, f = this.Va), 2 > g && (this.Aj = b), this.Wl = Math.round(a), this.Gj = Math.round(f), this.width = Math.round(a * b), this.height = Math.round(f * b), this.Qa = !0, this.HS ? (this.ca = this.width, this.ba = this.height, this.rd = !0) : this.width < this.Wa && this.height < this.Va || 1 === g ? (this.ca = this.width, this.ba = this.height, this.rd = !0) : (this.ca = this.Wa, this.ba = this.Va, this.rd = !1, 2 === g ? (l = this.Wa / this.Va, g = this.si / this.ri, g < l ? this.ca = this.ba * g : g > l && (this.ba = this.ca / g)) : 3 === g && (l = this.Wa / this.Va, g = this.si / this.ri, g > l ? this.ca = this.ba * g : g < l && (this.ba = this.ca / g))), this.sP && !this.cb && (jQuery(this.sP).css({
                width: Math.round(a) + "px",
                height: Math.round(f) + "px",
                "margin-left": Math.floor(e) + "px",
                "margin-top": Math.floor(n) + "px"
            }), "undefined" !== typeof cr_is_preview && jQuery("#borderwrap").css({
                width: Math.round(a) + "px",
                height: Math.round(f) + "px"
            })), this.canvas && (this.canvas.width = Math.round(a * b), this.canvas.height = Math.round(f * b), this.Od ? (this.canvas.style.left = Math.floor(e) +
                "px", this.canvas.style.top = Math.floor(n) + "px", this.canvas.style.width = Math.round(a) + "px", this.canvas.style.height = Math.round(f) + "px") : this.eh && !this.cb && (this.canvas.style.width = Math.round(a) + "px", this.canvas.style.height = Math.round(f) + "px")), this.nc && (this.nc.width = Math.round(a * b), this.nc.height = Math.round(f * b), this.nc.style.width = this.Wl + "px", this.nc.style.height = this.Gj + "px"), this.K && this.K.Ah(Math.round(a * b), Math.round(f * b)), this.xc && this.hb && (this.hb.width = Math.round(a), this.hb.height = Math.round(f)), this.hb && this.Rn(this.hb, this.$a), this.tS(), this.mQ && !this.gd && window.scrollTo(0, 0)
        }
    };
    e.prototype.tS = function() {
        if (this.MV && 0 !== this.Kr) {
            var a = "portrait";
            2 === this.Kr && (a = "landscape");
            try {
                screen.orientation && screen.orientation.lock ? screen.orientation.lock(a).catch(function() {}) : screen.lockOrientation ? screen.lockOrientation(a) : screen.webkitLockOrientation ? screen.webkitLockOrientation(a) : screen.mozLockOrientation ? screen.mozLockOrientation(a) : screen.msLockOrientation && screen.msLockOrientation(a)
            } catch (f) {
                console && console.warn && console.warn("Failed to lock orientation: ", f)
            }
        }
    };
    e.prototype.XZ = function() {
        this.K.WW();
        this.Rq = !0;
        var a, f, b;
        a = 0;
        for (f = this.L.length; a < f; a++) b = this.L[a], b.Bk && b.Bk()
    };
    e.prototype.YZ = function() {
        this.Rq = !1;
        var a, f, b;
        a = 0;
        for (f = this.L.length; a < f; a++) b = this.L[a], b.Ck && b.Ck()
    };
    e.prototype.rR = function() {
        if (!this.cb) {
            var a = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || document.msFullscreenElement || this.Zj) && !this.gd ? jQuery(this.canvas).offset() : jQuery(this.canvas).position();
            a.position = "absolute";
            jQuery(this.nc).css(a)
        }
    };
    var L = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.msCancelAnimationFrame || window.oCancelAnimationFrame;
    e.prototype.setSuspended = function(a) {
        var f;
        if (a && !this.$j)
            for (Rb("[Construct 2] Suspending"), this.$j = !0, -1 !== this.Sr && L && L(this.Sr), -1 !== this.vs && clearTimeout(this.vs), a = 0, f = this.cl.length; a < f; a++) this.cl[a](!0);
        else if (!a && this.$j) {
            Rb("[Construct 2] Resuming");
            this.$j = !1;
            this.Tm = af();
            this.mh = af();
            a = this.uk = this.vm = 0;
            for (f = this.cl.length; a < f; a++) this.cl[a](!1);
            this.Ta(!1)
        }
    };
    e.prototype.$O = function(a) {
        this.cl.push(a)
    };
    e.prototype.Qf = function(a) {
        return this.kn[a]
    };
    e.prototype.mk = function(a) {
        a && a.project || lc("Project model unavailable");
        a = a.project;
        this.name = a[0];
        this.MP = a[1];
        this.Gc = a[12];
        this.OP = a[12];
        this.Wa = a[10];
        this.Va = a[11];
        this.mR = this.Wa / 2;
        this.nR = this.Va / 2;
        this.cb && !this.Od && (4 <= a[12] || 0 === a[12]) && (Rb("[Construct 2] Letterbox scale fullscreen modes are not supported on this platform - falling back to 'Scale outer'"), this.OP = this.Gc = 3);
        this.Is = a[18];
        this.qg = a[19];
        if (0 === this.qg) {
            var f = new Image;
            f.crossOrigin = "anonymous";
            this.KR(f, "loading-logo.png");
            this.pg = {
                an: f
            }
        } else if (4 === this.qg) {
            f = new Image;
            f.src = "";
            var b = new Image;
            b.src = "";
            var e = new Image;
            e.src = "";
            var n = new Image;
            n.src = "";
            var l = new Image;
            l.src = "";
            var u = new Image;
            u.src = "";
            var g = new Image;
            g.src = "";
            var p = new Image;
            p.src = "";
            var A = new Image;
            A.src = "";
            var q = new Image;
            q.src = "";
            var z = new Image;
            z.src = "";
            var t = new Image;
            t.src = "";
            this.pg = {
                an: [f, b, e, n],
                j_: [l, u, g, p],
                k0: [A, q, z, t]
            }
        }
        this.xk = a[21];
        this.kn = Sg();
        this.Ne = new Tg(this);
        f = 0;
        for (b = a[2].length; f < b; f++) g = a[2][f], e = this.Qf(g[0]), yf(g, e.prototype), p = new e(this), p.$n = g[1], p.mg = g[2], p.W2 = g[5], p.QQ = g[9], p.P && p.P(), this.plugins.push(p);
        this.kn = Sg();
        f = 0;
        for (b = a[3].length; f < b; f++) {
            g = a[3][f];
            l = this.Qf(g[1]);
            p = null;
            e = 0;
            for (n = this.plugins.length; e < n; e++)
                if (this.plugins[e] instanceof l) {
                    p = this.plugins[e];
                    break
                }
            A = new p.aa(p);
            A.name = g[0];
            A.W = g[2];
            A.Iq = g[3].slice(0);
            A.i0 = g[3].length;
            A.NW = g[4];
            A.HY = g[5];
            A.Aa = g[11];
            A.W ? (A.Bi = [], A.ef = this.Kj++, A.jb = null) : (A.Bi = null, A.ef = -1, A.jb = []);
            A.lm = null;
            A.Zh = null;
            A.GP = null;
            A.yc = !1;
            A.fd = null;
            g[6] ? (A.el = g[6][0], A.no = g[6][1], A.Hh = g[6][2]) : (A.el = null, A.no = 0, A.Hh = 0);
            g[7] ? A.ed = g[7] : A.ed = null;
            A.index = f;
            A.n = [];
            A.$l = [];
            A.Df = [new zf(A)];
            A.ye = 0;
            A.Kd = null;
            A.bX = 0;
            A.Zi = !0;
            A.xo = Ef;
            A.TP = Ff;
            A.SY = Gf;
            A.xa = Hf;
            A.Jk = If;
            A.Gn = Jf;
            A.xh = Kf;
            A.xm = Lf;
            A.hq = Mf;
            A.lq = Nf;
            A.ae = Of;
            A.oq = Pf;
            A.Rl = new mf(this.Wa, this.Va);
            A.Bl = !0;
            A.Cl = !1;
            A.J = {};
            A.toString = Qf;
            A.nb = [];
            e = 0;
            for (n = g[8].length; e < n; e++) {
                q = g[8][e];
                z = this.Qf(q[1]);
                t = null;
                l = 0;
                for (u = this.nb.length; l < u; l++)
                    if (this.nb[l] instanceof z) {
                        t = this.nb[l];
                        break
                    }
                t || (t = new z(this), t.hn = [], t.gn = new Oa, t.P && t.P(), this.nb.push(t), Ug && t instanceof Ug && (this.iS = t), Kg.JZ && t instanceof Kg.JZ && (this.nQ = t)); - 1 === t.hn.indexOf(A) && t.hn.push(A);
                l = new t.aa(t, A);
                l.name = q[0];
                l.Aa = q[2];
                l.P();
                A.nb.push(l)
            }
            A.global = g[9];
            A.Mq = g[10];
            A.ja = [];
            e = 0;
            for (n = g[12].length; e < n; e++) A.ja.push({
                id: g[12][e][0],
                name: g[12][e][1],
                Kb: -1,
                ke: !1,
                Ua: !0,
                index: e
            });
            A.F3 = g[13];
            this.Is && !A.W && !A.Mq && p.mg || A.P();
            A.name && (this.types[A.name] = A);
            this.L.push(A);
            p.$n && (e = new p.Z(A), e.uid = this.xk++, e.wR = this.SQ++, e.$g = 0, e.Pj = Rf, e.toString = Sf, e.D = g[14], e.P(), A.n.push(e), this.sf[e.uid.toString()] = e)
        }
        f = 0;
        for (b = a[4].length; f < b; f++)
            for (l = a[4][f], u = this.L[l[0]], e = 1, n = l.length; e < n; e++) g = this.L[l[e]], g.jb.push(u), u.Bi.push(g);
        f = 0;
        for (b = a[28].length; f < b; f++) {
            l = a[28][f];
            u = [];
            e = 0;
            for (n = l.length; e < n; e++) u.push(this.L[l[e]]);
            e = 0;
            for (n = u.length; e < n; e++) u[e].yc = !0, u[e].fd = u
        }
        if (0 < this.Kj)
            for (f = 0, b = this.L.length; f < b; f++)
                if (g = this.L[f], !g.W && g.jb.length) {
                    g.lm = Array(this.Kj);
                    g.Zh = Array(this.Kj);
                    g.GP = Array(this.Kj);
                    A = [];
                    e = t = z = q = 0;
                    for (n = g.jb.length; e < n; e++)
                        for (p = g.jb[e], g.lm[p.ef] = q, q += p.i0, g.Zh[p.ef] = z, z += p.NW, g.GP[p.ef] = t, t += p.HY, l = 0, u = p.ja.length; l < u; l++) A.push(de({}, p.ja[l]));
                    g.ja = A.concat(g.ja);
                    e = 0;
                    for (n = g.ja.length; e < n; e++) g.ja[e].index = e
                }
        f = 0;
        for (b = a[5].length; f < b; f++) g = a[5][f], e = new Tf(this, g), this.er[e.name] = e, this.je.push(e);
        f = 0;
        for (b = a[6].length; f < b; f++) g = a[6][f], e = new eg(this, g), this.Xp[e.name] = e, this.df.push(e);
        f = 0;
        for (b = this.df.length; f < b; f++) this.df[f].zb();
        f = 0;
        for (b = this.df.length; f < b; f++) this.df[f].Cs();
        f = 0;
        for (b = this.vo.length; f < b; f++) this.vo[f].zb();
        pe(this.vo);
        this.LV = a[7];
        this.aq = a[8];
        this.Ad = a[9];
        this.Aj = 1;
        this.VX = a[13];
        this.$a = a[14];
        this.vP = a[15];
        this.g0 = a[17];
        this.Kr = a[20];
        this.MV = 0 < this.Kr;
        this.e_ = a[22];
        this.rd = this.HS = a[23];
        this.xX = a[24];
        this.k_ = a[25];
        this.bb = a[27] && !this.lg;
        this.ho = Date.now();
        pe(this.kn);
        this.rZ()
    };
    var f = !1,
        n = 0,
        z = [];
    e.prototype.p_ = function(a, f) {
        function b() {
            n--;
            e.MQ()
        }
        var e = this;
        a.addEventListener("load", b);
        a.addEventListener("error", b);
        z.push([a, f]);
        this.MQ()
    };
    e.prototype.MQ = function() {
        for (var a; z.length && 100 > n;) n++, a = z.shift(), this.KR(a[0], a[1])
    };
    e.prototype.Do = function(a, b) {
        a.cocoonLazyLoad = !0;
        a.onerror = function(b) {
            f = a.pP = !0;
            console && console.error && console.error("Error loading image '" + a.src + "': ", b)
        };
        this.Od ? a.src = b : a.src || ("undefined" !== typeof XAPKReader ? XAPKReader.get(b, function(f) {
            a.src = f
        }, function(e) {
            f = a.pP = !0;
            console && console.error && console.error("Error extracting image '" + b + "' from expansion file: ", e)
        }) : (a.crossOrigin = "anonymous", this.p_(a, b)));
        this.ij.push(a)
    };
    e.prototype.FY = function(a) {
        var f, b;
        f = 0;
        for (b = this.ij.length; f < b; f++)
            if (this.ij[f].XW === a) return this.ij[f];
        return null
    };
    var u = 0,
        J = !1;
    e.prototype.kZ = function() {
        this.Ph && (u = this.Ph.L_(this.LV))
    };
    e.prototype.dP = function() {
        var a = u,
            f = 0,
            b = 0,
            e = !0,
            n, l, b = 0;
        for (n = this.ij.length; b < n; b++) {
            l = this.ij[b];
            var g = l.vp;
            if (!g || 0 >= g) g = 5E4;
            a += g;
            l.src && (l.complete || l.loaded) && !l.pP ? f += g : e = !1
        }
        e && this.k_ && this.Ph && (J || (this.Ph.T_(), J = !0), b = this.Ph.UY(), f += b, b < u && (e = !1));
        this.ua = 0 == a ? 1 : f / a;
        return e
    };
    var fa = !1;
    e.prototype.go = function() {
        if (this.hb || this.K) {
            var a = this.hb || this.Lr;
            this.nc && this.rR();
            var b = window.innerWidth,
                e = window.innerHeight;
            this.si === b && this.ri === e || this.setSize(b, e);
            this.ua = 0;
            this.sQ = -1;
            var n = this;
            if (this.dP() && (4 !== this.qg || fa)) this.lZ();
            else {
                e = Date.now() - this.ho;
                if (a) {
                    var l = this.width,
                        g = this.height,
                        b = this.devicePixelRatio;
                    if (3 > this.qg && (this.wd || 500 <= e && this.sQ != this.ua)) {
                        a.clearRect(0, 0, l, g);
                        var e = l / 2,
                            g = g / 2,
                            l = 0 === this.qg && this.pg.an.complete,
                            u = 40 * b,
                            A = 0,
                            p = 80 * b,
                            q;
                        if (l) {
                            var z = this.pg.an,
                                p = z.width * b;
                            q = z.height * b;
                            u = p / 2;
                            A = q / 2;
                            a.drawImage(z, Xd(e - u), Xd(g - A), p, q)
                        }
                        1 >= this.qg ? (e = Xd(e - u) + .5, g = Xd(g + (A + (l ? 12 * b : 0))) + .5, a.fillStyle = f ? "red" : "DodgerBlue", a.fillRect(e, g, Math.floor(p * this.ua), 6 * b), a.strokeStyle = "black", a.strokeRect(e, g, p, 6 * b), a.strokeStyle = "white", a.strokeRect(e - 1 * b, g - 1 * b, p + 2 * b, 8 * b)) : 2 === this.qg && (a.font = this.Od ? "12pt ArialMT" : "12pt Arial", a.fillStyle = f ? "#f00" : "#999", a.E3 = "middle", b = Math.round(100 * this.ua) + "%", l = a.measureText ? a.measureText(b) : null, a.fillText(b, e - (l ? l.width : 0) / 2, g));
                        this.sQ = this.ua
                    } else if (4 === this.qg) {
                        this.CX(a);
                        w ? w(function() {
                            n.go()
                        }) : setTimeout(function() {
                            n.go()
                        }, 16);
                        return
                    }
                }
                setTimeout(function() {
                    n.go()
                }, this.wd ? 10 : 100)
            }
        }
    };
    var ca = -1,
        A = "undefined" === typeof cr_is_preview ? 200 : 0,
        ya = !0,
        Ba = !1,
        F = 0,
        P = 0,
        ha = "undefined" === typeof cr_is_preview ? 3E3 : 0,
        ea = null,
        pa = null,
        na = 0;
    e.prototype.CX = function(a) {
        if (!fa) {
            for (var b = Math.ceil(this.width), e = Math.ceil(this.height), n = this.pg.an, l = this.pg.j_, u = this.pg.k0, p = 0; 4 > p; ++p)
                if (!n[p].complete || !l[p].complete || !u[p].complete) return;
            0 === na && (ca = Date.now());
            var p = Date.now(),
                q = !1,
                z = a,
                t, w;
            ya || Ba ? (a.clearRect(0, 0, b, e), ea && ea.width === b && ea.height === e || (ea = document.createElement("canvas"), ea.width = b, ea.height = e, pa = ea.getContext("2d")), z = pa, q = !0, ya && 1 === na && (ca = Date.now())) : a.globalAlpha = 1;
            z.fillStyle = "#333333";
            z.fillRect(0, 0, b, e);
            256 < this.Gj ? (t = ue(.22 * e, 105, .6 * b), w = .25 * t, z.drawImage(g(l, t), .5 * b - t / 2, .2 * e - w / 2, t, w), w = t = Math.min(.395 * e, .95 * b), z.drawImage(g(n, t), .5 * b - t / 2, .485 * e - w / 2, t, w), t = ue(.22 * e, 105, .6 * b), w = .25 * t, z.drawImage(g(u, t), .5 * b - t / 2, .868 * e - w / 2, t, w), z.fillStyle = "#3C3C3C", t = b, w = Math.max(.005 * e, 2), z.fillRect(0, .8 * e - w / 2, t, w), z.fillStyle = f ? "red" : "#E0FF65", t = b * this.ua, z.fillRect(.5 * b - t / 2, .8 * e - w / 2, t, w)) : (w = t = .55 * e, z.drawImage(g(n, t), .5 * b - t / 2, .45 * e - w / 2, t, w), z.fillStyle = "#3C3C3C", t = b, w = Math.max(.005 * e, 2), z.fillRect(0, .85 * e - w / 2, t, w), z.fillStyle = f ? "red" : "#E0FF65", t = b * this.ua, z.fillRect(.5 * b - t / 2, .85 * e - w / 2, t, w));
            q && (ya ? a.globalAlpha = 0 === na ? 0 : Math.min((p - ca) / 300, 1) : Ba && (a.globalAlpha = Math.max(1 -
                (p - P) / 300, 0)), a.drawImage(ea, 0, 0, b, e));
            ya && 300 <= p - ca && 2 <= na && (ya = !1, F = p);
            !ya && p - F >= ha && !Ba && 1 <= this.ua && (Ba = !0, P = p);
            if (Ba && p - P >= 300 + A || "undefined" !== typeof cr_is_preview && 1 <= this.ua && 500 > Date.now() - ca) fa = !0, Ba = ya = !1, this.pg = pa = ea = null;
            ++na
        }
    };
    e.prototype.lZ = function() {
        this.nc && (this.canvas.parentNode.removeChild(this.nc), this.nc = this.Lr = null);
        this.ho = Date.now();
        this.mh = af();
        var a, f, b;
        if (this.Is)
            for (a = 0, f = this.L.length; a < f; a++) b = this.L[a], b.W || b.Mq || !b.Pa.mg || b.P();
        else this.ni = !1;
        a = 0;
        for (f = this.je.length; a < f; a++) this.je[a].YW();
        2 <= this.Gc && (a = this.Wa / this.Va, f = this.width / this.height, this.Aj = 2 !== this.Gc && f > a || 2 === this.Gc && f < a ? this.height / this.Va : this.width / this.Wa);
        this.MP ? this.er[this.MP].qs() : this.je[0].qs();
        this.Is || (this.vi = 1, this.trigger(Tg.prototype.u.it, null), window.C2_RegisterSW && window.C2_RegisterSW());
        navigator.splashscreen && navigator.splashscreen.hide && navigator.splashscreen.hide();
        a = 0;
        for (f = this.L.length; a < f; a++) b = this.L[a], b.$Q && b.$Q();
        document.hidden || document.webkitHidden || document.mozHidden || document.msHidden ? window.cr_setSuspended(!0) : this.Ta(!1);
        this.xc && AppMobi.webview.execute("onGameReady();")
    };
    e.prototype.Ta = function(a, f, b) {
        if (this.na) {
            var e = af();
            if (b || !this.$j || a) {
                a || (w ? this.Sr = w(this.oS) : this.vs = setTimeout(this.oS, this.bh ? 1 : 16));
                f = f || e;
                var n = this.Gc;
                ((b = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement) && !this.gd) || this.Zj) && 0 < this.Xg && (n = this.Xg);
                if (0 < n) {
                    var n = window.innerWidth,
                        l = window.innerHeight;
                    this.si === n && this.ri === l || this.setSize(n, l)
                }
                this.cb || (b ? this.pm || (this.pm = !0) : this.pm ? (this.pm = !1, 0 === this.Gc && this.setSize(Math.round(this.ZQ / this.devicePixelRatio), Math.round(this.YQ / this.devicePixelRatio), !0)) : (this.ZQ = this.width, this.YQ = this.height));
                this.ni && (b = this.dP(), this.vi = this.ua, b && (this.ni = !1, this.ua = 1, this.trigger(Tg.prototype.u.it, null), window.C2_RegisterSW && window.C2_RegisterSW()));
                this.PZ(f);
                !this.Qa && !this.wd || this.Rq || this.bl || a || (this.Qa = !1, this.K ? this.uc() : this.od(), this.Zk && (this.canvas && this.canvas.toDataURL && (this.gS = this.canvas.toDataURL(this.Zk[0], this.Zk[1]), window.cr_onSnapshot && window.cr_onSnapshot(this.gS), this.trigger(Tg.prototype.u.LT, null)), this.Zk = null));
                this.D2 || (this.Oe++, this.Vg++, this.vm++);
                this.uk += af() - e
            }
        }
    };
    e.prototype.PZ = function(a) {
        var f, b, e, n, l, g, u, A;
        1E3 <= a - this.mh && (this.mh += 1E3, 1E3 <= a - this.mh && (this.mh = a), this.cq = this.vm, this.vm = 0, this.up = this.uk, this.uk = 0);
        f = 0;
        0 !== this.Tm && (f = a - this.Tm, 0 > f && (f = 0), this.Qg = f /= 1E3, .5 < this.Qg ? this.Qg = 0 : this.Qg > 1 / this.OQ && (this.Qg = 1 / this.OQ));
        this.Tm = a;
        this.cf = this.Qg * this.Qe;
        this.Vb.add(this.cf);
        this.If.add(f);
        a = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement || this.Zj) && !this.gd;
        2 <= this.Gc || a && 0 < this.Xg ? (f = this.Wa / this.Va, b = this.width / this.height, e = this.Gc, a && 0 < this.Xg && (e = this.Xg), this.Aj = 2 !== e && b > f || 2 === e && b < f ? this.height / this.Va : this.width / this.Wa, this.na && (this.na.On(this.na.scrollX), this.na.Pn(this.na.scrollY))) : this.Aj = this.eh ? this.devicePixelRatio : 1;
        this.pc();
        this.xd++;
        this.Ne.B_();
        this.xd--;
        this.pc();
        this.xd++;
        b = this.XQ.qe();
        a = 0;
        for (f = b.length; a < f; a++) b[a].q3();
        a = 0;
        for (f = this.L.length; a < f; a++)
            if (g = this.L[a], !g.W && (g.nb.length || g.jb.length))
                for (b = 0, e = g.n.length; b < e; b++)
                    for (u = g.n[b], n = 0, l = u.da.length; n < l; n++) u.da[n].Ta();
        a = 0;
        for (f = this.L.length; a < f; a++)
            if (g = this.L[a], !g.W && (g.nb.length || g.jb.length))
                for (b = 0, e = g.n.length; b < e; b++)
                    for (u = g.n[b], n = 0, l = u.da.length; n < l; n++) A = u.da[n], A.tR && A.tR();
        b = this.wr.qe();
        a = 0;
        for (f = b.length; a < f; a++) b[a].Ta();
        this.xd--;
        this.mZ();
        for (a = 0; this.Mg && 10 > a++;) this.EP(this.Mg);
        a = 0;
        for (f = this.df.length; a < f; a++) this.df[a].zq = !1;
        this.na.Tg && this.na.Tg.Bb();
        pe(this.Ok);
        this.dr = !1;
        this.xd++;
        a = 0;
        for (f = this.L.length; a < f; a++)
            if (g = this.L[a], !g.W && (g.nb.length || g.jb.length))
                for (b = 0, e = g.n.length; b < e; b++)
                    for (u = g.n[b], n = 0, l = u.da.length; n < l; n++) A = u.da[n], A.gl && A.gl();
        b = this.Ar.qe();
        a = 0;
        for (f = b.length; a < f; a++) b[a].gl();
        this.xd--
    };
    e.prototype.vg = function() {
        var a, f, b, e, n, l, g, u, A;
        a = 0;
        for (f = this.L.length; a < f; a++)
            if (g = this.L[a], !g.W)
                for (b = 0, e = g.n.length; b < e; b++)
                    if (u = g.n[b], u.vg && u.vg(), u.da)
                        for (n = 0, l = u.da.length; n < l; n++) A = u.da[n], A.vg && A.vg()
    };
    e.prototype.EP = function(a) {
        var f = this.na;
        this.na.V_();
        var b, e, n;
        if (this.K)
            for (b = 0, e = this.L.length; b < e; b++) n = this.L[b], n.W || !n.jl || n.global && 0 !== n.n.length || -1 !== a.Uj.indexOf(n) || n.jl();
        f == a && pe(this.Ne.cd);
        pe(this.Ok);
        this.CR(!0);
        a.qs();
        this.CR(!1);
        this.dr = this.Qa = !0;
        this.pc()
    };
    e.prototype.CR = function(a) {
        var f, b, e, n, l, g, u, A, p;
        f = 0;
        for (b = this.nb.length; f < b; f++) e = this.nb[f], a ? e.zk && e.zk() : e.Ak && e.Ak();
        f = 0;
        for (b = this.L.length; f < b; f++)
            if (e = this.L[f], e.global || e.Pa.$n)
                for (n = 0, l = e.n.length; n < l; n++)
                    if (g = e.n[n], a ? g.zk && g.zk() : g.Ak && g.Ak(), g.da)
                        for (u = 0, A = g.da.length; u < A; u++) p = g.da[u], a ? p.zk && p.zk() : p.Ak && p.Ak()
    };
    e.prototype.hl = function(a) {
        this.wr.add(a)
    };
    e.prototype.$_ = function(a) {
        this.Ar.add(a)
    };
    e.prototype.gf = function(a) {
        return a && -1 !== a.wk ? this.Qg * a.wk : this.cf
    };
    e.prototype.od = function() {
        this.na.od(this.hb);
        this.xc && this.hb.present()
    };
    e.prototype.uc = function() {
        this.bb && (this.Rg = 1, this.na.Pg(this.K));
        this.na.uc(this.K);
        this.K.m_()
    };
    e.prototype.uj = function(a) {
        a && this.gm.push(a)
    };
    e.prototype.Vr = function(a) {
        te(this.gm, a)
    };
    e.prototype.Be = function(a) {
        a = a.toString();
        return this.sf.hasOwnProperty(a) ? this.sf[a] : null
    };
    var Pa = [];
    e.prototype.Of = function(a) {
        var f, b;
        f = a.type.name;
        var e = null;
        if (this.Og.hasOwnProperty(f)) {
            if (e = this.Og[f], e.contains(a)) return
        } else e = Pa.length ? Pa.pop() : new Oa, this.Og[f] = e;
        e.add(a);
        this.jg = !0;
        if (a.yc)
            for (f = 0, b = a.siblings.length; f < b; f++) this.Of(a.siblings[f]);
        this.Lq && e.gj.push(a);
        this.Kq || (this.xd++, this.trigger(Object.getPrototypeOf(a.type.Pa).u.NT, a), this.xd--)
    };
    e.prototype.pc = function() {
        if (this.jg) {
            var a, f, b, e, n, l;
            this.Lq = !0;
            b = 0;
            for (n = this.ge.length; b < n; ++b)
                for (a = this.ge[b], f = a.type, f.n.push(a), e = 0, l = f.jb.length; e < l; ++e) f.jb[e].n.push(a), f.jb[e].Zi = !0;
            pe(this.ge);
            this.vT();
            $e(this.Og);
            this.jg = this.Lq = !1
        }
    };
    e.prototype.vT = function() {
        for (var a in this.Og) this.Og.hasOwnProperty(a) && this.QS(this.Og[a])
    };
    e.prototype.QS = function(a) {
        var f = a.qe(),
            b = f[0].type,
            e, n, l, g, u, A;
        bf(b.n, a);
        b.Zi = !0;
        0 === b.n.length && (b.Cl = !1);
        e = 0;
        for (n = b.jb.length; e < n; ++e) A = b.jb[e], bf(A.n, a), A.Zi = !0;
        e = 0;
        for (n = this.Ne.cd.length; e < n; ++e)
            if (u = this.Ne.cd[e], u.Oc.hasOwnProperty(b.index) && bf(u.Oc[b.index].jf, a), !b.W)
                for (l = 0, g = b.jb.length; l < g; ++l) A = b.jb[l], u.Oc.hasOwnProperty(A.index) && bf(u.Oc[A.index].jf, a);
        if (u = f[0].G) {
            if (u.Dd)
                for (l = u.n, e = 0, n = l.length; e < n; ++e) g = l[e], a.contains(g) && (g.X(), u.oc.update(g, g.Xc, null), g.Xc.set(0, 0, -1, -1));
            bf(u.n, a);
            u.Uk(0)
        }
        for (e = 0; e < f.length; ++e) this.PS(f[e], b);
        a.clear();
        Pa.push(a);
        this.Qa = !0
    };
    e.prototype.PS = function(a, f) {
        var b, e, n;
        b = 0;
        for (e = this.gm.length; b < e; ++b) this.gm[b](a);
        a.$f && f.Rl.update(a, a.$f, null);
        (b = a.G) && b.Qi(a, !0);
        if (a.da)
            for (b = 0, e = a.da.length; b < e; ++b) n = a.da[b], n.tf && n.tf(), n.behavior.gn.remove(a);
        this.XQ.remove(a);
        this.wr.remove(a);
        this.Ar.remove(a);
        a.tf && a.tf();
        this.sf.hasOwnProperty(a.uid.toString()) && delete this.sf[a.uid.toString()];
        this.ln--;
        100 > f.$l.length && f.$l.push(a)
    };
    e.prototype.wp = function(a, f, b, e) {
        if (a.W) {
            var n = Xd(Math.random() * a.Bi.length);
            return this.wp(a.Bi[n], f, b, e)
        }
        return a.Kd ? this.ag(a.Kd, f, !1, b, e, !1) : null
    };
    var jb = [];
    e.prototype.ag = function(a, f, b, e, n, l) {
        var g, u, A, p;
        if (!a) return null;
        var z = this.L[a[1]],
            q = z.Pa.mg;
        if (this.ni && q && !z.Mq || q && !this.K && 11 === a[0][11]) return null;
        var t = f;
        q || (f = null);
        var w;
        z.$l.length ? (w = z.$l.pop(), w.Wc = !0, z.Pa.Z.call(w, z)) : (w = new z.Pa.Z(z), w.Wc = !1);
        !b || l || this.sf.hasOwnProperty(a[2].toString()) ? w.uid = this.xk++ : w.uid = a[2];
        this.sf[w.uid.toString()] = w;
        w.wR = this.SQ++;
        w.$g = z.n.length;
        g = 0;
        for (u = this.ge.length; g < u; ++g) this.ge[g].type === z && w.$g++;
        w.Pj = Rf;
        w.toString = Sf;
        A = a[3];
        if (w.Wc) $e(w.J);
        else {
            w.J = {};
            if ("undefined" !== typeof cr_is_preview)
                for (w.dQ = [], w.dQ.length = A.length, g = 0, u = A.length; g < u; g++) w.dQ[g] = A[g][1];
            w.Ub = [];
            w.Ub.length = A.length
        }
        g = 0;
        for (u = A.length; g < u; g++) w.Ub[g] = A[g][0];
        if (q) {
            var fa = a[0];
            w.x = Xc(e) ? fa[0] : e;
            w.y = Xc(n) ? fa[1] : n;
            w.z = fa[2];
            w.width = fa[3];
            w.height = fa[4];
            w.depth = fa[5];
            w.C = fa[6];
            w.opacity = fa[7];
            w.Hc = fa[8];
            w.Ic = fa[9];
            w.qc = fa[10];
            g = fa[11];
            !this.K && z.ja.length && (w.qc = g);
            w.Dj = qf(w.qc);
            this.R && tf(w, w.qc, this.R);
            if (w.Wc) {
                g = 0;
                for (u = fa[12].length; g < u; g++)
                    for (A = 0, p = fa[12][g].length; A < p; A++) w.ob[g][A] = fa[12][g][A];
                w.T.set(0, 0, 0, 0);
                w.$f.set(0, 0, -1, -1);
                w.Xc.set(0, 0, -1, -1);
                w.Za.Vi(w.T);
                pe(w.mp)
            } else {
                w.ob = fa[12].slice(0);
                g = 0;
                for (u = w.ob.length; g < u; g++) w.ob[g] = fa[12][g].slice(0);
                w.Oa = [];
                w.Rf = [];
                w.Rf.length = z.ja.length;
                w.T = new be(0, 0, 0, 0);
                w.$f = new be(0, 0, -1, -1);
                w.Xc = new be(0, 0, -1, -1);
                w.Za = new ce;
                w.mp = [];
                w.H = fg;
                w.FV = gg;
                w.Fc = hg;
                w.X = ig;
                w.AS = jg;
                w.Hs = kg;
                w.Ce = lg
            }
            w.Pe = !1;
            w.c0 = 0;
            w.b0 = 0;
            w.a0 = null;
            14 === fa.length && (w.Pe = !0, w.c0 = fa[13][0], w.b0 = fa[13][1], w.a0 = fa[13][2]);
            g = 0;
            for (u = z.ja.length; g < u; g++) w.Rf[g] = !0;
            w.Bf = !0;
            w.oe = mg;
            w.oe();
            w.BS = !!w.Oa.length;
            w.Hl = !0;
            w.pp = !0;
            z.Bl = !0;
            w.visible = !0;
            w.wk = -1;
            w.G = f;
            w.te = f.n.length;
            w.Rg = 0;
            "undefined" === typeof w.wa && (w.wa = null);
            this.Qa = w.Xe = !0
        }
        var P;
        pe(jb);
        g = 0;
        for (u = z.jb.length; g < u; g++) jb.push.apply(jb, z.jb[g].nb);
        jb.push.apply(jb, z.nb);
        if (w.Wc)
            for (g = 0, u = jb.length; g < u; g++) {
                var ya = jb[g];
                P = w.da[g];
                P.Wc = !0;
                ya.behavior.Z.call(P, ya, w);
                fa = a[4][g];
                A = 0;
                for (p = fa.length; A < p; A++) P.D[A] = fa[A];
                P.P();
                ya.behavior.gn.add(w)
            } else
                for (w.da = [], g = 0, u = jb.length; g < u; g++) ya = jb[g], P = new ya.behavior.Z(ya, w), P.Wc = !1, P.D = a[4][g].slice(0), P.P(), w.da.push(P), ya.behavior.gn.add(w);
        fa = a[5];
        if (w.Wc)
            for (g = 0, u = fa.length; g < u; g++) w.D[g] = fa[g];
        else w.D = fa.slice(0);
        this.ge.push(w);
        this.jg = !0;
        f && (f.zj(w, !0), 1 !== f.Tc || 1 !== f.Uc) && (z.Cl = !0);
        this.ln++;
        if (z.yc) {
            if (w.yc = !0, w.Wc ? pe(w.siblings) : w.siblings = [], !b && !l) {
                g = 0;
                for (u = z.fd.length; g < u; g++)
                    if (z.fd[g] !== z) {
                        if (!z.fd[g].Kd) return null;
                        w.siblings.push(this.ag(z.fd[g].Kd, t, !1, q ? w.x : e, q ? w.y : n, !0))
                    }
                g = 0;
                for (u = w.siblings.length; g < u; g++)
                    for (w.siblings[g].siblings.push(w), A = 0; A < u; A++) g !== A && w.siblings[g].siblings.push(w.siblings[A])
            }
        } else w.yc = !1, w.siblings = null;
        w.P();
        g = 0;
        for (u = w.da.length; g < u; g++) w.da[g].sR && w.da[g].sR();
        return w
    };
    e.prototype.Nj = function(a) {
        var f, b;
        f = 0;
        for (b = this.na.ma.length; f < b; f++) {
            var e = this.na.ma[f];
            if (vf(e.name, a)) return e
        }
        return null
    };
    e.prototype.hf = function(a) {
        a = Xd(a);
        0 > a && (a = 0);
        a >= this.na.ma.length && (a = this.na.ma.length - 1);
        return this.na.ma[a]
    };
    e.prototype.sp = function(a) {
        var f, b;
        f = 0;
        for (b = a.length; f < b; f++) a[f].xa().Na = !0
    };
    e.prototype.Jk = function(a) {
        var f, b;
        f = 0;
        for (b = a.length; f < b; f++) a[f].Jk()
    };
    e.prototype.Gn = function(a) {
        var f, b;
        f = 0;
        for (b = a.length; f < b; f++) a[f].Gn()
    };
    e.prototype.xh = function(a) {
        var f, b;
        f = 0;
        for (b = a.length; f < b; f++) a[f].xh()
    };
    e.prototype.xS = function(a) {
        if (a.Bl) {
            var f, b, e = a.n;
            f = 0;
            for (b = e.length; f < b; ++f) e[f].Hs();
            e = this.ge;
            f = 0;
            for (b = e.length; f < b; ++f) e[f].type === a && e[f].Hs();
            a.Bl = !1
        }
    };
    e.prototype.jq = function(a, f, b, e) {
        var n, l, g = a ? 1 !== a.Tc || 1 !== a.Uc : !1;
        if (f.W)
            for (a = 0, n = f.Bi.length; a < n; ++a) l = f.Bi[a], g || l.Cl ? re(e, l.n) : (this.xS(l), l.Rl.In(b, e));
        else g || f.Cl ? re(e, f.n) : (this.xS(f), f.Rl.In(b, e))
    };
    e.prototype.WP = function(a, f, b, e) {
        var n, l;
        n = 0;
        for (l = f.length; n < l; ++n) this.jq(a, f[n], b, e)
    };
    e.prototype.YY = function(a, f, b) {
        var e = this.iS;
        e && this.WP(a, e.hn, f, b)
    };
    e.prototype.QY = function(a, f, b) {
        var e = this.nQ;
        e && this.WP(a, e.hn, f, b)
    };
    e.prototype.$i = function(a, f, b, e) {
        var n = a.xa(),
            l, g, u, A, p = this.Gb().rc.zd,
            z, q, t;
        if (n.Na)
            for (e || (n.Na = !1, pe(n.n)), l = 0, A = a.n.length; l < A; l++)
                if (u = a.n[l], u.X(), z = u.G.Rb(f, b, !0), q = u.G.Rb(f, b, !1), u.Fc(z, q)) {
                    if (e) return !1;
                    n.n.push(u)
                } else p && n.qa.push(u);
        else {
            g = 0;
            t = p ? n.qa : n.n;
            l = 0;
            for (A = t.length; l < A; l++)
                if (u = t[l], u.X(), z = u.G.Rb(f, b, !0), q = u.G.Rb(f, b, !1), u.Fc(z, q)) {
                    if (e) return !1;
                    p ? n.n.push(u) : (n.n[g] = n.n[l], g++)
                }
            e || (t.length = g)
        }
        a.ae();
        return e ? !0 : n.yq()
    };
    e.prototype.Dc = function(a, f) {
        if (!(a && f && a !== f && a.Xe && f.Xe)) return !1;
        a.X();
        f.X();
        var b = a.G,
            e = f.G,
            n, l, g, u, A, p, z, q;
        if (b === e || b.Tc === e.Tc && e.Uc === e.Uc && b.scale === e.scale && b.C === e.C && b.Ec === e.Ec) {
            if (!a.T.sZ(f.T) || !a.Za.eQ(f.Za) || a.Pe && f.Pe) return !1;
            if (a.Pe) return this.mS(a, f);
            if (f.Pe) return this.mS(f, a);
            z = a.wa && !a.wa.fh();
            n = f.wa && !f.wa.fh();
            if (!z && !n) return !0;
            z ? (a.wa.Lg(a.width, a.height, a.C), z = a.wa) : (this.me.Ui(a.Za, a.x, a.y, a.width, a.height), z = this.me);
            n ? (f.wa.Lg(f.width, f.height, f.C), q = f.wa) : (this.me.Ui(f.Za, f.x, f.y, f.width, f.height), q = this.me);
            return z.Vj(q, f.x - a.x, f.y - a.y)
        }
        z = a.wa && !a.wa.fh();
        n = f.wa && !f.wa.fh();
        z ? (a.wa.Lg(a.width, a.height, a.C), this.me.TR(a.wa)) : this.me.Ui(a.Za, a.x, a.y, a.width, a.height);
        z = this.me;
        n ? (f.wa.Lg(f.width, f.height, f.C), this.ts.TR(f.wa)) : this.ts.Ui(f.Za, f.x, f.y, f.width, f.height);
        q = this.ts;
        n = 0;
        for (l = z.Bd; n < l; n++) g = 2 * n, u = g + 1, A = z.Ab[g], p = z.Ab[u], z.Ab[g] = b.Jc(A + a.x, p + a.y, !0), z.Ab[u] = b.Jc(A + a.x, p + a.y, !1);
        z.X();
        n = 0;
        for (l = q.Bd; n < l; n++) g = 2 * n, u = g + 1, A = q.Ab[g], p = q.Ab[u], q.Ab[g] = e.Jc(A + f.x, p + f.y, !0), q.Ab[u] = e.Jc(A + f.x, p + f.y, !1);
        q.X();
        return z.Vj(q, 0, 0)
    };
    var ta = new ce;
    new be(0, 0, 0, 0);
    var Ya = [];
    e.prototype.mS = function(a, f) {
        var b, e, n, l, g = f.T,
            u = a.x,
            A = a.y;
        a.A2(g, Ya);
        var p = f.wa && !f.wa.fh();
        b = 0;
        for (e = Ya.length; b < e; ++b)
            if (n = Ya[b], l = n.q_, g.tZ(l, u, A) && (ta.Vi(l), ta.offset(u, A), ta.eQ(f.Za)))
                if (p)
                    if (f.wa.Lg(f.width, f.height, f.C), n.Ie) {
                        if (n.Ie.Vj(f.wa, f.x - (u + l.left), f.y - (A + l.top))) return pe(Ya), !0
                    } else {
                        if (this.me.Ui(ta, 0, 0, l.right - l.left, l.bottom - l.top), this.me.Vj(f.wa, f.x, f.y)) return pe(Ya), !0
                    }
        else if (n.Ie) {
            if (this.me.Ui(f.Za, 0, 0, f.width, f.height), n.Ie.Vj(this.me, -(u + l.left), -(A + l.top))) return pe(Ya), !0
        } else return pe(Ya), !0;
        pe(Ya);
        return !1
    };
    e.prototype.zs = function(a, f) {
        if (!f) return !1;
        var b, e, n, l, g;
        b = 0;
        for (e = a.nb.length; b < e; b++)
            if (a.nb[b].behavior instanceof f) return !0;
        if (!a.W)
            for (b = 0, e = a.jb.length; b < e; b++)
                for (g = a.jb[b], n = 0, l = g.nb.length; n < l; n++)
                    if (g.nb[n].behavior instanceof f) return !0;
        return !1
    };
    e.prototype.As = function(a) {
        return this.zs(a, Kg.Y0)
    };
    e.prototype.Bs = function(a) {
        return this.zs(a, Kg.$0)
    };
    var cb = [];
    e.prototype.Lb = function(a) {
        var f, b, e;
        a.X();
        this.YY(a.G, a.T, cb);
        f = 0;
        for (b = cb.length; f < b; ++f)
            if (e = cb[f], e.J.solidEnabled && this.Dc(a, e)) return pe(cb), e;
        pe(cb);
        return null
    };
    var fb = [];
    e.prototype.Ef = function(a, f) {
        var b = null;
        f && (b = fb, pe(b));
        a.X();
        this.QY(a.G, a.T, cb);
        var e, n, l;
        e = 0;
        for (n = cb.length; e < n; ++e)
            if (l = cb[e], l.J.jumpthruEnabled && this.Dc(a, l))
                if (f) b.push(l);
                else return pe(cb), l;
        pe(cb);
        return b
    };
    e.prototype.Sd = function(a, f, b, e, n, l) {
        e = e || 50;
        var g = a.x,
            u = a.y,
            A, p = null,
            z = null;
        for (A = 0; A < e; A++)
            if (a.x = g + f * A, a.y = u + b * A, a.H(), !this.Dc(a, p) && ((p = this.Lb(a)) && (z = p), !p && (n && (l ? p = this.Dc(a, l) ? l : null : p = this.Ef(a), p && (z = p)), !p))) return z && this.Rr(a, f, b, z), !0;
        a.x = g;
        a.y = u;
        a.H();
        return !1
    };
    e.prototype.Rr = function(a, f, b, e) {
        var n = 2,
            l, g = !1;
        l = !1;
        for (var u = a.x, A = a.y; 16 >= n;) l = 1 / n, n *= 2, a.x += f * l * (g ? 1 : -1), a.y += b * l * (g ? 1 : -1), a.H(), this.Dc(a, e) ? l = g = !0 : (l = g = !1, u = a.x, A = a.y);
        l && (a.x = u, a.y = A, a.H())
    };
    e.prototype.xR = function(a, f) {
        var b = Xc(f) ? 100 : f,
            e = 0,
            n = a.x,
            l = a.y,
            g = 0,
            u = 0,
            A = 0,
            p = this.Lb(a);
        if (!p) return !0;
        for (; e <= b;) {
            switch (g) {
                case 0:
                    u = 0;
                    A = -1;
                    e++;
                    break;
                case 1:
                    u = 1;
                    A = -1;
                    break;
                case 2:
                    u = 1;
                    A = 0;
                    break;
                case 3:
                    A = u = 1;
                    break;
                case 4:
                    u = 0;
                    A = 1;
                    break;
                case 5:
                    u = -1;
                    A = 1;
                    break;
                case 6:
                    u = -1;
                    A = 0;
                    break;
                case 7:
                    A = u = -1
            }
            g = (g + 1) % 8;
            a.x = Xd(n + u * e);
            a.y = Xd(l + A * e);
            a.H();
            if (!this.Dc(a, p) && (p = this.Lb(a), !p)) return !0
        }
        a.x = n;
        a.y = l;
        a.H();
        return !1
    };
    e.prototype.zh = function(a, f) {
        a.Xe && f.Xe && this.Ok.push([a, f])
    };
    e.prototype.VW = function(a, f) {
        var b, e, n;
        b = 0;
        for (e = this.Ok.length; b < e; b++)
            if (n = this.Ok[b], n[0] == a && n[1] == f || n[0] == f && n[1] == a) return !0;
        return !1
    };
    e.prototype.RW = function(a, f, b) {
        var e = a.x,
            n = a.y,
            l = Td(10, Qe(f, b, e, n)),
            g = Ie(f, b, e, n),
            u = this.Lb(a);
        if (!u) return Ee(g + Vd);
        var A = u,
            p, z, q, t, w = xe(5);
        for (p = 1; 36 > p; p++)
            if (z = g - p * w, a.x = f + Math.cos(z) * l, a.y = b + Math.sin(z) * l, a.H(), !this.Dc(a, A) && (A = this.Lb(a), !A)) {
                q = z;
                break
            }
        36 === p && (q = Ee(g + Vd));
        A = u;
        for (p = 1; 36 > p; p++)
            if (z = g + p * w, a.x = f + Math.cos(z) * l, a.y = b + Math.sin(z) * l, a.H(), !this.Dc(a, A) && (A = this.Lb(a), !A)) {
                t = z;
                break
            }
        36 === p && (t = Ee(g + Vd));
        a.x = e;
        a.y = n;
        a.H();
        if (t === q) return t;
        a = Je(t, q) / 2;
        a = Oe(t, q) ? Ee(q + a + Vd) : Ee(t + a);
        q = Math.cos(g);
        g = Math.sin(g);
        t = Math.cos(a);
        a = Math.sin(a);
        f = q * t + g * a;
        return Ie(0, 0, q - 2 * f * t, g - 2 * f * a)
    };
    var gb = -1;
    e.prototype.trigger = function(a, f, b) {
        if (!this.na) return !1;
        var e = this.na.Tg;
        if (!e) return !1;
        var n = !1,
            l, g, u;
        gb++;
        var A = e.Ap;
        g = 0;
        for (u = A.length; g < u; ++g) l = this.rS(a, f, A[g], b), n = n || l;
        l = this.rS(a, f, e, b);
        gb--;
        return n || l
    };
    e.prototype.rS = function(a, f, b, e) {
        var n = !1,
            l, g, u, A;
        if (f)
            for (u = this.xs(a, f, f.type.name, b, e), n = n || u, A = f.type.jb, l = 0, g = A.length; l < g; ++l) u = this.xs(a, f, A[l].name, b, e), n = n || u;
        else u = this.xs(a, f, "system", b, e), n = n || u;
        return n
    };
    e.prototype.xs = function(a, f, b, e, n) {
        var l, g = !1,
            u = !1,
            u = "undefined" !== typeof n,
            A = (u ? e.IP : e.sS)[b];
        if (!A) return g;
        var p = null;
        e = 0;
        for (l = A.length; e < l; ++e)
            if (A[e].method == a) {
                p = A[e].Jj;
                break
            }
        if (!p) return g;
        var z;
        u ? z = p[n] : z = p;
        if (!z) return null;
        e = 0;
        for (l = z.length; e < l; e++) a = z[e][0], n = z[e][1], u = this.BY(f, b, a, n), g = g || u;
        return g
    };
    e.prototype.BY = function(a, f, b, e) {
        var n, l, g = !1;
        this.ys++;
        var u = this.Gb().rc;
        u && this.Jk(u.Bg);
        var A = 1 < this.ys;
        this.Jk(b.Bg);
        A && this.o_();
        var p = this.Hn(b);
        p.rc = b;
        a && (n = this.types[f].xa(), n.Na = !1, pe(n.n), n.n[0] = a, this.types[f].ae());
        a = !0;
        if (b.parent) {
            f = p.lS;
            for (n = b.parent; n;) f.push(n), n = n.parent;
            f.reverse();
            n = 0;
            for (l = f.length; n < l; n++)
                if (!f[n].D_()) {
                    a = !1;
                    break
                }
        }
        a && (this.Vg++, b.zd ? b.C_(e) : b.Bb(), g = g || p.kh);
        this.Cn();
        A && this.h_();
        this.xh(b.Bg);
        u && this.xh(u.Bg);
        this.jg && 0 === this.xd && 0 === gb && !this.Nq && this.pc();
        this.ys--;
        return g
    };
    e.prototype.ai = function() {
        var a = this.Gb();
        return a.rc.cc[a.Sb]
    };
    e.prototype.wZ = function() {
        return 0 === this.Gb().Sb
    };
    e.prototype.MY = function() {
        var a = this.Gb();
        return a.rc.Fd[a.Rc]
    };
    e.prototype.o_ = function() {
        this.$m++;
        this.$m >= this.nr.length && this.nr.push([])
    };
    e.prototype.h_ = function() {
        this.$m--
    };
    e.prototype.RP = function() {
        return this.nr[this.$m]
    };
    e.prototype.Hn = function(a) {
        this.jm++;
        this.jm >= this.Wp.length && this.Wp.push(new ng);
        var f = this.Gb();
        f.reset(a);
        return f
    };
    e.prototype.Cn = function() {
        this.jm--
    };
    e.prototype.Gb = function() {
        return this.Wp[this.jm]
    };
    e.prototype.SP = function(a, f) {
        for (var b, e, n, l, g, u; f;) {
            b = 0;
            for (e = f.Vd.length; b < e; b++)
                if (u = f.Vd[b], u instanceof og && vf(a, u.name)) return u;
            f = f.parent
        }
        b = 0;
        for (e = this.df.length; b < e; b++)
            for (g = this.df[b], n = 0, l = g.eg.length; n < l; n++)
                if (u = g.eg[n], u instanceof og && vf(a, u.name)) return u;
        return null
    };
    e.prototype.UP = function(a) {
        var f, b;
        f = 0;
        for (b = this.je.length; f < b; f++)
            if (this.je[f].Aa === a) return this.je[f];
        return null
    };
    e.prototype.zm = function(a) {
        var f, b;
        f = 0;
        for (b = this.L.length; f < b; f++)
            if (this.L[f].Aa === a) return this.L[f];
        return null
    };
    e.prototype.NY = function(a) {
        var f, b;
        f = 0;
        for (b = this.Uf.length; f < b; f++)
            if (this.Uf[f].Aa === a) return this.Uf[f];
        return null
    };
    e.prototype.dX = function(a, f) {
        this.Zk = [a, f];
        this.Qa = !0
    };
    e.prototype.mZ = function() {
        var a = this,
            f = this.ds,
            e = this.nf,
            n = this.Wm,
            g = !1;
        this.eS && (g = !0, f = "__c2_continuouspreview", this.eS = !1);
        if (f.length) {
            this.pc();
            e = this.H_();
            if (b() && !this.wd) p(f, e, function() {
                Rb("Saved state to IndexedDB storage (" +
                    e.length + " bytes)");
                a.nf = e;
                a.trigger(Tg.prototype.u.To, null);
                a.nf = "";
                g && l()
            }, function(b) {
                try {
                    localStorage.setItem("__c2save_" + f, e), Rb("Saved state to WebStorage (" + e.length + " bytes)"), a.nf = e, a.trigger(Tg.prototype.u.To, null), a.nf = "", g && l()
                } catch (n) {
                    Rb("Failed to save game state: " + b + "; " + n), a.trigger(Tg.prototype.u.ot, null)
                }
            });
            else try {
                localStorage.setItem("__c2save_" + f, e), Rb("Saved state to WebStorage (" + e.length + " bytes)"), a.nf = e, this.trigger(Tg.prototype.u.To, null), a.nf = "", g && l()
            } catch (u) {
                Rb("Error saving to WebStorage: " +
                    u), a.trigger(Tg.prototype.u.ot, null)
            }
            this.Wm = this.ds = "";
            this.Yb = null
        }
        if (n.length) {
            if (b() && !this.wd) t(n, function(f) {
                f ? (a.Yb = f, Rb("Loaded state from IndexedDB storage (" + a.Yb.length + " bytes)")) : (a.Yb = localStorage.getItem("__c2save_" + n) || "", Rb("Loaded state from WebStorage (" + a.Yb.length + " bytes)"));
                a.bl = !1;
                a.Yb || (a.Yb = null, a.trigger(Tg.prototype.u.xl, null))
            }, function() {
                a.Yb = localStorage.getItem("__c2save_" + n) || "";
                Rb("Loaded state from WebStorage (" + a.Yb.length + " bytes)");
                a.bl = !1;
                a.Yb || (a.Yb = null, a.trigger(Tg.prototype.u.xl, null))
            });
            else {
                try {
                    this.Yb = localStorage.getItem("__c2save_" + n) || "", Rb("Loaded state from WebStorage (" + this.Yb.length + " bytes)")
                } catch (A) {
                    this.Yb = null
                }
                this.bl = !1;
                a.Yb || (a.Yb = null, a.trigger(Tg.prototype.u.xl, null))
            }
            this.ds = this.Wm = ""
        }
        null !== this.Yb && (this.pc(), this.NZ(this.Yb) ? (this.nf = this.Yb, this.trigger(Tg.prototype.u.ZT, null), this.nf = "") : a.trigger(Tg.prototype.u.xl, null), this.Yb = null)
    };
    e.prototype.H_ = function() {
        var f, b, e, n, l, g, u, A = {
            c2save: !0,
            version: 1,
            rt: {
                time: this.Vb.za,
                walltime: this.If.za,
                timescale: this.Qe,
                tickcount: this.Oe,
                execcount: this.Vg,
                next_uid: this.xk,
                running_layout: this.na.Aa,
                start_time_offset: Date.now() - this.ho
            },
            types: {},
            layouts: {},
            events: {
                groups: {},
                cnds: {},
                acts: {},
                vars: {}
            }
        };
        f = 0;
        for (b = this.L.length; f < b; f++)
            if (l = this.L[f], !l.W && !this.As(l)) {
                g = {
                    instances: []
                };
                Ve(l.J) && (g.ex = a(l.J));
                e = 0;
                for (n = l.n.length; e < n; e++) g.instances.push(this.cs(l.n[e]));
                A.types[l.Aa.toString()] = g
            }
        f = 0;
        for (b = this.je.length; f < b; f++) e = this.je[f], A.layouts[e.Aa.toString()] = e.lb();
        n = A.events.groups;
        f = 0;
        for (b = this.Uf.length; f < b; f++) e = this.Uf[f], n[e.Aa.toString()] = this.Rj[e.Qj].ci;
        b = A.events.cnds;
        for (u in this.Zf) this.Zf.hasOwnProperty(u) && (f = this.Zf[u], Ve(f.J) && (b[u] = {
            ex: a(f.J)
        }));
        b = A.events.acts;
        for (u in this.Sf) this.Sf.hasOwnProperty(u) && (f = this.Sf[u], Ve(f.J) && (b[u] = {
            ex: a(f.J)
        }));
        b = A.events.vars;
        for (u in this.hj) this.hj.hasOwnProperty(u) && (f = this.hj[u], f.Pm || f.parent && !f.dk || (b[u] = f.data));
        A.system = this.Ne.lb();
        return JSON.stringify(A)
    };
    e.prototype.BR = function() {
        var a, f, b, e, n, l;
        this.sf = {};
        a = 0;
        for (f = this.L.length; a < f; a++)
            if (b = this.L[a], !b.W)
                for (e = 0, n = b.n.length; e < n; e++) l = b.n[e], this.sf[l.uid.toString()] = l
    };
    e.prototype.NZ = function(a) {
        var f;
        try {
            f = JSON.parse(a)
        } catch (b) {
            return !1
        }
        if (!f.c2save || 1 < f.version) return !1;
        this.Xj = !0;
        a = f.rt;
        this.Vb.reset();
        this.Vb.za = a.time;
        this.If.reset();
        this.If.za = a.walltime || 0;
        this.Qe = a.timescale;
        this.Oe = a.tickcount;
        this.Vg = a.execcount;
        this.ho = Date.now() - a.start_time_offset;
        var e = a.running_layout;
        if (e !== this.na.Aa)
            if (e = this.UP(e)) this.EP(e);
            else return;
        var n, l, g, u, A, p, z;
        p = f.types;
        for (l in p)
            if (p.hasOwnProperty(l) && (u = this.zm(parseInt(l, 10))) && !u.W && !this.As(u)) {
                p[l].ex ? u.J = p[l].ex : $e(u.J);
                A = u.n;
                g = p[l].instances;
                e = 0;
                for (n = Ud(A.length, g.length); e < n; e++) this.Xm(A[e], g[e]);
                e = g.length;
                for (n = A.length; e < n; e++) this.Of(A[e]);
                e = A.length;
                for (n = g.length; e < n; e++) {
                    A = null;
                    if (u.Pa.mg && (A = this.na.ym(g[e].w.l), !A)) continue;
                    A = this.ag(u.Kd, A, !1, 0, 0, !0);
                    this.Xm(A, g[e])
                }
                u.Zi = !0
            }
        this.pc();
        this.BR();
        n = f.layouts;
        for (l in n) n.hasOwnProperty(l) && (e = this.UP(parseInt(l, 10))) && e.yb(n[l]);
        n = f.events.groups;
        for (l in n) n.hasOwnProperty(l) && (e = this.NY(parseInt(l, 10))) && this.Rj[e.Qj] && this.Rj[e.Qj].JR(n[l]);
        e = f.events.cnds;
        for (l in this.Zf) this.Zf.hasOwnProperty(l) && (e.hasOwnProperty(l) ? this.Zf[l].J = e[l].ex : this.Zf[l].J = {});
        e = f.events.acts;
        for (l in this.Sf) this.Sf.hasOwnProperty(l) && (e.hasOwnProperty(l) ? this.Sf[l].J = e[l].ex : this.Sf[l].J = {});
        e = f.events.vars;
        for (l in e) e.hasOwnProperty(l) && this.hj.hasOwnProperty(l) && (this.hj[l].data = e[l]);
        this.xk = a.next_uid;
        this.Xj = !1;
        e = 0;
        for (n = this.nm.length; e < n; ++e) A = this.nm[e], this.trigger(Object.getPrototypeOf(A.type.Pa).u.Dg, A);
        pe(this.nm);
        this.Ne.yb(f.system);
        e = 0;
        for (n = this.L.length; e < n; e++)
            if (u = this.L[e], !u.W && !this.As(u))
                for (f = 0, l = u.n.length; f < l; f++) {
                    A = u.n[f];
                    if (u.yc)
                        for (p = A.Pj(), pe(A.siblings), a = 0, g = u.fd.length; a < g; a++) z = u.fd[a], u !== z && A.siblings.push(z.n[p]);
                    A.Gd && A.Gd();
                    if (A.da)
                        for (a = 0, g = A.da.length; a < g; a++) p = A.da[a], p.Gd && p.Gd()
                }
        return this.Qa = !0
    };
    e.prototype.cs = function(f, b) {
        var e, n, l, g, u;
        g = f.type;
        l = g.Pa;
        var A = {};
        b ? A.c2 = !0 : A.uid = f.uid;
        Ve(f.J) && (A.ex = a(f.J));
        if (f.Ub && f.Ub.length)
            for (A.ivs = {}, e = 0, n = f.Ub.length; e < n; e++) A.ivs[f.type.Iq[e].toString()] = f.Ub[e];
        if (l.mg) {
            l = {
                x: f.x,
                y: f.y,
                w: f.width,
                h: f.height,
                l: f.G.Aa,
                zi: f.Ce()
            };
            0 !== f.C && (l.a = f.C);
            1 !== f.opacity && (l.o = f.opacity);
            .5 !== f.Hc && (l.hX = f.Hc);
            .5 !== f.Ic && (l.hY = f.Ic);
            0 !== f.qc && (l.bm = f.qc);
            f.visible || (l.v = f.visible);
            f.Xe || (l.ce = f.Xe); - 1 !== f.wk && (l.mts = f.wk);
            if (g.ja.length)
                for (l.fx = [], e = 0, n = g.ja.length; e < n; e++) u = g.ja[e], l.fx.push({
                    name: u.name,
                    active: f.Rf[u.index],
                    params: f.ob[u.index]
                });
            A.w = l
        }
        if (f.da && f.da.length)
            for (A.behs = {}, e = 0, n = f.da.length; e < n; e++) g = f.da[e], g.lb && (A.behs[g.type.Aa.toString()] = g.lb());
        f.lb && (A.data = f.lb());
        return A
    };
    e.prototype.PY = function(a, f) {
        var b, e;
        b = 0;
        for (e = a.Iq.length; b < e; b++)
            if (a.Iq[b] === f) return b;
        return -1
    };
    e.prototype.KY = function(a, f) {
        var b, e;
        b = 0;
        for (e = a.da.length; b < e; b++)
            if (a.da[b].type.Aa === f) return b;
        return -1
    };
    e.prototype.Xm = function(a, f, b) {
        var e, n, l, g, u;
        u = a.type;
        g = u.Pa;
        if (b) {
            if (!f.c2) return
        } else a.uid = f.uid;
        f.ex ? a.J = f.ex : $e(a.J);
        if (n = f.ivs)
            for (e in n) n.hasOwnProperty(e) && (l = this.PY(u, parseInt(e, 10)), 0 > l || l >= a.Ub.length || (a.Ub[l] = n[e]));
        if (g.mg) {
            l = f.w;
            a.G.Aa !== l.l && (n = a.G, a.G = this.na.ym(l.l), a.G ? (n.Qi(a, !0), a.G.zj(a, !0), a.H(), a.G.Uk(0)) : (a.G = n, b || this.Of(a)));
            a.x = l.x;
            a.y = l.y;
            a.width = l.w;
            a.height = l.h;
            a.te = l.zi;
            a.C = l.hasOwnProperty("a") ? l.a : 0;
            a.opacity = l.hasOwnProperty("o") ? l.o : 1;
            a.Hc = l.hasOwnProperty("hX") ? l.hX : .5;
            a.Ic = l.hasOwnProperty("hY") ? l.hY : .5;
            a.visible = l.hasOwnProperty("v") ? l.v : !0;
            a.Xe = l.hasOwnProperty("ce") ? l.ce : !0;
            a.wk = l.hasOwnProperty("mts") ? l.mts : -1;
            a.qc = l.hasOwnProperty("bm") ? l.bm : 0;
            a.Dj = qf(a.qc);
            this.R && tf(a, a.qc, this.R);
            a.H();
            if (l.hasOwnProperty("fx"))
                for (b = 0, n = l.fx.length; b < n; b++) g = u.lq(l.fx[b].name), 0 > g || (a.Rf[g] = l.fx[b].active, a.ob[g] = l.fx[b].params);
            a.oe()
        }
        if (u = f.behs)
            for (e in u) u.hasOwnProperty(e) && (b = this.KY(a, parseInt(e, 10)), 0 > b || a.da[b].yb(u[e]));
        f.data && a.yb(f.data)
    };
    e.prototype.JP = function(a, f, b) {
        window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/" + a, function(a) {
            a.file(f, b)
        }, b)
    };
    e.prototype.DY = function(a, f) {
        this.JP("data.js", function(b) {
            var e = new FileReader;
            e.onload = function(f) {
                a(f.target.result)
            };
            e.onerror = f;
            e.readAsText(b)
        }, f)
    };
    var ja = [],
        Ea = 0;
    e.prototype.rr = function() {
        if (ja.length && !(8 <= Ea)) {
            Ea++;
            var a = ja.shift();
            this.jX(a.filename, a.Y_, a.YX)
        }
    };
    e.prototype.KP = function(a, f, b) {
        var e = this;
        ja.push({
            filename: a,
            Y_: function(a) {
                Ea--;
                e.rr();
                f(a)
            },
            YX: function(a) {
                Ea--;
                e.rr();
                b(a)
            }
        });
        this.rr()
    };
    e.prototype.jX = function(a, f, b) {
        this.JP(a, function(a) {
            var b = new FileReader;
            b.onload = function(a) {
                f(a.target.result)
            };
            b.readAsArrayBuffer(a)
        }, b)
    };
    e.prototype.EY = function(a, f, b) {
        var e = "",
            n = a.toLowerCase(),
            l = n.substr(n.length - 4),
            n = n.substr(n.length - 5);
        ".mp4" === l ? e = "video/mp4" : ".webm" === n ? e = "video/webm" : ".m4a" === l ? e = "audio/mp4" : ".mp3" === l && (e = "audio/mpeg");
        this.KP(a, function(a) {
            a = URL.createObjectURL(new Blob([a], {
                type: e
            }));
            f(a)
        }, b)
    };
    e.prototype.uZ = function(a) {
        return /^(?:[a-z]+:)?\/\//.test(a) || "data:" === a.substr(0, 5) || "blob:" === a.substr(0, 5)
    };
    e.prototype.KR = function(a, f) {
        this.Om && !this.uZ(f) ? this.EY(f, function(f) {
            a.src = f
        }, function(a) {
            alert("Failed to load image: " + a)
        }) : a.src = f
    };
    e.prototype.Rn = function(a, f) {
        "undefined" !== typeof a.imageSmoothingEnabled ? a.imageSmoothingEnabled = f : (a.webkitImageSmoothingEnabled = f, a.mozImageSmoothingEnabled = f, a.msImageSmoothingEnabled = f)
    };
    pg = function(a) {
        return new e(document.getElementById(a))
    };
    qg = function(a, f) {
        return new e({
            dc: !0,
            width: a,
            height: f
        })
    };
    window.cr_createRuntime = pg;
    window.cr_createDCRuntime = qg;
    window.createCocoonJSRuntime = function() {
        window.c2cocoonjs = !0;
        var a = document.createElement("screencanvas") || document.createElement("canvas");
        a.gb = !0;
        document.body.appendChild(a);
        a = new e(a);
        window.c2runtime = a;
        window.addEventListener("orientationchange", function() {
            window.c2runtime.setSize(window.innerWidth, window.innerHeight)
        });
        window.c2runtime.setSize(window.innerWidth, window.innerHeight);
        return a
    };
    window.createEjectaRuntime = function() {
        var a = new e(document.getElementById("canvas"));
        window.c2runtime = a;
        window.c2runtime.setSize(window.innerWidth, window.innerHeight);
        return a
    }
})();
window.cr_getC2Runtime = function() {
    var e = document.getElementById("c2canvas");
    return e ? e.c2runtime : window.c2runtime ? window.c2runtime : null
};
window.cr_getSnapshot = function(e, g) {
    var b = window.cr_getC2Runtime();
    b && b.dX(e, g)
};
window.cr_sizeCanvas = function(e, g) {
    if (0 !== e && 0 !== g) {
        var b = window.cr_getC2Runtime();
        b && b.setSize(e, g)
    }
};
window.cr_setSuspended = function(e) {
    var g = window.cr_getC2Runtime();
    g && g.setSuspended(e)
};
(function() {
    function e(a, b) {
        this.c = a;
        this.Tg = null;
        this.scrollX = this.c.Wa / 2;
        this.scrollY = this.c.Va / 2;
        this.scale = 1;
        this.C = 0;
        this.$h = !0;
        this.name = b[0];
        this.d_ = b[1];
        this.c_ = b[2];
        this.width = b[1];
        this.height = b[2];
        this.uS = b[3];
        this.cS = b[4];
        this.Aa = b[5];
        var e = b[6],
            l, g;
        this.ma = [];
        this.Uj = [];
        l = 0;
        for (g = e.length; l < g; l++) {
            var p = new rg(this, e[l]);
            p.VQ = l;
            this.ma.push(p)
        }
        e = b[7];
        this.kg = [];
        l = 0;
        for (g = e.length; l < g; l++) {
            var p = e[l],
                q = this.c.L[p[1]];
            q.Kd || (q.Kd = p);
            this.kg.push(p); - 1 === this.Uj.indexOf(q) && this.Uj.push(q)
        }
        this.ja = [];
        this.Oa = [];
        this.Bf = !0;
        this.ob = [];
        l = 0;
        for (g = b[8].length; l < g; l++) this.ja.push({
            id: b[8][l][0],
            name: b[8][l][1],
            Kb: -1,
            ke: !1,
            Ua: !0,
            index: l
        }), this.ob.push(b[8][l][2].slice(0));
        this.oe();
        this.Mk = new be(0, 0, 1, 1);
        this.Tr = new be(0, 0, 1, 1);
        this.wg = {}
    }

    function g(a, b) {
        return a.te - b.te
    }

    function b(a, b) {
        this.Xb = a;
        this.c = a.c;
        this.n = [];
        this.scale = 1;
        this.C = 0;
        this.bf = !1;
        this.Ff = new be(0, 0, 0, 0);
        this.pS = new ce;
        this.Ba = this.Ea = this.Da = this.Ca = 0;
        this.Jh = !1;
        this.Nf = -1;
        this.tp = 0;
        this.name = b[0];
        this.index = b[1];
        this.Aa = b[2];
        this.visible = b[3];
        this.ee = b[4];
        this.ne = b[5];
        this.Tc = b[6];
        this.Uc = b[7];
        this.opacity = b[8];
        this.um = b[9];
        this.Dd = b[10];
        this.Ec = b[11];
        this.qc = b[12];
        this.UX = b[13];
        this.Dj = "source-over";
        this.tc = this.Bc = 0;
        this.oc = null;
        this.of = q();
        this.le = !0;
        this.ti = new be(0, 0, -1, -1);
        this.ic = new be(0, 0, -1, -1);
        this.Dd && (this.oc = new pf(this.c.Wa, this.c.Va));
        this.Ke = !1;
        var e = b[14],
            l, g;
        this.jS = [];
        this.vd = [];
        this.Fj = [];
        l = 0;
        for (g = e.length; l < g; l++) {
            var p = e[l],
                t = this.c.L[p[1]];
            t.Kd || (t.Kd = p, t.bX = this.index);
            this.vd.push(p); - 1 === this.Xb.Uj.indexOf(t) && this.Xb.Uj.push(t)
        }
        qe(this.jS, this.vd);
        this.ja = [];
        this.Oa = [];
        this.Bf = !0;
        this.ob = [];
        l = 0;
        for (g = b[15].length; l < g; l++) this.ja.push({
            id: b[15][l][0],
            name: b[15][l][1],
            Kb: -1,
            ke: !1,
            Ua: !0,
            index: l
        }), this.ob.push(b[15][l][2].slice(0));
        this.oe();
        this.Mk = new be(0, 0, 1, 1);
        this.Tr = new be(0, 0, 1, 1)
    }

    function q() {
        return a.length ? a.pop() : []
    }

    function p(f) {
        pe(f);
        a.push(f)
    }
    e.prototype.G_ = function(a) {
        var b = a.type.Aa.toString();
        this.wg.hasOwnProperty(b) || (this.wg[b] = []);
        this.wg[b].push(this.c.cs(a))
    };
    e.prototype.XP = function() {
        var a = this.ma[0];
        return !a.ne && 1 === a.opacity && !a.um && a.visible
    };
    e.prototype.oe = function() {
        pe(this.Oa);
        this.Bf = !0;
        var a, b, e;
        a = 0;
        for (b = this.ja.length; a < b; a++) e = this.ja[a], e.Ua && (this.Oa.push(e), e.ke || (this.Bf = !1))
    };
    e.prototype.kq = function(a) {
        var b, e, l;
        b = 0;
        for (e = this.ja.length; b < e; b++)
            if (l = this.ja[b], l.name === a) return l;
        return null
    };
    var t = [],
        l = !0;
    e.prototype.qs = function() {
        this.cS && (this.Tg = this.c.Xp[this.cS], this.Tg.Cs());
        this.c.na = this;
        this.width = this.d_;
        this.height = this.c_;
        this.scrollX = this.c.Wa / 2;
        this.scrollY = this.c.Va / 2;
        var a, b, e, u, p, q, w;
        a = 0;
        for (e = this.c.L.length; a < e; a++)
            if (b = this.c.L[a], !b.W)
                for (p = b.n, b = 0, u = p.length; b < u; b++)
                    if (q = p[b], q.G) {
                        var A = q.G.VQ;
                        A >= this.ma.length && (A = this.ma.length - 1);
                        q.G = this.ma[A]; - 1 === q.G.n.indexOf(q) && q.G.n.push(q);
                        q.G.Jh = !0
                    }
        if (!l)
            for (a = 0, e = this.ma.length; a < e; ++a) this.ma[a].n.sort(g);
        pe(t);
        this.nP();
        a = 0;
        for (e = this.ma.length; a < e; a++) q = this.ma[a], q.ZW(), q.zo();
        p = !1;
        if (!this.$h) {
            for (w in this.wg)
                if (this.wg.hasOwnProperty(w) && (b = this.c.zm(parseInt(w, 10))) && !b.W && this.c.Bs(b)) {
                    u = this.wg[w];
                    a = 0;
                    for (e = u.length; a < e; a++) {
                        q = null;
                        if (b.Pa.mg && (q = this.ym(u[a].w.l), !q)) continue;
                        q = this.c.ag(b.Kd, q, !1, 0, 0, !0);
                        this.c.Xm(q, u[a]);
                        p = !0;
                        t.push(q)
                    }
                    pe(u)
                }
            a = 0;
            for (e = this.ma.length; a < e; a++) this.ma[a].n.sort(g), this.ma[a].Jh = !0
        }
        p && (this.c.pc(), this.c.BR());
        for (a = 0; a < t.length; a++)
            if (q = t[a], q.type.yc)
                for (e = q.Pj(), b = 0, u = q.type.fd.length; b < u; b++) w = q.type.fd[b], q.type !== w && (w.n.length > e ? q.siblings.push(w.n[e]) : w.Kd && (p = this.c.ag(w.Kd, q.G, !0, q.x, q.y, !0), this.c.pc(), w.xo(), q.siblings.push(p), t.push(p)));
        a = 0;
        for (e = this.kg.length; a < e; a++) q = this.kg[a], b = this.c.L[q[1]], b.yc || this.c.ag(this.kg[a], null, !0);
        this.c.Mg = null;
        this.c.pc();
        if (this.c.hb && !this.c.cb)
            for (a = 0, e = this.c.L.length; a < e; a++) w = this.c.L[a], !w.W && w.n.length && w.Hk && w.Hk(this.c.hb);
        if (this.c.Xj) qe(this.c.nm, t);
        else
            for (a = 0, e = t.length; a < e; a++) q = t[a], this.c.trigger(Object.getPrototypeOf(q.type.Pa).u.Dg, q);
        pe(t);
        this.c.Xj || this.c.trigger(Tg.prototype.u.ht, null);
        this.$h = !1
    };
    e.prototype.YW = function() {
        var a, b, e, l, g;
        b = a = 0;
        for (e = this.kg.length; a < e; a++) l = this.kg[a], g = this.c.L[l[1]], g.global ? g.yc || this.c.ag(l, null, !0) : (this.kg[b] = l, b++);
        oe(this.kg, b)
    };
    e.prototype.V_ = function() {
        this.c.Xj || this.c.trigger(Tg.prototype.u.YT, null);
        this.c.Kq = !0;
        pe(this.c.Ne.cd);
        var a, b, e, g, p, q;
        if (!this.$h)
            for (a = 0, b = this.ma.length; a < b; a++)
                for (this.ma[a].Fs(), p = this.ma[a].n, e = 0, g = p.length; e < g; e++) q = p[e], q.type.global || this.c.Bs(q.type) && this.G_(q);
        a = 0;
        for (b = this.ma.length; a < b; a++) {
            p = this.ma[a].n;
            e = 0;
            for (g = p.length; e < g; e++) q = p[e], q.type.global || this.c.Of(q);
            this.c.pc();
            pe(p);
            this.ma[a].Jh = !0
        }
        a = 0;
        for (b = this.c.L.length; a < b; a++)
            if (p = this.c.L[a], !(p.global || p.Pa.mg || p.Pa.$n || p.W)) {
                e = 0;
                for (g = p.n.length; e < g; e++) this.c.Of(p.n[e]);
                this.c.pc()
            }
        l = !1;
        this.c.Kq = !1
    };
    new be(0, 0, 0, 0);
    e.prototype.od = function(a) {
        var b, e = a,
            l = !1,
            g = !this.c.rd;
        g && (this.c.Vm || (this.c.Vm = document.createElement("canvas"), b = this.c.Vm, b.width = this.c.ca, b.height = this.c.ba, this.c.uQ = b.getContext("2d"), l = !0), b = this.c.Vm, e = this.c.uQ, b.width !== this.c.ca && (b.width = this.c.ca, l = !0), b.height !== this.c.ba && (b.height = this.c.ba, l = !0), l && this.c.Rn(e, this.c.$a));
        e.globalAlpha = 1;
        e.globalCompositeOperation = "source-over";
        this.c.vP && !this.XP() && e.clearRect(0, 0, this.c.ca, this.c.ba);
        var p, q, l = 0;
        for (p = this.ma.length; l < p; l++) q = this.ma[l], q.visible && 0 < q.opacity && 11 !== q.qc && (q.n.length || !q.ne) ? q.od(e) : q.zo();
        g && a.drawImage(b, 0, 0, this.c.width, this.c.height)
    };
    e.prototype.Pg = function(a) {
        a.IR(!0);
        this.c.Ib || (this.c.Ib = a.Jd(this.c.ca, this.c.ba, this.c.$a));
        if (this.c.Ib.Kg !== this.c.ca || this.c.Ib.Jg !== this.c.ba) a.deleteTexture(this.c.Ib), this.c.Ib = a.Jd(this.c.ca, this.c.ba, this.c.$a);
        a.Td(this.c.Ib);
        this.c.rd || a.Ah(this.c.ca, this.c.ba);
        var b, e;
        for (b = this.ma.length - 1; 0 <= b; --b) e = this.ma[b], e.visible && 1 === e.opacity && e.Bf && 0 === e.qc && (e.n.length || !e.ne) ? e.Pg(a) : e.zo();
        a.IR(!1)
    };
    e.prototype.uc = function(a) {
        var b = 0 < this.Oa.length || this.c.fj || !this.c.rd || this.c.bb;
        if (b) {
            this.c.Ib || (this.c.Ib = a.Jd(this.c.ca, this.c.ba, this.c.$a));
            if (this.c.Ib.Kg !== this.c.ca || this.c.Ib.Jg !== this.c.ba) a.deleteTexture(this.c.Ib), this.c.Ib = a.Jd(this.c.ca, this.c.ba, this.c.$a);
            a.Td(this.c.Ib);
            this.c.rd || a.Ah(this.c.ca, this.c.ba)
        } else this.c.Ib && (a.Td(null), a.deleteTexture(this.c.Ib), this.c.Ib = null);
        this.c.vP && !this.XP() && a.clear(0, 0, 0, 0);
        var e, l, g;
        e = 0;
        for (l = this.ma.length; e < l; e++) g = this.ma[e], g.visible && 0 < g.opacity && (g.n.length || !g.ne) ? g.uc(a) : g.zo();
        b && (0 === this.Oa.length || 1 === this.Oa.length && this.c.rd ? (1 === this.Oa.length ? (b = this.Oa[0].index, a.bd(this.Oa[0].Kb), a.Ti(null, 1 / this.c.ca, 1 / this.c.ba, 0, 0, 1, 1, this.scale, this.C, 0, 0, this.c.ca / 2, this.c.ba / 2, this.c.Vb.za, this.ob[b]), a.Fn(this.Oa[0].Kb) && (this.c.Qa = !0)) : a.bd(0), this.c.rd || a.Ah(this.c.width, this.c.height), a.Td(null), a.HR(!1), a.yg(1), a.Zc(this.c.Ib), a.FR(), a.Le(), a.pe(), b = this.c.width / 2, e = this.c.height / 2, a.Pi(-b, e, b, e, b, -e, -b, -e), a.Zc(null), a.HR(!0)) : this.Wr(a, null, null, null))
    };
    e.prototype.Oj = function() {
        return 0 < this.Oa.length || this.c.fj || !this.c.rd || this.c.bb ? this.c.Ib : null
    };
    e.prototype.VP = function() {
        var a = this.ma[0].ud(),
            b, e, l;
        b = 1;
        for (e = this.ma.length; b < e; b++) l = this.ma[b], (0 !== l.Tc || 0 !== l.Uc) && l.ud() < a && (a = l.ud());
        return a
    };
    e.prototype.On = function(a) {
        if (!this.uS) {
            var b = 1 / this.VP() * this.c.ca / 2;
            a > this.width - b && (a = this.width - b);
            a < b && (a = b)
        }
        this.scrollX !== a && (this.scrollX = a, this.c.Qa = !0)
    };
    e.prototype.Pn = function(a) {
        if (!this.uS) {
            var b = 1 / this.VP() * this.c.ba / 2;
            a > this.height - b && (a = this.height - b);
            a < b && (a = b)
        }
        this.scrollY !== a && (this.scrollY = a, this.c.Qa = !0)
    };
    e.prototype.nP = function() {
        this.On(this.scrollX);
        this.Pn(this.scrollY)
    };
    e.prototype.Wr = function(a, b, e, l) {
        var g = e ? e.Oa : b ? b.Oa : this.Oa,
            p = 1,
            q = 0,
            A = 0,
            t = 0,
            w = this.c.ca,
            L = this.c.ba;
        e ? (p = e.G.ud(), q = e.G.kc(), A = e.G.Ca, t = e.G.Ea, w = e.G.Da, L = e.G.Ba) : b && (p = b.ud(), q = b.kc(), A = b.Ca, t = b.Ea, w = b.Da, L = b.Ba);
        var P = this.c.fq,
            ha, ea, pa, na, Pa = 0,
            jb = 1,
            ta, Ya, cb = this.c.ca,
            fb = this.c.ba,
            gb = cb / 2,
            ja = fb / 2,
            Ea = b ? b.Mk : this.Mk,
            ga = b ? b.Tr : this.Tr,
            ua = 0,
            Za = 0,
            Sa = 0,
            Qa = 0,
            U = cb,
            da = cb,
            Ma = fb,
            Vb = fb,
            Yc = pa = 0;
        na = e ? e.G.kc() : 0;
        if (e) {
            ha = 0;
            for (ea = g.length; ha < ea; ha++) pa += a.VY(g[ha].Kb), Yc += a.WY(g[ha].Kb);
            Qa = e.T;
            ua = b.Jc(Qa.left, Qa.top, !0, !0);
            Sa = b.Jc(Qa.left, Qa.top, !1, !0);
            U = b.Jc(Qa.right, Qa.bottom, !0, !0);
            Ma = b.Jc(Qa.right, Qa.bottom, !1, !0);
            0 !== na && (ha = b.Jc(Qa.right, Qa.top, !0, !0), ea = b.Jc(Qa.right, Qa.top, !1, !0), Za = b.Jc(Qa.left, Qa.bottom, !0, !0), Qa = b.Jc(Qa.left, Qa.bottom, !1, !0), na = Math.min(ua, U, ha, Za), U = Math.max(ua, U, ha, Za), ua = na, na = Math.min(Sa, Ma, ea, Qa), Ma = Math.max(Sa, Ma, ea, Qa), Sa = na);
            ua -= pa;
            Sa -= Yc;
            U += pa;
            Ma += Yc;
            ga.left = ua / cb;
            ga.top = 1 - Sa / fb;
            ga.right = U / cb;
            ga.bottom = 1 - Ma / fb;
            Za = ua = Xd(ua);
            Qa = Sa = Xd(Sa);
            da = U = Yd(U);
            Vb = Ma = Yd(Ma);
            Za -= pa;
            Qa -= Yc;
            da += pa;
            Vb += Yc;
            0 > ua && (ua = 0);
            0 > Sa && (Sa = 0);
            U > cb && (U = cb);
            Ma > fb && (Ma = fb);
            0 > Za && (Za = 0);
            0 > Qa && (Qa = 0);
            da > cb && (da = cb);
            Vb > fb && (Vb = fb);
            Ea.left = ua / cb;
            Ea.top = 1 - Sa / fb;
            Ea.right = U / cb;
            Ea.bottom = 1 - Ma / fb
        } else Ea.left = ga.left = 0, Ea.top = ga.top = 0, Ea.right = ga.right = 1, Ea.bottom = ga.bottom = 1;
        Yc = e && (a.Ik(g[0].Kb) || 0 !== pa || 0 !== Yc || 1 !== e.opacity || e.type.Pa.QQ) || b && !e && 1 !== b.opacity;
        a.FR();
        if (Yc) {
            P[Pa] || (P[Pa] = a.Jd(cb, fb, this.c.$a));
            if (P[Pa].Kg !== cb || P[Pa].Jg !== fb) a.deleteTexture(P[Pa]), P[Pa] = a.Jd(cb, fb, this.c.$a);
            a.bd(0);
            a.Td(P[Pa]);
            Ya = Vb - Qa;
            a.clearRect(Za, fb - Qa - Ya, da - Za, Ya);
            e ? e.uc(a) : (a.Zc(this.c.Wb), a.yg(b.opacity), a.Le(), a.translate(-gb, -ja), a.pe(), a.Je(ua, Ma, U, Ma, U, Sa, ua, Sa, Ea));
            ga.left = ga.top = 0;
            ga.right = ga.bottom = 1;
            e && (na = Ea.top, Ea.top = Ea.bottom, Ea.bottom = na);
            Pa = 1;
            jb = 0
        }
        a.yg(1);
        pa = g.length - 1;
        var Ge = a.Qr(g[pa].Kb) || !b && !e && !this.c.rd;
        ha = na = 0;
        for (ea = g.length; ha < ea; ha++) {
            P[Pa] || (P[Pa] = a.Jd(cb, fb, this.c.$a));
            if (P[Pa].Kg !== cb || P[Pa].Jg !== fb) a.deleteTexture(P[Pa]), P[Pa] = a.Jd(cb, fb, this.c.$a);
            a.bd(g[ha].Kb);
            na = g[ha].index;
            a.Fn(g[ha].Kb) && (this.c.Qa = !0);
            0 != ha || Yc ? (a.Ti(l, 1 / cb, 1 / fb, ga.left, ga.top, ga.right, ga.bottom, p, q, A, t, (A + w) / 2, (t + L) / 2, this.c.Vb.za, e ? e.ob[na] : b ? b.ob[na] : this.ob[na]), a.Zc(null), ha !== pa || Ge ? (a.Td(P[Pa]), Ya = Vb - Qa, ta = fb - Qa - Ya, a.clearRect(Za, ta, da - Za, Ya)) : (e ? a.xg(e.Bc, e.tc) : b && a.xg(b.Bc, b.tc), a.Td(l)), a.Zc(P[jb]), a.Le(), a.translate(-gb, -ja), a.pe(), a.Je(ua, Ma, U, Ma, U, Sa, ua, Sa, Ea), ha !== pa || Ge || a.Zc(null)) : (a.Td(P[Pa]), Ya = Vb - Qa, ta = fb - Qa - Ya, a.clearRect(Za, ta, da - Za, Ya), e ? (e.ib && e.ib.S ? (ta = e.ib.S, jb = 1 / ta.width, ta = 1 / ta.height) : (jb = 1 / e.width, ta = 1 / e.height), a.Ti(l, jb, ta, ga.left, ga.top, ga.right, ga.bottom, p, q, A, t, (A + w) / 2, (t + L) / 2, this.c.Vb.za, e.ob[na]), e.uc(a)) : (a.Ti(l, 1 / cb, 1 / fb, 0, 0, 1, 1, p, q, A, t, (A + w) / 2, (t + L) / 2, this.c.Vb.za, b ? b.ob[na] : this.ob[na]), a.Zc(b ? this.c.Wb : this.c.Ib), a.Le(), a.translate(-gb, -ja), a.pe(), a.Je(ua, Ma, U, Ma, U, Sa, ua, Sa, Ea)), ga.left = ga.top = 0, ga.right = ga.bottom = 1, e && !Ge && (na = Ma, Ma = Sa, Sa = na));
            Pa = 0 === Pa ? 1 : 0;
            jb = 0 === Pa ? 1 : 0
        }
        Ge && (a.bd(0), e ? a.xg(e.Bc, e.tc) : b ? a.xg(b.Bc, b.tc) : this.c.rd || (a.Ah(this.c.width, this.c.height), gb = this.c.width / 2, ja = this.c.height / 2, Sa = ua = 0, U = this.c.width, Ma = this.c.height), a.Td(l), a.Zc(P[jb]), a.Le(), a.translate(-gb, -ja), a.pe(), e && 1 === g.length && !Yc ? a.Je(ua, Sa, U, Sa, U, Ma, ua, Ma, Ea) : a.Je(ua, Ma, U, Ma, U, Sa, ua, Sa, Ea), a.Zc(null))
    };
    e.prototype.ym = function(a) {
        var b, e;
        b = 0;
        for (e = this.ma.length; b < e; b++)
            if (this.ma[b].Aa === a) return this.ma[b];
        return null
    };
    e.prototype.lb = function() {
        var a, b, e, l = {
            sx: this.scrollX,
            sy: this.scrollY,
            s: this.scale,
            a: this.C,
            w: this.width,
            h: this.height,
            fv: this.$h,
            persist: this.wg,
            fx: [],
            layers: {}
        };
        a = 0;
        for (b = this.ja.length; a < b; a++) e = this.ja[a], l.fx.push({
            name: e.name,
            active: e.Ua,
            params: this.ob[e.index]
        });
        a = 0;
        for (b = this.ma.length; a < b; a++) e = this.ma[a], l.layers[e.Aa.toString()] = e.lb();
        return l
    };
    e.prototype.yb = function(a) {
        var b, e, l, g;
        this.scrollX = a.sx;
        this.scrollY = a.sy;
        this.scale = a.s;
        this.C = a.a;
        this.width = a.w;
        this.height = a.h;
        this.wg = a.persist;
        "undefined" !== typeof a.fv && (this.$h = a.fv);
        var p = a.fx;
        b = 0;
        for (e = p.length; b < e; b++)
            if (l = this.kq(p[b].name)) l.Ua = p[b].active, this.ob[l.index] = p[b].params;
        this.oe();
        b = a.layers;
        for (g in b) b.hasOwnProperty(g) && (a = this.ym(parseInt(g, 10))) && a.yb(b[g])
    };
    Tf = e;
    b.prototype.oe = function() {
        pe(this.Oa);
        this.Bf = !0;
        var a, b, e;
        a = 0;
        for (b = this.ja.length; a < b; a++) e = this.ja[a], e.Ua && (this.Oa.push(e), e.ke || (this.Bf = !1))
    };
    b.prototype.kq = function(a) {
        var b, e, l;
        b = 0;
        for (e = this.ja.length; b < e; b++)
            if (l = this.ja[b], l.name === a) return l;
        return null
    };
    b.prototype.ZW = function() {
        var a, b, e, l, g, p;
        b = a = 0;
        for (e = this.vd.length; a < e; a++) {
            l = this.vd[a];
            g = this.c.L[l[1]];
            p = this.c.Bs(g);
            g = !0;
            if (!p || this.Xb.$h) {
                l = this.c.ag(l, this, !0);
                if (!l) continue;
                t.push(l);
                l.type.global && (g = !1, this.Fj.push(l.uid))
            }
            g && (this.vd[b] = this.vd[a], b++)
        }
        this.vd.length = b;
        this.c.pc();
        !this.c.K && this.ja.length && (this.qc = this.UX);
        this.Dj = qf(this.qc);
        this.c.R && tf(this, this.qc, this.c.R);
        this.le = !0
    };
    b.prototype.Qi = function(a, b) {
        var e = se(this.n, a);
        0 > e || (b && this.Dd && a.Xc && a.Xc.right >= a.Xc.left && (a.X(), this.oc.update(a, a.Xc, null), a.Xc.set(0, 0, -1, -1)), e === this.n.length - 1 ? this.n.pop() : (he(this.n, e), this.Uk(e)), this.le = !0)
    };
    b.prototype.zj = function(a, b) {
        a.te = this.n.length;
        this.n.push(a);
        b && this.Dd && a.Xc && a.H();
        this.le = !0
    };
    b.prototype.l_ = function(a) {
        this.n.unshift(a);
        this.Uk(0)
    };
    b.prototype.VZ = function(a, b, e) {
        var l = a.Ce();
        b = b.Ce();
        he(this.n, l);
        l < b && b--;
        e && b++;
        b === this.n.length ? this.n.push(a) : this.n.splice(b, 0, a);
        this.Uk(l < b ? l : b)
    };
    b.prototype.Uk = function(a) {
        -1 === this.Nf ? this.Nf = a : a < this.Nf && (this.Nf = a);
        this.le = this.Jh = !0
    };
    b.prototype.Fs = function() {
        if (this.Jh) {
            -1 === this.Nf && (this.Nf = 0);
            var a, b, e;
            if (this.Dd)
                for (a = this.Nf, b = this.n.length; a < b; ++a) e = this.n[a], e.te = a, this.oc.QZ(e.Xc);
            else
                for (a = this.Nf, b = this.n.length; a < b; ++a) this.n[a].te = a;
            this.Jh = !1;
            this.Nf = -1
        }
    };
    b.prototype.ud = function(a) {
        return this.RY() * (this.c.rd || a ? this.c.Aj : 1)
    };
    b.prototype.RY = function() {
        return (this.scale * this.Xb.scale - 1) * this.Ec + 1
    };
    b.prototype.kc = function() {
        return this.bf ? 0 : Ee(this.Xb.C + this.C)
    };
    var a = [],
        w = [],
        L = [];
    b.prototype.qq = function() {
        this.Fs();
        this.oc.In(this.Ca, this.Ea, this.Da, this.Ba, L);
        if (!L.length) return q();
        if (1 === L.length) {
            var a = q();
            qe(a, L[0]);
            pe(L);
            return a
        }
        for (var b = !0; 1 < L.length;) {
            for (var a = L, e = void 0, l = void 0, g = void 0, t = void 0, ca = void 0, e = 0, l = a.length; e < l - 1; e += 2) {
                var g = a[e],
                    t = a[e + 1],
                    ca = q(),
                    A = g,
                    ya = t,
                    Ba = ca,
                    F = 0,
                    P = 0,
                    ha = 0,
                    ea = A.length,
                    pa = ya.length,
                    na = void 0,
                    Pa = void 0;
                for (Ba.length = ea + pa; F < ea && P < pa; ++ha) na = A[F], Pa = ya[P], na.te < Pa.te ? (Ba[ha] = na, ++F) : (Ba[ha] = Pa, ++P);
                for (; F < ea; ++F, ++ha) Ba[ha] = A[F];
                for (; P < pa; ++P, ++ha) Ba[ha] = ya[P];
                b || (p(g), p(t));
                w.push(ca)
            }
            1 === l % 2 && (b ? (g = q(), qe(g, a[l - 1]), w.push(g)) : w.push(a[l - 1]));
            qe(a, w);
            pe(w);
            b = !1
        }
        a = L[0];
        pe(L);
        return a
    };
    b.prototype.od = function(a) {
        this.Ke = this.um || 1 !== this.opacity || 0 !== this.qc;
        var b = this.c.canvas,
            e = a,
            l = !1;
        this.Ke && (this.c.Um || (this.c.Um = document.createElement("canvas"), b = this.c.Um, b.width = this.c.ca, b.height = this.c.ba, this.c.tQ = b.getContext("2d"), l = !0), b = this.c.Um, e = this.c.tQ, b.width !== this.c.ca && (b.width = this.c.ca, l = !0), b.height !== this.c.ba && (b.height = this.c.ba, l = !0), l && this.c.Rn(e, this.c.$a), this.ne && e.clearRect(0, 0, this.c.ca, this.c.ba));
        e.globalAlpha = 1;
        e.globalCompositeOperation = "source-over";
        this.ne || (e.fillStyle = "rgb(" + this.ee[0] + "," + this.ee[1] + "," + this.ee[2] +
            ")", e.fillRect(0, 0, this.c.ca, this.c.ba));
        e.save();
        this.bf = !0;
        var l = this.Rb(0, 0, !0, !0),
            g = this.Rb(0, 0, !1, !0);
        this.bf = !1;
        this.c.Ad && (l = Math.round(l), g = Math.round(g));
        this.Mn(l, g, e);
        var q = this.ud();
        e.scale(q, q);
        e.translate(-l, -g);
        this.Dd ? (this.ic.left = this.oc.Pc(this.Ca), this.ic.top = this.oc.Qc(this.Ea), this.ic.right = this.oc.Pc(this.Da), this.ic.bottom = this.oc.Qc(this.Ba), this.le || !this.ic.Ij(this.ti) ? (p(this.of), l = this.qq(), this.le = !1, this.ti.Th(this.ic)) : l = this.of) : l = this.n;
        for (var t, A = null, g = 0, q = l.length; g < q; ++g) t = l[g], t !== A && (this.yX(t, e), A = t);
        this.Dd && (this.of = l);
        e.restore();
        this.Ke && (a.globalCompositeOperation = this.Dj, a.globalAlpha = this.opacity, a.drawImage(b, 0, 0))
    };
    b.prototype.yX = function(a, b) {
        if (a.visible && 0 !== a.width && 0 !== a.height) {
            a.X();
            var e = a.T;
            e.right < this.Ca || e.bottom < this.Ea || e.left > this.Da || e.top > this.Ba || (b.globalCompositeOperation = a.Dj, a.od(b))
        }
    };
    b.prototype.zo = function() {
        this.bf = !0;
        var a = this.Rb(0, 0, !0, !0),
            b = this.Rb(0, 0, !1, !0);
        this.bf = !1;
        this.c.Ad && (a = Math.round(a), b = Math.round(b));
        this.Mn(a, b, null)
    };
    b.prototype.Mn = function(a, b, e) {
        var l = this.ud();
        this.Ca = a;
        this.Ea = b;
        this.Da = a + 1 / l * this.c.ca;
        this.Ba = b + 1 / l * this.c.ba;
        this.Ca > this.Da && (a = this.Ca, this.Ca = this.Da, this.Da = a);
        this.Ea > this.Ba && (a = this.Ea, this.Ea = this.Ba, this.Ba = a);
        a = this.kc();
        0 !== a && (e && (e.translate(this.c.ca / 2, this.c.ba / 2), e.rotate(-a), e.translate(this.c.ca / -2, this.c.ba / -2)), this.Ff.set(this.Ca, this.Ea, this.Da, this.Ba), this.Ff.offset((this.Ca + this.Da) / -2, (this.Ea + this.Ba) / -2), this.pS.UR(this.Ff, a), this.pS.oP(this.Ff), this.Ff.offset((this.Ca +
            this.Da) / 2, (this.Ea + this.Ba) / 2), this.Ca = this.Ff.left, this.Ea = this.Ff.top, this.Da = this.Ff.right, this.Ba = this.Ff.bottom)
    };
    b.prototype.Pg = function(a) {
        if (this.Ke = this.um) {
            this.c.Wb || (this.c.Wb = a.Jd(this.c.ca, this.c.ba, this.c.$a));
            if (this.c.Wb.Kg !== this.c.ca || this.c.Wb.Jg !== this.c.ba) a.deleteTexture(this.c.Wb), this.c.Wb = a.Jd(this.c.ca, this.c.ba, this.c.$a);
            a.Td(this.c.Wb)
        }
        this.bf = !0;
        var b = this.Rb(0, 0, !0, !0),
            e = this.Rb(0, 0, !1, !0);
        this.bf = !1;
        this.c.Ad && (b = Math.round(b), e = Math.round(e));
        this.Mn(b, e, null);
        b = this.ud();
        a.Le();
        a.scale(b, b);
        a.$r(-this.kc());
        a.translate((this.Ca + this.Da) / -2, (this.Ea + this.Ba) / -2);
        a.pe();
        this.Dd ? (this.ic.left = this.oc.Pc(this.Ca), this.ic.top = this.oc.Qc(this.Ea), this.ic.right = this.oc.Pc(this.Da), this.ic.bottom = this.oc.Qc(this.Ba), this.le || !this.ic.Ij(this.ti) ? (p(this.of), b = this.qq(), this.le = !1, this.ti.Th(this.ic)) : b = this.of) : b = this.n;
        for (var l, g = null, e = b.length - 1; 0 <= e; --e) l = b[e], l !== g && (this.AX(b[e], a), g = l);
        this.Dd && (this.of = b);
        this.ne || (this.tp = this.c.Rg++, a.Sn(this.tp), a.GR(1, 1, 1), a.NP(), a.w_())
    };
    b.prototype.uc = function(a) {
        var b = 0,
            e = 0;
        if (this.Ke = this.um || 1 !== this.opacity || 0 < this.Oa.length || 0 !== this.qc) {
            this.c.Wb || (this.c.Wb = a.Jd(this.c.ca, this.c.ba, this.c.$a));
            if (this.c.Wb.Kg !== this.c.ca || this.c.Wb.Jg !== this.c.ba) a.deleteTexture(this.c.Wb), this.c.Wb = a.Jd(this.c.ca, this.c.ba, this.c.$a);
            a.Td(this.c.Wb);
            this.ne && a.clear(0, 0, 0, 0)
        }
        this.ne || (this.c.bb ? (a.Sn(this.tp), a.GR(this.ee[0] / 255, this.ee[1] / 255, this.ee[2] / 255), a.NP(), a.O_()) : a.clear(this.ee[0] / 255, this.ee[1] / 255, this.ee[2] / 255, 1));
        this.bf = !0;
        var l = this.Rb(0, 0, !0, !0),
            b = this.Rb(0, 0, !1, !0);
        this.bf = !1;
        this.c.Ad && (l = Math.round(l), b = Math.round(b));
        this.Mn(l, b, null);
        l = this.ud();
        a.Le();
        a.scale(l, l);
        a.$r(-this.kc());
        a.translate((this.Ca + this.Da) / -2, (this.Ea + this.Ba) / -2);
        a.pe();
        this.Dd ? (this.ic.left = this.oc.Pc(this.Ca), this.ic.top = this.oc.Qc(this.Ea), this.ic.right = this.oc.Pc(this.Da), this.ic.bottom = this.oc.Qc(this.Ba), this.le || !this.ic.Ij(this.ti) ? (p(this.of), b = this.qq(), this.le = !1, this.ti.Th(this.ic)) : b = this.of) : b = this.n;
        var g, q, t = null,
            e = 0;
        for (g = b.length; e < g; ++e) q = b[e], q !== t && (this.zX(b[e], a), t = q);
        this.Dd && (this.of = b);
        this.Ke && (b = this.Oa.length ? this.Oa[0].Kb : 0, e = this.Oa.length ? this.Oa[0].index : 0, 0 === this.Oa.length || 1 === this.Oa.length && !a.Qr(b) && 1 === this.opacity ? (1 === this.Oa.length ? (a.bd(b), a.Ti(this.Xb.Oj(), 1 / this.c.ca, 1 / this.c.ba, 0, 0, 1, 1, l, this.kc(), this.Ca, this.Ea, (this.Ca + this.Da) / 2, (this.Ea + this.Ba) / 2, this.c.Vb.za, this.ob[e]), a.Fn(b) && (this.c.Qa = !0)) : a.bd(0), a.Td(this.Xb.Oj()), a.yg(this.opacity), a.Zc(this.c.Wb), a.xg(this.Bc, this.tc), a.Le(), a.pe(), l = this.c.ca / 2, b = this.c.ba / 2, a.Pi(-l, b, l, b, l, -b, -l, -b), a.Zc(null)) : this.Xb.Wr(a, this, null, this.Xb.Oj()))
    };
    b.prototype.zX = function(a, b) {
        if (a.visible && 0 !== a.width && 0 !== a.height) {
            a.X();
            var e = a.T;
            e.right < this.Ca || e.bottom < this.Ea || e.left > this.Da || e.top > this.Ba || (b.Sn(a.Rg), a.BS ? this.BX(a, b) : (b.bd(0), b.xg(a.Bc, a.tc), a.uc(b)))
        }
    };
    b.prototype.AX = function(a, b) {
        if (a.visible && 0 !== a.width && 0 !== a.height) {
            a.X();
            var e = a.T;
            e.right < this.Ca || e.bottom < this.Ea || e.left > this.Da || e.top > this.Ba || (a.Rg = this.c.Rg++, 0 === a.qc && 1 === a.opacity && a.Bf && a.Pg && (b.Sn(a.Rg), a.Pg(b)))
        }
    };
    b.prototype.BX = function(a, b) {
        var e = a.Oa[0].Kb,
            l = a.Oa[0].index,
            g = this.ud();
        if (1 !== a.Oa.length || b.Qr(e) || b.n_(e) || (a.C || a.G.kc()) && b.Ik(e) || 1 !== a.opacity || a.type.Pa.QQ) this.Xb.Wr(b, this, a, this.Ke ? this.c.Wb : this.Xb.Oj()), b.Le(), b.scale(g, g), b.$r(-this.kc()), b.translate((this.Ca + this.Da) / -2, (this.Ea + this.Ba) / -2), b.pe();
        else {
            b.bd(e);
            b.xg(a.Bc, a.tc);
            b.Fn(e) && (this.c.Qa = !0);
            var p = 0,
                q = 0,
                A = 0,
                t = 0;
            b.Ik(e) && (t = a.T, p = this.Jc(t.left, t.top, !0, !0), q = this.Jc(t.left, t.top, !1, !0), A = this.Jc(t.right, t.bottom, !0, !0), t = this.Jc(t.right, t.bottom, !1, !0), p = p / windowWidth, q = 1 - q / windowHeight, A = A / windowWidth, t = 1 - t / windowHeight);
            var w;
            a.ib && a.ib.S ? (w = a.ib.S, e = 1 / w.width, w = 1 / w.height) : (e = 1 / a.width, w = 1 / a.height);
            b.Ti(this.Ke ? this.c.Wb : this.Xb.Oj(), e, w, p, q, A, t, g, this.kc(), this.Ca, this.Ea, (this.Ca + this.Da) / 2, (this.Ea + this.Ba) / 2, this.c.Vb.za, a.ob[l]);
            a.uc(b)
        }
    };
    b.prototype.Rb = function(a, b, e, l) {
        var g = this.c.devicePixelRatio;
        this.c.eh && (a *= g, b *= g);
        var g = this.c.mR,
            p = this.c.nR,
            g = (this.Xb.scrollX - g) * this.Tc + g,
            p = (this.Xb.scrollY - p) * this.Uc + p,
            q = g,
            A = p,
            t = 1 / this.ud(!l);
        l ? (q -= this.c.ca * t / 2, A -= this.c.ba * t / 2) : (q -= this.c.width * t / 2, A -= this.c.height * t / 2);
        q += a * t;
        A += b * t;
        b = this.kc();
        0 !== b && (q -= g, A -= p, a = Math.cos(b), b = Math.sin(b), l = q * a - A * b, A = A * a + q * b, q = l + g, A += p);
        return e ? q : A
    };
    b.prototype.Jc = function(a, b, e, l) {
        var g = this.c.mR,
            p = this.c.nR,
            q = (this.Xb.scrollX - g) * this.Tc + g,
            A = (this.Xb.scrollY - p) * this.Uc + p,
            p = q,
            g = A,
            t = this.kc();
        if (0 !== t) {
            a -= q;
            b -= A;
            var w = Math.cos(-t),
                t = Math.sin(-t),
                L = a * w - b * t;
            b = b * w + a * t;
            a = L + q;
            b += A
        }
        q = 1 / this.ud(!l);
        l ? (p -= this.c.ca * q / 2, g -= this.c.ba * q / 2) : (p -= this.c.width * q / 2, g -= this.c.height * q / 2);
        p = (a - p) / q;
        g = (b - g) / q;
        a = this.c.devicePixelRatio;
        this.c.eh && !l && (p /= a, g /= a);
        return e ? p : g
    };
    b.prototype.lb = function() {
        var a, b, e, l = {
            s: this.scale,
            a: this.C,
            vl: this.Ca,
            vt: this.Ea,
            vr: this.Da,
            vb: this.Ba,
            v: this.visible,
            bc: this.ee,
            t: this.ne,
            px: this.Tc,
            py: this.Uc,
            o: this.opacity,
            zr: this.Ec,
            fx: [],
            cg: this.Fj,
            instances: []
        };
        a = 0;
        for (b = this.ja.length; a < b; a++) e = this.ja[a], l.fx.push({
            name: e.name,
            active: e.Ua,
            params: this.ob[e.index]
        });
        return l
    };
    b.prototype.yb = function(a) {
        var b, e, l;
        this.scale = a.s;
        this.C = a.a;
        this.Ca = a.vl;
        this.Ea = a.vt;
        this.Da = a.vr;
        this.Ba = a.vb;
        this.visible = a.v;
        this.ee = a.bc;
        this.ne = a.t;
        this.Tc = a.px;
        this.Uc = a.py;
        this.opacity = a.o;
        this.Ec = a.zr;
        this.Fj = a.cg || [];
        qe(this.vd, this.jS);
        var p = new Oa;
        b = 0;
        for (l = this.Fj.length; b < l; ++b) p.add(this.Fj[b]);
        e = b = 0;
        for (l = this.vd.length; b < l; ++b) p.contains(this.vd[b][2]) || (this.vd[e] = this.vd[b], ++e);
        oe(this.vd, e);
        e = a.fx;
        b = 0;
        for (l = e.length; b < l; b++)
            if (a = this.kq(e[b].name)) a.Ua = e[b].active, this.ob[a.index] = e[b].params;
        this.oe();
        this.n.sort(g);
        this.Jh = !0
    };
    rg = b
})();
(function() {
    function e(a, b) {
        var e, f = a.length;
        switch (f) {
            case 0:
                return !0;
            case 1:
                return a[0] === b[0];
            case 2:
                return a[0] === b[0] && a[1] === b[1];
            default:
                for (e = 0; e < f; e++)
                    if (a[e] !== b[e]) return !1;
                return !0
        }
    }

    function g(a, b) {
        return a.index - b.index
    }

    function b(a) {
        var b, f, l, n;
        2 === a.length ? a[0].index > a[1].index && (b = a[0], a[0] = a[1], a[1] = b) : 2 < a.length && a.sort(g);
        a.length >= J.length && (J.length = a.length + 1);
        J[a.length] || (J[a.length] = []);
        n = J[a.length];
        b = 0;
        for (f = n.length; b < f; b++)
            if (l = n[b], e(a, l)) return l;
        n.push(a);
        return a
    }

    function q(a, b) {
        this.c = a;
        this.sS = {};
        this.IP = {};
        this.zq = !1;
        this.$P = new Oa;
        this.Ap = [];
        this.ep = [];
        this.name = b[0];
        var e = b[1];
        this.eg = [];
        var f, l;
        f = 0;
        for (l = e.length; f < l; f++) this.bQ(e[f], null, this.eg)
    }

    function p(a) {
        this.type = a;
        this.n = [];
        this.qa = [];
        this.Na = !0
    }

    function t(a, b, e) {
        this.sheet = a;
        this.parent = b;
        this.c = a.c;
        this.ab = [];
        this.Bg = [];
        this.YP = this.qo = this.ws = this.Im = this.group = this.hS = !1;
        this.cc = [];
        this.Fd = [];
        this.Vd = [];
        this.Qj = "";
        this.ci = this.Im = this.group = !1;
        this.Sl = null;
        e[1] && (this.Qj = e[1][1].toLowerCase(), this.group = !0, this.Im = !!e[1][0], this.Sl = [], this.ci = this.Im, this.c.Uf.push(this), this.c.Rj[this.Qj] = this);
        this.zd = e[2];
        this.Aa = e[4];
        this.group || (this.c.mP[this.Aa.toString()] = this);
        var f = e[5];
        a = 0;
        for (b = f.length; a < b; a++) {
            var l = new sg(this, f[a]);
            l.index = a;
            this.cc.push(l);
            this.ZO(l.type)
        }
        f = e[6];
        a = 0;
        for (b = f.length; a < b; a++) l = new Bg(this, f[a]), l.index = a, this.Fd.push(l);
        if (8 === e.length)
            for (e = e[7], a = 0, b = e.length; a < b; a++) this.sheet.bQ(e[a], this, this.Vd);
        this.Qm = !1;
        this.cc.length && (this.Qm = null == this.cc[0].type && this.cc[0].jc == Tg.prototype.u.ZS)
    }

    function l(a, b) {
        var e, f, l;
        if (a && (-1 === b.indexOf(a) && b.push(a), a.yc))
            for (e = 0, f = a.fd.length; e < f; e++) l = a.fd[e], a !== l && -1 === b.indexOf(l) && b.push(l)
    }

    function a(a, b) {
        this.nd = a;
        this.sheet = a.sheet;
        this.c = a.c;
        this.ta = [];
        this.rb = [];
        this.J = {};
        this.index = -1;
        this.xj = !1;
        this.jc = this.c.Qf(b[1]);
        this.trigger = 0 < b[3];
        this.HP = 2 === b[3];
        this.De = b[4];
        this.fi = b[5];
        this.HZ = b[6];
        this.Aa = b[7];
        this.c.Zf[this.Aa.toString()] = this; - 1 === b[0] ? (this.type = null, this.Bb = this.bs, this.Ig = null, this.fe = -1) : (this.type = this.c.L[b[0]], this.Bb = this.HZ ? this.E_ : this.as, b[2] ? (this.Ig = this.type.xm(b[2]), this.fe = this.type.hq(b[2])) : (this.Ig = null, this.fe = -1), this.nd.parent && this.nd.parent.Un());
        this.HP && (this.Bb = this.F_);
        if (10 === b.length) {
            var e, f, l = b[9];
            e = 0;
            for (f = l.length; e < f; e++) {
                var g = new Cg(this, l[e]);
                this.ta.push(g)
            }
            this.rb.length = l.length
        }
    }

    function w(a, b) {
        this.nd = a;
        this.sheet = a.sheet;
        this.c = a.c;
        this.ta = [];
        this.rb = [];
        this.J = {};
        this.index = -1;
        this.xj = !1;
        this.jc = this.c.Qf(b[1]); - 1 === b[0] ? (this.type = null, this.Bb = this.bs, this.Ig = null, this.fe = -1) : (this.type = this.c.L[b[0]], this.Bb = this.as, b[2] ? (this.Ig = this.type.xm(b[2]), this.fe = this.type.hq(b[2])) : (this.Ig = null, this.fe = -1));
        this.Aa = b[3];
        this.c.Sf[this.Aa.toString()] = this;
        if (6 === b.length) {
            var e, f, l = b[5];
            e = 0;
            for (f = l.length; e < f; e++) {
                var g = new Cg(this, l[e]);
                this.ta.push(g)
            }
            this.rb.length = l.length
        }
    }

    function L() {
        ca++;
        fa.length === ca && fa.push(new Dg);
        return fa[ca]
    }

    function f(a, b) {
        this.eb = a;
        this.nd = a.nd;
        this.sheet = a.sheet;
        this.c = a.c;
        this.type = b[0];
        this.ze = null;
        this.Cf = 0;
        this.get = null;
        this.xP = 0;
        this.Xb = null;
        this.key = 0;
        this.object = null;
        this.index = 0;
        this.ll = this.Dh = this.ll = this.Dh = this.LP = this.Ug = this.ml = null;
        this.Xd = !1;
        var e, f, l;
        switch (b[0]) {
            case 0:
            case 7:
                this.ze = new Eg(this, b[1]);
                this.Cf = 0;
                this.get = this.cZ;
                break;
            case 1:
                this.ze = new Eg(this, b[1]);
                this.Cf = 0;
                this.get = this.dZ;
                break;
            case 5:
                this.ze = new Eg(this, b[1]);
                this.Cf = 0;
                this.get = this.gZ;
                break;
            case 3:
            case 8:
                this.xP = b[1];
                this.get = this.aZ;
                break;
            case 6:
                this.Xb = this.c.er[b[1]];
                this.get = this.hZ;
                break;
            case 9:
                this.key = b[1];
                this.get = this.sq;
                break;
            case 4:
                this.object = this.c.L[b[1]];
                this.get = this.iZ;
                this.nd.ZO(this.object);
                this.eb instanceof Bg ? this.nd.Un() : this.nd.parent && this.nd.parent.Un();
                break;
            case 10:
                this.index = b[1];
                a.type && a.type.W ? (this.get = this.eZ, this.Xd = !0) : this.get = this.fZ;
                break;
            case 11:
                this.ml = b[1];
                this.Ug = null;
                this.get = this.bZ;
                break;
            case 2:
            case 12:
                this.LP = b[1];
                this.get = this.$Y;
                break;
            case 13:
                for (this.get = this.jZ, this.Dh = [], this.ll = [], e = 1, f = b.length; e < f; e++) l = new Cg(this.eb, b[e]), this.Dh.push(l), this.ll.push(0)
        }
    }

    function n(a, b, e) {
        this.sheet = a;
        this.parent = b;
        this.c = a.c;
        this.ab = [];
        this.name = e[1];
        this.nl = e[2];
        this.Dq = e[3];
        this.dk = !!e[4];
        this.Pm = !!e[5];
        this.Aa = e[6];
        this.c.hj[this.Aa.toString()] = this;
        this.data = this.Dq;
        this.parent ? (this.sh = this.dk || this.Pm ? -1 : this.c.S_++, this.c.IV.push(this)) : (this.sh = -1, this.c.HV.push(this))
    }

    function z(a, b, e) {
        this.sheet = a;
        this.parent = b;
        this.c = a.c;
        this.ab = [];
        this.Tj = null;
        this.pZ = e[1];
        this.Ua = !0
    }

    function u() {
        this.lS = [];
        this.reset(null)
    }
    var J = [];
    q.prototype.toString = function() {
        return this.name
    };
    q.prototype.bQ = function(a, b, e) {
        switch (a[0]) {
            case 0:
                a = new Fg(this, b, a);
                if (a.zd)
                    for (e.push(a), e = 0, b = a.cc.length; e < b; e++) a.cc[e].trigger && this.cQ(a, e);
                else a.lQ() ? this.cQ(a, 0) : e.push(a);
                break;
            case 1:
                a = new og(this, b, a);
                e.push(a);
                break;
            case 2:
                a = new Gg(this, b, a), e.push(a)
        }
    };
    q.prototype.zb = function() {
        var a, b;
        a = 0;
        for (b = this.eg.length; a < b; a++) this.eg[a].zb(a < b - 1 && this.eg[a + 1].Qm)
    };
    q.prototype.Cs = function() {
        pe(this.Ap);
        pe(this.ep);
        this.YO(this);
        pe(this.ep)
    };
    q.prototype.YO = function(a) {
        var b, e, f, l, g = a.Ap,
            n = a.ep,
            p = this.$P.qe();
        b = 0;
        for (e = p.length; b < e; ++b) f = p[b], l = f.Tj, !f.Ua || a === l || -1 < n.indexOf(l) || (n.push(l), l.YO(a), g.push(l))
    };
    q.prototype.Bb = function(a) {
        this.c.x3 || (this.zq = !0, a || (this.c.Nq = !0));
        var b, e;
        b = 0;
        for (e = this.eg.length; b < e; b++) {
            var f = this.eg[b];
            f.Bb();
            this.c.sp(f.ab);
            this.c.jg && this.c.pc()
        }
        a || (this.c.Nq = !1)
    };
    q.prototype.cQ = function(a, b) {
        a.zd || this.c.vo.push(a);
        var e, f, l = a.cc[b],
            g;
        l.type ? g = l.type.name : g = "system";
        var n = (e = l.HP) ? this.IP : this.sS;
        n[g] || (n[g] = []);
        g = n[g];
        n = l.jc;
        if (e) {
            if (l.ta.length && (l = l.ta[0], 1 === l.type && 2 === l.ze.type)) {
                l = l.ze.value.toLowerCase();
                e = 0;
                for (f = g.length; e < f; e++)
                    if (g[e].method == n) {
                        e = g[e].Jj;
                        e[l] ? e[l].push([a, b]) : e[l] = [
                            [a, b]
                        ];
                        return
                    }
                e = {};
                e[l] = [
                    [a, b]
                ];
                g.push({
                    method: n,
                    Jj: e
                })
            }
        } else {
            e = 0;
            for (f = g.length; e < f; e++)
                if (g[e].method == n) {
                    g[e].Jj.push([a, b]);
                    return
                }
            Vg && n === Vg.prototype.u.Oh ? g.unshift({
                method: n,
                Jj: [
                    [a, b]
                ]
            }) : g.push({
                method: n,
                Jj: [
                    [a, b]
                ]
            })
        }
    };
    eg = q;
    p.prototype.yq = function() {
        return this.Na ? this.type.n.length : this.n.length
    };
    p.prototype.td = function() {
        return this.Na ? this.type.n : this.n
    };
    p.prototype.Ek = function(a) {
        a && (a.c.Gb().rc.zd ? (this.Na && (pe(this.n), qe(this.qa, a.type.n), this.Na = !1), a = this.qa.indexOf(a), -1 !== a && (this.n.push(this.qa[a]), this.qa.splice(a, 1))) : (this.Na = !1, pe(this.n), this.n[0] = a))
    };
    zf = p;
    window._c2hh_ = "CEE9A91D7922A7F2699C24D6AF66AEA8B652EBD5";
    t.prototype.zb = function(a) {
        var e, l = this.parent;
        if (this.group)
            for (this.qo = !0; l;) {
                if (!l.group) {
                    this.qo = !1;
                    break
                }
                l = l.parent
            }
        this.ws = !this.lQ() && (!this.parent || this.parent.group && this.parent.qo);
        this.YP = !!a;
        this.Bg = this.ab.slice(0);
        for (l = this.parent; l;) {
            a = 0;
            for (e = l.ab.length; a < e; a++) this.EV(l.ab[a]);
            l = l.parent
        }
        this.ab = b(this.ab);
        this.Bg = b(this.Bg);
        a = 0;
        for (e = this.cc.length; a < e; a++) this.cc[a].zb();
        a = 0;
        for (e = this.Fd.length; a < e; a++) this.Fd[a].zb();
        a = 0;
        for (e = this.Vd.length; a < e; a++) this.Vd[a].zb(a < e - 1 && this.Vd[a + 1].Qm)
    };
    t.prototype.JR = function(a) {
        if (this.ci !== !!a) {
            this.ci = !!a;
            var b;
            a = 0;
            for (b = this.Sl.length; a < b; ++a) this.Sl[a].wS();
            0 < b && this.c.na.Tg && this.c.na.Tg.Cs()
        }
    };
    t.prototype.ZO = function(a) {
        l(a, this.ab)
    };
    t.prototype.EV = function(a) {
        l(a, this.Bg)
    };
    t.prototype.Un = function() {
        this.hS = !0;
        this.parent && this.parent.Un()
    };
    t.prototype.lQ = function() {
        return this.cc.length ? this.cc[0].trigger : !1
    };
    t.prototype.Bb = function() {
        var a, b, e = !1,
            l = this.c,
            f = this.c.Gb();
        f.rc = this;
        var g = this.cc;
        this.Qm || (f.Up = !1);
        if (this.zd) {
            0 === g.length && (e = !0);
            f.Sb = 0;
            for (a = g.length; f.Sb < a; f.Sb++) b = g[f.Sb], b.trigger || (b = b.Bb()) && (e = !0);
            (f.kh = e) && this.Nn()
        } else {
            f.Sb = 0;
            for (a = g.length; f.Sb < a; f.Sb++)
                if (b = g[f.Sb].Bb(), !b) {
                    f.kh = !1;
                    this.ws && l.jg && l.pc();
                    return
                }
            f.kh = !0;
            this.Nn()
        }
        this.WX(f)
    };
    t.prototype.WX = function(a) {
        a.kh && this.YP && (a.Up = !0);
        this.ws && this.c.jg && this.c.pc()
    };
    t.prototype.C_ = function(a) {
        this.c.Gb().rc = this;
        this.cc[a].Bb() && (this.Nn(), this.c.Gb().kh = !0)
    };
    t.prototype.Nn = function() {
        var a = this.c.Gb(),
            b;
        a.Rc = 0;
        for (b = this.Fd.length; a.Rc < b; a.Rc++)
            if (this.Fd[a.Rc].Bb()) return;
        this.ER()
    };
    t.prototype.y_ = function() {
        var a = this.c.Gb(),
            b;
        for (b = this.Fd.length; a.Rc < b; a.Rc++)
            if (this.Fd[a.Rc].Bb()) return;
        this.ER()
    };
    t.prototype.ER = function() {
        if (this.Vd.length) {
            var a, b, e, l, f = this.Vd.length -
                1;
            this.c.Hn(this);
            if (this.hS)
                for (a = 0, b = this.Vd.length; a < b; a++) e = this.Vd[a], (l = !this.qo || !this.group && a < f) && this.c.Gn(e.ab), e.Bb(), l ? this.c.xh(e.ab) : this.c.sp(e.ab);
            else
                for (a = 0, b = this.Vd.length; a < b; a++) this.Vd[a].Bb();
            this.c.Cn()
        }
    };
    t.prototype.D_ = function() {
        var a = this.c.Gb();
        a.rc = this;
        var b = !1,
            e;
        a.Sb = 0;
        for (e = this.cc.length; a.Sb < e; a.Sb++)
            if (this.cc[a.Sb].Bb()) b = !0;
            else if (!this.zd) return !1;
        return this.zd ? b : !0
    };
    t.prototype.z_ = function() {
        this.c.Vg++;
        var a = this.c.Gb().Sb,
            b = this.c.Hn(this);
        if (!this.zd)
            for (b.Sb = a + 1, a = this.cc.length; b.Sb < a; b.Sb++)
                if (!this.cc[b.Sb].Bb()) {
                    this.c.Cn();
                    return
                }
        this.Nn();
        this.c.Cn()
    };
    t.prototype.yZ = function(a) {
        var b = a.index;
        if (0 === b) return !0;
        for (--b; 0 <= b; --b)
            if (this.cc[b].type === a.type) return !1;
        return !0
    };
    Fg = t;
    a.prototype.zb = function() {
        var a, b, e;
        a = 0;
        for (b = this.ta.length; a < b; a++) e = this.ta[a], e.zb(), e.Xd && (this.xj = !0)
    };
    a.prototype.F_ = function() {
        return !0
    };
    a.prototype.bs = function() {
        var a, b;
        a = 0;
        for (b = this.ta.length; a < b; a++) this.rb[a] = this.ta[a].get();
        return Re(this.jc.apply(this.c.Ne, this.rb), this.fi)
    };
    a.prototype.E_ = function() {
        var a, b;
        a = 0;
        for (b = this.ta.length; a < b; a++) this.rb[a] = this.ta[a].get();
        a = this.jc.apply(this.Ig ? this.Ig : this.type, this.rb);
        this.type.ae();
        return a
    };
    a.prototype.as = function() {
        var a, b, e, l, f, g, n, p, q = this.type,
            u = q.xa(),
            t = this.nd.zd && !this.trigger;
        b = 0;
        var w = q.yc,
            z = q.W,
            fa = q.ef,
            J = this.fe,
            L = -1 < J,
            ca = this.xj,
            Ea = this.ta,
            ga = this.rb,
            ua = this.fi,
            Za = this.jc,
            Sa;
        if (ca)
            for (b = 0, f = Ea.length; b < f; ++b) g = Ea[b], g.Xd || (ga[b] = g.get(0));
        else
            for (b = 0, f = Ea.length; b < f; ++b) ga[b] = Ea[b].get(0);
        if (u.Na) {
            pe(u.n);
            pe(u.qa);
            Sa = q.n;
            a = 0;
            for (l = Sa.length; a < l; ++a) {
                p = Sa[a];
                if (ca)
                    for (b = 0, f = Ea.length; b < f; ++b) g = Ea[b], g.Xd && (ga[b] = g.get(a));
                L ? (b = 0, z && (b = p.type.Zh[fa]), b = Za.apply(p.da[J + b], ga)) : b = Za.apply(p, ga);
                (n = Re(b, ua)) ? u.n.push(p): t && u.qa.push(p)
            }
            q.finish && q.finish(!0);
            u.Na = !1;
            q.ae();
            return u.yq()
        }
        e = 0;
        Sa = (n = t && !this.nd.yZ(this)) ? u.qa : u.n;
        var Qa = !1;
        a = 0;
        for (l = Sa.length; a < l; ++a) {
            p = Sa[a];
            if (ca)
                for (b = 0, f = Ea.length; b < f; ++b) g = Ea[b], g.Xd && (ga[b] = g.get(a));
            L ? (b = 0, z && (b = p.type.Zh[fa]), b = Za.apply(p.da[J + b], ga)) : b = Za.apply(p, ga);
            if (Re(b, ua))
                if (Qa = !0, n) {
                    if (u.n.push(p), w)
                        for (b = 0, f = p.siblings.length; b < f; b++) g = p.siblings[b], g.type.xa().n.push(g)
                } else {
                    Sa[e] = p;
                    if (w)
                        for (b = 0, f = p.siblings.length; b < f; b++) g = p.siblings[b], g.type.xa().n[e] = g;
                    e++
                }
            else if (n) {
                Sa[e] = p;
                if (w)
                    for (b = 0, f = p.siblings.length; b < f; b++) g = p.siblings[b], g.type.xa().qa[e] = g;
                e++
            } else if (t && (u.qa.push(p), w))
                for (b = 0, f = p.siblings.length; b < f; b++) g = p.siblings[b], g.type.xa().qa.push(g)
        }
        oe(Sa, e);
        if (w)
            for (z = q.fd, a = 0, l = z.length; a < l; a++) p = z[a].xa(), n ? oe(p.qa, e) : oe(p.n, e);
        e = Qa;
        if (n && !Qa)
            for (a = 0, l = u.n.length; a < l; a++) {
                p = u.n[a];
                if (ca)
                    for (b = 0, f = Ea.length; b < f; b++) g = Ea[b], g.Xd && (ga[b] = g.get(a));
                b = L ? Za.apply(p.da[J], ga) : Za.apply(p, ga);
                if (Re(b, ua)) {
                    Qa = !0;
                    break
                }
            }
        q.finish && q.finish(e || t);
        return t ? Qa : u.yq()
    };
    sg = a;
    w.prototype.zb = function() {
        var a, b, e;
        a = 0;
        for (b = this.ta.length; a < b; a++) e = this.ta[a], e.zb(), e.Xd && (this.xj = !0)
    };
    w.prototype.bs = function() {
        var a = this.c,
            b, e, f = this.ta,
            l = this.rb;
        b = 0;
        for (e = f.length; b < e; ++b) l[b] = f[b].get();
        return this.jc.apply(a.Ne, l)
    };
    w.prototype.as = function() {
        var a = this.type,
            b = this.fe,
            e = a.ef,
            f = this.xj,
            l = this.ta,
            g = this.rb,
            n = this.jc,
            p = a.xa().td(),
            a = a.W,
            q = -1 < b,
            u, t, w, z, fa, J;
        if (f)
            for (t = 0, z = l.length; t < z; ++t) fa = l[t], fa.Xd || (g[t] = fa.get(0));
        else
            for (t = 0, z = l.length; t < z; ++t) g[t] = l[t].get(0);
        u = 0;
        for (w = p.length; u < w; ++u) {
            J = p[u];
            if (f)
                for (t = 0, z = l.length; t < z; ++t) fa = l[t], fa.Xd && (g[t] = fa.get(u));
            q ? (t = 0, a && (t = J.type.Zh[e]), n.apply(J.da[b + t], g)) : n.apply(J, g)
        }
        return !1
    };
    Bg = w;
    var fa = [],
        ca = -1;
    f.prototype.zb = function() {
        var a, b;
        if (11 === this.type) this.Ug = this.c.SP(this.ml, this.nd.parent);
        else if (13 === this.type)
            for (a = 0, b = this.Dh.length; a < b; a++) this.Dh[a].zb();
        this.ze && this.ze.zb()
    };
    f.prototype.SZ = function(a) {
        this.Xd || !a || a.Pa.$n || (this.Xd = !0)
    };
    f.prototype.MR = function() {
        this.Xd = !0
    };
    f.prototype.cZ = function(a) {
        this.Cf = a || 0;
        a = L();
        this.ze.get(a);
        ca--;
        return a.data
    };
    f.prototype.dZ = function(a) {
        this.Cf = a || 0;
        a = L();
        this.ze.get(a);
        ca--;
        return zd(a.data) ? a.data : ""
    };
    f.prototype.iZ = function() {
        return this.object
    };
    f.prototype.aZ = function() {
        return this.xP
    };
    f.prototype.gZ = function(a) {
        this.Cf = a || 0;
        a = L();
        this.ze.get(a);
        ca--;
        return a.ec() ? this.c.hf(a.data) : this.c.Nj(a.data)
    };
    f.prototype.hZ = function() {
        return this.Xb
    };
    f.prototype.sq = function() {
        return this.key
    };
    f.prototype.fZ = function() {
        return this.index
    };
    f.prototype.eZ = function(a) {
        a = a || 0;
        var b = this.eb.type,
            e = null,
            e = b.xa(),
            f = e.td();
        if (f.length) e = f[a % f.length].type;
        else if (e.qa.length) e = e.qa[a % e.qa.length].type;
        else if (b.n.length) e = b.n[a % b.n.length].type;
        else return 0;
        return this.index + e.lm[b.ef]
    };
    f.prototype.bZ = function() {
        return this.Ug
    };
    f.prototype.$Y = function() {
        return this.LP
    };
    f.prototype.jZ = function() {
        var a, b;
        a = 0;
        for (b = this.Dh.length; a < b; a++) this.ll[a] = this.Dh[a].get();
        return this.ll
    };
    Cg = f;
    n.prototype.zb = function() {
        this.ab = b(this.ab)
    };
    n.prototype.Ud = function(a) {
        var b = this.c.RP();
        this.parent && !this.dk && b ? (this.sh >= b.length && (b.length = this.sh + 1), b[this.sh] = a) : this.data = a
    };
    n.prototype.ig = function() {
        var a = this.c.RP();
        return !this.parent || this.dk || !a || this.Pm ? this.data : this.sh >= a.length || "undefined" === typeof a[this.sh] ? this.Dq : a[this.sh]
    };
    n.prototype.Bb = function() {
        !this.parent || this.dk || this.Pm || this.Ud(this.Dq)
    };
    og = n;
    z.prototype.toString = function() {
        return "include:" + this.Tj.toString()
    };
    z.prototype.zb = function() {
        this.Tj = this.c.Xp[this.pZ];
        this.sheet.$P.add(this);
        this.ab = b(this.ab);
        for (var a = this.parent; a;) a.group && a.Sl.push(this), a = a.parent;
        this.wS()
    };
    z.prototype.Bb = function() {
        this.parent && this.c.Jk(this.c.L);
        this.Tj.zq || this.Tj.Bb(!0);
        this.parent && this.c.xh(this.c.L)
    };
    z.prototype.wS = function() {
        for (var a = this.parent; a;) {
            if (a.group && !a.ci) {
                this.Ua = !1;
                return
            }
            a = a.parent
        }
        this.Ua = !0
    };
    Gg = z;
    u.prototype.reset = function(a) {
        this.rc = a;
        this.Rc = this.Sb = 0;
        pe(this.lS);
        this.Up = this.kh = !1
    };
    ng = u
})();
(function() {
    function e(b, a) {
        this.eb = b;
        this.c = b.c;
        this.type = a[0];
        this.get = [this.oY, this.kY, this.xY, this.AY, this.ZX, this.yY, this.sY, this.gY, this.rY, this.wY, this.$X, this.vY, this.iY, this.tY, this.pY, this.qY, this.lY, this.mY, this.fY, this.zY, this.uY, this.nY, this.eY, this.jY][this.type];
        var e = null;
        this.rf = this.ta = this.rb = this.jc = this.po = this.second = this.first = this.value = null;
        this.fe = -1;
        this.ie = null;
        this.CS = -1;
        this.Ug = this.ml = null;
        this.Ri = !1;
        switch (this.type) {
            case 0:
            case 1:
            case 2:
                this.value = a[1];
                break;
            case 3:
                this.first = new Eg(b, a[1]);
                break;
            case 18:
                this.first = new Eg(b, a[1]);
                this.second = new Eg(b, a[2]);
                this.po = new Eg(b, a[3]);
                break;
            case 19:
                this.jc = this.c.Qf(a[1]);
                this.jc !== Tg.prototype.ka.random && this.jc !== Tg.prototype.ka.uP || this.eb.MR();
                this.rb = [];
                this.ta = [];
                3 === a.length ? (e = a[2], this.rb.length = e.length + 1) : this.rb.length = 1;
                break;
            case 20:
                this.rf = this.c.L[a[1]];
                this.fe = -1;
                this.jc = this.c.Qf(a[2]);
                this.Ri = a[3];
                Jg.Function && this.jc === Jg.Function.prototype.ka.x0 && this.eb.MR();
                a[4] ? this.ie = new Eg(b, a[4]) : this.ie = null;
                this.rb = [];
                this.ta = [];
                6 === a.length ? (e = a[5], this.rb.length = e.length + 1) : this.rb.length = 1;
                break;
            case 21:
                this.rf = this.c.L[a[1]];
                this.Ri = a[2];
                a[3] ? this.ie = new Eg(b, a[3]) : this.ie = null;
                this.CS = a[4];
                break;
            case 22:
                this.rf = this.c.L[a[1]];
                this.rf.xm(a[2]);
                this.fe = this.rf.hq(a[2]);
                this.jc = this.c.Qf(a[3]);
                this.Ri = a[4];
                a[5] ? this.ie = new Eg(b, a[5]) : this.ie = null;
                this.rb = [];
                this.ta = [];
                7 === a.length ? (e = a[6], this.rb.length = e.length + 1) : this.rb.length = 1;
                break;
            case 23:
                this.ml = a[1], this.Ug = null
        }
        this.eb.SZ(this.rf);
        4 <= this.type && 17 >= this.type && (this.first = new Eg(b, a[1]), this.second = new Eg(b, a[2]));
        if (e) {
            var g, f;
            g = 0;
            for (f = e.length; g < f; g++) this.ta.push(new Eg(b, e[g]))
        }
    }

    function g() {
        ++t;
        p.length === t && p.push(new Dg);
        return p[t]
    }

    function b(b, a, e) {
        var g, f;
        g = 0;
        for (f = b.length; g < f; ++g) b[g].get(e), a[g + 1] = e.data
    }

    function q(b, a) {
        this.type = b || Hg.Nh;
        this.data = a || 0;
        this.uh = null;
        this.type == Hg.Nh && (this.data = Math.floor(this.data))
    }
    e.prototype.zb = function() {
        23 === this.type && (this.Ug = this.eb.c.SP(this.ml, this.eb.nd.parent));
        this.first && this.first.zb();
        this.second && this.second.zb();
        this.po && this.po.zb();
        this.ie && this.ie.zb();
        if (this.ta) {
            var b, a;
            b = 0;
            for (a = this.ta.length; b < a; b++) this.ta[b].zb()
        }
    };
    var p = [],
        t = -1;
    e.prototype.zY = function(e) {
        var a = this.ta,
            p = this.rb;
        p[0] = e;
        e = g();
        b(a, p, e);
        --t;
        this.jc.apply(this.c.Ne, p)
    };
    e.prototype.uY = function(e) {
        var a = this.rf,
            p = this.rb,
            q = this.ta,
            f = this.ie,
            n = this.jc,
            z = this.eb.Cf,
            u = a.xa(),
            J = u.td();
        if (!J.length)
            if (u.qa.length) J = u.qa;
            else {
                this.Ri ? e.Cb("") : e.fb(0);
                return
            }
        p[0] = e;
        e.uh = a;
        e = g();
        b(q, p, e);
        f && (f.get(e), e.ec() && (z = e.data, J = a.n));
        --t;
        a = J.length;
        if (z >= a || z <= -a) z %= a;
        0 > z && (z += a);
        n.apply(J[z], p)
    };
    e.prototype.eY = function(e) {
        var a = this.rf,
            p = this.rb,
            q = this.ta,
            f = this.ie,
            n = this.fe,
            z = this.jc,
            u = this.eb.Cf,
            J = a.xa(),
            fa = J.td();
        if (!fa.length)
            if (J.qa.length) fa = J.qa;
            else {
                this.Ri ? e.Cb("") : e.fb(0);
                return
            }
        p[0] = e;
        e.uh = a;
        e = g();
        b(q, p, e);
        f && (f.get(e), e.ec() && (u = e.data, fa = a.n));
        --t;
        q = fa.length;
        if (u >= q || u <= -q) u %= q;
        0 > u && (u += q);
        u = fa[u];
        fa = 0;
        a.W && (fa = u.type.Zh[a.ef]);
        z.apply(u.da[n + fa], p)
    };
    e.prototype.nY = function(b) {
        var a = this.ie,
            e = this.rf,
            p = this.CS,
            f = this.eb.Cf,
            n = e.xa(),
            q = n.td();
        if (!q.length)
            if (n.qa.length) q = n.qa;
            else {
                this.Ri ? b.Cb("") : b.fb(0);
                return
            }
        if (a) {
            n = g();
            a.get(n);
            if (n.ec()) {
                f = n.data;
                q = e.n;
                0 !== q.length && (f %= q.length, 0 > f && (f += q.length));
                f = e.oq(f);
                e = f.Ub[p];
                zd(e) ? b.Cb(e) : b.M(e);
                --t;
                return
            }--t
        }
        a = q.length;
        if (f >= a || f <= -a) f %= a;
        0 > f && (f += a);
        f = q[f];
        q = 0;
        e.W && (q = f.type.lm[e.ef]);
        e = f.Ub[p + q];
        zd(e) ? b.Cb(e) : b.M(e)
    };
    e.prototype.oY = function(b) {
        b.type = Hg.Nh;
        b.data = this.value
    };
    e.prototype.kY = function(b) {
        b.type = Hg.Lh;
        b.data = this.value
    };
    e.prototype.xY = function(b) {
        b.type = Hg.String;
        b.data = this.value
    };
    e.prototype.AY = function(b) {
        this.first.get(b);
        b.ec() && (b.data = -b.data)
    };
    e.prototype.ZX = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.ec() && a.ec() && (b.data += a.data, a.hi() && b.xi());
        --t
    };
    e.prototype.yY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.ec() && a.ec() && (b.data -= a.data, a.hi() && b.xi());
        --t
    };
    e.prototype.sY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.ec() && a.ec() && (b.data *= a.data, a.hi() && b.xi());
        --t
    };
    e.prototype.gY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.ec() && a.ec() && (b.data /= a.data, b.xi());
        --t
    };
    e.prototype.rY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.ec() && a.ec() && (b.data %= a.data, a.hi() && b.xi());
        --t
    };
    e.prototype.wY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.ec() && a.ec() && (b.data = Math.pow(b.data, a.data), a.hi() && b.xi());
        --t
    };
    e.prototype.$X = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        a.li() || b.li() ? this.bY(b, a) : this.aY(b, a);
        --t
    };
    e.prototype.bY = function(b, a) {
        b.li() && a.li() ? this.dY(b, a) : this.cY(b, a)
    };
    e.prototype.dY = function(b, a) {
        b.data += a.data
    };
    e.prototype.cY = function(b, a) {
        b.li() ? b.data += (Math.round(1E10 * a.data) / 1E10).toString() : b.Cb(b.data.toString() + a.data)
    };
    e.prototype.aY = function(b, a) {
        b.fb(b.data && a.data ? 1 : 0)
    };
    e.prototype.vY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.ec() && a.ec() && (b.data || a.data ? b.fb(1) : b.fb(0));
        --t
    };
    e.prototype.fY = function(b) {
        this.first.get(b);
        b.data ? this.second.get(b) : this.po.get(b)
    };
    e.prototype.iY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.fb(b.data === a.data ? 1 : 0);
        --t
    };
    e.prototype.tY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.fb(b.data !== a.data ? 1 : 0);
        --t
    };
    e.prototype.pY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.fb(b.data < a.data ? 1 : 0);
        --t
    };
    e.prototype.qY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.fb(b.data <= a.data ? 1 : 0);
        --t
    };
    e.prototype.lY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.fb(b.data > a.data ? 1 : 0);
        --t
    };
    e.prototype.mY = function(b) {
        this.first.get(b);
        var a = g();
        this.second.get(a);
        b.fb(b.data >= a.data ? 1 : 0);
        --t
    };
    e.prototype.jY = function(b) {
        var a = this.Ug.ig();
        ld(a) ? b.M(a) : b.Cb(a)
    };
    Eg = e;
    q.prototype.hi = function() {
        return this.type === Hg.Lh
    };
    q.prototype.ec = function() {
        return this.type === Hg.Nh || this.type === Hg.Lh
    };
    q.prototype.li = function() {
        return this.type === Hg.String
    };
    q.prototype.xi = function() {
        this.hi() || (this.li() && (this.data = parseFloat(this.data)), this.type = Hg.Lh)
    };
    q.prototype.fb = function(b) {
        this.type = Hg.Nh;
        this.data = Math.floor(b)
    };
    q.prototype.M = function(b) {
        this.type = Hg.Lh;
        this.data = b
    };
    q.prototype.Cb = function(b) {
        this.type = Hg.String;
        this.data = b
    };
    q.prototype.P_ = function(b) {
        ld(b) ? (this.type = Hg.Lh, this.data = b) : zd(b) ? (this.type = Hg.String, this.data = b.toString()) : (this.type = Hg.Nh, this.data = 0)
    };
    Dg = q;
    Hg = {
        Nh: 0,
        Lh: 1,
        String: 2
    }
})();

function Tg(e) {
    this.c = e;
    this.cd = []
}
Tg.prototype.lb = function() {
    var e = {},
        g, b, q, p, t, l, a, w;
    e.waits = [];
    var L = e.waits,
        f;
    g = 0;
    for (b = this.cd.length; g < b; g++) {
        l = this.cd[g];
        f = {
            t: l.time,
            st: l.fS,
            s: l.os,
            ev: l.Yh.Aa,
            sm: [],
            sols: {}
        };
        l.Yh.Fd[l.Rc] && (f.act = l.Yh.Fd[l.Rc].Aa);
        q = 0;
        for (p = l.ab.length; q < p; q++) f.sm.push(l.ab[q].Aa);
        for (t in l.Oc)
            if (l.Oc.hasOwnProperty(t)) {
                a = this.c.L[parseInt(t, 10)];
                w = {
                    sa: l.Oc[t].Rk,
                    insts: []
                };
                q = 0;
                for (p = l.Oc[t].jf.length; q < p; q++) w.insts.push(l.Oc[t].jf[q].uid);
                f.sols[a.Aa.toString()] = w
            }
        L.push(f)
    }
    return e
};
Tg.prototype.yb = function(e) {
    e = e.waits;
    var g, b, q, p, t, l, a, w, L, f, n;
    pe(this.cd);
    g = 0;
    for (b = e.length; g < b; g++)
        if (l = e[g], w = this.c.mP[l.ev.toString()]) {
            L = -1;
            q = 0;
            for (p = w.Fd.length; q < p; q++)
                if (w.Fd[q].Aa === l.act) {
                    L = q;
                    break
                }
            if (-1 !== L) {
                a = {
                    Oc: {},
                    ab: [],
                    Bp: !1
                };
                a.time = l.t;
                a.fS = l.st || "";
                a.os = !!l.s;
                a.Yh = w;
                a.Rc = L;
                q = 0;
                for (p = l.sm.length; q < p; q++)(w = this.c.zm(l.sm[q])) && a.ab.push(w);
                for (t in l.sols)
                    if (l.sols.hasOwnProperty(t) && (w = this.c.zm(parseInt(t, 10)))) {
                        L = l.sols[t];
                        f = {
                            Rk: L.sa,
                            jf: []
                        };
                        q = 0;
                        for (p = L.insts.length; q < p; q++)(n = this.c.Be(L.insts[q])) && f.jf.push(n);
                        a.Oc[w.index.toString()] = f
                    }
                this.cd.push(a)
            }
        }
};
(function() {
    function e() {}

    function g() {}

    function b() {}
    var q = Tg.prototype;
    e.prototype.aT = function() {
        return !0
    };
    e.prototype.ht = function() {
        return !0
    };
    e.prototype.YT = function() {
        return !0
    };
    e.prototype.RS = function(b, a, e) {
        return Ig(b, a, e)
    };
    e.prototype.SU = function() {
        var b = this.c.ai().J;
        "undefined" === typeof b.TriggerOnce_lastTick && (b.TriggerOnce_lastTick = -1);
        var a = b.TriggerOnce_lastTick,
            e = this.c.Oe;
        b.TriggerOnce_lastTick = e;
        return this.c.dr || a !== e - 1
    };
    e.prototype.$S = function(b) {
        var a = this.c.ai(),
            e = a.J.Every_lastTime || 0,
            g = this.c.Vb.za;
        "undefined" === typeof a.J.Every_seconds && (a.J.Every_seconds = b);
        var f = a.J.Every_seconds;
        if (g >= e + f) return a.J.Every_lastTime = e + f, g >= a.J.Every_lastTime + .04 && (a.J.Every_lastTime = g), a.J.Every_seconds = b, !0;
        g < e - .1 && (a.J.Every_lastTime = g);
        return !1
    };
    e.prototype.TS = function(b, a, e) {
        return Ig(b.ig(), a, e)
    };
    e.prototype.mT = function(b) {
        return (b = this.c.Rj[b.toLowerCase()]) && b.ci
    };
    e.prototype.ZS = function() {
        var b = this.c.Gb();
        return b.Up ? !1 : !b.kh
    };
    e.prototype.it = function() {
        return !0
    };
    e.prototype.LT = function() {
        return !0
    };
    e.prototype.To = function() {
        return !0
    };
    e.prototype.ot = function() {
        return !0
    };
    e.prototype.ZT = function() {
        return !0
    };
    e.prototype.xl = function() {
        return !0
    };
    e.prototype.MS = function(b, a, e) {
        return Je(xe(b), xe(e)) <= xe(a)
    };
    e.prototype.lT = function(b, a) {
        return Oe(xe(b), xe(a))
    };
    e.prototype.Vs = function(b, a, e) {
        b = He(b);
        a = He(a);
        e = He(e);
        return Oe(e, a) ? Oe(b, a) && !Oe(b, e) : !(!Oe(b, a) && Oe(b, e))
    };
    q.u = new e;
    g.prototype.eT = function(b) {
        this.c.ni || this.c.Mg || (this.c.Mg = b)
    };
    g.prototype.VS = function(b, a, e, g) {
        if (a && b && (a = this.c.wp(b, a, e, g))) {
            this.c.xd++;
            var f;
            this.c.trigger(Object.getPrototypeOf(b.Pa).u.Dg, a);
            if (a.yc)
                for (e = 0, g = a.siblings.length; e < g; e++) f = a.siblings[e], this.c.trigger(Object.getPrototypeOf(f.type.Pa).u.Dg, f);
            this.c.xd--;
            b = b.xa();
            b.Na = !1;
            pe(b.n);
            b.n[0] = a;
            if (a.yc)
                for (e = 0, g = a.siblings.length; e < g; e++) f = a.siblings[e], b = f.type.xa(), b.Na = !1, pe(b.n), b.n[0] = f
        }
    };
    g.prototype.yU = function(b) {
        this.c.na && this.c.na.scale !== b && (this.c.na.scale = b, this.c.na.nP(), this.c.Qa = !0)
    };
    g.prototype.tU = function(b, a) {
        this.c.na.On(b);
        this.c.na.Pn(a)
    };
    g.prototype.GU = function(b, a) {
        0 === b.nl ? ld(a) ? b.Ud(a) : b.Ud(parseFloat(a)) : 1 === b.nl && b.Ud(a.toString())
    };
    g.prototype.KS = function(b, a) {
        0 === b.nl ? ld(a) ? b.Ud(b.ig() + a) : b.Ud(b.ig() + parseFloat(a)) : 1 === b.nl && b.Ud(b.ig() + a.toString())
    };
    g.prototype.PU = function(b, a) {
        0 === b.nl && (ld(a) ? b.Ud(b.ig() - a) : b.Ud(b.ig() - parseFloat(a)))
    };
    g.prototype.FU = function(b) {
        0 > b && (b = 0);
        this.c.Qe = b
    };
    var p = [],
        t = [];
    g.prototype.XU = function(b) {
        if (!(0 > b)) {
            var a, e, g, f = this.c.Gb(),
                n;
            p.length ? n = p.pop() : n = {
                Oc: {},
                ab: []
            };
            n.Bp = !1;
            n.time = this.c.Vb.za +
                b;
            n.fS = "";
            n.os = !1;
            n.Yh = f.rc;
            n.Rc = f.Rc + 1;
            b = 0;
            for (a = this.c.L.length; b < a; b++) g = this.c.L[b], e = g.xa(), e.Na && -1 === f.rc.ab.indexOf(g) || (n.ab.push(g), g = void 0, t.length ? g = t.pop() : g = {
                jf: []
            }, g.Rk = !1, g.Rk = e.Na, qe(g.jf, e.n), n.Oc[b.toString()] = g);
            this.cd.push(n);
            return !0
        }
    };
    g.prototype.pU = function() {
        if (!this.c.ni && !this.c.Mg && this.c.na) {
            this.c.Mg = this.c.na;
            var b, a, e;
            b = 0;
            for (a = this.c.Uf.length; b < a; b++) e = this.c.Uf[b], e.JR(e.Im)
        }
    };
    q.I = new g;
    b.prototype["int"] = function(b, a) {
        zd(a) ? (b.fb(parseInt(a, 10)), isNaN(b.data) && (b.data = 0)) : b.fb(a)
    };
    b.prototype["float"] = function(b, a) {
        zd(a) ? (b.M(parseFloat(a)), isNaN(b.data) && (b.data = 0)) : b.M(a)
    };
    b.prototype.random = function(b, a, e) {
        void 0 === e ? b.M(Math.random() * a) : b.M(Math.random() * (e - a) + a)
    };
    b.prototype.sqrt = function(b, a) {
        b.M(Math.sqrt(a))
    };
    b.prototype.abs = function(b, a) {
        b.M(Math.abs(a))
    };
    b.prototype.round = function(b, a) {
        b.fb(Math.round(a))
    };
    b.prototype.floor = function(b, a) {
        b.fb(Math.floor(a))
    };
    b.prototype.ceil = function(b, a) {
        b.fb(Math.ceil(a))
    };
    b.prototype.sin = function(b, a) {
        b.M(Math.sin(xe(a)))
    };
    b.prototype.cos = function(b, a) {
        b.M(Math.cos(xe(a)))
    };
    b.prototype.tan = function(b, a) {
        b.M(Math.tan(xe(a)))
    };
    b.prototype.asin = function(b, a) {
        b.M(ye(Math.asin(a)))
    };
    b.prototype.acos = function(b, a) {
        b.M(ye(Math.acos(a)))
    };
    b.prototype.atan = function(b, a) {
        b.M(ye(Math.atan(a)))
    };
    b.prototype.exp = function(b, a) {
        b.M(Math.exp(a))
    };
    b.prototype.log10 = function(b, a) {
        b.M(Math.log(a) / Math.LN10)
    };
    b.prototype.max = function(b) {
        var a = arguments[1];
        "number" !== typeof a && (a = 0);
        var e, g, f;
        e = 2;
        for (g = arguments.length; e < g; e++) f = arguments[e], "number" === typeof f && a < f && (a = f);
        b.M(a)
    };
    b.prototype.min = function(b) {
        var a = arguments[1];
        "number" !== typeof a && (a = 0);
        var e, g, f;
        e = 2;
        for (g = arguments.length; e < g; e++) f = arguments[e], "number" === typeof f && a > f && (a = f);
        b.M(a)
    };
    b.prototype.cf = function(b) {
        b.M(this.c.cf)
    };
    b.prototype.Qe = function(b) {
        b.M(this.c.Qe)
    };
    b.prototype.time = function(b) {
        b.M(this.c.Vb.za)
    };
    b.prototype.Oe = function(b) {
        b.fb(this.c.Oe)
    };
    b.prototype.ln = function(b) {
        b.fb(this.c.ln)
    };
    b.prototype.cq = function(b) {
        b.fb(this.c.cq)
    };
    b.prototype.C = function(b, a, e, g, f) {
        b.M(ye(Ie(a, e, g, f)))
    };
    b.prototype.I_ = function(b) {
        b.M(this.c.na.scrollY)
    };
    b.prototype.MZ = function(b, a, e, g) {
        b.M(Se(a, e, g))
    };
    b.prototype.left = function(b, a, e) {
        b.Cb(zd(a) ? a.substr(0, e) : "")
    };
    b.prototype.right = function(b, a, e) {
        b.Cb(zd(a) ? a.substr(a.length - e) : "")
    };
    b.prototype.replace = function(b, a, e, g) {
        zd(a) && zd(e) && zd(g) ? b.Cb(a.replace(new RegExp(ff(e), "gi"), g)) : b.Cb(zd(a) ? a : "")
    };
    b.prototype.trim = function(b, a) {
        b.Cb(zd(a) ? a.trim() : "")
    };
    b.prototype.LZ = function(b) {
        this.c.na ? b.Cb(this.c.na.name) : b.Cb("")
    };
    b.prototype.uP = function(b) {
        var a = Xd(Math.random() * (arguments.length - 1));
        b.P_(arguments[a + 1])
    };
    b.prototype.up = function(b) {
        b.M(this.c.up / 1E3)
    };
    b.prototype.vi = function(b) {
        b.M(this.c.vi)
    };
    q.ka = new b;
    q.B_ = function() {
        var b, a, e, g, f, n, q = this.c.Gb();
        b = 0;
        for (e = this.cd.length; b < e; b++) {
            g = this.cd[b];
            if (-1 === g.time) {
                if (!g.os) continue
            } else if (g.time > this.c.Vb.za) continue;
            q.rc = g.Yh;
            q.Rc = g.Rc;
            q.Sb = 0;
            for (a in g.Oc) g.Oc.hasOwnProperty(a) && (f = this.c.L[parseInt(a, 10)].xa(), n = g.Oc[a], f.Na = n.Rk, qe(f.n, n.jf), f = n, pe(f.jf), t.push(f));
            g.Yh.y_();
            this.c.sp(g.ab);
            g.Bp = !0
        }
        a = b = 0;
        for (e = this.cd.length; b < e; b++) g = this.cd[b], this.cd[a] = g, g.Bp ? ($e(g.Oc), pe(g.ab), p.push(g)) : a++;
        oe(this.cd, a)
    }
})();
(function() {
    yf = function(e, b) {
        var q = e[1],
            p = e[3],
            t = e[4],
            l = e[5],
            a = e[6],
            w = e[7],
            L = e[8];
        b.u || (b.u = {});
        b.I || (b.I = {});
        b.ka || (b.ka = {});
        var f = b.u,
            n = b.I,
            z = b.ka;
        p && (f.Qs = function(a, b) {
            return Ig(this.x, a, b)
        }, f.US = function(a, b) {
            return Ig(this.y, a, b)
        }, f.Ws = function() {
            var a = this.G;
            this.X();
            var b = this.T;
            return !(b.right < a.Ca || b.bottom < a.Ea || b.left > a.Da || b.top > a.Ba)
        }, f.P0 = function() {
            this.X();
            var a = this.T,
                b = this.c.na;
            return 0 > a.right || 0 > a.bottom || a.left > b.width || a.top > b.height
        }, f.b1 = function(a, b, e) {
            var f = this.xa(),
                g = f.td();
            if (!g.length) return !1;
            var l = g[0],
                p = l,
                n = Qe(l.x, l.y, b, e),
                q, t, w;
            q = 1;
            for (t = g.length; q < t; q++)
                if (l = g[q], w = Qe(l.x, l.y, b, e), 0 === a && w < n || 1 === a && w > n) n = w, p = l;
            f.Ek(p);
            return !0
        }, n.It = function(a) {
            this.x !== a && (this.x = a, this.H())
        }, n.Jt = function(a) {
            this.y !== a && (this.y = a, this.H())
        }, n.AU = function(a, b) {
            if (this.x !== a || this.y !== b) this.x = a, this.y = b, this.H()
        }, n.BU = function(a, b) {
            var e = a.SY(this);
            if (e) {
                var f;
                e.Md ? (f = e.Md(b, !0), e = e.Md(b, !1)) : (f = e.x, e = e.y);
                if (this.x !== f || this.y !== e) this.x = f, this.y = e, this.H()
            }
        }, n.U0 = function(a) {
            0 !== a && (this.x += Math.cos(this.C) * a, this.y += Math.sin(this.C) * a, this.H())
        }, n.T0 = function(a, b) {
            0 !== b && (this.x += Math.cos(xe(a)) * b, this.y += Math.sin(xe(a)) * b, this.H())
        }, z.sj = function(a) {
            a.M(this.x)
        }, z.tj = function(a) {
            a.M(this.y)
        }, z.cf = function(a) {
            a.M(this.c.gf(this))
        });
        t && (f.B0 = function(a, b) {
            return Ig(this.width, a, b)
        }, f.y0 = function(a, b) {
            return Ig(this.height, a, b)
        }, n.HU = function(a) {
            this.width !== a && (this.width = a, this.H())
        }, n.xU = function(a) {
            this.height !== a && (this.height = a, this.H())
        }, n.A1 = function(a, b) {
            if (this.width !== a || this.height !== b) this.width = a, this.height = b, this.H()
        }, z.YU = function(a) {
            a.M(this.width)
        }, z.hT = function(a) {
            a.M(this.height)
        }, z.u0 = function(a) {
            this.X();
            a.M(this.T.left)
        }, z.w0 = function(a) {
            this.X();
            a.M(this.T.top)
        }, z.v0 = function(a) {
            this.X();
            a.M(this.T.right)
        }, z.t0 = function(a) {
            this.X();
            a.M(this.T.bottom)
        });
        l && (f.MS = function(a, b) {
            return Je(this.C, xe(b)) <= xe(a)
        }, f.lT = function(a) {
            return Oe(this.C, xe(a))
        }, f.Vs = function(a, b) {
            var e = He(a),
                f = He(b),
                g = Ee(this.C);
            return Oe(f, e) ? Oe(g, e) && !Oe(g, f) : !(!Oe(g, e) && Oe(g, f))
        }, n.Bt = function(a) {
            a = xe(ze(a));
            isNaN(a) || this.C === a || (this.C = a, this.H())
        }, n.qU = function(a) {
            0 === a || isNaN(a) || (this.C += xe(a), this.C = Ee(this.C), this.H())
        }, n.m1 = function(a) {
            0 === a || isNaN(a) || (this.C -= xe(a), this.C = Ee(this.C), this.H())
        }, n.rU = function(a, b) {
            var e = Ke(this.C, xe(b), xe(a));
            isNaN(e) || this.C === e || (this.C = e, this.H())
        }, n.n1 = function(a, b, e) {
            a = Ke(this.C, Math.atan2(e - this.y, b - this.x), xe(a));
            isNaN(a) || this.C === a || (this.C = a, this.H())
        }, n.B1 = function(a, b) {
            var e = Math.atan2(b - this.y, a - this.x);
            isNaN(e) || this.C === e || (this.C = e, this.H())
        }, z.LS = function(a) {
            a.M(Fe(this.C))
        });
        q || (f.SS = function(a, b, e) {
            return Ig(this.Ub[a], b, e)
        }, f.N0 = function(a) {
            return this.Ub[a]
        }, f.c1 = function(a, b) {
            var e = this.xa(),
                f = e.td();
            if (!f.length) return !1;
            var g = f[0],
                l = g,
                p = g.Ub[b],
                n, q, t;
            n = 1;
            for (q = f.length; n < q; n++)
                if (g = f[n], t = g.Ub[b], 0 === a && t < p || 1 === a && t > p) p = t, l = g;
            e.Ek(l);
            return !0
        }, f.a1 = function(a) {
            var b, e, f, g, l;
            if (this.c.ai().fi) {
                l = this.xa();
                if (l.Na)
                    for (l.Na = !1, pe(l.n), pe(l.qa), f = this.n, b = 0, e = f.length; b < e; b++) g = f[b], g.uid === a ? l.qa.push(g) : l.n.push(g);
                else {
                    f = b = 0;
                    for (e = l.n.length; b < e; b++) g = l.n[b], l.n[f] = g, g.uid === a ? l.qa.push(g) : f++;
                    oe(l.n, f)
                }
                this.ae();
                return !!l.n.length
            }
            g = this.c.Be(a);
            if (!g) return !1;
            l = this.xa();
            if (!l.Na && -1 === l.n.indexOf(g)) return !1;
            if (this.W)
                for (a = g.type.jb, b = 0, e = a.length; b < e; b++) {
                    if (a[b] === this) return l.Ek(g), this.ae(), !0
                } else if (g.type === this) return l.Ek(g), this.ae(), !0;
            return !1
        }, f.Dg = function() {
            return !0
        }, f.NT = function() {
            return !0
        }, n.y1 = function(a, b) {
            var e = this.Ub;
            ld(e[a]) ? e[a] = ld(b) ? b : parseFloat(b) : zd(e[a]) && (e[a] = zd(b) ? b : b.toString())
        }, n.JS = function(a, b) {
            var e = this.Ub;
            ld(e[a]) ? e[a] = ld(b) ? e[a] + b : e[a] + parseFloat(b) : zd(e[a]) && (e[a] = zd(b) ? e[a] + b : e[a] + b.toString())
        }, n.OU = function(a, b) {
            var e = this.Ub;
            ld(e[a]) && (e[a] = ld(b) ? e[a] - b : e[a] - parseFloat(b))
        }, n.q1 = function(a, b) {
            this.Ub[a] = b ? 1 : 0
        }, n.J1 = function(a) {
            this.Ub[a] = 1 - this.Ub[a]
        }, n.Ss = function() {
            this.c.Of(this)
        }, n.CT || (n.CT = function(a) {
            var b, e;
            try {
                b = JSON.parse(a)
            } catch (f) {
                return
            }
            this.c.Xm(this, b, !0);
            this.Gd && this.Gd();
            if (this.da)
                for (a = 0, b = this.da.length; a < b; ++a) e = this.da[a], e.Gd && e.Gd()
        }), z.C0 = function(a) {
            var b = a.uh.n.length,
                e, f, g;
            e = 0;
            for (f = this.c.ge.length; e < f; e++) g = this.c.ge[e], a.uh.W ? 0 <= g.type.jb.indexOf(a.uh) && b++ : g.type === a.uh && b++;
            a.fb(b)
        }, z.e1 = function(a) {
            a.fb(a.uh.xa().td().length)
        }, z.L1 = function(a) {
            a.fb(this.uid)
        }, z.M0 = function(a) {
            a.fb(this.Pj())
        }, z.Os || (z.Os = function(a) {
            a.Cb(JSON.stringify(this.c.cs(this, !0)))
        }));
        a && (f.uT = function() {
            return this.visible
        }, n.Ht = function(a) {
            !a !== !this.visible && (this.visible = !!a, this.c.Qa = !0)
        }, f.z0 = function(a, b) {
            return Ig(uf(100 * this.opacity), a, b)
        }, n.zU = function(a) {
            a = a / 100;
            0 > a ? a = 0 : 1 < a && (a = 1);
            a !== this.opacity && (this.opacity = a, this.c.Qa = !0)
        }, z.Opacity = function(a) {
            a.M(uf(100 * this.opacity))
        });
        w && (f.O0 = function(a) {
            return a ? this.G === a : !1
        }, f.d1 = function(a) {
            var b = this.xa(),
                e = b.td();
            if (!e.length) return !1;
            var f = e[0],
                g = f,
                l, p;
            l = 1;
            for (p = e.length; l < p; l++)
                if (f = e[l], 0 === a) {
                    if (f.G.index > g.G.index || f.G.index === g.G.index && f.Ce() > g.Ce()) g = f
                } else if (f.G.index < g.G.index || f.G.index === g.G.index && f.Ce() < g.Ce()) g = f;
            b.Ek(g);
            return !0
        }, n.X0 = function() {
            var a = this.G,
                b = a.n;
            b.length && b[b.length - 1] === this || (a.Qi(this, !1), a.zj(this, !1), this.c.Qa = !0)
        }, n.V0 = function() {
            var a = this.G,
                b = a.n;
            b.length && b[0] === this || (a.Qi(this, !1), a.l_(this), this.c.Qa = !0)
        }, n.W0 = function(a) {
            a && a != this.G && (this.G.Qi(this, !0), this.G = a, a.zj(this, !0), this.c.Qa = !0)
        }, n.P1 = function(a, b) {
            var e = 0 === a;
            if (b) {
                var f = b.TP(this);
                f && f.uid !== this.uid && (this.G.index !== f.G.index && (this.G.Qi(this, !0), this.G = f.G, f.G.zj(this, !0)), this.G.VZ(this, f, e), this.c.Qa = !0)
            }
        }, z.S0 = function(a) {
            a.fb(this.G.VQ)
        }, z.R0 = function(a) {
            a.Cb(this.G.name)
        }, z.O1 = function(a) {
            a.fb(this.Ce())
        });
        L && (n.u1 = function(a, b) {
            if (this.c.K) {
                var e = this.type.lq(b);
                if (!(0 > e)) {
                    var f = 1 === a;
                    this.Rf[e] !== f && (this.Rf[e] = f, this.oe(), this.c.Qa = !0)
                }
            }
        }, n.v1 = function(a, b, e) {
            if (this.c.K) {
                var f = this.type.lq(a);
                0 > f || (a = this.type.ja[f], f = this.ob[f], b = Math.floor(b), 0 > b || b >= f.length || (1 === this.c.K.XY(a.Kb, b) && (e /= 100), f[b] !== e && (f[b] = e, a.Ua && (this.c.Qa = !0))))
            }
        })
    };
    fg = function() {
        this.pp = this.Hl = !0;
        this.type.Bl = !0;
        this.c.Qa = !0;
        var e, b, q = this.mp;
        e = 0;
        for (b = q.length; e < b; ++e) q[e](this);
        this.G.Dd && this.X()
    };
    gg = function(e) {
        e && this.mp.push(e)
    };
    ig = function() {
        if (this.Hl) {
            var e = this.T,
                b = this.Za;
            e.set(this.x, this.y, this.x + this.width, this.y + this.height);
            e.offset(-this.Hc * this.width, -this.Ic * this.height);
            this.C ? (e.offset(-this.x, -this.y), b.UR(e, this.C), b.offset(this.x, this.y), b.oP(e)) : b.Vi(e);
            e.normalize();
            this.Hl = !1;
            this.AS()
        }
    };
    var e = new be(0, 0, 0, 0);
    jg = function() {
        if (this.G.Dd) {
            var g = this.G.oc,
                b = this.T;
            e.set(g.Pc(b.left), g.Qc(b.top), g.Pc(b.right), g.Qc(b.bottom));
            this.Xc.Ij(e) || (this.Xc.right < this.Xc.left ? g.update(this, null, e) : g.update(this, this.Xc, e), this.Xc.Th(e), this.G.le = !0)
        }
    };
    kg = function() {
        if (this.pp && this.Xe) {
            this.X();
            var g = this.type.Rl,
                b = this.T;
            e.set(g.Pc(b.left), g.Qc(b.top), g.Pc(b.right), g.Qc(b.bottom));
            this.$f.Ij(e) || (this.$f.right < this.$f.left ? g.update(this, null, e) : g.update(this, this.$f, e), this.$f.Th(e), this.pp = !1)
        }
    };
    hg = function(e, b) {
        return this.T.Fc(e, b) && this.Za.Fc(e, b) ? this.Pe ? this.D3(e, b) : this.wa && !this.wa.fh() ? (this.wa.Lg(this.width, this.height, this.C), this.wa.Fc(e - this.x, b - this.y)) : !0 : !1
    };
    Rf = function() {
        this.type.xo();
        return this.$g
    };
    lg = function() {
        this.G.Fs();
        return this.te
    };
    mg = function() {
        pe(this.Oa);
        var e, b, q, p = !0;
        e = 0;
        for (b = this.Rf.length; e < b; e++) this.Rf[e] && (q = this.type.ja[e], this.Oa.push(q), q.ke || (p = !1));
        this.BS = !!this.Oa.length;
        this.Bf = p
    };
    Sf = function() {
        return "Inst" + this.wR
    };
    Ff = function(e) {
        if (e && e.yc && e.type != this) {
            var b, q, p;
            b = 0;
            for (q = e.siblings.length; b < q; b++)
                if (p = e.siblings[b], p.type == this) return p
        }
        e = this.xa().td();
        return e.length ? e[0] : null
    };
    Gf = function(e) {
        var b = this.xa().td();
        return b.length ? b[e.Pj() % b.length] : null
    };
    Ef = function() {
        if (this.Zi && !this.W) {
            var e, b;
            e = 0;
            for (b = this.n.length; e < b; e++) this.n[e].$g = e;
            var q = e,
                p = this.c.ge;
            e = 0;
            for (b = p.length; e < b; ++e) p[e].type === this && (p[e].$g = q++);
            this.Zi = !1
        }
    };
    Pf = function(e) {
        if (e < this.n.length) return this.n[e];
        e -= this.n.length;
        var b = this.c.ge,
            q, p;
        q = 0;
        for (p = b.length; q < p; ++q)
            if (b[q].type === this) {
                if (0 === e) return b[q];
                --e
            }
        return null
    };
    Hf = function() {
        return this.Df[this.ye]
    };
    If = function() {
        this.ye++;
        this.ye === this.Df.length ? this.Df.push(new zf(this)) : (this.Df[this.ye].Na = !0, pe(this.Df[this.ye].qa))
    };
    Jf = function() {
        this.ye++;
        this.ye === this.Df.length && this.Df.push(new zf(this));
        var e = this.Df[this.ye],
            b = this.Df[this.ye - 1];
        b.Na ? (e.Na = !0, pe(e.qa)) : (e.Na = !1, qe(e.n, b.n), qe(e.qa, b.qa))
    };
    Kf = function() {
        this.ye--
    };
    Lf = function(e) {
        var b, q, p, t, l, a = 0;
        if (!this.W)
            for (b = 0, q = this.jb.length; b < q; b++)
                for (l = this.jb[b], p = 0, t = l.nb.length; p < t; p++) {
                    if (e === l.nb[p].name) return this.J.lastBehIndex = a, l.nb[p];
                    a++
                }
        b = 0;
        for (q = this.nb.length; b < q; b++) {
            if (e === this.nb[b].name) return this.J.lastBehIndex = a, this.nb[b];
            a++
        }
        return null
    };
    Mf = function(e) {
        return this.xm(e) ? this.J.lastBehIndex : -1
    };
    Nf = function(e) {
        var b, q;
        b = 0;
        for (q = this.ja.length; b < q; b++)
            if (this.ja[b].name === e) return b;
        return -1
    };
    Of = function() {
        if (this.yc && !this.W) {
            var e, b, q, p, t, l, a;
            this.xo();
            l = this.xa();
            var w = l.Na,
                L = (e = this.c.Gb()) && e.rc && e.rc.zd;
            e = 0;
            for (b = this.fd.length; e < b; e++)
                if (t = this.fd[e], t !== this && (t.xo(), a = t.xa(), a.Na = w, !w)) {
                    pe(a.n);
                    q = 0;
                    for (p = l.n.length; q < p; ++q) a.n[q] = t.oq(l.n[q].$g);
                    if (L)
                        for (pe(a.qa), q = 0, p = l.qa.length; q < p; ++q) a.qa[q] = t.oq(l.qa[q].$g)
                }
        }
    };
    Qf = function() {
        return "Type" + this.Aa
    };
    Ig = function(e, b, q) {
        if ("undefined" === typeof e || "undefined" === typeof q) return !1;
        switch (b) {
            case 0:
                return e === q;
            case 1:
                return e !== q;
            case 2:
                return e < q;
            case 3:
                return e <= q;
            case 4:
                return e > q;
            case 5:
                return e >= q;
            default:
                return !1
        }
    }
})();
var Rg = {};

function Wg(e) {
    this.c = e
}
(function() {
    function e(a) {
        0 > a && (a = 0);
        1 < a && (a = 1);
        return Math.log(a) / Math.log(10) * 20
    }

    function g(a) {
        a = a.toLowerCase();
        return nb.hasOwnProperty(a) && nb[a].length ? nb[a][0].sd() : ja.destination
    }

    function b() {
        return ja.createGain ? ja.createGain() : ja.createGainNode()
    }

    function q(a) {
        return ja.createDelay ? ja.createDelay(a) : ja.createDelayNode(a)
    }

    function p(a, b) {
        a.start ? a.start(b || 0) : a.noteOn(b || 0)
    }

    function t(a, b, e, f) {
        a.start ? a.start(f || 0, b) : a.noteGrainOn(f || 0, b, e - b)
    }

    function l(a) {
        try {
            a.stop ? a.stop(0) : a.noteOff(0)
        } catch (b) {}
    }

    function a(a, e, f, g, l, p) {
        this.type = "filter";
        this.qb = [a, e, f, g, l, p];
        this.Ga = b();
        this.fa = b();
        this.fa.gain.value = p;
        this.ea = b();
        this.ea.gain.value = 1 - p;
        this.Fb = ja.createBiquadFilter();
        this.Fb.type = "number" === typeof this.Fb.type ? a : Dd[a];
        this.Fb.frequency.value = e;
        this.Fb.detune && (this.Fb.detune.value = f);
        this.Fb.Q.value = g;
        this.Fb.gain.value = l;
        this.Ga.connect(this.Fb);
        this.Ga.connect(this.ea);
        this.Fb.connect(this.fa)
    }

    function w(a, e, f) {
        this.type = "delay";
        this.qb = [a, e, f];
        this.Ga = b();
        this.fa = b();
        this.fa.gain.value = f;
        this.ea = b();
        this.ea.gain.value = 1 - f;
        this.vk = b();
        this.Ld = q(a);
        this.Ld.delayTime.value = a;
        this.cm = b();
        this.cm.gain.value = e;
        this.Ga.connect(this.vk);
        this.Ga.connect(this.ea);
        this.vk.connect(this.fa);
        this.vk.connect(this.Ld);
        this.Ld.connect(this.cm);
        this.cm.connect(this.vk)
    }

    function L(a, e, f, g) {
        this.type = "convolve";
        this.qb = [e, f, g];
        this.Ga = b();
        this.fa = b();
        this.fa.gain.value = f;
        this.ea = b();
        this.ea.gain.value = 1 - f;
        this.Ng = ja.createConvolver();
        a && (this.Ng.normalize = e, this.Ng.buffer = a);
        this.Ga.connect(this.Ng);
        this.Ga.connect(this.ea);
        this.Ng.connect(this.fa)
    }

    function f(a, e, f, g, l) {
        this.type = "flanger";
        this.qb = [a, e, f, g, l];
        this.Ga = b();
        this.ea = b();
        this.ea.gain.value = 1 - l / 2;
        this.fa = b();
        this.fa.gain.value = l / 2;
        this.mm = b();
        this.mm.gain.value = g;
        this.Ld = q(a + e);
        this.Ld.delayTime.value = a;
        this.gc = ja.createOscillator();
        this.gc.frequency.value = f;
        this.md = b();
        this.md.gain.value = e;
        this.Ga.connect(this.Ld);
        this.Ga.connect(this.ea);
        this.Ld.connect(this.fa);
        this.Ld.connect(this.mm);
        this.mm.connect(this.Ld);
        this.gc.connect(this.md);
        this.md.connect(this.Ld.delayTime);
        p(this.gc)
    }

    function n(a, e, f, g, l, n) {
        this.type = "phaser";
        this.qb = [a, e, f, g, l, n];
        this.Ga = b();
        this.ea = b();
        this.ea.gain.value = 1 - n / 2;
        this.fa = b();
        this.fa.gain.value = n / 2;
        this.Fb = ja.createBiquadFilter();
        this.Fb.type = "number" === typeof this.Fb.type ? 7 : "allpass";
        this.Fb.frequency.value = a;
        this.Fb.detune && (this.Fb.detune.value = e);
        this.Fb.Q.value = f;
        this.gc = ja.createOscillator();
        this.gc.frequency.value = l;
        this.md = b();
        this.md.gain.value = g;
        this.Ga.connect(this.Fb);
        this.Ga.connect(this.ea);
        this.Fb.connect(this.fa);
        this.gc.connect(this.md);
        this.md.connect(this.Fb.frequency);
        p(this.gc)
    }

    function z(a) {
        this.type = "gain";
        this.qb = [a];
        this.Ma = b();
        this.Ma.gain.value = a
    }

    function u(a, e) {
        this.type = "tremolo";
        this.qb = [a, e];
        this.Ma = b();
        this.Ma.gain.value = 1 - e / 2;
        this.gc = ja.createOscillator();
        this.gc.frequency.value = a;
        this.md = b();
        this.md.gain.value = e / 2;
        this.gc.connect(this.md);
        this.md.connect(this.Ma.gain);
        p(this.gc)
    }

    function J(a, e) {
        this.type = "ringmod";
        this.qb = [a, e];
        this.Ga = b();
        this.fa = b();
        this.fa.gain.value = e;
        this.ea = b();
        this.ea.gain.value = 1 - e;
        this.Qk = b();
        this.Qk.gain.value = 0;
        this.gc = ja.createOscillator();
        this.gc.frequency.value = a;
        this.gc.connect(this.Qk.gain);
        p(this.gc);
        this.Ga.connect(this.Qk);
        this.Ga.connect(this.ea);
        this.Qk.connect(this.fa)
    }

    function fa(a, e, f, g, l) {
        this.type = "distortion";
        this.qb = [a, e, f, g, l];
        this.Ga = b();
        this.En = b();
        this.Dn = b();
        this.J_(f, Math.pow(10, g / 20));
        this.fa = b();
        this.fa.gain.value = l;
        this.ea = b();
        this.ea.gain.value = 1 - l;
        this.Eo = ja.createWaveShaper();
        this.Zl = new Float32Array(65536);
        this.IY(a, e);
        this.Eo.Zl = this.Zl;
        this.Ga.connect(this.En);
        this.Ga.connect(this.ea);
        this.En.connect(this.Eo);
        this.Eo.connect(this.Dn);
        this.Dn.connect(this.fa)
    }

    function ca(a, b, e, f, g) {
        this.type = "compressor";
        this.qb = [a, b, e, f, g];
        this.Ma = ja.createDynamicsCompressor();
        try {
            this.Ma.threshold.value = a, this.Ma.knee.value = b, this.Ma.ratio.value = e, this.Ma.attack.value = f, this.Ma.release.value = g
        } catch (l) {}
    }

    function A(a, b) {
        this.type = "analyser";
        this.qb = [a, b];
        this.Ma = ja.createAnalyser();
        this.Ma.fftSize = a;
        this.Ma.smoothingTimeConstant = b;
        this.GY = new Float32Array(this.Ma.frequencyBinCount);
        this.dS = new Uint8Array(a);
        this.Dk = 0
    }

    function ya() {
        this.Ra = null;
        this.Ym = 0
    }

    function Ba(a, e) {
        this.src = a;
        this.ya = gb;
        this.Pd = e;
        this.Al = !1;
        var f = this;
        this.Ai = this.Ji = null;
        this.Ki = [];
        this.Qn = 0;
        this.Ls = this.km = this.kS = this.yn = !1;
        1 === gb && e && !Gc && (this.ya = 0, this.Ji = b());
        this.Ue = this.Ia = null;
        var g;
        switch (this.ya) {
            case 0:
                this.Ia = new Audio;
                this.Ia.crossOrigin = "anonymous";
                this.Ia.addEventListener("canplaythrough", function() {
                    f.Ls = !0
                });
                1 === gb && ja.createMediaElementSource && !/wiiu/i.test(navigator.userAgent) && (this.kS = !0, this.Ia.addEventListener("canplay", function() {
                    !f.Ai && f.Ia && (f.Ai = ja.createMediaElementSource(f.Ia), f.Ai.connect(f.Ji))
                }));
                this.Ia.autoplay = !1;
                this.Ia.n3 = "auto";
                this.Ia.src = a;
                break;
            case 1:
                ta.Om ? ta.KP(a, function(a) {
                    f.Ue = a;
                    f.AP()
                }, function() {
                    f.km = !0
                }) : (g = new XMLHttpRequest, g.open("GET", a, !0), g.responseType = "arraybuffer", g.onload = function() {
                    f.Ue = g.response;
                    f.AP()
                }, g.onerror = function() {
                    f.km = !0
                }, g.send());
                break;
            case 2:
                this.Ia = !0;
                break;
            case 3:
                this.Ia = !0
        }
    }

    function F(a, e) {
        var f = this;
        this.tag = e;
        this.$c = this.Ae = !0;
        this.src = a.src;
        this.buffer = a;
        this.ya = gb;
        this.Pd = a.Pd;
        this.playbackRate = 1;
        this.ei = !0;
        this.hd = this.Cd = !1;
        this.Yc = 0;
        this.ck = this.ji = this.De = !1;
        this.volume = 1;
        this.Jr = function(a) {
            if (!f.hd && !f.Cd) {
                var b = this;
                b || (b = a.target);
                b === f.zl && (f.ei = !0, f.$c = !0, cb = f.tag, ta.trigger(Wg.prototype.u.wl, Ya))
            }
        };
        this.zl = null;
        this.gi = 1 === Sa && !this.Pd || 2 === Sa;
        this.Di = 1;
        this.startTime = this.gi ? ta.Vb.za : ta.If.za;
        this.Jb = this.Tb = null;
        this.Fe = !1;
        this.mc = null;
        this.jR = this.iR = this.hR = this.gR = this.lR = this.kR = 0;
        this.F = null;
        var l = !1;
        1 !== this.ya || 0 !== this.buffer.ya || this.buffer.kS || (this.ya = 0);
        switch (this.ya) {
            case 0:
                this.Pd ? (this.F = a.Ia, l = !a.Al, a.Al = !0) : (this.F = new Audio, this.F.crossOrigin = "anonymous", this.F.autoplay = !1, this.F.src = a.Ia.src, l = !0);
                l && this.F.addEventListener("ended", function() {
                    cb = f.tag;
                    f.$c = !0;
                    ta.trigger(Wg.prototype.u.wl, Ya)
                });
                break;
            case 1:
                this.Tb = b();
                this.Tb.connect(g(e));
                1 === this.buffer.ya ? a.Ia && (this.F = ja.createBufferSource(), this.F.buffer = a.Ia, this.F.connect(this.Tb)) : (this.F = this.buffer.Ia, this.buffer.Ji.connect(this.Tb), this.buffer.Al || (this.buffer.Al = !0, this.buffer.Ia.addEventListener("ended", function() {
                    cb = f.tag;
                    f.$c = !0;
                    ta.trigger(Wg.prototype.u.wl, Ya)
                })));
                break;
            case 2:
                this.F = new window.Media(fb + this.src, null, null, function(a) {
                    a === window.Media.MEDIA_STOPPED && (f.ei = !0, f.$c = !0, cb = f.tag, ta.trigger(Wg.prototype.u.wl, Ya))
                });
                break;
            case 3:
                this.F = !0
        }
    }

    function P(a, b) {
        var e = a.dh() ? 1 : 0,
            f = b.dh() ? 1 : 0;
        return e === f ? 0 : e < f ? 1 : -1
    }

    function ha(a, b) {
        pe(Ib);
        if (a.length) {
            var e, f, g;
            e = 0;
            for (f = ga.length; e < f; e++) g = ga[e], vf(a, g.tag) && Ib.push(g);
            b && Ib.sort(P)
        } else ua && !ua.Zg() && (pe(Ib), Ib[0] = ua)
    }

    function ea(a, b) {
        nb.hasOwnProperty(a) ? nb[a].push(b) : nb[a] = [b];
        var e, f, g, l, p = ja.destination;
        if (nb.hasOwnProperty(a) && (g = nb[a], g.length))
            for (p = g[0].sd(), e = 0, f = g.length; e < f; e++) l = g[e], e + 1 === f ? l.Id(ja.destination) : l.Id(g[e + 1].sd());
        ha(a);
        e = 0;
        for (f = Ib.length; e < f; e++) Ib[e].s_(p);
        tc && Ad === a && (tc.disconnect(), tc.connect(p))
    }

    function pa() {}

    function na() {}

    function Pa() {}
    var jb = Wg.prototype;
    jb.aa = function(a) {
        this.Pa = a;
        this.c = a.c
    };
    jb.aa.prototype.P = function() {};
    var ta = null,
        Ya = null,
        cb = "",
        fb = "",
        gb = 0,
        ja = null,
        Ea = [],
        ga = [],
        ua = null,
        Za = !1,
        Sa = 0,
        Qa = !1,
        U = 1,
        da = 0,
        Ma = 0,
        Vb = !1,
        Yc = 1,
        Ge = 1,
        of = 10,
        nf = 1E4,
        C = 1,
        tc = null,
        Ad = "",
        kb = !1,
        id = [],
        Gc = !1,
        nb = {},
        Dd = "lowpass highpass bandpass lowshelf highshelf peaking notch allpass".split(" ");
    a.prototype.Id = function(a) {
        this.fa.disconnect();
        this.fa.connect(a);
        this.ea.disconnect();
        this.ea.connect(a)
    };
    a.prototype.remove = function() {
        this.Ga.disconnect();
        this.Fb.disconnect();
        this.fa.disconnect();
        this.ea.disconnect()
    };
    a.prototype.sd = function() {
        return this.Ga
    };
    w.prototype.Id = function(a) {
        this.fa.disconnect();
        this.fa.connect(a);
        this.ea.disconnect();
        this.ea.connect(a)
    };
    w.prototype.remove = function() {
        this.Ga.disconnect();
        this.vk.disconnect();
        this.Ld.disconnect();
        this.cm.disconnect();
        this.fa.disconnect();
        this.ea.disconnect()
    };
    w.prototype.sd = function() {
        return this.Ga
    };
    L.prototype.Id = function(a) {
        this.fa.disconnect();
        this.fa.connect(a);
        this.ea.disconnect();
        this.ea.connect(a)
    };
    L.prototype.remove = function() {
        this.Ga.disconnect();
        this.Ng.disconnect();
        this.fa.disconnect();
        this.ea.disconnect()
    };
    L.prototype.sd = function() {
        return this.Ga
    };
    f.prototype.Id = function(a) {
        this.ea.disconnect();
        this.ea.connect(a);
        this.fa.disconnect();
        this.fa.connect(a)
    };
    f.prototype.remove = function() {
        this.Ga.disconnect();
        this.Ld.disconnect();
        this.gc.disconnect();
        this.md.disconnect();
        this.ea.disconnect();
        this.fa.disconnect();
        this.mm.disconnect()
    };
    f.prototype.sd = function() {
        return this.Ga
    };
    n.prototype.Id = function(a) {
        this.ea.disconnect();
        this.ea.connect(a);
        this.fa.disconnect();
        this.fa.connect(a)
    };
    n.prototype.remove = function() {
        this.Ga.disconnect();
        this.Fb.disconnect();
        this.gc.disconnect();
        this.md.disconnect();
        this.ea.disconnect();
        this.fa.disconnect()
    };
    n.prototype.sd = function() {
        return this.Ga
    };
    z.prototype.Id = function(a) {
        this.Ma.disconnect();
        this.Ma.connect(a)
    };
    z.prototype.remove = function() {
        this.Ma.disconnect()
    };
    z.prototype.sd = function() {
        return this.Ma
    };
    u.prototype.Id = function(a) {
        this.Ma.disconnect();
        this.Ma.connect(a)
    };
    u.prototype.remove = function() {
        this.gc.disconnect();
        this.md.disconnect();
        this.Ma.disconnect()
    };
    u.prototype.sd = function() {
        return this.Ma
    };
    J.prototype.Id = function(a) {
        this.fa.disconnect();
        this.fa.connect(a);
        this.ea.disconnect();
        this.ea.connect(a)
    };
    J.prototype.remove = function() {
        this.gc.disconnect();
        this.Qk.disconnect();
        this.Ga.disconnect();
        this.fa.disconnect();
        this.ea.disconnect()
    };
    J.prototype.sd = function() {
        return this.Ga
    };
    fa.prototype.J_ = function(a, b) {
        .01 > a && (a = .01);
        this.En.gain.value = a;
        this.Dn.gain.value = Math.pow(1 / a, .6) * b
    };
    fa.prototype.shape = function(a, b, e) {
        var f = 1.05 * e * b - b;
        e = 0 > a ? -1 : 1;
        a = 0 > a ? -a : a;
        b = a < b ? a : b + f * (1 - Math.exp(-(1 / f) * (a - b)));
        return b * e
    };
    fa.prototype.IY = function(a, b) {
        for (var e = Math.pow(10, a / 20), f = Math.pow(10, b / 20), g = 0, l = 0; 32768 > l; ++l) g = l / 32768, g = this.shape(g, e, f), this.Zl[32768 + l] = g, this.Zl[32768 - l - 1] = -g
    };
    fa.prototype.Id = function(a) {
        this.fa.disconnect();
        this.fa.connect(a);
        this.ea.disconnect();
        this.ea.connect(a)
    };
    fa.prototype.remove = function() {
        this.Ga.disconnect();
        this.En.disconnect();
        this.Eo.disconnect();
        this.Dn.disconnect();
        this.fa.disconnect();
        this.ea.disconnect()
    };
    fa.prototype.sd = function() {
        return this.Ga
    };
    ca.prototype.Id = function(a) {
        this.Ma.disconnect();
        this.Ma.connect(a)
    };
    ca.prototype.remove = function() {
        this.Ma.disconnect()
    };
    ca.prototype.sd = function() {
        return this.Ma
    };
    A.prototype.Ta = function() {
        this.Ma.getFloatFrequencyData(this.GY);
        this.Ma.getByteTimeDomainData(this.dS);
        for (var a = this.Ma.fftSize, b = 0, f = this.Dk = 0, g = 0; b < a; b++) g = (this.dS[b] - 128) / 128, 0 > g && (g = -g), this.Dk < g && (this.Dk = g), f += g * g;
        this.Dk = e(this.Dk);
        e(Math.sqrt(f / a))
    };
    A.prototype.Id = function(a) {
        this.Ma.disconnect();
        this.Ma.connect(a)
    };
    A.prototype.remove = function() {
        this.Ma.disconnect()
    };
    A.prototype.sd = function() {
        return this.Ma
    };
    ya.prototype.Sk = function(a) {
        this.Ra = a
    };
    ya.prototype.Em = function() {
        return !!this.Ra
    };
    ya.prototype.Ta = function() {};
    var uc = !1;
    Ba.prototype.t_ = function() {
        var a, b, e, f;
        e = a = 0;
        for (b = ga.length; a < b; ++a) f = ga[a], ga[e] = f, f.buffer === this ? f.stop() : ++e;
        ga.length = e;
        this.Ai && (this.Ai.disconnect(), this.Ai = null);
        this.Ji && (this.Ji.disconnect(), this.Ji = null);
        this.Ue = this.Ia = null
    };
    Ba.prototype.AP = function() {
        if (!this.Ia && this.Ue) {
            var a = this;
            if (ja.decodeAudioData) ja.decodeAudioData(this.Ue, function(b) {
                a.Ia = b;
                a.Ue = null;
                var e, f, g;
                if (Xc(a.An) || Qa) Xc(a.Ul) || (e = a.Ul.Ng, e.normalize = a.UQ, e.buffer = b);
                else if (a.Ki.length) {
                    e = 0;
                    for (f = a.Ki.length; e < f; e++) {
                        b = a.Ki[e];
                        g = new F(a, b.nS);
                        g.hs(!0);
                        if ("undefined" !== typeof b.WQ && (b.Ra = ta.Be(b.WQ), !b.Ra)) continue;
                        if (b.Ra) {
                            var l = Pe(b.Ra.x, b.Ra.y, -b.Ra.G.kc(), da, Ma, !0),
                                p = Pe(b.Ra.x, b.Ra.y, -b.Ra.G.kc(), da, Ma, !1);
                            g.gs(l, p, ye(b.Ra.C - b.Ra.G.kc()), b.Fm, b.jn, b.Br);
                            g.Sk(b.Ra)
                        } else g.gs(b.x, b.y, b.Eg, b.Fm, b.jn, b.Br);
                        g.play(a.or, a.Js, a.Qn);
                        a.yn && g.pause();
                        ga.push(g)
                    }
                    pe(a.Ki)
                } else g = new F(a, a.An || ""), g.play(a.or, a.Js, a.Qn), a.yn && g.pause(), ga.push(g)
            }, function() {
                a.km = !0
            });
            else if (this.Ia = ja.createBuffer(this.Ue, !1), this.Ue = null, Xc(this.An) || Qa) Xc(this.Ul) || (b = this.Ul.Ng, b.normalize = this.UQ, b.buffer = this.Ia);
            else {
                var b = new F(this, this.An);
                b.play(this.or, this.Js, this.Qn);
                this.yn && b.pause();
                ga.push(b)
            }
        }
    };
    Ba.prototype.hQ = function() {
        switch (this.ya) {
            case 0:
                var a = 4 <= this.Ia.readyState;
                a && (this.Ls = !0);
                return a || this.Ls;
            case 1:
                return !!this.Ue || !!this.Ia;
            case 2:
                return !0;
            case 3:
                return !0
        }
        return !1
    };
    Ba.prototype.zZ = function() {
        switch (this.ya) {
            case 0:
                return this.hQ();
            case 1:
                return !!this.Ia;
            case 2:
                return !0;
            case 3:
                return !0
        }
        return !1
    };
    Ba.prototype.oZ = function() {
        switch (this.ya) {
            case 0:
                return !!this.Ia.error;
            case 1:
                return this.km
        }
        return !1
    };
    F.prototype.Zg = function() {
        switch (this.ya) {
            case 0:
                return this.F.ended;
            case 1:
                return 1 === this.buffer.ya ? !this.Ae && !this.$c && this.F.loop || this.hd ? !1 : this.ei : this.F.ended;
            case 2:
                return this.ei;
            case 3:
                !0
        }
        return !0
    };
    F.prototype.TW = function() {
        return this.Ae || this.$c ? !0 : this.Zg()
    };
    F.prototype.hs = function(a) {
        1 === gb && (!this.Fe && a ? this.Tb && (this.Jb || (this.Jb = ja.createPanner(), this.Jb.panningModel = "number" === typeof this.Jb.panningModel ? Yc : ["equalpower", "HRTF", "soundfield"][Yc], this.Jb.distanceModel = "number" === typeof this.Jb.distanceModel ? Ge : ["linear", "inverse", "exponential"][Ge], this.Jb.refDistance = of , this.Jb.maxDistance = nf, this.Jb.rolloffFactor = C), this.Tb.disconnect(), this.Tb.connect(this.Jb), this.Jb.connect(g(this.tag)), this.Fe = !0) : this.Fe && !a && this.Tb && (this.Jb.disconnect(), this.Tb.disconnect(), this.Tb.connect(g(this.tag)), this.Fe = !1))
    };
    F.prototype.gs = function(a, b, e, f, g, l) {
        this.Fe && 1 === gb && (this.Jb.setPosition(a, b, 0), this.Jb.setOrientation(Math.cos(xe(e)), Math.sin(xe(e)), 0), this.Jb.coneInnerAngle = f, this.Jb.coneOuterAngle = g, this.Jb.coneOuterGain = l, this.kR = a, this.lR = b, this.gR = e, this.hR = f, this.iR = g, this.jR = l)
    };
    F.prototype.Sk = function(a) {
        this.Fe && 1 === gb && (this.mc || (this.mc = new ya), this.mc.Sk(a))
    };
    F.prototype.Ta = function(a) {
        if (this.Fe && 1 === gb && this.mc && this.mc.Em() && this.dh()) {
            this.mc.Ta(a);
            a = this.mc.Ra;
            var b = Pe(a.x, a.y, -a.G.kc(), da, Ma, !0),
                e = Pe(a.x, a.y, -a.G.kc(), da, Ma, !1);
            this.Jb.setPosition(b, e, 0);
            b = 0;
            "undefined" !== typeof this.mc.Ra.C && (b = a.C - a.G.kc(), this.Jb.setOrientation(Math.cos(b), Math.sin(b), 0))
        }
    };
    F.prototype.play = function(a, b, e, f) {
        var g = this.F;
        this.De = a;
        this.volume = b;
        e = e || 0;
        f = f || 0;
        switch (this.ya) {
            case 0:
                1 !== g.playbackRate && (g.playbackRate = 1);
                g.volume !== b * U && (g.volume = b * U);
                g.loop !== a && (g.loop = a);
                g.muted && (g.muted = !1);
                if (g.currentTime !== e) try {
                    g.currentTime = e
                } catch (l) {}
                if (this.Pd && kb && !ta.xb) id.push(this);
                else try {
                    this.F.play()
                } catch (n) {
                    console && console.log && console.log("[C2] WARNING: exception trying to play audio '" + this.buffer.src + "': ", n)
                }
                break;
            case 1:
                this.muted = !1;
                this.Di = 1;
                if (1 === this.buffer.ya) this.Tb.gain.value = b * U, this.Ae || (this.F = ja.createBufferSource(), this.F.buffer = this.buffer.Ia, this.F.connect(this.Tb)), this.F.onended = this.Jr, this.zl = this.F, this.F.loop = a, this.ei = !1, 0 === e ? p(this.F, f) : t(this.F, e, this.hg(), f);
                else {
                    1 !== g.playbackRate && (g.playbackRate = 1);
                    g.loop !== a && (g.loop = a);
                    g.volume = b * U;
                    if (g.currentTime !== e) try {
                        g.currentTime = e
                    } catch (q) {}
                    this.Pd && kb && !ta.xb ? id.push(this) : g.play()
                }
                break;
            case 2:
                (!this.Ae && this.$c || 0 !== e) && g.seekTo(e);
                g.play();
                this.ei = !1;
                break;
            case 3:
                ta.xc ? AppMobi.context.playSound(this.src, a) : AppMobi.player.playSound(this.src, a)
        }
        this.playbackRate = 1;
        this.startTime = (this.gi ? ta.Vb.za : ta.If.za) - e;
        this.hd = this.$c = this.Ae = !1
    };
    F.prototype.stop = function() {
        switch (this.ya) {
            case 0:
                this.F.paused || this.F.pause();
                break;
            case 1:
                1 === this.buffer.ya ? l(this.F) : this.F.paused || this.F.pause();
                break;
            case 2:
                this.F.stop();
                break;
            case 3:
                ta.xc && AppMobi.context.stopSound(this.src)
        }
        this.$c = !0;
        this.hd = !1
    };
    F.prototype.pause = function() {
        if (!(this.Ae || this.$c || this.Zg() || this.hd)) {
            switch (this.ya) {
                case 0:
                    this.F.paused || this.F.pause();
                    break;
                case 1:
                    1 === this.buffer.ya ? (this.Yc = this.pq(!0), this.De && (this.Yc = this.Yc % this.hg()), this.hd = !0, l(this.F)) : this.F.paused || this.F.pause();
                    break;
                case 2:
                    this.F.pause();
                    break;
                case 3:
                    ta.xc && AppMobi.context.stopSound(this.src)
            }
            this.hd = !0
        }
    };
    F.prototype.x_ = function() {
        if (!(this.Ae || this.$c || this.Zg()) && this.hd) {
            switch (this.ya) {
                case 0:
                    this.F.play();
                    break;
                case 1:
                    1 === this.buffer.ya ? (this.F = ja.createBufferSource(), this.F.buffer = this.buffer.Ia, this.F.connect(this.Tb), this.F.onended = this.Jr, this.zl = this.F, this.F.loop = this.De, this.Tb.gain.value = U * this.volume * this.Di, this.yo(), this.startTime = (this.gi ? ta.Vb.za : ta.If.za) -
                        this.Yc / (this.playbackRate || .001), t(this.F, this.Yc, this.hg())) : this.F.play();
                    break;
                case 2:
                    this.F.play();
                    break;
                case 3:
                    ta.xc && AppMobi.context.resumeSound(this.src)
            }
            this.hd = !1
        }
    };
    F.prototype.seek = function(a) {
        if (!(this.Ae || this.$c || this.Zg())) switch (this.ya) {
            case 0:
                try {
                    this.F.currentTime = a
                } catch (b) {}
                break;
            case 1:
                if (1 === this.buffer.ya) this.hd ? this.Yc = a : (this.pause(), this.Yc = a, this.x_());
                else try {
                    this.F.currentTime = a
                } catch (e) {}
                break;
            case 3:
                ta.xc && AppMobi.context.seekSound(this.src, a)
        }
    };
    F.prototype.s_ = function(a) {
        1 === this.ya && (this.Fe ? (this.Jb.disconnect(), this.Jb.connect(a)) : (this.Tb.disconnect(), this.Tb.connect(a)))
    };
    F.prototype.hg = function() {
        var a = 0;
        switch (this.ya) {
            case 0:
                "undefined" !== typeof this.F.duration && (a = this.F.duration);
                break;
            case 1:
                a = this.buffer.Ia.duration;
                break;
            case 2:
                a = this.F.getDuration();
                break;
            case 3:
                ta.xc && (a = AppMobi.context.getDurationSound(this.src))
        }
        return a
    };
    F.prototype.pq = function(a) {
        var b = this.hg(),
            e = 0;
        switch (this.ya) {
            case 0:
                "undefined" !== typeof this.F.currentTime && (e = this.F.currentTime);
                break;
            case 1:
                if (1 === this.buffer.ya) {
                    if (this.hd) return this.Yc;
                    e = (this.gi ? ta.Vb.za : ta.If.za) - this.startTime
                } else "undefined" !== typeof this.F.currentTime && (e = this.F.currentTime);
                break;
            case 3:
                ta.xc && (e = AppMobi.context.getPlaybackTimeSound(this.src))
        }
        a && (e *= this.playbackRate);
        !this.De && e > b && (e = b);
        return e
    };
    F.prototype.dh = function() {
        return !this.hd && !this.Ae && !this.$c && !this.Zg()
    };
    F.prototype.Q_ = function() {
        return !this.Ae && !this.$c && !this.Zg()
    };
    F.prototype.e0 = function() {
        var a = this.volume * U;
        isFinite(a) || (a = 0);
        switch (this.ya) {
            case 0:
                "undefined" !== typeof this.F.volume && this.F.volume !== a && (this.F.volume = a);
                break;
            case 1:
                1 === this.buffer.ya ? this.Tb.gain.value = a * this.Di : "undefined" !== typeof this.F.volume && this.F.volume !== a && (this.F.volume = a)
        }
    };
    F.prototype.hm = function(a) {
        switch (this.ya) {
            case 0:
                this.F.muted !== !!a && (this.F.muted = !!a);
                break;
            case 1:
                1 === this.buffer.ya ? (this.Di = a ? 0 : 1, this.Tb.gain.value = U * this.volume * this.Di) : this.F.muted !== !!a && (this.F.muted = !!a)
        }
    };
    F.prototype.K_ = function() {
        this.ji = !0;
        this.hm(this.ji || this.ck)
    };
    F.prototype.Tn = function(a) {
        this.ck = !!a;
        this.hm(this.ji || this.ck)
    };
    F.prototype.yo = function() {
        var a = this.playbackRate;
        this.gi && (a *= ta.Qe);
        switch (this.ya) {
            case 0:
                this.F.playbackRate !== a && (this.F.playbackRate = a);
                break;
            case 1:
                1 === this.buffer.ya ? this.F.playbackRate.value !== a && (this.F.playbackRate.value = a) : this.F.playbackRate !== a && (this.F.playbackRate = a)
        }
    };
    F.prototype.N_ = function(a) {
        switch (this.ya) {
            case 0:
                a ? this.dh() ? (this.Cd = !0, this.F.pause()) : this.Cd = !1 : this.Cd && (this.F.play(), this.Cd = !1);
                break;
            case 1:
                a ? this.dh() ? (this.Cd = !0, 1 === this.buffer.ya ? (this.Yc = this.pq(!0), this.De && (this.Yc = this.Yc % this.hg()), l(this.F)) : this.F.pause()) : this.Cd = !1 : this.Cd && (1 === this.buffer.ya ? (this.F = ja.createBufferSource(), this.F.buffer = this.buffer.Ia, this.F.connect(this.Tb), this.F.onended = this.Jr, this.zl = this.F, this.F.loop = this.De, this.Tb.gain.value = U * this.volume * this.Di, this.yo(), this.startTime = (this.gi ? ta.Vb.za : ta.If.za) - this.Yc / (this.playbackRate || .001), t(this.F, this.Yc, this.hg())) : this.F.play(), this.Cd = !1);
                break;
            case 2:
                a ? this.dh() ? (this.F.pause(), this.Cd = !0) : this.Cd = !1 : this.Cd && (this.Cd = !1, this.F.play())
        }
    };
    jb.Z = function(a) {
        function b() {
            if (!Vb && ja.createBuffer) {
                var a = ja.createBuffer(1, 220, 22050),
                    e = ja.createBufferSource();
                e.buffer = a;
                e.connect(ja.destination);
                p(e)
            }
        }
        this.type = a;
        ta = this.c = a.c;
        Ya = this;
        this.jd = null;
        this.lk = -600;
        this.c.Om && (Gc = !0);
        !(this.c.mi || this.c.Jm && (this.c.Jq || this.c.Km)) || this.c.Mm || this.c.cb || this.c.fQ || Gc || (kb = !0);
        ja = null;
        "undefined" !== typeof AudioContext ? (gb = 1, ja = new AudioContext) : "undefined" !== typeof webkitAudioContext && (gb = 1, ja = new webkitAudioContext);
        this.c.mi && ja && (ja.close && ja.close(), "undefined" !== typeof AudioContext ? ja = new AudioContext : "undefined" !== typeof webkitAudioContext && (ja = new webkitAudioContext));
        kb ? document.addEventListener("touchend", function() {
            !uc && ja && (b(), uc = !0);
            var a, e, f;
            if (kb) {
                if (!Qa)
                    for (a = 0, e = id.length; a < e; ++a) f = id[a], f.$c || f.hd || f.F.play();
                pe(id)
            }
        }, !0) : Gc && document.addEventListener("touchend", function() {
            !uc && ja && (b(), uc = !0)
        }, !0);
        1 !== gb && (this.c.gd && "undefined" !== typeof window.Media ? gb = 2 : this.c.gQ && (gb = 3));
        2 === gb && (fb = location.href, a = fb.lastIndexOf("/"), -1 < a && (fb = fb.substr(0, a + 1)), fb = fb.replace("file://", ""));
        if (this.c.AZ && this.c.BZ && "undefined" === typeof Audio) alert("It looks like you're using Safari for Windows without Quicktime.  Audio cannot be played until Quicktime is installed."), this.c.Of(this);
        else {
            if (this.c.xc) Za = this.c.Jm;
            else try {
                Za = !!(new Audio).canPlayType('audio/ogg; codecs="vorbis"')
            } catch (e) {
                Za = !1
            }
            this.c.hl(this)
        }
    };
    var Eb = jb.Z.prototype;
    Eb.P = function() {
        this.c.Ph = this;
        Sa = this.D[0];
        this.Af = this.D[1];
        this.f_ = 0 !== this.D[2];
        this.RQ = 0;
        Yc = this.D[3];
        Ge = this.D[4];
        this.lk = -this.D[5]; of = this.D[6];
        nf = this.D[7];
        C = this.D[8];
        this.jd = new ya;
        var a = this.c.ca || this.c.width,
            b = this.c.ba || this.c.height;
        1 === gb && (ja.listener.setPosition(a / 2, b / 2, this.lk), ja.listener.setOrientation(0, 0, 1, 0, -1, 0), window.c2OnAudioMicStream = function(a, b) {
            tc && tc.disconnect();
            Ad = b.toLowerCase();
            tc = ja.createMediaStreamSource(a);
            tc.connect(g(Ad))
        });
        this.c.$O(function(a) {
            Ya.a_(a)
        });
        var e = this;
        this.c.uj(function(a) {
            e.vh(a)
        })
    };
    Eb.vh = function(a) {
        var b, e, f;
        b = 0;
        for (e = ga.length; b < e; b++) f = ga[b], f.mc && f.mc.Ra === a && (f.mc.Ra = null, f.Fe && f.dh() && f.De && f.stop());
        this.jd.Ra === a && (this.jd.Ra = null)
    };
    Eb.lb = function() {
        var a = {
                silent: Qa,
                masterVolume: U,
                listenerZ: this.lk,
                listenerUid: this.jd.Em() ? this.jd.Ra.uid : -1,
                playing: [],
                effects: {}
            },
            b = a.playing,
            e, f, g, l, p, n;
        e = 0;
        for (f = ga.length; e < f; e++) g = ga[e], !g.Q_() || 3 === this.Af || g.Pd && 1 === this.Af || !g.Pd && 2 === this.Af || (l = g.pq(), g.De && (l = l % g.hg()), l = {
            tag: g.tag,
            buffersrc: g.buffer.src,
            is_music: g.Pd,
            playbackTime: l,
            volume: g.volume,
            looping: g.De,
            muted: g.ji,
            playbackRate: g.playbackRate,
            paused: g.hd,
            resume_position: g.Yc
        }, g.Fe && (l.pan = {}, n = l.pan, g.mc && g.mc.Em() ? n.objUid = g.mc.Ra.uid : (n.x = g.kR, n.y = g.lR, n.a = g.gR), n.ia = g.hR, n.oa = g.iR, n.og = g.jR), b.push(l));
        b = a.effects;
        for (p in nb)
            if (nb.hasOwnProperty(p)) {
                g = [];
                e = 0;
                for (f = nb[p].length; e < f; e++) g.push({
                    type: nb[p][e].type,
                    params: nb[p][e].qb
                });
                b[p] = g
            }
        return a
    };
    var dd = [];
    Eb.yb = function(b) {
        var e = b.silent;
        U = b.masterVolume;
        this.lk = b.listenerZ;
        this.jd.Sk(null);
        var g = b.listenerUid; - 1 !== g && (this.jd.Ym = g, dd.push(this.jd));
        var g = b.playing,
            l, p, q, t, P, ha, C, pa, na, F, Pa;
        if (3 !== this.Af)
            for (l = 0, p = ga.length; l < p; l++) na = ga[l], na.Pd && 1 === this.Af || (na.Pd || 2 !== this.Af) && na.stop();
        for (P in nb)
            if (nb.hasOwnProperty(P))
                for (l = 0, p = nb[P].length; l < p; l++) nb[P][l].remove();
        $e(nb);
        for (P in b.effects)
            if (b.effects.hasOwnProperty(P))
                for (ha = b.effects[P], l = 0, p = ha.length; l < p; l++) switch (q = ha[l].type, F = ha[l].params, q) {
                    case "filter":
                        ea(P, new a(F[0], F[1], F[2], F[3], F[4], F[5]));
                        break;
                    case "delay":
                        ea(P, new w(F[0], F[1], F[2]));
                        break;
                    case "convolve":
                        q = F[2];
                        na = this.wm(q, !1);
                        na.Ia ? q = new L(na.Ia, F[0], F[1], q) : (q = new L(null, F[0], F[1], q), na.UQ = F[0], na.Ul = q);
                        ea(P, q);
                        break;
                    case "flanger":
                        ea(P, new f(F[0], F[1], F[2], F[3], F[4]));
                        break;
                    case "phaser":
                        ea(P, new n(F[0], F[1], F[2], F[3], F[4], F[5]));
                        break;
                    case "gain":
                        ea(P, new z(F[0]));
                        break;
                    case "tremolo":
                        ea(P, new u(F[0], F[1]));
                        break;
                    case "ringmod":
                        ea(P, new J(F[0], F[1]));
                        break;
                    case "distortion":
                        ea(P, new fa(F[0], F[1], F[2], F[3], F[4]));
                        break;
                    case "compressor":
                        ea(P, new ca(F[0], F[1], F[2], F[3], F[4]));
                        break;
                    case "analyser":
                        ea(P, new A(F[0], F[1]))
                }
        l = 0;
        for (p = g.length; l < p; l++) 3 === this.Af || (b = g[l], q = b.buffersrc, t = b.is_music, P = b.tag, ha = b.playbackTime, C = b.looping, pa = b.volume, Pa = (F = b.pan) && F.hasOwnProperty("objUid") ? F.objUid : -1, t && 1 === this.Af) || !t && 2 === this.Af || ((na = this.QP(q, P, t, C, pa)) ? (na.Yc = b.resume_position, na.hs(!!F), na.play(C, pa, ha), na.yo(), na.e0(), na.hm(na.ji || na.ck), b.paused && na.pause(), b.muted && na.K_(), na.hm(na.ji || na.ck), F && (-1 !== Pa ? (na.mc = na.mc || new ya, na.mc.Ym = Pa, dd.push(na.mc)) : na.gs(F.x, F.y, F.a, F.ia, F.oa, F.og))) : (na = this.wm(q, t), na.Qn = ha, na.yn = b.paused, F && (-1 !== Pa ? na.Ki.push({
            WQ: Pa,
            Fm: F.ia,
            jn: F.oa,
            Br: F.og,
            nS: P
        }) : na.Ki.push({
            x: F.x,
            y: F.y,
            Eg: F.a,
            Fm: F.ia,
            jn: F.oa,
            Br: F.og,
            nS: P
        }))));
        if (e && !Qa) {
            l = 0;
            for (p = ga.length; l < p; l++) ga[l].Tn(!0);
            Qa = !0
        } else if (!e && Qa) {
            l = 0;
            for (p = ga.length; l < p; l++) ga[l].Tn(!1);
            Qa = !1
        }
    };
    Eb.Gd = function() {
        var a, b, e, f;
        a = 0;
        for (b = dd.length; a < b; a++) e = dd[a], f = this.c.Be(e.Ym), e.Sk(f), e.Ym = -1, f && (da = f.x, Ma = f.y);
        pe(dd)
    };
    Eb.a_ = function(a) {
        if (!this.f_) {
            !a && ja && ja.resume && (ja.resume(), Vb = !1);
            var b, e;
            b = 0;
            for (e = ga.length; b < e; b++) ga[b].N_(a);
            a && ja && ja.suspend && (ja.suspend(), Vb = !0)
        }
    };
    Eb.Ta = function() {
        var a = this.c.cf,
            b, e, f;
        b = 0;
        for (e = ga.length; b < e; b++) f = ga[b], f.Ta(a), 0 !== Sa && f.yo();
        var g, l;
        for (g in nb)
            if (nb.hasOwnProperty(g))
                for (f = nb[g], b = 0, e = f.length; b < e; b++) l = f[b], l.Ta && l.Ta();
        1 === gb && this.jd.Em() && (this.jd.Ta(a), da = this.jd.Ra.x, Ma = this.jd.Ra.y, ja.listener.setPosition(this.jd.Ra.x, this.jd.Ra.y, this.lk))
    };
    var pd = [];
    Eb.L_ = function(a) {
        var b, e, f, g, l, p = 0;
        b = 0;
        for (e = a.length; b < e; ++b)
            if (f = a[b], g = f[0], f = 2 * f[1], (l = 4 < g.length && ".ogg" === g.substr(g.length - 4)) && Za || !l && !Za) pd.push({
                filename: g,
                size: f,
                Ra: null
            }), p += f;
        return p
    };
    Eb.T_ = function() {
        var a, b, e, f;
        a = 0;
        for (b = pd.length; a < b; ++a) e = pd[a], f = this.c.aq + e.filename, e.Ra = this.wm(f, !1)
    };
    Eb.UY = function() {
        var a = 0,
            b, e, f;
        b = 0;
        for (e = pd.length; b < e; ++b) f = pd[b], f.Ra.zZ() || f.Ra.oZ() || this.c.cb || this.c.Km ? a += f.size : f.Ra.hQ() && (a += Math.floor(f.size / 2));
        return a
    };
    Eb.u_ = function() {
        var a, b, e, f;
        e = a = 0;
        for (b = Ea.length; a < b; ++a) f = Ea[a], Ea[e] = f, f.Pd ? f.t_() : ++e;
        Ea.length = e
    };
    Eb.wm = function(a, b) {
        var e, f, g, l = null;
        e = 0;
        for (f = Ea.length; e < f; e++)
            if (g = Ea[e], g.src === a) {
                l = g;
                break
            }
        l || (Gc && b && this.u_(), l = new Ba(a, b), Ea.push(l));
        return l
    };
    Eb.QP = function(a, b, e, f, g) {
        var l, p, n;
        l = 0;
        for (p = ga.length; l < p; l++)
            if (n = ga[l], n.src === a && (n.TW() || e)) return n.tag = b, n;
        a = this.wm(a, e);
        if (!a.Ia) return "<preload>" !== b && (a.An = b, a.or = f, a.Js = g), null;
        n = new F(a, b);
        ga.push(n);
        return n
    };
    var Ib = [];
    pa.prototype.wl = function(a) {
        return vf(cb, a)
    };
    pa.prototype.tT = function() {
        return Qa
    };
    jb.u = new pa;
    na.prototype.Play = function(a, b, e, f) {
        !Qa && (e = Math.pow(10, e / 20), isFinite(e) || (e = 0), 0 > e && (e = 0), 1 < e && (e = 1), ua = this.QP(this.c.aq + a[0] + (Za ? ".ogg" : ".m4a"), f, a[1], 0 !== b, e)) && (ua.hs(!1), ua.play(0 !== b, e, 0, this.RQ), this.RQ = 0)
    };
    na.prototype.LU = function(a) {
        ha(a);
        var b;
        a = 0;
        for (b = Ib.length; a < b; a++) Ib[a].stop()
    };
    na.prototype.MU = function() {
        var a, b;
        a = 0;
        for (b = ga.length; a < b; a++) ga[a].stop()
    };
    na.prototype.CU = function(a) {
        var b;
        2 === a && (a = Qa ? 1 : 0);
        if (0 === a && !Qa) {
            a = 0;
            for (b = ga.length; a < b; a++) ga[a].Tn(!0);
            Qa = !0
        } else if (1 === a && Qa) {
            a = 0;
            for (b = ga.length; a < b; a++) ga[a].Tn(!1);
            Qa = !1
        }
    };
    jb.I = new na;
    Pa.prototype.XS = function(a, b) {
        ha(b, !0);
        Ib.length ? a.M(Ib[0].hg()) : a.M(0)
    };
    jb.ka = new Pa
})();

function Xg(e) {
    this.c = e
}
(function() {
    function e() {
        t && l && window.OfflineClientInfo && window.OfflineClientInfo.SetMessageCallback(function(b) {
            a.$Z(b)
        })
    }

    function g() {}

    function b() {}
    var q = Xg.prototype;
    q.aa = function(a) {
        this.Pa = a;
        this.c = a.c
    };
    var p = q.aa.prototype;
    p.P = function() {};
    var t = !1,
        l = !1;
    document.addEventListener("DOMContentLoaded", function() {
        if (window.C2_RegisterSW && navigator.nj) {
            var a = document.createElement("script");
            a.onload = function() {
                t = !0;
                e()
            };
            a.src = "offlineClient.js";
            document.head.appendChild(a)
        }
    });
    var a = null;
    p.$Q = function() {
        l = !0;
        e()
    };
    q.Z = function(a) {
        this.type = a;
        this.c = a.c
    };
    p = q.Z.prototype;
    p.P = function() {
        var b = this;
        window.addEventListener("resize", function() {
            b.c.trigger(Xg.prototype.u.gU, b)
        });
        a = this;
        "undefined" !== typeof navigator.onLine && (window.addEventListener("online", function() {
            b.c.trigger(Xg.prototype.u.cU, b)
        }), window.addEventListener("offline", function() {
            b.c.trigger(Xg.prototype.u.aU, b)
        }));
        "undefined" !== typeof window.applicationCache && (window.applicationCache.addEventListener("updateready", function() {
            b.c.vi = 1;
            b.c.trigger(Xg.prototype.u.yl, b)
        }), window.applicationCache.addEventListener("progress", function(a) {
            b.c.vi = a.loaded / a.total || 0
        }));
        this.c.xc || (document.addEventListener("appMobi.device.update.available", function() {
            b.c.trigger(Xg.prototype.u.yl, b)
        }), document.addEventListener("backbutton", function() {
            b.c.trigger(Xg.prototype.u.ul, b)
        }), document.addEventListener("menubutton", function() {
            b.c.trigger(Xg.prototype.u.jt, b)
        }), document.addEventListener("searchbutton", function() {
            b.c.trigger(Xg.prototype.u.jU, b)
        }), document.addEventListener("tizenhwkey", function(a) {
            var e;
            switch (a.keyName) {
                case "back":
                    e = b.c.trigger(Xg.prototype.u.ul, b);
                    !e && window.tizen && window.tizen.application.getCurrentApplication().exit();
                    break;
                case "menu":
                    (e = b.c.trigger(Xg.prototype.u.jt, b)) || a.preventDefault()
            }
        }));
        this.c.Pq && "undefined" !== typeof Windows ? Windows.UI.Core.SystemNavigationManager.getForCurrentView().addEventListener("backrequested", function(a) {
            b.c.trigger(Xg.prototype.u.ul, b) && (a.handled = !0)
        }) : this.c.Oq && WinJS.Application && (WinJS.Application.onbackclick = function() {
            return !!b.c.trigger(Xg.prototype.u.ul, b)
        });
        this.c.$O(function(a) {
            a ? b.c.trigger(Xg.prototype.u.dU, b) : b.c.trigger(Xg.prototype.u.eU, b)
        });
        this.EZ = "undefined" !== typeof window.is_scirra_arcade
    };
    p.$Z = function(a) {
        a = a.data.type;
        "downloading-update" === a ? this.c.trigger(Xg.prototype.u.mU, this) : "update-ready" === a || "update-pending" === a ? this.c.trigger(Xg.prototype.u.yl, this) : "offline-ready" === a && this.c.trigger(Xg.prototype.u.bU, this)
    };
    g.prototype.cU = function() {
        return !0
    };
    g.prototype.aU = function() {
        return !0
    };
    g.prototype.yl = function() {
        return !0
    };
    g.prototype.eU = function() {
        return !0
    };
    g.prototype.dU = function() {
        return !0
    };
    g.prototype.gU = function() {
        return !0
    };
    g.prototype.ul = function() {
        return !0
    };
    g.prototype.jt = function() {
        return !0
    };
    g.prototype.jU = function() {
        return !0
    };
    g.prototype.mU = function() {
        return !0
    };
    g.prototype.yl = function() {
        return !0
    };
    g.prototype.bU = function() {
        return !0
    };
    q.u = new g;
    b.prototype.fT = function(a, b) {
        this.c.wd ? CocoonJS.App.openURL(a) : this.c.Od ? ejecta.openURL(a) : this.c.Oq ? Windows.System.Launcher.launchUriAsync(new Windows.Foundation.Uri(a)) : navigator.app && navigator.app.loadUrl ? navigator.app.loadUrl(a, {
            openExternal: !0
        }) : this.c.gd ? window.open(a, "_system") : this.EZ || this.c.cb || window.open(a, b)
    };
    q.I = new b;
    q.ka = new function() {}
})();

function Yg(e) {
    this.c = e
}
(function() {
    function e() {}
    var g = Yg.prototype;
    g.aa = function(b) {
        this.Pa = b;
        this.c = b.c
    };
    g.aa.prototype.P = function() {};
    g.Z = function(b) {
        this.type = b;
        this.c = b.c;
        this.qi = Array(256);
        this.kl = Array(256);
        this.Gf = 0
    };
    var b = g.Z.prototype;
    b.P = function() {
        var b = this;
        this.c.cb || (jQuery(document).keydown(function(e) {
            b.Dr(e)
        }), jQuery(document).keyup(function(e) {
            b.Er(e)
        }))
    };
    var q = [32, 33, 34, 35, 36, 37, 38, 39, 40, 44];
    b.Dr = function(b) {
        var e = !1;
        window != window.top && -1 < q.indexOf(b.which) && (b.preventDefault(), e = !0, b.stopPropagation());
        if (this.qi[b.which]) this.kl[b.which] && !e && b.preventDefault();
        else {
            this.qi[b.which] = !0;
            this.Gf = b.which;
            this.c.xb = !0;
            this.c.trigger(Yg.prototype.u.KT, this);
            var g = this.c.trigger(Yg.prototype.u.VT, this),
                a = this.c.trigger(Yg.prototype.u.WT, this);
            this.c.xb = !1;
            if (g || a) this.kl[b.which] = !0, e || b.preventDefault()
        }
    };
    b.Er = function(b) {
        this.qi[b.which] = !1;
        this.Gf = b.which;
        this.c.xb = !0;
        this.c.trigger(Yg.prototype.u.ct, this);
        var e = this.c.trigger(Yg.prototype.u.gt, this),
            g = this.c.trigger(Yg.prototype.u.et, this);
        this.c.xb = !1;
        if (e || g || this.kl[b.which]) this.kl[b.which] = !0, b.preventDefault()
    };
    b.vg = function() {
        var b;
        for (b = 0; 256 > b; ++b)
            if (this.qi[b]) {
                this.qi[b] = !1;
                this.Gf = b;
                this.c.trigger(Yg.prototype.u.ct, this);
                var e = this.c.trigger(Yg.prototype.u.gt, this),
                    g = this.c.trigger(Yg.prototype.u.et, this);
                if (e || g) this.kl[b] = !0
            }
    };
    b.lb = function() {
        return {
            triggerKey: this.Gf
        }
    };
    b.yb = function(b) {
        this.Gf = b.triggerKey
    };
    e.prototype.oT = function(b) {
        return this.qi[b]
    };
    e.prototype.VT = function(b) {
        return b === this.Gf
    };
    e.prototype.KT = function() {
        return !0
    };
    e.prototype.ct = function() {
        return !0
    };
    e.prototype.gt = function(b) {
        return b === this.Gf
    };
    e.prototype.WT = function(b) {
        return b === this.Gf
    };
    e.prototype.et = function(b) {
        return b === this.Gf
    };
    g.u = new e;
    g.I = new function() {};
    g.ka = new function() {}
})();

function Zg(e) {
    this.c = e
}
(function() {
    function e() {}

    function g() {}

    function b() {}
    var q = Zg.prototype;
    q.aa = function(a) {
        this.Pa = a;
        this.c = a.c
    };
    q.aa.prototype.P = function() {};
    q.Z = function(a) {
        this.type = a;
        this.c = a.c;
        this.Qh = Array(4);
        this.qS = this.so = this.Ih = this.qf = this.pf = 0;
        this.xq = !1
    };
    var p = q.Z.prototype;
    p.P = function() {
        var a = this;
        if (!this.c.cb) {
            jQuery(document).mousemove(function(b) {
                a.Gr(b)
            });
            jQuery(document).mousedown(function(b) {
                a.Fr(b)
            });
            jQuery(document).mouseup(function(b) {
                a.Hr(b)
            });
            jQuery(document).dblclick(function(b) {
                a.ZZ(b)
            });
            var b = function(b) {
                a.b_(b)
            };
            document.addEventListener("mousewheel", b, !1);
            document.addEventListener("DOMMouseScroll", b, !1)
        }
    };
    var t = {
        left: 0,
        top: 0
    };
    p.Gr = function(a) {
        var b = this.c.cb ? t : jQuery(this.c.canvas).offset();
        this.pf = a.pageX - b.left;
        this.qf = a.pageY - b.top
    };
    p.PQ = function() {
        return 0 < this.c.Gc ? !0 : 0 <= this.pf && 0 <= this.qf && this.pf < this.c.width && this.qf < this.c.height
    };
    p.Fr = function(a) {
        this.PQ() && (this.Qh[a.which] = !0, this.c.xb = !0, this.c.trigger(Zg.prototype.u.JT, this), this.Ih = a.which - 1, this.so = 0, this.c.trigger(Zg.prototype.u.dt, this), this.c.trigger(Zg.prototype.u.mt, this), this.c.xb = !1)
    };
    p.Hr = function(a) {
        this.Qh[a.which] && (this.c.Cm && !this.c.bh && a.preventDefault(), this.c.Cm = !0, this.Qh[a.which] = !1, this.c.xb = !0, this.Ih = a.which - 1, this.c.trigger(Zg.prototype.u.nt, this), this.c.xb = !1)
    };
    p.ZZ = function(a) {
        this.PQ() && (a.preventDefault(), this.c.xb = !0, this.Ih = a.which - 1, this.so = 1, this.c.trigger(Zg.prototype.u.dt, this), this.c.trigger(Zg.prototype.u.mt, this), this.c.xb = !1)
    };
    p.b_ = function(a) {
        this.qS = 0 > (a.wheelDelta ? a.wheelDelta : a.detail ? -a.detail : 0) ? 0 : 1;
        this.xq = !1;
        this.c.xb = !0;
        this.c.trigger(Zg.prototype.u.nU, this);
        this.c.xb = !1;
        this.xq && wf(a) && a.preventDefault()
    };
    p.vg = function() {
        var a, b;
        a = 0;
        for (b = this.Qh.length; a < b; ++a) this.Qh[a] && (this.Qh[a] = !1, this.Ih = a - 1, this.c.trigger(Zg.prototype.u.nt, this))
    };
    e.prototype.dt = function(a, b) {
        return a === this.Ih && b === this.so
    };
    e.prototype.JT = function() {
        return !0
    };
    e.prototype.nt = function(a) {
        return a === this.Ih
    };
    e.prototype.qT = function(a) {
        var b = this.c.ai();
        return Re(this.c.$i(a, this.pf, this.qf, b.fi), b.fi)
    };
    e.prototype.mt = function(a, b, e) {
        return a !== this.Ih || b !== this.so ? !1 : this.c.$i(e, this.pf, this.qf, !1)
    };
    e.prototype.nU = function(a) {
        this.xq = !0;
        return a === this.qS
    };
    q.u = new e;
    var l = null;
    g.prototype.wU = function(a) {
        this.c.cb || (a = "auto pointer text crosshair move help wait none".split(" ")[a], l !== a && (l = a, document.body.style.cursor = a))
    };
    q.I = new g;
    b.prototype.sj = function(a, b) {
        var e, f, g, l, p;
        Xc(b) ? (e = this.c.hf(0), f = e.scale, g = e.Ec, l = e.Tc, p = e.C, e.scale = 1, e.Ec = 1, e.Tc = 1, e.C = 0, a.M(e.Rb(this.pf, this.qf, !0)), e.scale = f, e.Ec = g, e.Tc = l, e.C = p) : (e = ld(b) ? this.c.hf(b) : this.c.Nj(b)) ? a.M(e.Rb(this.pf, this.qf, !0)) : a.M(0)
    };
    b.prototype.tj = function(a, b) {
        var e, f, g, l, p;
        Xc(b) ? (e = this.c.hf(0), f = e.scale, g = e.Ec, l = e.Uc, p = e.C, e.scale = 1, e.Ec = 1, e.Uc = 1, e.C = 0, a.M(e.Rb(this.pf, this.qf, !1)), e.scale = f, e.Ec = g, e.Uc = l, e.C = p) : (e = ld(b) ? this.c.hf(b) : this.c.Nj(b)) ? a.M(e.Rb(this.pf, this.qf, !1)) : a.M(0)
    };
    q.ka = new b
})();

function $g(e) {
    this.c = e
}
(function() {
    function e(b) {
        this.eb = b;
        this.Ua = !1;
        this.C = this.speed = this.y = this.x = 0;
        this.opacity = 1;
        this.Tf = this.di = this.size = this.Am = 0
    }

    function g() {}
    var b = $g.prototype;
    b.aa = function(b) {
        this.Pa = b;
        this.c = b.c
    };
    var q = b.aa.prototype;
    q.P = function() {
        this.W || (this.S = new Image, this.S.vp = this.no, this.Y = null, this.c.Do(this.S, this.el))
    };
    q.Bk = function() {
        this.W || (this.Y = null)
    };
    q.Ck = function() {
        this.W || !this.n.length || this.Y || (this.Y = this.c.K.ng(this.S, !0, this.c.$a, this.Hh))
    };
    q.nk = function() {
        this.W || this.Y || !this.c.K || (this.Y = this.c.K.ng(this.S, !0, this.c.$a, this.Hh))
    };
    q.jl = function() {
        this.W || this.n.length || !this.Y || (this.c.K.deleteTexture(this.Y), this.Y = null)
    };
    q.Hk = function(b) {
        b.drawImage(this.S, 0, 0)
    };
    e.prototype.init = function() {
        var b = this.eb;
        this.x = b.x - b.Fo / 2 + Math.random() * b.Fo;
        this.y = b.y - b.Go / 2 + Math.random() * b.Go;
        this.speed = b.Gq - b.bo / 2 + Math.random() * b.bo;
        this.C = b.C - b.co / 2 + Math.random() * b.co;
        this.opacity = b.Eq;
        this.size = b.Fq - b.ao / 2 + Math.random() * b.ao;
        this.Am = b.vq - b.Bm / 2 + Math.random() * b.Bm;
        this.Tf = this.di = 0
    };
    e.prototype.Ta = function(b) {
        var e = this.eb;
        this.x += Math.cos(this.C) * this.speed * b;
        this.y += Math.sin(this.C) * this.speed * b;
        this.y += this.di * b;
        this.speed += e.Mb * b;
        this.size += this.Am * b;
        this.di += e.q * b;
        this.Tf += b;
        1 > this.size ? this.Ua = !1 : (0 !== e.ik && (this.C += Math.random() * e.ik * b - e.ik * b / 2), 0 !== e.kk && (this.speed += Math.random() * e.kk * b - e.kk * b / 2), 0 !== e.jk && (this.opacity += Math.random() * e.jk * b - e.jk * b / 2, 0 > this.opacity ? this.opacity = 0 : 1 < this.opacity && (this.opacity = 1)), 1 >= e.Xh && this.Tf >= e.timeout && (this.Ua = !1), 2 === e.Xh && 0 >= this.speed && (this.Ua = !1))
    };
    e.prototype.od = function(b) {
        var e = this.eb.opacity * this.opacity;
        if (0 !== e) {
            0 === this.eb.Xh && (e *= 1 - this.Tf / this.eb.timeout);
            b.globalAlpha = e;
            var e = this.x - this.size / 2,
                a = this.y - this.size / 2;
            this.eb.c.Ad && (e = e + .5 | 0, a = a + .5 | 0);
            b.drawImage(this.eb.type.S, e, a, this.size, this.size)
        }
    };
    e.prototype.uc = function(b) {
        var e = this.eb.opacity * this.opacity;
        0 === this.eb.Xh && (e *= 1 - this.Tf / this.eb.timeout);
        var a = this.size,
            g = a * this.eb.oR,
            p = this.x - a / 2,
            f = this.y - a / 2;
        this.eb.c.Ad && (p = p + .5 | 0, f = f + .5 | 0);
        1 > g || 0 === e || (g < b.UZ || g > b.qr ? (b.yg(e), b.Pi(p, f, p + a, f, p + a, f + a, p, f + a)) : b.g_(this.x, this.y, g, e))
    };
    e.prototype.left = function() {
        return this.x - this.size / 2
    };
    e.prototype.right = function() {
        return this.x + this.size / 2
    };
    e.prototype.top = function() {
        return this.y - this.size / 2
    };
    e.prototype.bottom = function() {
        return this.y + this.size / 2
    };
    b.Z = function(b) {
        this.type = b;
        this.c = b.c
    };
    var q = b.Z.prototype,
        p = [];
    q.P = function() {
        var b = this.D;
        this.Kn = b[0];
        this.co = xe(b[1]);
        this.Xi = b[2];
        this.eo = !0;
        this.Gq = b[3];
        this.Fq = b[4];
        this.Eq = b[5] / 100;
        this.vq = b[6];
        this.Fo = b[7];
        this.Go = b[8];
        this.bo = b[9];
        this.ao = b[10];
        this.Bm = b[11];
        this.Mb = b[12];
        this.q = b[13];
        this.ik = b[14];
        this.kk = b[15];
        this.jk = b[16];
        this.Xh = b[17];
        this.timeout = b[18];
        this.wh = 0;
        this.oR = 1;
        this.vn = this.x;
        this.xn = this.y;
        this.wn = this.x;
        this.un = this.y;
        this.FV(function(b) {
            b.T.set(b.vn, b.xn, b.wn, b.un);
            b.Za.Vi(b.T);
            b.Hl = !1;
            b.Hs();
            b.AS()
        });
        this.Wc || (this.Lc = []);
        this.c.hl(this);
        this.type.nk();
        if (1 === this.Xi)
            for (b = 0; b < this.Kn; b++) this.dp().opacity = 0;
        this.rm = !0
    };
    q.lb = function() {
        var b = {
                r: this.Kn,
                sc: this.co,
                st: this.Xi,
                s: this.eo,
                isp: this.Gq,
                isz: this.Fq,
                io: this.Eq,
                gr: this.vq,
                xr: this.Fo,
                yr: this.Go,
                spr: this.bo,
                szr: this.ao,
                grnd: this.Bm,
                acc: this.Mb,
                g: this.q,
                lar: this.ik,
                lsr: this.kk,
                lor: this.jk,
                dm: this.Xh,
                to: this.timeout,
                pcc: this.wh,
                ft: this.rm,
                p: []
            },
            e, a, g, p = b.p;
        e = 0;
        for (a = this.Lc.length; e < a; e++) g = this.Lc[e], p.push([g.x, g.y, g.speed, g.C, g.opacity, g.Am, g.size, g.di, g.Tf]);
        return b
    };
    q.yb = function(b) {
        this.Kn = b.r;
        this.co = b.sc;
        this.Xi = b.st;
        this.eo = b.s;
        this.Gq = b.isp;
        this.Fq = b.isz;
        this.Eq = b.io;
        this.vq = b.gr;
        this.Fo = b.xr;
        this.Go = b.yr;
        this.bo = b.spr;
        this.ao = b.szr;
        this.Bm = b.grnd;
        this.Mb = b.acc;
        this.q = b.g;
        this.ik = b.lar;
        this.kk = b.lsr;
        this.jk = b.lor;
        this.Xh = b.dm;
        this.timeout = b.to;
        this.wh = b.pcc;
        this.rm = b.ft;
        p.push.apply(p, this.Lc);
        pe(this.Lc);
        var e, a, g, q = b.p;
        b = 0;
        for (e = q.length; b < e; b++) a = this.dp(), g = q[b], a.x = g[0], a.y = g[1], a.speed = g[2], a.C = g[3], a.opacity = g[4], a.Am = g[5], a.size = g[6], a.di = g[7], a.Tf = g[8]
    };
    q.tf = function() {
        p.push.apply(p, this.Lc);
        pe(this.Lc)
    };
    q.dp = function() {
        var b;
        p.length ? (b = p.pop(), b.eb = this) : b = new e(this);
        this.Lc.push(b);
        b.Ua = !0;
        return b
    };
    q.Ta = function() {
        var b = this.c.gf(this),
            e, a, g, q;
        if (0 === this.Xi && this.eo)
            for (this.wh += b * this.Kn, a = Xd(this.wh), this.wh -= a, e = 0; e < a; e++) g = this.dp(), g.init();
        this.vn = this.x;
        this.xn = this.y;
        this.wn = this.x;
        this.un = this.y;
        q = e = 0;
        for (a = this.Lc.length; e < a; e++) g = this.Lc[e], this.Lc[q] = g, this.c.Qa = !0, 1 === this.Xi && this.rm && g.init(), g.Ta(b), g.Ua ? (g.left() < this.vn && (this.vn = g.left()), g.right() > this.wn && (this.wn = g.right()), g.top() < this.xn && (this.xn = g.top()), g.bottom() > this.un && (this.un = g.bottom()), q++) : p.push(g);
        oe(this.Lc, q);
        this.H();
        this.rm = !1;
        1 === this.Xi && 0 === this.Lc.length && this.c.Of(this)
    };
    q.od = function(b) {
        var e, a, g, p = this.G;
        e = 0;
        for (a = this.Lc.length; e < a; e++) g = this.Lc[e], g.right() >= p.Ca && g.bottom() >= p.Ea && g.left() <= p.Da && g.top() <= p.Ba && g.od(b)
    };
    q.uc = function(b) {
        this.oR = this.G.ud();
        b.Zc(this.type.Y);
        var e, a, g, p = this.G;
        e = 0;
        for (a = this.Lc.length; e < a; e++) g = this.Lc[e], g.right() >= p.Ca && g.bottom() >= p.Ea && g.left() <= p.Da && g.top() <= p.Ba && g.uc(b)
    };
    b.u = new function() {};
    g.prototype.DU = function(b) {
        this.eo = 0 !== b
    };
    b.I = new g;
    b.ka = new function() {}
})();

function Vg(e) {
    this.c = e
}
(function() {
    function e() {
        if (0 === this.zp.length) {
            var a = document.createElement("canvas");
            a.width = this.width;
            a.height = this.height;
            var b = a.getContext("2d");
            this.Yi ? b.drawImage(this.S, this.Gi, this.Hi, this.width, this.height, 0, 0, this.width, this.height) : b.drawImage(this.S, 0, 0, this.width, this.height);
            this.zp = a.toDataURL("image/png")
        }
        return this.zp
    }

    function g() {}

    function b(a) {
        a[0] = 0;
        a[1] = 0;
        a[2] = 0;
        u.push(a)
    }

    function q(a, b) {
        return a < b ? "" + a + "," + b : "" + b + "," + a
    }

    function p(a, b, e, f) {
        b = b.uid;
        e = e.uid;
        var g = q(b, e);
        if (a.hasOwnProperty(g)) a[g][2] = f;
        else {
            var l = u.length ? u.pop() : [0, 0, 0];
            l[0] = b;
            l[1] = e;
            l[2] = f;
            a[g] = l
        }
    }

    function t(a, e, f) {
        e = q(e.uid, f.uid);
        a.hasOwnProperty(e) && (b(a[e]), delete a[e])
    }

    function l(a, b, e) {
        b = q(b.uid, e.uid);
        if (a.hasOwnProperty(b)) return J = a[b][2], !0;
        J = -2;
        return !1
    }

    function a(a, b, e) {
        if (!a) return !1;
        var f = 0 !== b || 0 !== e,
            g, l, p = !1,
            n, q = this.c.ai(),
            t = q.type,
            q = q.fi,
            u = a.xa();
        n = this.c.Gb().rc.zd;
        u.Na ? (this.X(), F.Th(this.T), F.offset(b, e), this.c.jq(this.G, a, F, Ba), u = Ba) : u = n ? this.c.wZ() && !u.qa.length && u.n.length ? u.n : u.qa : u.n;
        ca = a;
        ya = t !== a && !q;
        f && (g = this.x, l = this.y, this.x += b, this.y += e, this.H());
        b = 0;
        for (e = u.length; b < e; b++)
            if (n = u[b], this.c.Dc(this, n)) {
                p = !0;
                if (q) break;
                t !== a && A.add(n)
            }
        f && (this.x = g, this.y = l, this.H());
        pe(Ba);
        return p
    }

    function w() {}
    var L = Vg.prototype;
    L.aa = function(a) {
        this.Pa = a;
        this.c = a.c
    };
    var f = L.aa.prototype;
    f.P = function() {
        if (!this.W) {
            var a, b, f, g, l, n, p, q, t;
            this.Zd = [];
            this.Sj = !1;
            a = 0;
            for (b = this.ed.length; a < b; a++) {
                l = this.ed[a];
                p = {};
                p.name = l[0];
                p.speed = l[1];
                p.loop = l[2];
                p.Xr = l[3];
                p.Yr = l[4];
                p.wf = l[5];
                p.Aa = l[6];
                p.frames = [];
                f = 0;
                for (g = l[7].length; f < g; f++) n = l[7][f], q = {}, q.el = n[0], q.no = n[1], q.Gi = n[2], q.Hi = n[3], q.width = n[4], q.height = n[5], q.duration = n[6], q.Hc = n[7], q.Ic = n[8], q.Bq = n[9], q.Bn = n[10], q.qR = n[11], q.Yi = 0 !== q.width, q.zp = "", q.B2 = e, t = {
                    left: 0,
                    top: 0,
                    right: 1,
                    bottom: 1
                }, q.ns = t, q.Y = null, (t = this.c.FY(n[0])) ? q.S = t : (q.S = new Image, q.S.XW = n[0], q.S.vp = n[1], q.S.PW = null, this.c.Do(q.S, n[0])), p.frames.push(q), this.Zd.push(q);
                this.ed[a] = p
            }
        }
    };
    f.yS = function() {
        var a, b, e;
        a = 0;
        for (b = this.n.length; a < b; a++) e = this.n[a], e.Xl = e.ib.Y
    };
    f.Bk = function() {
        if (!this.W) {
            var a, b, e;
            a = 0;
            for (b = this.Zd.length; a < b; ++a) e = this.Zd[a], e.S.PW = null, e.Y = null;
            this.Sj = !1;
            this.yS()
        }
    };
    f.Ck = function() {
        if (!this.W && this.n.length) {
            var a, b, e;
            a = 0;
            for (b = this.Zd.length; a < b; ++a) e = this.Zd[a], e.Y = this.c.K.ng(e.S, !1, this.c.$a, e.qR);
            this.yS()
        }
    };
    f.nk = function() {
        if (!this.W && !this.Sj && this.c.K) {
            var a, b, e;
            a = 0;
            for (b = this.Zd.length; a < b; ++a) e = this.Zd[a], e.Y = this.c.K.ng(e.S, !1, this.c.$a, e.qR);
            this.Sj = !0
        }
    };
    f.jl = function() {
        if (!this.W && !this.n.length && this.Sj) {
            var a, b, e;
            a = 0;
            for (b = this.Zd.length; a < b; ++a) e = this.Zd[a], this.c.K.deleteTexture(e.Y), e.Y = null;
            this.Sj = !1
        }
    };
    var n = [];
    f.Hk = function(a) {
        var b, e, f;
        pe(n);
        b = 0;
        for (e = this.Zd.length; b < e; ++b) f = this.Zd[b].S, -1 === n.indexOf(f) && (a.drawImage(f, 0, 0), n.push(f))
    };
    L.Z = function(a) {
        this.type = a;
        this.c = a.c;
        a = this.type.ed[0].frames[0].Bn;
        this.Wc ? this.wa.Vk(a) : this.wa = new lf(a)
    };
    var z = L.Z.prototype;
    z.P = function() {
        this.visible = 0 === this.D[0];
        this.Hm = this.ak = !1;
        this.Xe = 0 !== this.D[3];
        this.Sa = this.PP(this.D[1]) || this.type.ed[0];
        this.V = this.D[2];
        0 > this.V && (this.V = 0);
        this.V >= this.Sa.frames.length && (this.V = this.Sa.frames.length - 1);
        var a = this.Sa.frames[this.V];
        this.wa.Vk(a.Bn);
        this.Hc = a.Hc;
        this.Ic = a.Ic;
        this.Uh = this.Sa.speed;
        this.bg = this.Sa.Yr;
        1 === this.type.ed.length && 1 === this.type.ed[0].frames.length || 0 === this.Uh || (this.c.hl(this), this.ak = !0);
        this.Wc ? this.ue.reset() : this.ue = new ef;
        this.ff = this.ue.za;
        this.Gg = !0;
        this.Te = 0;
        this.Fg = !0;
        this.Rh = this.bP = "";
        this.tP = 0;
        this.Nl = -1;
        this.type.nk();
        var b, e, f, g, l, n, p, a = 0;
        for (b = this.type.ed.length; a < b; a++)
            for (g = this.type.ed[a], e = 0, f = g.frames.length; e < f; e++) l = g.frames[e], 0 === l.width && (l.width = l.S.width, l.height = l.S.height), l.Yi && (p = l.S, n = l.ns, n.left = l.Gi / p.width, n.top = l.Hi / p.height, n.right = (l.Gi + l.width) / p.width, n.bottom = (l.Hi + l.height) / p.height, 0 === l.Gi && 0 === l.Hi && l.width === p.width && l.height === p.height && (l.Yi = !1));
        this.ib = this.Sa.frames[this.V];
        this.Xl = this.ib.Y
    };
    z.lb = function() {
        var a = {
            a: this.Sa.Aa,
            f: this.V,
            cas: this.Uh,
            fs: this.ff,
            ar: this.Te,
            at: this.ue.za,
            rt: this.bg
        };
        this.Gg || (a.ap = this.Gg);
        this.Fg || (a.af = this.Fg);
        return a
    };
    z.yb = function(a) {
        var b = this.JY(a.a);
        b && (this.Sa = b);
        this.V = a.f;
        0 > this.V && (this.V = 0);
        this.V >= this.Sa.frames.length && (this.V = this.Sa.frames.length - 1);
        this.Uh = a.cas;
        this.ff = a.fs;
        this.Te = a.ar;
        this.ue.reset();
        this.ue.za = a.at;
        this.Gg = a.hasOwnProperty("ap") ? a.ap : !0;
        this.Fg = a.hasOwnProperty("af") ? a.af : !0;
        a.hasOwnProperty("rt") ? this.bg = a.rt : this.bg = this.Sa.Yr;
        this.ib = this.Sa.frames[this.V];
        this.Xl = this.ib.Y;
        this.wa.Vk(this.ib.Bn);
        this.Hc = this.ib.Hc;
        this.Ic = this.ib.Ic
    };
    z.ip = function(a) {
        this.V = a ? 0 : this.Sa.frames.length - 1;
        this.Gg = !1;
        this.bP = this.Sa.name;
        this.Hm = !0;
        this.c.trigger(Vg.prototype.u.IT, this);
        this.c.trigger(Vg.prototype.u.HT, this);
        this.Hm = !1;
        this.Te = 0
    };
    z.gb = function() {
        return this.ue.za
    };
    z.Ta = function() {
        this.ue.add(this.c.gf(this));
        this.Rh.length && this.CP();
        0 <= this.Nl && this.DP();
        var a = this.ue.za,
            b = this.Sa,
            e = b.frames[this.V],
            f = e.duration / this.Uh;
        this.Gg && a >= this.ff + f && (this.Fg ? this.V++ : this.V--, this.ff += f, this.V >= b.frames.length && (b.wf ? (this.Fg = !1, this.V = b.frames.length - 2) : b.loop ? this.V = this.bg : (this.Te++, this.Te >= b.Xr ? this.ip(!1) : this.V = this.bg)), 0 > this.V && (b.wf ? (this.V = 1, this.Fg = !0, b.loop || (this.Te++, this.Te >= b.Xr && this.ip(!0))) : b.loop ? this.V = this.bg : (this.Te++, this.Te >= b.Xr ? this.ip(!0) : this.V = this.bg)), 0 > this.V ? this.V = 0 : this.V >= b.frames.length && (this.V = b.frames.length - 1), a > this.ff + b.frames[this.V].duration / this.Uh && (this.ff = a), a = b.frames[this.V], this.Oh(e, a), this.c.Qa = !0)
    };
    z.PP = function(a) {
        var b, e, f;
        b = 0;
        for (e = this.type.ed.length; b < e; b++)
            if (f = this.type.ed[b], vf(f.name, a)) return f;
        return null
    };
    z.JY = function(a) {
        var b, e, f;
        b = 0;
        for (e = this.type.ed.length; b < e; b++)
            if (f = this.type.ed[b], f.Aa === a) return f;
        return null
    };
    z.CP = function() {
        var a = this.Sa.frames[this.V],
            b = this.PP(this.Rh);
        this.Rh = "";
        !b || vf(b.name, this.Sa.name) && this.Gg || (this.Sa = b, this.Uh = b.speed, this.bg = b.Yr, 0 > this.V && (this.V = 0), this.V >= this.Sa.frames.length && (this.V = this.Sa.frames.length - 1), 1 === this.tP && (this.V = 0), this.Gg = !0, this.ff = this.ue.za, this.Fg = !0, this.Oh(a, this.Sa.frames[this.V]), this.c.Qa = !0)
    };
    z.DP = function() {
        var a = this.Sa.frames[this.V],
            b = this.V;
        this.V = Xd(this.Nl);
        0 > this.V && (this.V = 0);
        this.V >= this.Sa.frames.length && (this.V = this.Sa.frames.length - 1);
        b !== this.V && (this.Oh(a, this.Sa.frames[this.V]), this.ff = this.ue.za, this.c.Qa = !0);
        this.Nl = -1
    };
    z.Oh = function(a, b) {
        var e = a.width,
            f = a.height,
            g = b.width,
            l = b.height;
        e != g && (this.width *= g / e);
        f != l && (this.height *= l / f);
        this.Hc = b.Hc;
        this.Ic = b.Ic;
        this.wa.Vk(b.Bn);
        this.H();
        this.ib = b;
        this.Xl = b.Y;
        e = 0;
        for (f = this.da.length; e < f; e++) g = this.da[e], g.cR && g.cR(a, b);
        this.c.trigger(Vg.prototype.u.Oh, this)
    };
    z.od = function(a) {
        a.globalAlpha = this.opacity;
        var b = this.ib,
            e = b.Yi,
            f = b.S,
            g = this.x,
            l = this.y,
            n = this.width,
            p = this.height;
        if (0 === this.C && 0 <= n && 0 <= p) g -= this.Hc * n, l -= this.Ic * p, this.c.Ad && (g = Math.round(g), l = Math.round(l)), e ? a.drawImage(f, b.Gi, b.Hi, b.width, b.height, g, l, n, p) : a.drawImage(f, g, l, n, p);
        else {
            this.c.Ad && (g = Math.round(g), l = Math.round(l));
            a.save();
            var q = 0 < n ? 1 : -1,
                t = 0 < p ? 1 : -1;
            a.translate(g, l);
            1 === q && 1 === t || a.scale(q, t);
            a.rotate(this.C * q * t);
            g = 0 - this.Hc * Od(n);
            l = 0 - this.Ic * Od(p);
            e ? a.drawImage(f, b.Gi, b.Hi, b.width, b.height, g, l, Od(n), Od(p)) : a.drawImage(f, g, l, Od(n), Od(p));
            a.restore()
        }
    };
    z.Pg = function(a) {
        this.uc(a)
    };
    z.uc = function(a) {
        a.Zc(this.Xl);
        a.yg(this.opacity);
        var b = this.ib,
            e = this.Za;
        if (this.c.Ad) {
            var f = Math.round(this.x) - this.x,
                g = Math.round(this.y) - this.y;
            b.Yi ? a.Je(e.ub + f, e.wb + g, e.$b + f, e.ac + g, e.Pb + f, e.Qb + g, e.Nb + f, e.Ob + g, b.ns) : a.Pi(e.ub + f, e.wb + g, e.$b + f, e.ac + g, e.Pb + f, e.Qb + g, e.Nb + f, e.Ob + g)
        } else b.Yi ? a.Je(e.ub, e.wb, e.$b, e.ac, e.Pb, e.Qb, e.Nb, e.Ob, b.ns) : a.Pi(e.ub, e.wb, e.$b, e.ac, e.Pb, e.Qb, e.Nb, e.Ob)
    };
    z.OY = function(a) {
        var b = this.ib,
            e, f;
        e = 0;
        for (f = b.Bq.length; e < f; e++)
            if (vf(a, b.Bq[e][0])) return e;
        return -1
    };
    z.Md = function(a, b) {
        var e = this.ib,
            f = e.Bq,
            g;
        zd(a) ? g = this.OY(a) : g = a - 1;
        g = Xd(g);
        if (0 > g || g >= f.length) return b ? this.x : this.y;
        var l = (f[g][1] - e.Hc) * this.width,
            f = f[g][2],
            f = (f - e.Ic) * this.height,
            e = Math.cos(this.C);
        g = Math.sin(this.C);
        var n = l * e - f * g,
            f = f * e + l * g,
            l = n + this.x,
            f = f + this.y;
        return b ? l : f
    };
    var u = [],
        J = -2,
        fa = [];
    g.prototype.MT = function(a) {
        if (!a) return !1;
        var e = this.c,
            f = e.ai(),
            g = f.type,
            n = null;
        f.J.collmemory ? n = f.J.collmemory : (n = {}, f.J.collmemory = n);
        f.J.spriteCreatedDestroyCallback || (f.J.spriteCreatedDestroyCallback = !0, e.uj(function(a) {
            var e = f.J.collmemory;
            a = a.uid;
            var g, l;
            for (g in e) e.hasOwnProperty(g) && (l = e[g], l[0] === a || l[1] === a) && (b(e[g]), delete e[g])
        }));
        var q = g.xa(),
            u = a.xa(),
            q = q.td(),
            A, z, w, F, ca, ya, Ba, L = this.c.Oe,
            ua = L - 1,
            Za = e.Gb().rc;
        for (z = 0; z < q.length; z++) {
            w = q[z];
            u.Na ? (w.X(), this.c.jq(w.G, a, w.T, fa), A = fa) : A = u.td();
            for (F = 0; F < A.length; F++) ca = A[F], e.Dc(w, ca) || e.VW(w, ca) ? (ya = l(n, w, ca), ya = !ya || J < ua, p(n, w, ca, L), ya && (e.Gn(Za.ab), ya = g.xa(), Ba = a.xa(), ya.Na = !1, Ba.Na = !1, g === a ? (ya.n.length = 2, ya.n[0] = w, ya.n[1] = ca, g.ae()) : (ya.n.length = 1, Ba.n.length = 1, ya.n[0] = w, Ba.n[0] = ca, g.ae(), a.ae()), Za.z_(), e.xh(Za.ab))) : t(n, w, ca);
            pe(fa)
        }
        return !1
    };
    var ca = null,
        A = new Oa,
        ya = !1,
        Ba = [],
        F = new be(0, 0, 0, 0);
    f.finish = function(a) {
        if (ya) {
            if (a) {
                var b = this.c.Gb().rc.zd;
                a = ca.xa();
                var e = A.qe(),
                    f, g;
                if (a.Na) {
                    a.Na = !1;
                    pe(a.n);
                    f = 0;
                    for (g = e.length; f < g; ++f) a.n[f] = e[f];
                    if (b)
                        for (pe(a.qa), f = 0, g = ca.n.length; f < g; ++f) e = ca.n[f], A.contains(e) || a.qa.push(e)
                } else if (b)
                    for (b = a.n.length, f = 0, g = e.length; f < g; ++f) a.n[b + f] = e[f], te(a.qa, e[f]);
                else qe(a.n, e);
                ca.ae()
            }
            A.clear();
            ya = !1
        }
    };
    g.prototype.rT = function(b) {
        return a.call(this, b, 0, 0)
    };
    g.prototype.sT = function(b, e, f) {
        return a.call(this, b, e, f)
    };
    g.prototype.jT = function(a) {
        return this.Rh.length ? vf(this.Rh, a) : vf(this.Sa.name, a)
    };
    g.prototype.HT = function(a) {
        return vf(this.bP, a)
    };
    g.prototype.IT = function() {
        return !0
    };
    g.prototype.Oh = function() {
        return !0
    };
    L.u = new g;
    w.prototype.JU = function(a, b, e) {
        if (a && b && (b = this.c.wp(a, b, this.Md(e, !0), this.Md(e, !1)))) {
            "undefined" !== typeof b.C && (b.C = this.C, b.H());
            this.c.xd++;
            var f, g, l;
            this.c.trigger(Object.getPrototypeOf(a.Pa).u.Dg, b);
            if (b.yc)
                for (f = 0, g = b.siblings.length; f < g; f++) l = b.siblings[f], this.c.trigger(Object.getPrototypeOf(l.type.Pa).u.Dg, l);
            this.c.xd--;
            f = this.c.MY();
            e = !1;
            if (Xc(f.J.Spawn_LastExec) || f.J.Spawn_LastExec < this.c.Vg) e = !0, f.J.Spawn_LastExec = this.c.Vg;
            if (a != this.type && (a = a.xa(), a.Na = !1, e ? (pe(a.n), a.n[0] = b) : a.n.push(b), b.yc))
                for (f = 0, g = b.siblings.length; f < g; f++) l = b.siblings[f], a = l.type.xa(), a.Na = !1, e ? (pe(a.n), a.n[0] = l) : a.n.push(l)
        }
    };
    w.prototype.uU = function(a, b) {
        this.Rh = a;
        this.tP = b;
        this.ak || (this.c.hl(this), this.ak = !0);
        this.Hm || this.CP()
    };
    w.prototype.vU = function(a) {
        this.Nl = a;
        this.ak || (this.c.hl(this), this.ak = !0);
        this.Hm || this.DP()
    };
    w.prototype.Et = function(a) {
        var b = this.ib,
            e = b.width * a * (0 > this.width ? -1 : 1);
        a = b.height * a * (0 > this.height ? -1 : 1);
        if (this.width !== e || this.height !== a) this.width = e, this.height = a, this.H()
    };
    L.I = new w;
    L.ka = new function() {}
})();

function ah(e) {
    this.c = e
}
(function() {
    function e(a, b) {
        return a.length ? a.pop() : new b
    }

    function g(a, b, e) {
        if (e) {
            var f;
            e = 0;
            for (f = b.length; e < f; e++) a.length < l && a.push(b[e]);
            pe(b)
        } else
            for (f in b) Object.prototype.hasOwnProperty.call(b, f) && (a.length < l && a.push(b[f]), delete b[f])
    }

    function b(b, f, g) {
        var l = b.ph;
        g = g.replace(/\s\s*$/, "");
        f >= l.length && l.push(e(a, Object));
        f = l[f];
        f.text = g;
        f.width = b.sr(g);
        b.bj = Td(b.bj, f.width)
    }

    function q() {}
    var p = ah.prototype;
    p.P = function() {};
    p.aa = function(a) {
        this.Pa = a;
        this.c = a.c
    };
    var t = p.aa.prototype;
    t.P = function() {
        this.W || (this.S = new Image, this.c.Do(this.S, this.el), this.Y = null)
    };
    t.Bk = function() {
        this.W || (this.Y = null)
    };
    t.Ck = function() {
        if (!this.W && this.n.length) {
            this.Y || (this.Y = this.c.K.ng(this.S, !1, this.c.$a, this.Hh));
            var a, b;
            a = 0;
            for (b = this.n.length; a < b; a++) this.n[a].Y = this.Y
        }
    };
    t.jl = function() {
        this.W || this.n.length || !this.Y || (this.c.K.deleteTexture(this.Y), this.Y = null)
    };
    t.Hk = function(a) {
        a.drawImage(this.S, 0, 0)
    };
    p.Z = function(a) {
        this.type = a;
        this.c = a.c
    };
    t = p.Z.prototype;
    t.tf = function() {
        g(a, this.ph, !0);
        g(w, this.Pl, !1);
        g(L, this.Ql, !1);
        $e(this.Yf)
    };
    t.P = function() {
        this.S = this.type.S;
        this.Ol = this.D[0];
        this.Xf = this.D[1];
        this.characterSet = this.D[2];
        this.text = this.D[3];
        this.xe = this.D[4];
        this.visible = 0 === this.D[5];
        this.Dm = this.D[6] / 2;
        this.Bo = this.D[7] / 2;
        this.l0 = 0 === this.D[9];
        this.Sh = this.D[10];
        this.lineHeight = this.D[11];
        this.Gh = this.bj = 0;
        this.Wc ? (pe(this.ph), $e(this.Pl), $e(this.Ql), $e(this.Yf)) : (this.ph = [], this.Pl = {}, this.Ql = {}, this.Yf = {});
        this.cj = !0;
        this.cr = this.width;
        this.c.K && (this.type.Y || (this.type.Y = this.c.K.ng(this.type.S, !1, this.c.$a, this.type.Hh)), this.Y = this.type.Y);
        this.KU()
    };
    t.lb = function() {
        var a = {
                t: this.text,
                csc: this.xe,
                csp: this.Sh,
                lh: this.lineHeight,
                tw: this.bj,
                th: this.Gh,
                lrt: this.KZ,
                ha: this.Dm,
                va: this.Bo,
                cw: {}
            },
            b;
        for (b in this.Yf) a.cw[b] = this.Yf[b];
        return a
    };
    t.yb = function(a) {
        this.text = a.t;
        this.xe = a.csc;
        this.Sh = a.csp;
        this.lineHeight = a.lh;
        this.bj = a.tw;
        this.Gh = a.th;
        this.KZ = a.lrt;
        a.hasOwnProperty("ha") && (this.Dm = a.ha);
        a.hasOwnProperty("va") && (this.Bo = a.va);
        for (var b in a.cw) this.Yf[b] = a.cw[b];
        this.cj = !0;
        this.cr = this.width
    };
    var l = 1E3,
        a = [],
        w = [],
        L = [];
    t.KU = function() {
        for (var a = this.S, b = a.width, f = a.height, a = this.Ol, g = this.Xf, l = a / b, n = g / f, p = this.characterSet, b = Math.floor(b / a), f = Math.floor(f / g), q = 0; q < p.length && !(q >= b * f); q++) {
            var t = q % b,
                P = Math.floor(q / b),
                ha = p.charAt(q);
            if (this.c.K) {
                var ea = this.Ql,
                    pa = t * l,
                    na = P * n,
                    t = (t + 1) * l,
                    P = (P + 1) * n;
                void 0 === ea[ha] && (ea[ha] = e(L, be));
                ea[ha].left = pa;
                ea[ha].top = na;
                ea[ha].right = t;
                ea[ha].bottom = P
            } else ea = this.Pl, t = t * a, P = P * g, pa = a, na = g, void 0 === ea[ha] && (ea[ha] = e(w, Object)), ea[ha].x = t, ea[ha].y = P, ea[ha].Ks = pa, ea[ha].wq = na
        }
    };
    var f = [];
    p.RU = function(a) {
        pe(f);
        for (var b = "", e, g = 0; g < a.length;)
            if (e = a.charAt(g), "\n" === e) b.length && (f.push(b), b = ""), f.push("\n"), ++g;
            else if (" " === e || "\t" === e || "-" === e) {
            do b += a.charAt(g), g++; while (g < a.length && (" " === a.charAt(g) || "\t" === a.charAt(g)));
            f.push(b);
            b = ""
        } else g < a.length && (b += e, g++);
        b.length && f.push(b)
    };
    p.ZU = function(b) {
        var f = b.text,
            l = b.ph;
        if (f && f.length) {
            var n = b.width;
            if (2 >= n) g(a, l, !0);
            else {
                var p = b.xe,
                    q = b.Sh;
                if (f.length * (b.Ol * p + q) - q <= n && -1 === f.indexOf("\n") && (q = b.sr(f), q <= n)) {
                    g(a, l, !0);
                    l.push(e(a, Object));
                    l[0].text = f;
                    l[0].width = q;
                    b.bj = q;
                    b.Gh = b.Xf * p + b.lineHeight;
                    return
                }
                this.$U(b);
                b.Gh = l.length * (b.Xf * p + b.lineHeight)
            }
        } else g(a, l, !0)
    };
    p.$U = function(e) {
        var g = e.l0,
            n = e.text,
            p = e.ph,
            q = e.width;
        g && (this.RU(n), n = f);
        var t = "",
            w, Ba, F, P = 0,
            ha = !1;
        for (F = 0; F < n.length; F++) "\n" === n[F] ? (!0 === ha ? ha = !1 : (b(e, P, t), P++), t = "") : (ha = !1, w = t, t += n[F], Ba = e.sr(t.replace(/\s\s*$/, "")), Ba > q && ("" === w ? (b(e, P, t), t = "", ha = !0) : (b(e, P, w), t = n[F]), P++, g || " " !== t || (t = "")));
        t.replace(/\s\s*$/, "").length && (b(e, P, t), P++);
        for (F = P; F < p.length; F++) a.length < l && a.push(p[F]);
        p.length = P
    };
    t.sr = function(a) {
        for (var b = this.Sh, e = a.length, f = 0, g = 0; g < e; g++) f += this.iq(a.charAt(g)) * this.xe + b;
        return f - (0 < f ? b : 0)
    };
    t.iq = function(a) {
        var b = this.Yf;
        return void 0 !== b[a] ? b[a] : this.Ol
    };
    t.zR = function() {
        if (this.cj || this.width !== this.cr) this.Gh = this.bj = 0, this.type.Pa.ZU(this), this.cj = !1, this.cr = this.width
    };
    t.od = function(a) {
        var b = this.S;
        if ("" !== this.text && null != b && (this.zR(), !(this.height < this.Xf * this.xe + this.lineHeight))) {
            a.globalAlpha = this.opacity;
            var b = this.x,
                e = this.y;
            this.c.Ad && (b = Math.round(b), e = Math.round(e));
            var f = this.G.Ca,
                g = this.G.Ea,
                l = this.G.Da,
                n = this.G.Ba;
            a.save();
            a.translate(b, e);
            a.rotate(this.C);
            for (var p = this.C, q = this.Dm, t = this.xe, w = this.Xf * t, L = this.lineHeight, pa = this.Sh, na = this.ph, Pa, jb = -(this.Hc * this.width), ta = -(this.Ic * this.height), ta = ta + this.Bo * Td(0, this.height - this.Gh), Ya, cb, fb, gb = 0; gb < na.length; gb++) {
                var ja = na[gb].text;
                Pa = q * Td(0, this.width - na[gb].width);
                Ya = jb + Pa;
                ta += L;
                if (0 === p && e + ta + w < g) ta += w;
                else {
                    for (var Ea = 0; Ea < ja.length; Ea++) {
                        cb = ja.charAt(Ea);
                        Pa = this.iq(cb);
                        var ga = this.Pl[cb];
                        if (0 === p && b + Ya + Pa * t + pa < f) Ya += Pa * t + pa;
                        else {
                            if (Ya + Pa * t > this.width + 1E-5) break;
                            void 0 !== ga && (cb = Ya, fb = ta, 0 === p && 1 === t && (cb = Math.round(cb), fb = Math.round(fb)), a.drawImage(this.S, ga.x, ga.y, ga.Ks, ga.wq, cb, fb, ga.Ks * t, ga.wq * t));
                            Ya += Pa * t + pa;
                            if (0 === p && b + Ya > l) break
                        }
                    }
                    ta += w;
                    if (0 === p && (ta + w + L > this.height || e + ta > n)) break
                }
            }
            a.restore()
        }
    };
    var n = new ce;
    t.uc = function(a) {
        a.Zc(this.Y);
        a.yg(this.opacity);
        if (this.text && (this.zR(), !(this.height < this.Xf * this.xe + this.lineHeight))) {
            this.X();
            var b = this.Za,
                e = 0,
                f = 0;
            this.c.Ad && (e = Math.round(this.x) - this.x, f = Math.round(this.y) - this.y);
            var g = this.G.Ca,
                l = this.G.Ea,
                p = this.G.Da,
                q = this.G.Ba,
                t = this.C,
                w = this.Dm,
                ha = this.Bo,
                L = this.xe,
                pa = this.Xf * L,
                na = this.lineHeight,
                Pa = this.Sh,
                jb = this.ph,
                ta = this.Gh,
                Ya, cb, fb;
            0 !== t && (cb = Math.cos(t), fb = Math.sin(t));
            for (var e = b.ub + e, b = b.wb + f, gb, ha = ha * Td(0, this.height - ta), ja, Ea, ta = 0; ta < jb.length; ta++)
                if (f = jb[ta].text, gb = Ya = w * Td(0, this.width - jb[ta].width), ha += na, 0 === t && b + ha + pa < l) ha += pa;
                else {
                    for (var ga = 0; ga < f.length; ga++) {
                        var ua = f.charAt(ga);
                        Ya = this.iq(ua);
                        ua = this.Ql[ua];
                        if (0 === t && e + gb + Ya * L + Pa < g) gb += Ya * L + Pa;
                        else {
                            if (gb + Ya * L > this.width + 1E-5) break;
                            if (void 0 !== ua) {
                                var Za = this.Ol * L,
                                    Sa = this.Xf * L;
                                ja = gb;
                                Ea = ha;
                                0 === t && 1 === L && (ja = Math.round(ja), Ea = Math.round(Ea));
                                n.ub = ja;
                                n.wb = Ea;
                                n.$b = ja + Za;
                                n.ac = Ea;
                                n.Nb = ja;
                                n.Ob = Ea + Sa;
                                n.Pb = ja + Za;
                                n.Qb = Ea + Sa;
                                0 !== t && (ja = n, Ea = cb, Za = fb, Sa = void 0, Sa = ja.ub * Ea - ja.wb * Za, ja.wb = ja.wb * Ea + ja.ub * Za, ja.ub = Sa, Sa = ja.$b * Ea - ja.ac * Za, ja.ac = ja.ac * Ea + ja.$b * Za, ja.$b = Sa, Sa = ja.Nb * Ea -
                                    ja.Ob * Za, ja.Ob = ja.Ob * Ea + ja.Nb * Za, ja.Nb = Sa, Sa = ja.Pb * Ea - ja.Qb * Za, ja.Qb = ja.Qb * Ea + ja.Pb * Za, ja.Pb = Sa);
                                n.offset(e, b);
                                a.Je(n.ub, n.wb, n.$b, n.ac, n.Pb, n.Qb, n.Nb, n.Ob, ua)
                            }
                            gb += Ya * L + Pa;
                            if (0 === t && e + gb > p) break
                        }
                    }
                    ha += pa;
                    if (0 === t && (ha + pa + na > this.height || b + ha > q)) break
                }
        }
    };
    p.u = new function() {};
    q.prototype.EU = function(a) {
        ld(a) && 1E9 > a && (a = Math.round(1E10 * a) / 1E10);
        a = a.toString();
        this.text !== a && (this.text = a, this.cj = !0, this.c.Qa = !0)
    };
    q.prototype.Et = function(a) {
        a !== this.xe && (this.xe = a, this.cj = !0, this.c.Qa = !0)
    };
    t.gb = function(a, b) {
        var e = parseInt(b, 10);
        this.Yf[a] !== e && (this.Yf[a] = e, this.cj = !0, this.c.Qa = !0)
    };
    p.I = new q;
    p.ka = new function() {}
})();

function bh(e) {
    this.c = e
}
(function() {
    var e = bh.prototype;
    e.aa = function(b) {
        this.Pa = b;
        this.c = b.c
    };
    var g = e.aa.prototype;
    g.P = function() {
        this.W || (this.S = new Image, this.S.vp = this.no, this.c.Do(this.S, this.el), this.Y = this.pattern = null)
    };
    g.Bk = function() {
        this.W || (this.Y = null)
    };
    g.Ck = function() {
        if (!this.W && this.n.length) {
            this.Y || (this.Y = this.c.K.ng(this.S, !0, this.c.$a, this.Hh));
            var b, e;
            b = 0;
            for (e = this.n.length; b < e; b++) this.n[b].Y = this.Y
        }
    };
    g.nk = function() {
        this.W || this.Y || !this.c.K || (this.Y = this.c.K.ng(this.S, !0, this.c.$a, this.Hh))
    };
    g.jl = function() {
        this.W || this.n.length || !this.Y || (this.c.K.deleteTexture(this.Y), this.Y = null)
    };
    g.Hk = function(b) {
        b.drawImage(this.S, 0, 0)
    };
    e.Z = function(b) {
        this.type = b;
        this.c = b.c
    };
    g = e.Z.prototype;
    g.P = function() {
        this.visible = 0 === this.D[0];
        this.Mk = new be(0, 0, 0, 0);
        this.ZP = !1;
        this.S = this.type.S;
        this.c.K ? (this.type.nk(), this.Y = this.type.Y) : (this.type.pattern || (this.type.pattern = this.c.hb.createPattern(this.type.S, "repeat")), this.pattern = this.type.pattern)
    };
    g.Gd = function() {
        this.ZP = !1;
        this.S = this.type.S
    };
    g.tf = function() {
        this.c.K && this.ZP && this.Y && (this.c.K.deleteTexture(this.Y), this.Y = null)
    };
    g.od = function(b) {
        b.globalAlpha = this.opacity;
        b.save();
        b.fillStyle = this.pattern;
        var e = this.x,
            g = this.y;
        this.c.Ad && (e = Math.round(e), g = Math.round(g));
        var t = -(this.Hc * this.width),
            l = -(this.Ic * this.height),
            a = t % this.S.width,
            w = l % this.S.height;
        0 > a && (a += this.S.width);
        0 > w && (w += this.S.height);
        b.translate(e, g);
        b.rotate(this.C);
        b.translate(a, w);
        b.fillRect(t - a, l - w, this.width, this.height);
        b.restore()
    };
    g.Pg = function(b) {
        this.uc(b)
    };
    g.uc = function(b) {
        b.Zc(this.Y);
        b.yg(this.opacity);
        var e = this.Mk;
        e.right = this.width / this.S.width;
        e.bottom = this.height / this.S.height;
        var g = this.Za;
        if (this.c.Ad) {
            var t = Math.round(this.x) - this.x,
                l = Math.round(this.y) - this.y;
            b.Je(g.ub + t, g.wb + l, g.$b + t, g.ac + l, g.Pb + t, g.Qb + l, g.Nb + t, g.Ob + l, e)
        } else b.Je(g.ub, g.wb, g.$b, g.ac, g.Pb, g.Qb, g.Nb, g.Ob, e)
    };
    e.u = new function() {};
    e.I = new function() {};
    e.ka = new function() {}
})();

function ch(e) {
    this.c = e
}
(function() {
    function e(a) {
        w = a.x;
        L = a.y;
        f = a.z
    }

    function g(a, e, f, g) {
        var l;
        l = n.length ? n.pop() : new b;
        l.init(a, e, f, g);
        return l
    }

    function b() {
        this.al = this.id = this.oh = this.nh = this.y = this.x = this.ko = this.jo = this.br = this.time = this.rs = 0;
        this.il = this.uo = !1
    }

    function q() {}

    function p() {}
    var t = ch.prototype;
    t.aa = function(a) {
        this.Pa = a;
        this.c = a.c
    };
    t.aa.prototype.P = function() {};
    t.Z = function(a) {
        this.type = a;
        this.c = a.c;
        this.touches = [];
        this.ur = !1
    };
    var l = t.Z.prototype,
        a = {
            left: 0,
            top: 0
        };
    l.Lj = function(a) {
        var b, e;
        b = 0;
        for (e = this.touches.length; b < e; b++)
            if (this.touches[b].id === a) return b;
        return -1
    };
    var w = 0,
        L = 0,
        f = 0,
        n = [];
    b.prototype.init = function(a, b, e, f) {
        var g = af();
        this.rs = this.br = this.time = g;
        this.jo = a;
        this.ko = b;
        this.x = a;
        this.y = b;
        this.nh = a;
        this.oh = b;
        this.pressure = this.height = this.width = 0;
        this.id = e;
        this.al = f;
        this.il = this.uo = !1
    };
    b.prototype.update = function(a, b, e, f, g, l) {
        this.br = this.time;
        this.time = a;
        this.nh = this.x;
        this.oh = this.y;
        this.x = b;
        this.y = e;
        this.width = f;
        this.height = g;
        this.pressure = l;
        !this.il && 15 <= Qe(this.jo, this.ko, this.x, this.y) && (this.il = !0)
    };
    b.prototype.RZ = function(a, b) {
        !this.uo && 500 <= af() - this.rs && !this.il && 15 > Qe(this.jo, this.ko, this.x, this.y) && (this.uo = !0, a.Re = this.al, a.ej = this.id, a.bi = b, a.c.trigger(ch.prototype.u.ST, a), a.Ze = this.x, a.$e = this.y, a.c.trigger(ch.prototype.u.TT, a), a.bi = 0)
    };
    var z = -1E3,
        u = -1E3,
        J = -1E4;
    b.prototype.NQ = function(a, b) {
        if (!this.uo) {
            var e = af();
            333 >= e - this.rs && !this.il && 15 > Qe(this.jo, this.ko, this.x, this.y) && (a.Re = this.al, a.ej = this.id, a.bi = b, 666 >= e - J && 25 > Qe(z, u, this.x, this.y) ? (a.c.trigger(ch.prototype.u.OT, a), a.Ze = this.x, a.$e = this.y, a.c.trigger(ch.prototype.u.PT, a), u = z = -1E3, J = -1E4) : (a.c.trigger(ch.prototype.u.pt, a), a.Ze = this.x, a.$e = this.y, a.c.trigger(ch.prototype.u.qt, a), z = this.x, u = this.y, J = e), a.bi = 0)
        }
    };
    l.P = function() {
        this.CZ = !("undefined" === typeof window.c2isWindows8 || !window.c2isWindows8);
        this.bi = this.ej = this.Re = this.$e = this.Ze = this.XO = this.WO = this.VO = this.DV = this.CV = this.BV = this.tn = this.sn = this.rn = 0;
        this.h0 = 0 !== this.D[0];
        var a = 0 < this.c.Gc ? document : this.c.canvas,
            b = document;
        this.c.xc ? b = a = window.Canvas : this.c.wd && (b = a = window);
        var f = this;
        "undefined" !== typeof PointerEvent ? (a.addEventListener("pointerdown", function(a) {
            f.bR(a)
        }, !1), a.addEventListener("pointermove", function(a) {
            f.aR(a)
        }, !1), b.addEventListener("pointerup", function(a) {
            f.nn(a, !1)
        }, !1), b.addEventListener("pointercancel", function(a) {
            f.nn(a, !0)
        }, !1), this.c.canvas && (this.c.canvas.addEventListener("MSGestureHold", function(a) {
            a.preventDefault()
        }, !1), document.addEventListener("MSGestureHold", function(a) {
            a.preventDefault()
        }, !1), this.c.canvas.addEventListener("gesturehold", function(a) {
            a.preventDefault()
        }, !1), document.addEventListener("gesturehold", function(a) {
            a.preventDefault()
        }, !1))) : window.navigator.msPointerEnabled ? (a.addEventListener("MSPointerDown", function(a) {
            f.bR(a)
        }, !1), a.addEventListener("MSPointerMove", function(a) {
            f.aR(a)
        }, !1), b.addEventListener("MSPointerUp", function(a) {
            f.nn(a, !1)
        }, !1), b.addEventListener("MSPointerCancel", function(a) {
            f.nn(a, !0)
        }, !1), this.c.canvas && (this.c.canvas.addEventListener("MSGestureHold", function(a) {
            a.preventDefault()
        }, !1), document.addEventListener("MSGestureHold", function(a) {
            a.preventDefault()
        }, !1))) : (a.addEventListener("touchstart", function(a) {
            f.eR(a)
        }, !1), a.addEventListener("touchmove", function(a) {
            f.dR(a)
        }, !1), b.addEventListener("touchend", function(a) {
            f.Ir(a, !1)
        }, !1), b.addEventListener("touchcancel", function(a) {
            f.Ir(a, !0)
        }, !1));
        if (this.CZ) {
            var g = function(a) {
                    a = a.reading;
                    f.VO = a.accelerationX;
                    f.WO = a.accelerationY;
                    f.XO = a.accelerationZ
                },
                l = function(a) {
                    a = a.reading;
                    f.rn = a.yawDegrees;
                    f.sn = a.pitchDegrees;
                    f.tn = a.rollDegrees
                },
                n = Windows.Devices.Sensors.Accelerometer.getDefault();
            n && (n.reportInterval = Math.max(n.minimumReportInterval, 16), n.addEventListener("readingchanged", g));
            var p = Windows.Devices.Sensors.Inclinometer.getDefault();
            p && (p.reportInterval = Math.max(p.minimumReportInterval, 16), p.addEventListener("readingchanged", l));
            document.addEventListener("visibilitychange", function() {
                document.hidden || document.msHidden ? (n && n.removeEventListener("readingchanged", g), p && p.removeEventListener("readingchanged", l)) : (n && n.addEventListener("readingchanged", g), p && p.addEventListener("readingchanged", l))
            }, !1)
        } else window.addEventListener("deviceorientation", function(a) {
            f.rn = a.alpha || 0;
            f.sn = a.beta || 0;
            f.tn = a.gamma || 0
        }, !1), window.addEventListener("devicemotion", function(a) {
            a.accelerationIncludingGravity && (f.BV = a.accelerationIncludingGravity.x || 0, f.CV = a.accelerationIncludingGravity.y || 0, f.DV = a.accelerationIncludingGravity.z || 0);
            a.acceleration && (f.VO = a.acceleration.x || 0, f.WO = a.acceleration.y || 0, f.XO = a.acceleration.z || 0)
        }, !1);
        this.h0 && !this.c.cb && (jQuery(document).mousemove(function(a) {
            f.Gr(a)
        }), jQuery(document).mousedown(function(a) {
            f.Fr(a)
        }), jQuery(document).mouseup(function(a) {
            f.Hr(a)
        }));
        !this.c.mi && this.c.gd && navigator.accelerometer && navigator.accelerometer.watchAcceleration && navigator.accelerometer.watchAcceleration(e, null, {
            frequency: 40
        });
        this.c.$_(this)
    };
    l.aR = function(b) {
        if (b.pointerType !== b.MSPOINTER_TYPE_MOUSE && "mouse" !== b.pointerType) {
            b.preventDefault && b.preventDefault();
            var e = this.Lj(b.pointerId),
                f = af();
            if (0 <= e) {
                var g = this.c.cb ? a : jQuery(this.c.canvas).offset(),
                    e = this.touches[e];
                2 > f - e.time || e.update(f, b.pageX - g.left, b.pageY - g.top, b.width || 0, b.height || 0, b.pressure || 0)
            }
        }
    };
    l.bR = function(b) {
        if (b.pointerType !== b.MSPOINTER_TYPE_MOUSE && "mouse" !== b.pointerType) {
            b.preventDefault && wf(b) && b.preventDefault();
            var e = this.c.cb ? a : jQuery(this.c.canvas).offset(),
                f = b.pageX - e.left,
                e = b.pageY - e.top;
            af();
            this.Re = this.touches.length;
            this.ej = b.pointerId;
            this.touches.push(g(f, e, b.pointerId, this.Re));
            this.c.xb = !0;
            this.c.trigger(ch.prototype.u.lt, this);
            this.c.trigger(ch.prototype.u.wt, this);
            this.Ze = f;
            this.$e = e;
            this.c.trigger(ch.prototype.u.ut, this);
            this.c.xb = !1
        }
    };
    l.nn = function(a, b) {
        if (a.pointerType !== a.MSPOINTER_TYPE_MOUSE && "mouse" !== a.pointerType) {
            a.preventDefault && wf(a) && a.preventDefault();
            var e = this.Lj(a.pointerId);
            this.Re = 0 <= e ? this.touches[e].al : -1;
            this.ej = 0 <= e ? this.touches[e].id : -1;
            this.c.xb = !0;
            this.c.trigger(ch.prototype.u.kt, this);
            this.c.trigger(ch.prototype.u.tt, this);
            0 <= e && (b || this.touches[e].NQ(this, e), 100 > n.length && n.push(this.touches[e]), this.touches.splice(e, 1));
            this.c.xb = !1
        }
    };
    l.dR = function(b) {
        b.preventDefault && b.preventDefault();
        var e = af(),
            f, g, l, n;
        f = 0;
        for (g = b.changedTouches.length; f < g; f++)
            if (l = b.changedTouches[f], n = this.Lj(l.identifier), 0 <= n) {
                var p = this.c.cb ? a : jQuery(this.c.canvas).offset();
                n = this.touches[n];
                2 > e - n.time || n.update(e, l.pageX - p.left, l.pageY - p.top, 2 * (l.t3 || l.L3 || l.f3 || l.i3 || 0), 2 * (l.u3 || l.M3 || l.g3 || l.j3 || 0), l.y2 || l.K3 || l.e3 || l.h3 || 0)
            }
    };
    l.eR = function(b) {
        b.preventDefault && wf(b) && b.preventDefault();
        var e = this.c.cb ? a : jQuery(this.c.canvas).offset();
        af();
        this.c.xb = !0;
        var f, l, n, p;
        f = 0;
        for (l = b.changedTouches.length; f < l; f++)
            if (n = b.changedTouches[f], p = this.Lj(n.identifier), -1 === p) {
                p = n.pageX - e.left;
                var q = n.pageY - e.top;
                this.Re = this.touches.length;
                this.ej = n.identifier;
                this.touches.push(g(p, q, n.identifier, this.Re));
                this.c.trigger(ch.prototype.u.lt, this);
                this.c.trigger(ch.prototype.u.wt, this);
                this.Ze = p;
                this.$e = q;
                this.c.trigger(ch.prototype.u.ut, this)
            }
        this.c.xb = !1
    };
    l.Ir = function(a, b) {
        a.preventDefault && wf(a) && a.preventDefault();
        this.c.xb = !0;
        var e, f, g;
        e = 0;
        for (f = a.changedTouches.length; e < f; e++) g = a.changedTouches[e], g = this.Lj(g.identifier), 0 <= g && (this.Re = this.touches[g].al, this.ej = this.touches[g].id, this.c.trigger(ch.prototype.u.kt, this), this.c.trigger(ch.prototype.u.tt, this), b || this.touches[g].NQ(this, g), 100 > n.length && n.push(this.touches[g]), this.touches.splice(g, 1));
        this.c.xb = !1
    };
    l.gb = function() {
        return this.c.gd && 0 === this.rn && 0 !== f ? 90 * f : this.rn
    };
    l.nj = function() {
        return this.c.gd && 0 === this.sn && 0 !== L ? 90 * L : this.sn
    };
    l.Xs = function() {
        return this.c.gd && 0 === this.tn && 0 !== w ? 90 * w : this.tn
    };
    l.Fr = function(a) {
        this.eR({
            changedTouches: [{
                pageX: a.pageX,
                pageY: a.pageY,
                identifier: 0
            }]
        });
        this.ur = !0
    };
    l.Gr = function(a) {
        this.ur && this.dR({
            changedTouches: [{
                pageX: a.pageX,
                pageY: a.pageY,
                identifier: 0
            }]
        })
    };
    l.Hr = function(a) {
        a.preventDefault && this.c.Cm && !this.c.bh && a.preventDefault();
        this.c.Cm = !0;
        this.Ir({
            changedTouches: [{
                pageX: a.pageX,
                pageY: a.pageY,
                identifier: 0
            }]
        });
        this.ur = !1
    };
    l.gl = function() {
        var a, b, e, f = af();
        a = 0;
        for (b = this.touches.length; a < b; ++a) e = this.touches[a], e.time <= f - 50 && (e.br = f), e.RZ(this, a)
    };
    q.prototype.wt = function() {
        return !0
    };
    q.prototype.tt = function() {
        return !0
    };
    q.prototype.nT = function() {
        return this.touches.length
    };
    q.prototype.ut = function(a) {
        return a ? this.c.$i(a, this.Ze, this.$e, !1) : !1
    };
    q.prototype.lt = function(a) {
        a = Math.floor(a);
        return a === this.Re
    };
    q.prototype.kt = function(a) {
        a = Math.floor(a);
        return a === this.Re
    };
    q.prototype.ST = function() {
        return !0
    };
    q.prototype.pt = function() {
        return !0
    };
    q.prototype.OT = function() {
        return !0
    };
    q.prototype.TT = function(a) {
        return a ? this.c.$i(a, this.Ze, this.$e, !1) : !1
    };
    q.prototype.qt = function(a) {
        return a ? this.c.$i(a, this.Ze, this.$e, !1) : !1
    };
    q.prototype.PT = function(a) {
        return a ? this.c.$i(a, this.Ze, this.$e, !1) : !1
    };
    t.u = new q;
    p.prototype.sj = function(a, b) {
        var e = this.bi;
        if (0 > e || e >= this.touches.length) a.M(0);
        else {
            var f, g, l, n, p;
            Xc(b) ? (f = this.c.hf(0), g = f.scale, l = f.Ec, n = f.Tc, p = f.C, f.scale = 1, f.Ec = 1, f.Tc = 1, f.C = 0, a.M(f.Rb(this.touches[e].x, this.touches[e].y, !0)), f.scale = g, f.Ec = l, f.Tc = n, f.C = p) : (f = ld(b) ? this.c.hf(b) : this.c.Nj(b)) ? a.M(f.Rb(this.touches[e].x, this.touches[e].y, !0)) : a.M(0)
        }
    };
    p.prototype.tj = function(a, b) {
        var e = this.bi;
        if (0 > e || e >= this.touches.length) a.M(0);
        else {
            var f, g, l, n, p;
            Xc(b) ? (f = this.c.hf(0), g = f.scale, l = f.Ec, n = f.Uc, p = f.C, f.scale = 1, f.Ec = 1, f.Uc = 1, f.C = 0, a.M(f.Rb(this.touches[e].x, this.touches[e].y, !1)), f.scale = g, f.Ec = l, f.Uc = n, f.C = p) : (f = ld(b) ? this.c.hf(b) : this.c.Nj(b)) ? a.M(f.Rb(this.touches[e].x, this.touches[e].y, !1)) : a.M(0)
        }
    };
    t.ka = new p
})();

function dh(e) {
    this.c = e
}
(function() {
    function e() {}

    function g() {}

    function b() {}
    var q = dh.prototype;
    q.aa = function(a) {
        this.Pa = a;
        this.c = a.c
    };
    q.aa.prototype.P = function() {};
    q.Z = function(a) {
        this.type = a;
        this.c = a.c
    };
    var p = q.Z.prototype,
        t = "",
        l = "undefined" !== typeof window.is_scirra_arcade;
    l && (t = "arcade" + window.scirra_arcade_id);
    var a = !1;
    try {
        localStorage.getItem("test"), a = !0
    } catch (w) {
        a = !1
    }
    p.P = function() {
        a || Rb("[Construct 2] Webstorage plugin: local storage is not supported on this platform.")
    };
    e.prototype.DT = function(b) {
        return a ? null != localStorage.getItem(t + b) : !1
    };
    e.prototype.fU = function() {
        return !0
    };
    q.u = new e;
    g.prototype.NU = function(b, e) {
        if (a) try {
            localStorage.setItem(t + b, e)
        } catch (g) {
            this.c.trigger(dh.prototype.u.fU, this)
        }
    };
    q.I = new g;
    b.prototype.ET = function(b, e) {
        a ? b.Cb(localStorage.getItem(t + e) || "") : b.Cb("")
    };
    b.prototype.Os = function(b) {
        if (a) {
            var e = {},
                g, p, q;
            g = 0;
            for (p = localStorage.length; g < p; g++) q = localStorage.key(g), l ? q.substr(0, t.length) === t && (e[q.substr(t.length)] = localStorage.getItem(q)) : e[q] = localStorage.getItem(q);
            b.Cb(JSON.stringify({
                c2dictionary: !0,
                data: e
            }))
        } else b.Cb("")
    };
    q.ka = new b
})();

function eh(e) {
    this.c = e
}
(function() {
    var e = eh.prototype;
    e.aa = function(b) {
        this.Pa = b;
        this.c = b.c
    };
    e.aa.prototype.P = function() {};
    e.Z = function(b) {
        this.type = b;
        this.c = b.c
    };
    var g = e.Z.prototype;
    g.P = function() {
        this.WZ = this.D[0];
        this.returnValue = "";
        var b = document.createElement("script");
        b.setAttribute("type", "text/javascript");
        b.setAttribute("src", this.WZ);
        "undefined" != typeof b && document.getElementsByTagName("head")[0].appendChild(b)
    };
    g.od = function() {};
    e.u = {};
    e.I = {};
    e.I.bT = function(b) {
        this.returnValue = "";
        try {
            this.returnValue = eval(b)
        } catch (e) {
            this.returnValue = e
        }
    };
    e.ka = {};
    e.ka.j1 = function(b) {
        b.Cb(this.returnValue)
    }
})();

function fh(e) {
    this.c = e
}
(function() {
    function e() {}
    var g = fh.prototype;
    g.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    g.aa.prototype.P = function() {};
    g.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c
    };
    var b = g.Z.prototype;
    b.P = function() {
        this.vj = this.D[0];
        this.wj = this.D[1];
        this.gp = this.D[2];
        this.fp = this.D[3];
        this.k.X();
        this.Jf = this.k.T.left;
        this.Mf = this.k.T.top;
        this.Kf = this.c.Wa - this.k.T.left;
        this.Lf = this.c.Va - this.k.T.top;
        this.xf = this.c.Wa - this.k.T.right;
        this.We = this.c.Va - this.k.T.bottom;
        this.enabled = 0 !== this.D[4]
    };
    b.lb = function() {
        return {
            xleft: this.Jf,
            ytop: this.Mf,
            xright: this.Kf,
            ybottom: this.Lf,
            rdiff: this.xf,
            bdiff: this.We,
            enabled: this.enabled
        }
    };
    b.yb = function(b) {
        this.Jf = b.xleft;
        this.Mf = b.ytop;
        this.Kf = b.xright;
        this.Lf = b.ybottom;
        this.xf = b.rdiff;
        this.We = b.bdiff;
        this.enabled = b.enabled
    };
    b.Ta = function() {
        if (this.enabled) {
            var b, e = this.k.G,
                g = this.k,
                l = this.k.T;
            0 === this.vj ? (g.X(), b = e.Ca + this.Jf - l.left, 0 !== b && (g.x += b, g.H())) : 1 === this.vj && (g.X(), b = e.Da - this.Kf - l.left, 0 !== b && (g.x += b, g.H()));
            0 === this.wj ? (g.X(), b = e.Ea + this.Mf - l.top, 0 !== b && (g.y += b, g.H())) : 1 === this.wj && (g.X(), b = e.Ba - this.Lf - l.top, 0 !== b && (g.y += b, g.H()));
            1 === this.gp && (g.X(), b = e.Da - this.xf - l.right, 0 !== b && (g.width += b, 0 > g.width && (g.width = 0), g.H()));
            1 === this.fp && (g.X(), b = e.Ba - this.We - l.bottom, 0 !== b && (g.height += b, 0 > g.height && (g.height = 0), g.H()))
        }
    };
    g.u = new function() {};
    e.prototype.Ed = function(b) {
        this.enabled && 0 === b ? this.enabled = !1 : this.enabled || 0 === b || (this.k.X(), this.Jf = this.k.T.left, this.Mf = this.k.T.top, this.Kf = this.c.Wa - this.k.T.left, this.Lf = this.c.Va -
            this.k.T.top, this.xf = this.c.Wa - this.k.T.right, this.We = this.c.Va - this.k.T.bottom, this.enabled = !0)
    };
    g.I = new e;
    g.ka = new function() {}
})();

function gh(e) {
    this.c = e
}
(function() {
    function e() {}
    var g = gh.prototype;
    g.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    g.aa.prototype.P = function() {};
    g.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c
    };
    var b = g.Z.prototype;
    b.P = function() {
        var b = this.D[0];
        this.Mb = this.D[1];
        this.q = this.D[2];
        this.OW = 0 !== this.D[3];
        this.es = 0 !== this.D[4];
        this.O = Math.cos(this.k.C) * b;
        this.U = Math.sin(this.k.C) * b;
        this.nh = this.k.x;
        this.oh = this.k.y;
        this.Ac = this.k.C;
        this.ro = 0;
        this.enabled = 0 !== this.D[5]
    };
    b.lb = function() {
        return {
            acc: this.Mb,
            g: this.q,
            dx: this.O,
            dy: this.U,
            lx: this.nh,
            ly: this.oh,
            lka: this.Ac,
            t: this.ro,
            e: this.enabled
        }
    };
    b.yb = function(b) {
        this.Mb = b.acc;
        this.q = b.g;
        this.O = b.dx;
        this.U = b.dy;
        this.nh = b.lx;
        this.oh = b.ly;
        this.Ac = b.lka;
        this.ro = b.t;
        this.enabled = b.e
    };
    b.Ta = function() {
        if (this.enabled) {
            var b = this.c.gf(this.k),
                e, g;
            this.k.C !== this.Ac && (this.es && (e = Qe(0, 0, this.O, this.U), this.O = Math.cos(this.k.C) * e, this.U = Math.sin(this.k.C) * e), this.Ac = this.k.C);
            0 !== this.Mb && (e = Qe(0, 0, this.O, this.U), g = 0 === this.O && 0 === this.U ? this.k.C : Ie(0, 0, this.O, this.U), e += this.Mb * b, 0 > e && (e = 0), this.O = Math.cos(g) * e, this.U = Math.sin(g) * e);
            0 !== this.q && (this.U += this.q * b);
            this.nh = this.k.x;
            this.oh = this.k.y;
            if (0 !== this.O || 0 !== this.U)
                if (this.k.x += this.O * b, this.k.y += this.U * b, this.ro += Qe(0, 0, this.O * b, this.U * b), this.es && (this.k.C = Ie(0, 0, this.O, this.U), this.k.H(), this.Ac = this.k.C), this.k.H(), this.OW && (e = this.c.Lb(this.k))) this.c.zh(this.k, e), e = Qe(0, 0, this.O, this.U), g = this.c.RW(this.k, this.nh, this.oh), this.O = Math.cos(g) * e, this.U = Math.sin(g) * e, this.k.x += this.O * b, this.k.y += this.U * b, this.k.H(), this.es && (this.Ac = this.k.C = g, this.k.H()), this.c.Sd(this.k, this.O / e, this.U / e, Math.max(2.5 * e * b, 30)) || this.c.xR(this.k, 100)
        }
    };
    g.u = new function() {};
    e.prototype.Ft = function(b) {
        var e = Ie(0, 0, this.O, this.U);
        this.O = Math.cos(e) * b;
        this.U = Math.sin(e) * b
    };
    e.prototype.Ed = function(b) {
        this.enabled = 1 === b
    };
    g.I = new e;
    g.ka = new function() {}
})();
var hh = function() {
        function e(a) {
            throw a;
        }

        function g(a) {
            eval.call(null, a)
        }

        function b(a, b) {
            a || Qa("Assertion failed: " + b)
        }

        function q(a) {
            var e = k["_" + a];
            if (!e) try {
                e = eval("_" + a)
            } catch (f) {}
            b(e, "Cannot call unknown function " + a + " (perhaps LLVM optimizations or closure removed it?)");
            return e
        }

        function p(a, b, e) {
            e = e || "i8";
            "*" === e.charAt(e.length - 1) && (e = "i32");
            switch (e) {
                case "i1":
                    Cc[a >> 0] = b;
                    break;
                case "i8":
                    Cc[a >> 0] = b;
                    break;
                case "i16":
                    gf[a >> 1] = b;
                    break;
                case "i32":
                    Sb[a >> 2] = b;
                    break;
                case "i64":
                    tg = [b >>> 0, (rf = b, 1 <= +dn(rf) ? 0 < rf ? (Gh(+Hh(rf / 4294967296), 4294967295) | 0) >>> 0 : ~~+en((rf - +(~~rf >>> 0)) / 4294967296) >>> 0 : 0)];
                    Sb[a >> 2] = tg[0];
                    Sb[a + 4 >> 2] = tg[1];
                    break;
                case "float":
                    Uf[a >> 2] = b;
                    break;
                case "double":
                    Af[a >> 3] = b;
                    break;
                default:
                    Qa("invalid type for setValue: " + e)
            }
        }

        function t(a, b) {
            b = b || "i8";
            "*" === b.charAt(b.length - 1) && (b = "i32");
            switch (b) {
                case "i1":
                    return Cc[a >> 0];
                case "i8":
                    return Cc[a >> 0];
                case "i16":
                    return gf[a >> 1];
                case "i32":
                    return Sb[a >> 2];
                case "i64":
                    return Sb[a >> 2];
                case "float":
                    return Uf[a >> 2];
                case "double":
                    return Af[a >> 3];
                default:
                    Qa("invalid type for setValue: " + b)
            }
            return null
        }

        function l(a, e, f, g) {
            var k, l;
            "number" === typeof a ? (k = !0, l = a) : (k = !1, l = a.length);
            var m = "string" === typeof e ? e : null;
            f = 4 == f ? g : [ga, Fa.wo, Fa.Lt, Fa.yk][void 0 === f ? 2 : f](Math.max(l, m ? 1 : e.length));
            if (k) {
                g = f;
                b(0 == (f & 3));
                for (a = f + (l & -4); g < a; g += 4) Sb[g >> 2] = 0;
                for (a = f + l; g < a;) Cc[g++ >> 0] = 0;
                return f
            }
            if ("i8" === m) return a.subarray || a.slice ? ve.set(a, f) : ve.set(new Uint8Array(a), f), f;
            g = 0;
            for (var n, q; g < l;) {
                var t = a[g];
                "function" === typeof t && (t = Fa.Q3(t));
                k = m || e[g];
                0 === k ? g++ : ("i64" == k && (k = "i32"), p(f + g, t, k), q !== k && (n = Fa.yt(k), q = k), g += n)
            }
            return f
        }

        function a(a, b) {
            if (0 === b || !a) return "";
            for (var e = !1, f, g = 0;;) {
                f = ve[a + g >> 0];
                if (128 <= f) e = !0;
                else if (0 == f && !b) break;
                g++;
                if (b && g == b) break
            }
            b || (b = g);
            var k = "";
            if (!e) {
                for (; 0 < b;) f = String.fromCharCode.apply(String, ve.subarray(a, a + Math.min(b, 1024))), k = k ? k + f : f, a += 1024, b -= 1024;
                return k
            }
            e = new Fa.Zs;
            for (g = 0; g < b; g++) f = ve[a + g >> 0], k += e.$W(f);
            return k
        }

        function w(b) {
            function f(a, g, k) {
                g = g || Infinity;
                var l = "",
                    m = [],
                    n;
                if ("N" === b[q]) {
                    q++;
                    "K" === b[q] && q++;
                    for (n = [];
                        "E" !== b[q];)
                        if ("S" === b[q]) {
                            q++;
                            var p = b.indexOf("_", q);
                            n.push(w[b.substring(q, p) || 0] || "?");
                            q = p + 1
                        } else if ("C" === b[q]) n.push(n[n.length - 1]), q += 2;
                    else {
                        var p = parseInt(b.substr(q)),
                            K = p.toString().length;
                        if (!p || !K) {
                            q--;
                            break
                        }
                        var t = b.substr(q + K, p);
                        n.push(t);
                        w.push(t);
                        q += K + p
                    }
                    q++;
                    n = n.join("::");
                    g--;
                    if (0 === g) return a ? [n] : n
                } else if (("K" === b[q] || A && "L" === b[q]) && q++, p = parseInt(b.substr(q))) K = p.toString().length, n = b.substr(q + K, p), q += K + p;
                A = !1;
                "I" === b[q] ? (q++, p = f(!0), K = f(!0, 1, !0), l += K[0] + " " + n + "<" + p.join(", ") +
                    ">") : l = n;
                a: for (; q < b.length && 0 < g--;)
                    if (n = b[q++], n in u) m.push(u[n]);
                    else switch (n) {
                        case "P":
                            m.push(f(!0, 1, !0)[0] + "*");
                            break;
                        case "R":
                            m.push(f(!0, 1, !0)[0] + "&");
                            break;
                        case "L":
                            q++;
                            p = b.indexOf("E", q) - q;
                            m.push(b.substr(q, p));
                            q += p + 2;
                            break;
                        case "A":
                            p = parseInt(b.substr(q));
                            q += p.toString().length;
                            "_" !== b[q] && e("?");
                            q++;
                            m.push(f(!0, 1, !0)[0] + " [" + p + "]");
                            break;
                        case "E":
                            break a;
                        default:
                            l += "?" + n;
                            break a
                    }!k && 1 === m.length && "void" === m[0] && (m = []);
                return a ? (l && m.push(l + "?"), m) : l + ("(" + m.join(", ") + ")")
            }
            var g = !!k.eV;
            if (g) try {
                var l = ga(b.length);
                fa(b.substr(1), l);
                var m = ga(4),
                    n = k.eV(l, 0, 0, m);
                if (0 === t(m, "i32") && n) return a(n)
            } catch (p) {} finally {
                l && ug(l), m && ug(m), n && ug(n)
            }
            var q = 3,
                u = {
                    H3: "void",
                    s2: "bool",
                    Il: "char",
                    Mc: "short",
                    pb: "int",
                    a3: "long",
                    x2: "float",
                    v2: "double",
                    Ks: "wchar_t",
                    Eg: "signed char",
                    wq: "unsigned char",
                    Fh: "unsigned short",
                    X2: "unsigned int",
                    c3: "unsigned long",
                    x: "long long",
                    y: "unsigned long long",
                    z: "..."
                },
                w = [],
                A = !0,
                l = b;
            try {
                if ("Object._main" == b || "_main" == b) return "main()";
                "number" === typeof b && (b = a(b));
                if ("_" !== b[0] || "_" !== b[1] || "Z" !== b[2]) return b;
                switch (b[3]) {
                    case "n":
                        return "operator new()";
                    case "d":
                        return "operator delete()"
                }
                l = f()
            } catch (z) {
                l += "?"
            }
            0 <= l.indexOf("?") && !g && Fa.Kk("warning: a problem occurred in builtin C++ name demangling; build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");
            return l
        }

        function L() {
            var a;
            a: {
                a = Error();
                if (!a.stack) {
                    try {
                        e(Error(0))
                    } catch (b) {
                        a = b
                    }
                    if (!a.stack) {
                        a = "(no stack trace available)";
                        break a
                    }
                }
                a = a.stack.toString()
            }
            return a.replace(/__Z[\w\d_]+/g, function(a) {
                var b = w(a);
                return a === b ? a : a + " [" + b + "]"
            })
        }

        function f(a) {
            for (; 0 < a.length;) {
                var b = a.shift();
                if ("function" == typeof b) b();
                else {
                    var e = b.C3;
                    "number" === typeof e ? void 0 === b.Ko ? Fa.Jn("v", e) : Fa.Jn("vi", e, [b.Ko]) : e(void 0 === b.Ko ? null : b.Ko)
                }
            }
        }

        function n(a) {
            vg.unshift(a)
        }

        function z(a) {
            Ih.unshift(a)
        }

        function u(a, b, e) {
            a = (new Fa.Zs).TX(a);
            e && (a.length = e);
            b || a.push(0);
            return a
        }

        function J(a) {
            for (var b = [], e = 0; e < a.length; e++) {
                var f = a[e];
                255 < f && (f &= 255);
                b.push(String.fromCharCode(f))
            }
            return b.join("")
        }

        function fa(a, b, e) {
            a = u(a, e);
            for (e = 0; e < a.length;) Cc[b + e >> 0] = a[e], e += 1
        }

        function ca(a, b) {
            for (var e = 0; e < a.length; e++) Cc[b + e >> 0] = a[e]
        }

        function A(a, b) {
            return 0 <= a ? a : 32 >= b ? 2 * Math.abs(1 << b - 1) + a : Math.pow(2, b) + a
        }

        function ya(a, b) {
            if (0 >= a) return a;
            var e = 32 >= b ? Math.abs(1 << b - 1) : Math.pow(2, b - 1);
            a >= e && (32 >= b || a > e) && (a = -2 * e + a);
            return a
        }

        function Ba() {
            Xe++;
            k.tr && k.tr(Xe)
        }

        function F() {
            Xe--;
            k.tr && k.tr(Xe);
            if (0 == Xe && (null !== wg && (clearInterval(wg), wg = null), Bf)) {
                var a = Bf;
                Bf = null;
                a()
            }
        }

        function P() {
            return !!P.gb
        }

        function ha(a) {
            if (!a || hf[a]) return a;
            for (var b in hf)
                if (hf[b].$s === a) return b;
            return a
        }

        function ea() {
            var a = Vf;
            if (!a) return (m.Tk(0), 0) | 0;
            var b = hf[a],
                e = b.type;
            if (!e) return (m.Tk(0), a) | 0;
            var f = Array.prototype.slice.call(arguments);
            k.Xo(e);
            ea.buffer || (ea.buffer = ga(4));
            Sb[ea.buffer >> 2] = a;
            for (var a = ea.buffer, g = 0; g < f.length; g++)
                if (f[g] && k.Wo(f[g], e, a)) return a = Sb[a >> 2], b.$s = a, (m.Tk(f[g]), a) | 0;
            a = Sb[a >> 2];
            return (m.Tk(e), a) | 0
        }

        function pa(a, b) {
            pa.gb || (pa.gb = {});
            a in pa.gb || (Fa.Jn("v", b), pa.gb[a] = 1)
        }

        function na(a) {
            return Sb[Wf >> 2] = a
        }

        function Pa(a, b, e) {
            a = Le.$(a);
            if (!a) return na(9), -1;
            try {
                return Le.write(a, Cc, b, e)
            } catch (f) {
                return Le.MW(f), -1
            }
        }

        function jb(a) {
            return (a = Le.zt(a)) ? a.Rk : -1
        }

        function ta(a, b) {
            var e = A(a & 255);
            Cc[ta.gb >> 0] = e;
            var f = jb(b);
            if (-1 == Pa(f, ta.gb, 1)) {
                if (e = Le.zt(b)) e.error = !0;
                return -1
            }
            return e
        }

        function Ya(a, b, e, f) {
            e *= b;
            if (0 == e) return 0;
            var g = jb(f);
            a = Pa(g, a, e);
            if (-1 == a) {
                if (b = Le.zt(f)) b.error = !0;
                return 0
            }
            return a / b | 0
        }

        function cb(a) {
            return 0 > a || 0 === a && -Infinity === 1 / a
        }

        function fb(a, b) {
            function e(a) {
                var f;
                "double" === a ? f = (Sb[Cf >> 2] = Sb[b +
                    g >> 2], Sb[Cf + 4 >> 2] = Sb[b + (g + 4) >> 2], +Af[Cf >> 3]) : "i64" == a ? f = [Sb[b + g >> 2], Sb[b + (g + 4) >> 2]] : (a = "i32", f = Sb[b + g >> 2]);
                g += Fa.xt(a);
                return f
            }
            for (var f = a, g = 0, k = [], l, m;;) {
                var n = f;
                l = Cc[f >> 0];
                if (0 === l) break;
                m = Cc[f + 1 >> 0];
                if (37 == l) {
                    var p = !1,
                        q = !1,
                        t = !1,
                        w = !1,
                        z = !1;
                    a: for (;;) {
                        switch (m) {
                            case 43:
                                p = !0;
                                break;
                            case 45:
                                q = !0;
                                break;
                            case 35:
                                t = !0;
                                break;
                            case 48:
                                if (w) break a;
                                else {
                                    w = !0;
                                    break
                                }
                            case 32:
                                z = !0;
                                break;
                            default:
                                break a
                        }
                        f++;
                        m = Cc[f + 1 >> 0]
                    }
                    var C = 0;
                    if (42 == m) C = e("i32"), f++, m = Cc[f + 1 >> 0];
                    else
                        for (; 48 <= m && 57 >= m;) C = 10 * C + (m - 48), f++, m = Cc[f +
                            1 >> 0];
                    var F = !1,
                        P = -1;
                    if (46 == m) {
                        P = 0;
                        F = !0;
                        f++;
                        m = Cc[f + 1 >> 0];
                        if (42 == m) P = e("i32"), f++;
                        else
                            for (;;) {
                                m = Cc[f + 1 >> 0];
                                if (48 > m || 57 < m) break;
                                P = 10 * P + (m - 48);
                                f++
                            }
                        m = Cc[f + 1 >> 0]
                    }
                    0 > P && (P = 6, F = !1);
                    var J;
                    switch (String.fromCharCode(m)) {
                        case "h":
                            m = Cc[f + 2 >> 0];
                            104 == m ? (f++, J = 1) : J = 2;
                            break;
                        case "l":
                            m = Cc[f + 2 >> 0];
                            108 == m ? (f++, J = 8) : J = 4;
                            break;
                        case "L":
                        case "q":
                        case "j":
                            J = 8;
                            break;
                        case "z":
                        case "t":
                        case "I":
                            J = 4;
                            break;
                        default:
                            J = null
                    }
                    J && f++;
                    m = Cc[f + 1 >> 0];
                    switch (String.fromCharCode(m)) {
                        case "d":
                        case "i":
                        case "u":
                        case "o":
                        case "x":
                        case "X":
                        case "p":
                            n = 100 == m || 105 == m;
                            J = J || 4;
                            var fa = l = e("i" + 8 * J),
                                L;
                            8 == J && (l = Fa.QW(l[0], l[1], 117 == m));
                            4 >= J && (l = (n ? ya : A)(l & Math.pow(256, J) - 1, 8 * J));
                            var ga = Math.abs(l),
                                n = "";
                            if (100 == m || 105 == m) L = 8 == J && Df ? Df.stringify(fa[0], fa[1], null) : ya(l, 8 * J).toString(10);
                            else if (117 == m) L = 8 == J && Df ? Df.stringify(fa[0], fa[1], !0) : A(l, 8 * J).toString(10), l = Math.abs(l);
                            else if (111 == m) L = (t ? "0" : "") + ga.toString(8);
                            else if (120 == m || 88 == m) {
                                n = t && 0 != l ? "0x" : "";
                                if (8 == J && Df)
                                    if (fa[1]) {
                                        L = (fa[1] >>> 0).toString(16);
                                        for (t = (fa[0] >>> 0).toString(16); 8 > t.length;) t = "0" +
                                            t;
                                        L += t
                                    } else L = (fa[0] >>> 0).toString(16);
                                else if (0 > l) {
                                    l = -l;
                                    L = (ga - 1).toString(16);
                                    fa = [];
                                    for (t = 0; t < L.length; t++) fa.push((15 - parseInt(L[t], 16)).toString(16));
                                    for (L = fa.join(""); L.length < 2 * J;) L = "f" + L
                                } else L = ga.toString(16);
                                88 == m && (n = n.toUpperCase(), L = L.toUpperCase())
                            } else 112 == m && (0 === ga ? L = "(nil)" : (n = "0x", L = ga.toString(16)));
                            if (F)
                                for (; L.length < P;) L = "0" + L;
                            0 <= l && (p ? n = "+" + n : z && (n = " " + n));
                            for ("-" == L.charAt(0) && (n = "-" + n, L = L.substr(1)); n.length + L.length < C;) q ? L += " " : w ? L = "0" + L : n = " " + n;
                            L = n + L;
                            L.split("").forEach(function(a) {
                                k.push(a.charCodeAt(0))
                            });
                            break;
                        case "f":
                        case "F":
                        case "e":
                        case "E":
                        case "g":
                        case "G":
                            l = e("double");
                            if (isNaN(l)) L = "nan", w = !1;
                            else if (isFinite(l)) {
                                F = !1;
                                J = Math.min(P, 20);
                                if (103 == m || 71 == m) F = !0, P = P || 1, J = parseInt(l.toExponential(J).split("e")[1], 10), P > J && -4 <= J ? (m = (103 == m ? "f" : "F").charCodeAt(0), P -= J + 1) : (m = (103 == m ? "e" : "E").charCodeAt(0), P--), J = Math.min(P, 20);
                                if (101 == m || 69 == m) L = l.toExponential(J), /[eE][-+]\d$/.test(L) && (L = L.slice(0, -1) + "0" + L.slice(-1));
                                else if (102 == m || 70 == m) L = l.toFixed(J), 0 === l && cb(l) && (L = "-" + L);
                                n = L.split("e");
                                if (F && !t)
                                    for (; 1 < n[0].length && -1 != n[0].indexOf(".") && ("0" == n[0].slice(-1) || "." == n[0].slice(-1));) n[0] = n[0].slice(0, -1);
                                else
                                    for (t && -1 == L.indexOf(".") && (n[0] += "."); P > J++;) n[0] += "0";
                                L = n[0] + (1 < n.length ? "e" + n[1] : "");
                                69 == m && (L = L.toUpperCase());
                                0 <= l && (p ? L = "+" + L : z && (L = " " + L))
                            } else L = (0 > l ? "-" : "") + "inf", w = !1;
                            for (; L.length < C;) L = q ? L + " " : !w || "-" != L[0] && "+" != L[0] ? (w ? "0" : " ") + L : L[0] + "0" + L.slice(1);
                            97 > m && (L = L.toUpperCase());
                            L.split("").forEach(function(a) {
                                k.push(a.charCodeAt(0))
                            });
                            break;
                        case "s":
                            w = (p = e("i8*")) ? Jh(p) : 6;
                            F && (w = Math.min(w, P));
                            if (!q)
                                for (; w < C--;) k.push(32);
                            if (p)
                                for (t = 0; t < w; t++) k.push(ve[p++ >> 0]);
                            else k = k.concat(u("(null)".substr(0, w), !0));
                            if (q)
                                for (; w < C--;) k.push(32);
                            break;
                        case "c":
                            for (q && k.push(e("i8")); 0 < --C;) k.push(32);
                            q || k.push(e("i8"));
                            break;
                        case "n":
                            q = e("i32*");
                            Sb[q >> 2] = k.length;
                            break;
                        case "%":
                            k.push(l);
                            break;
                        default:
                            for (t = n; t < f + 2; t++) k.push(Cc[t >> 0])
                    }
                    f += 2
                } else k.push(l), f += 1
            }
            return k
        }

        function gb(a, b, e) {
            e = fb(b, e);
            b = Fa.rl();
            a = Ya(l(e, "i8", 1), 1, e.length, a);
            Fa.So(b);
            return a
        }

        function ja(a, b) {
            var e = fb(a, b),
                f = J(e);
            "\n" === f[f.length - 1] && (f = f.substr(0, f.length - 1));
            k.print(f);
            return e.length
        }

        function Ea(a) {
            Ea.nj || (Te = Te + 4095 & -4096, Ea.nj = !0, b(Fa.yk), Ea.gb = Fa.yk, Fa.yk = function() {
                Qa("cannot dynamically allocate, sbrk now has control")
            });
            var e = Te;
            0 != a && Ea.gb(a);
            return e
        }

        function ga(a) {
            return Fa.yk(a + 8) + 8 & 4294967288
        }

        function ua(a) {
            this.name = "ExitStatus";
            this.message = "Program terminated with exit(" + a + ")";
            this.status = a
        }

        function Za(a) {
            function b() {
                if (!k.Ml && (k.Ml = !0, !sf)) {
                    Xf || (Xf = !0, f(Yf));
                    f(Kh);
                    Zf && null !== $f && k.Fi("pre-main prep time: " + (Date.now() - $f) + " ms");
                    k.pV && xg && k.SW(a);
                    if (k.Ni)
                        for ("function" == typeof k.Ni && (k.Ni = [k.Ni]); k.Ni.length;) z(k.Ni.shift());
                    f(Ih)
                }
            }
            a = a || k.arguments;
            null === $f && ($f = Date.now());
            if (!(0 < Xe)) {
                if (k.Oi)
                    for ("function" == typeof k.Oi && (k.Oi = [k.Oi]); k.Oi.length;) n(k.Oi.shift());
                f(vg);
                0 < Xe || k.Ml || (k.LR ? (k.LR("Running..."), setTimeout(function() {
                    setTimeout(function() {
                        k.LR("")
                    }, 1);
                    b()
                }, 1)) : b())
            }
        }

        function Sa(a) {
            k.TQ || (sf = !0, Me = Lh, f(Mh), ag ? (process.stdout.once("drain", function() {
                process.exit(a)
            }), console.log(" "), setTimeout(function() {
                process.exit(a)
            }, 500)) : yg && "function" === typeof quit && quit(a), e(new ua(a)))
        }

        function Qa(a) {
            a && (k.print(a), k.Fi(a));
            sf = !0;
            e("abort() at " + L() + "\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.")
        }

        function U() {}

        function da(a) {
            return (a || U).A
        }

        function Ma(a, b) {
            var e = da(b),
                f = e[a];
            if (f) return f;
            f = Object.create((b || U).prototype);
            f.j = a;
            return e[a] = f
        }

        function Vb(a, b) {
            return Ma(a.j, b)
        }

        function Yc(a) {
            a.B || e("Error: Cannot destroy object. (Did you create it yourself?)");
            a.B();
            delete da(a.q)[a.j]
        }

        function Ge(a, b) {
            return a.j === b.j
        }

        function of (a) {
            return a.j
        }

        function nf(a) {
            return a.q
        }

        function C(a) {
            return "string" == typeof a ? l(u(a), "i8", 1) : a
        }

        function tc() {
            this.j = Nh();
            da(tc)[this.j] = this
        }

        function Ad() {
            e("cannot construct a b2ContactImpulse, no constructor in IDL")
        }

        function kb() {
            e("cannot construct a b2DistanceJoint, no constructor in IDL")
        }

        function id(a, b, e) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            this.j = void 0 === a ? Oh() : void 0 === b ? _emscripten_bind_b2Mat33_b2Mat33_1(a) : void 0 === e ? _emscripten_bind_b2Mat33_b2Mat33_2(a, b) : Ph(a, b, e);
            da(id)[this.j] = this
        }

        function Gc() {
            e("cannot construct a b2Fixture, no constructor in IDL")
        }

        function nb() {
            this.j = Qh();
            da(nb)[this.j] = this
        }

        function Dd() {
            this.j = Rh();
            da(Dd)[this.j] = this
        }

        function uc() {
            e("cannot construct a b2MouseJoint, no constructor in IDL")
        }

        function Eb(a) {
            a = a && "object" === typeof a ? a.j : C(a);
            this.j = void 0 === a ? Sh() : Th(a);
            da(Eb)[this.j] = this
        }

        function dd() {
            e("cannot construct a b2MotorJoint, no constructor in IDL")
        }

        function pd() {
            e("cannot construct a b2Profile, no constructor in IDL")
        }

        function Ib() {
            e("cannot construct a VoidPtr, no constructor in IDL")
        }

        function Fc() {
            this.j = Uh();
            da(Fc)[this.j] = this
        }

        function Bd() {
            this.j = Vh();
            da(Bd)[this.j] = this
        }

        function Ae() {
            e("cannot construct a b2ContactFeature, no constructor in IDL")
        }

        function Nb(a, b) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            this.j = void 0 === a ? Wh() : void 0 === b ? _emscripten_bind_b2Vec2_b2Vec2_1(a) : Xh(a, b);
            da(Nb)[this.j] = this
        }

        function Sc(a, b, e) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            this.j = void 0 === a ? Yh() : void 0 === b ? _emscripten_bind_b2Vec3_b2Vec3_1(a) : void 0 === e ? _emscripten_bind_b2Vec3_b2Vec3_2(a, b) : Zh(a, b, e);
            da(Sc)[this.j] = this
        }

        function Cd() {
            this.j = $h();
            da(Cd)[this.j] = this
        }

        function oc() {
            this.j = ai();
            da(oc)[this.j] = this
        }

        function Lb() {
            this.j = bi();
            da(Lb)[this.j] = this
        }

        function Ed() {
            this.j = ci();
            da(Ed)[this.j] = this
        }

        function ed() {
            this.j = di();
            da(ed)[this.j] = this
        }

        function vc(a) {
            a = a && "object" === typeof a ? a.j : C(a);
            this.j = ei(a);
            da(vc)[this.j] = this
        }

        function jc() {
            e("cannot construct a b2PrismaticJoint, no constructor in IDL")
        }

        function Be() {
            e("cannot construct a b2RayCastOutput, no constructor in IDL")
        }

        function Fd() {
            e("cannot construct a b2ContactID, no constructor in IDL")
        }

        function Gd() {
            e("cannot construct a b2DestructionListenerWrapper, no constructor in IDL")
        }

        function rd() {
            this.j = fi();
            da(rd)[this.j] = this
        }

        function Hd(a, b, e, f) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            this.j = void 0 === a ? gi() : void 0 === b ? _emscripten_bind_b2Mat22_b2Mat22_1(a) : void 0 === e ? hi(a, b) : void 0 === f ? _emscripten_bind_b2Mat22_b2Mat22_3(a, b, e) : ii(a, b, e, f);
            da(Hd)[this.j] = this
        }

        function $b() {
            this.j = ji();
            da($b)[this.j] = this
        }

        function Id() {
            this.j = ki();
            da(Id)[this.j] = this
        }

        function qb() {
            this.j = li();
            da(qb)[this.j] = this
        }

        function sd() {
            e("cannot construct a b2Draw, no constructor in IDL")
        }

        function Mc() {
            this.j = mi();
            da(Mc)[this.j] = this
        }

        function Bb() {
            e("cannot construct a b2Joint, no constructor in IDL")
        }

        function Zc() {
            e("cannot construct a b2GearJoint, no constructor in IDL")
        }

        function Ic() {
            e("cannot construct a b2RayCastCallback, no constructor in IDL")
        }

        function md() {
            e("cannot construct a b2WeldJoint, no constructor in IDL")
        }

        function fd() {
            this.j = ni();
            da(fd)[this.j] = this
        }

        function Ob() {
            this.j = oi();
            da(Ob)[this.j] = this
        }

        function Tc() {
            e("cannot construct a b2ContactListener, no constructor in IDL")
        }

        function Pd() {
            this.j = pi();
            da(Pd)[this.j] = this
        }

        function td() {
            e("cannot construct a b2QueryCallback, no constructor in IDL")
        }

        function zb() {
            this.j = qi();
            da(zb)[this.j] = this
        }

        function Jd(a, b) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            this.j = void 0 === a ? ri() : void 0 === b ? _emscripten_bind_b2Transform_b2Transform_1(a) : si(a, b);
            da(Jd)[this.j] = this
        }

        function Kd() {
            this.j = ti();
            da(Kd)[this.j] = this
        }

        function ac(a, b, e) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            this.j = void 0 === a ? ui() : void 0 === b ? _emscripten_bind_b2Color_b2Color_1(a) : void 0 === e ? _emscripten_bind_b2Color_b2Color_2(a, b) : vi(a, b, e);
            da(ac)[this.j] = this
        }

        function Uc() {
            e("cannot construct a b2RopeJoint, no constructor in IDL")
        }

        function Ce() {
            e("cannot construct a b2RayCastInput, no constructor in IDL")
        }

        function ud() {
            this.j = wi();
            da(ud)[this.j] = this
        }

        function vd() {
            this.j = xi();
            da(vd)[this.j] = this
        }

        function Dc() {
            this.j = yi();
            da(Dc)[this.j] = this
        }

        function gc() {
            this.j = zi();
            da(gc)[this.j] = this
        }

        function gd() {
            this.j = Ai();
            da(gd)[this.j] = this
        }

        function ie() {
            e("cannot construct a b2WheelJoint, no constructor in IDL")
        }

        function je() {
            e("cannot construct a b2PulleyJoint, no constructor in IDL")
        }

        function jd() {
            this.j = Bi();
            da(jd)[this.j] = this
        }

        function bc() {
            e("cannot construct a b2Contact, no constructor in IDL")
        }

        function mc() {
            e("cannot construct a b2Shape, no constructor in IDL")
        }

        function pc() {
            this.j = Ci();
            da(pc)[this.j] = this
        }

        function vb() {
            e("cannot construct a b2Body, no constructor in IDL")
        }

        function ke() {
            e("cannot construct a b2FrictionJoint, no constructor in IDL")
        }

        function De() {
            e("cannot construct a b2DestructionListener, no constructor in IDL")
        }

        function Vc() {
            this.j = Di();
            da(Vc)[this.j] = this
        }

        function le() {
            e("cannot construct a b2RevoluteJoint, no constructor in IDL")
        }

        function me() {
            e("cannot construct a b2ContactFilter, no constructor in IDL")
        }

        function ne() {
            this.j = Ei();
            da(ne)[this.j] = this
        }

        function nd() {
            this.j = Fi();
            da(nd)[this.j] = this
        }

        function hb() {
            this.j = Gi();
            da(hb)[this.j] = this
        }

        function U() {}

        function da(a) {
            return (a || U).A
        }

        function Ma(a, b) {
            var e = da(b),
                f = e[a];
            if (f) return f;
            f = Object.create((b || U).prototype);
            f.j = a;
            return e[a] = f
        }

        function Vb(a, b) {
            return Ma(a.j, b)
        }

        function Yc(a) {
            a.B || e("Error: Cannot destroy object. (Did you create it yourself?)");
            a.B();
            delete da(a.q)[a.j]
        }

        function Ge(a, b) {
            return a.j === b.j
        }

        function of (a) {
            return a.j
        }

        function nf(a) {
            return a.q
        }

        function C(a) {
            return "string" == typeof a ? l(u(a), "i8", 1) : a
        }

        function tc() {
            this.j = Nh();
            da(tc)[this.j] = this
        }

        function Ad() {
            e("cannot construct a b2ContactImpulse, no constructor in IDL")
        }

        function kb() {
            e("cannot construct a b2DistanceJoint, no constructor in IDL")
        }

        function id(a, b, e) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            this.j = void 0 === a ? Oh() : void 0 === b ? _emscripten_bind_b2Mat33_b2Mat33_1(a) : void 0 === e ? _emscripten_bind_b2Mat33_b2Mat33_2(a, b) : Ph(a, b, e);
            da(id)[this.j] = this
        }

        function Gc() {
            e("cannot construct a b2Fixture, no constructor in IDL")
        }

        function nb() {
            this.j = Qh();
            da(nb)[this.j] = this
        }

        function Dd() {
            this.j = Rh();
            da(Dd)[this.j] = this
        }

        function uc() {
            e("cannot construct a b2MouseJoint, no constructor in IDL")
        }

        function Eb(a) {
            a = a && "object" === typeof a ? a.j : C(a);
            this.j = void 0 === a ? Sh() : Th(a);
            da(Eb)[this.j] = this
        }

        function dd() {
            e("cannot construct a b2MotorJoint, no constructor in IDL")
        }

        function pd() {
            e("cannot construct a b2Profile, no constructor in IDL")
        }

        function Ib() {
            e("cannot construct a VoidPtr, no constructor in IDL")
        }

        function Fc() {
            this.j = Uh();
            da(Fc)[this.j] = this
        }

        function Bd() {
            this.j = Vh();
            da(Bd)[this.j] = this
        }

        function Ae() {
            e("cannot construct a b2ContactFeature, no constructor in IDL")
        }

        function Nb(a, b) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            this.j = void 0 === a ? Wh() : void 0 === b ? _emscripten_bind_b2Vec2_b2Vec2_1(a) : Xh(a, b);
            da(Nb)[this.j] = this
        }

        function Sc(a, b, e) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            this.j = void 0 === a ? Yh() : void 0 === b ? _emscripten_bind_b2Vec3_b2Vec3_1(a) : void 0 === e ? _emscripten_bind_b2Vec3_b2Vec3_2(a, b) : Zh(a, b, e);
            da(Sc)[this.j] = this
        }

        function Cd() {
            this.j = $h();
            da(Cd)[this.j] = this
        }

        function oc() {
            this.j = ai();
            da(oc)[this.j] = this
        }

        function Lb() {
            this.j = bi();
            da(Lb)[this.j] = this
        }

        function Ed() {
            this.j = ci();
            da(Ed)[this.j] = this
        }

        function ed() {
            this.j = di();
            da(ed)[this.j] = this
        }

        function vc(a) {
            a = a && "object" === typeof a ? a.j : C(a);
            this.j = ei(a);
            da(vc)[this.j] = this
        }

        function jc() {
            e("cannot construct a b2PrismaticJoint, no constructor in IDL")
        }

        function Be() {
            e("cannot construct a b2RayCastOutput, no constructor in IDL")
        }

        function Fd() {
            e("cannot construct a b2ContactID, no constructor in IDL")
        }

        function Gd() {
            e("cannot construct a b2DestructionListenerWrapper, no constructor in IDL")
        }

        function rd() {
            this.j = fi();
            da(rd)[this.j] = this
        }

        function Hd(a, b, e, f) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            this.j = void 0 === a ? gi() : void 0 === b ? _emscripten_bind_b2Mat22_b2Mat22_1(a) : void 0 === e ? hi(a, b) : void 0 === f ? _emscripten_bind_b2Mat22_b2Mat22_3(a, b, e) : ii(a, b, e, f);
            da(Hd)[this.j] = this
        }

        function $b() {
            this.j = ji();
            da($b)[this.j] = this
        }

        function Id() {
            this.j = ki();
            da(Id)[this.j] = this
        }

        function qb() {
            this.j = li();
            da(qb)[this.j] = this
        }

        function sd() {
            e("cannot construct a b2Draw, no constructor in IDL")
        }

        function Mc() {
            this.j = mi();
            da(Mc)[this.j] = this
        }

        function Bb() {
            e("cannot construct a b2Joint, no constructor in IDL")
        }

        function Zc() {
            e("cannot construct a b2GearJoint, no constructor in IDL")
        }

        function Ic() {
            e("cannot construct a b2RayCastCallback, no constructor in IDL")
        }

        function md() {
            e("cannot construct a b2WeldJoint, no constructor in IDL")
        }

        function fd() {
            this.j = ni();
            da(fd)[this.j] = this
        }

        function Ob() {
            this.j = oi();
            da(Ob)[this.j] = this
        }

        function Tc() {
            e("cannot construct a b2ContactListener, no constructor in IDL")
        }

        function Pd() {
            this.j = pi();
            da(Pd)[this.j] = this
        }

        function td() {
            e("cannot construct a b2QueryCallback, no constructor in IDL")
        }

        function zb() {
            this.j = qi();
            da(zb)[this.j] = this
        }

        function Jd(a, b) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            this.j = void 0 === a ? ri() : void 0 === b ? _emscripten_bind_b2Transform_b2Transform_1(a) : si(a, b);
            da(Jd)[this.j] = this
        }

        function Kd() {
            this.j = ti();
            da(Kd)[this.j] = this
        }

        function ac(a, b, e) {
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            this.j = void 0 === a ? ui() : void 0 === b ? _emscripten_bind_b2Color_b2Color_1(a) : void 0 === e ? _emscripten_bind_b2Color_b2Color_2(a, b) : vi(a, b, e);
            da(ac)[this.j] = this
        }

        function Uc() {
            e("cannot construct a b2RopeJoint, no constructor in IDL")
        }

        function Ce() {
            e("cannot construct a b2RayCastInput, no constructor in IDL")
        }

        function ud() {
            this.j = wi();
            da(ud)[this.j] = this
        }

        function vd() {
            this.j = xi();
            da(vd)[this.j] = this
        }

        function Dc() {
            this.j = yi();
            da(Dc)[this.j] = this
        }

        function gc() {
            this.j = zi();
            da(gc)[this.j] = this
        }

        function gd() {
            this.j = Ai();
            da(gd)[this.j] = this
        }

        function ie() {
            e("cannot construct a b2WheelJoint, no constructor in IDL")
        }

        function je() {
            e("cannot construct a b2PulleyJoint, no constructor in IDL")
        }

        function jd() {
            this.j = Bi();
            da(jd)[this.j] = this
        }

        function bc() {
            e("cannot construct a b2Contact, no constructor in IDL")
        }

        function mc() {
            e("cannot construct a b2Shape, no constructor in IDL")
        }

        function pc() {
            this.j = Ci();
            da(pc)[this.j] = this
        }

        function vb() {
            e("cannot construct a b2Body, no constructor in IDL")
        }

        function ke() {
            e("cannot construct a b2FrictionJoint, no constructor in IDL")
        }

        function De() {
            e("cannot construct a b2DestructionListener, no constructor in IDL")
        }

        function Vc() {
            this.j = Di();
            da(Vc)[this.j] = this
        }

        function le() {
            e("cannot construct a b2RevoluteJoint, no constructor in IDL")
        }

        function me() {
            e("cannot construct a b2ContactFilter, no constructor in IDL")
        }

        function ne() {
            this.j = Ei();
            da(ne)[this.j] = this
        }

        function nd() {
            this.j = Fi();
            da(nd)[this.j] = this
        }

        function hb() {
            this.j = Gi();
            da(hb)[this.j] = this
        }
        var k;
        k || (k = eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));
        var bg = {},
            Ye;
        for (Ye in k) k.hasOwnProperty(Ye) && (bg[Ye] = k[Ye]);
        var ag = "object" === typeof process && "function" === typeof require,
            Zf = "object" === typeof window,
            Hi = "function" === typeof importScripts,
            yg = !Zf && !ag && !Hi;
        if (ag) {
            k.print || (k.print = function(a) {
                process.stdout.write(a + "\n")
            });
            k.yh || (k.yh = function(a) {
                process.stderr.write(a + "\n")
            });
            var Ii = require("fs"),
                Ji = require("path");
            k.Nk = function(a, b) {
                a = Ji.normalize(a);
                var e = Ii.r_(a);
                !e && a != Ji.resolve(a) && (a = path.join(__dirname, "..", "src", a), e = Ii.r_(a));
                e && !b && (e = e.toString());
                return e
            };
            k.yR = function(a) {
                return k.Nk(a, !0)
            };
            k.load = function(a) {
                g(read(a))
            };
            k.us = 1 < process.argv.length ? process.argv[1].replace(/\\/g, "/") : "unknown-program";
            k.arguments = process.argv.slice(2);
            "undefined" !== typeof module && (module.w2 = k);
            process.on("uncaughtException", function(a) {
                a instanceof ua || e(a)
            })
        } else yg ? (k.print || (k.print = print), "undefined" != typeof printErr && (k.yh = printErr), k.Nk = "undefined" != typeof read ? read : function() {
            e("no read() available (jsc?)")
        }, k.yR = function(a) {
            if ("function" === typeof readbuffer) return new Uint8Array(readbuffer(a));
            a = read(a, "binary");
            b("object" === typeof a);
            return a
        }, "undefined" != typeof scriptArgs ? k.arguments = scriptArgs : "undefined" != typeof arguments && (k.arguments = arguments), this.Module = k, eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined")) : Zf || Hi ? (k.Nk = function(a) {
            var b = new XMLHttpRequest;
            b.open("GET", a, !1);
            b.send(null);
            return b.responseText
        }, "undefined" != typeof arguments && (k.arguments = arguments), "undefined" !== typeof console ? (k.print || (k.print = function(a) {
            console.log(a)
        }), k.yh || (k.yh = function(a) {
            console.log(a)
        })) : k.print || (k.print = function() {}), Zf ? window.Module = k : k.load = importScripts) : e("Unknown runtime environment. Where are we?");
        !k.load && k.Nk && (k.load = function(a) {
            g(k.Nk(a))
        });
        k.print || (k.print = function() {});
        k.yh || (k.yh = k.print);
        k.arguments || (k.arguments = []);
        k.us || (k.us = "./this.program");
        k.print = k.print;
        k.Fi = k.yh;
        k.Oi = [];
        k.Ni = [];
        for (Ye in bg) bg.hasOwnProperty(Ye) && (k[Ye] = bg[Ye]);
        var Fa = {
            fg: function(a) {
                Ki = a
            },
            AV: function() {
                return Ki
            },
            rl: function() {
                return Me
            },
            So: function(a) {
                Me = a
            },
            yt: function(a) {
                switch (a) {
                    case "i1":
                    case "i8":
                        return 1;
                    case "i16":
                        return 2;
                    case "i32":
                        return 4;
                    case "i64":
                        return 8;
                    case "float":
                        return 4;
                    case "double":
                        return 8;
                    default:
                        return "*" === a[a.length - 1] ? Fa.Io : "i" === a[0] ? (a = parseInt(a.substr(1)), b(0 === a % 8), a / 8) : 0
                }
            },
            xt: function(a) {
                return Math.max(Fa.yt(a), Fa.Io)
            },
            C2: 16,
            G3: function(a, b, e) {
                return e || "i64" != a && "double" != a ? a ? Math.min(b || (a ? Fa.xt(a) : 0), Fa.Io) : Math.min(b, 8) : 8
            },
            Jn: function(a, b, e) {
                return e && e.length ? (e.splice || (e = Array.prototype.slice.call(e)), e.splice(0, 0, b), k["dynCall_" + a].apply(null, e)) : k["dynCall_" + a].call(null, b)
            },
            Ee: [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null],
            TU: function(a) {
                for (var b = 0; b < Fa.Ee.length; b++)
                    if (!Fa.Ee[b]) return Fa.Ee[b] = a, 2 * (1 + b);
                e("Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.")
            },
            CY: function(a) {
                Fa.Ee[(a - 2) / 2] = null
            },
            bt: function(b, f) {
                Fa.No || (Fa.No = {});
                var g = Fa.No[b];
                if (g) return g;
                for (var g = [], l = 0; l < f; l++) g.push(String.fromCharCode(36) + l);
                l = a(b);
                '"' === l[0] && (l.indexOf('"', 1) === l.length - 1 ? l = l.substr(1, l.length - 2) : Qa("invalid EM_ASM input |" + l + "|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)"));
                try {
                    var m = eval("(function(Module, FS) { return function(" + g.join(",") + "){ " + l + " } })")(k, "undefined" !== typeof Le ? Le : null)
                } catch (n) {
                    k.Fi("error in executing inline EM_ASM code: " +
                        n + " on: \n\n" + l + "\n\nwith args |" + g + "| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)"), e(n)
                }
                return Fa.No[b] = m
            },
            Kk: function(a) {
                Fa.Kk.gb || (Fa.Kk.gb = {});
                Fa.Kk.gb[a] || (Fa.Kk.gb[a] = 1, k.Fi(a))
            },
            Oo: {},
            J3: function(a, e) {
                b(e);
                Fa.Oo[e] || (Fa.Oo[e] = {});
                var f = Fa.Oo[e];
                f[a] || (f[a] = function() {
                    return Fa.Jn(e, a, arguments)
                });
                return f[a]
            },
            Zs: function() {
                var a = [],
                    b = 0;
                this.$W = function(e) {
                    e &= 255;
                    if (0 == a.length) {
                        if (0 == (e & 128)) return String.fromCharCode(e);
                        a.push(e);
                        b = 192 == (e & 224) ? 1 : 224 == (e & 240) ? 2 : 3;
                        return ""
                    }
                    if (b && (a.push(e), b--, 0 < b)) return "";
                    e = a[0];
                    var f = a[1],
                        g = a[2],
                        k = a[3];
                    2 == a.length ? e = String.fromCharCode((e & 31) << 6 | f & 63) : 3 == a.length ? e = String.fromCharCode((e & 15) << 12 | (f & 63) << 6 | g & 63) : (e = (e & 7) << 18 | (f & 63) << 12 | (g & 63) << 6 | k & 63, e = String.fromCharCode(((e - 65536) / 1024 | 0) + 55296, (e - 65536) % 1024 + 56320));
                    a.length = 0;
                    return e
                };
                this.TX = function(a) {
                    a = unescape(encodeURIComponent(a));
                    for (var b = [], e = 0; e < a.length; e++) b.push(a.charCodeAt(e));
                    return b
                }
            },
            I3: function() {
                e("You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work")
            },
            wo: function(a) {
                var b = Me;
                Me = Me + a | 0;
                Me = Me + 15 & -16;
                return b
            },
            Lt: function(a) {
                var b = jf;
                jf = jf + a | 0;
                jf = jf + 15 & -16;
                return b
            },
            yk: function(a) {
                var b = Te;
                Te = Te + a | 0;
                Te = Te + 15 & -16;
                Te >= kf && Qa("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + kf + ", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.");
                return b
            },
            Jo: function(a, b) {
                return Math.ceil(a / (b ? b : 16)) * (b ? b : 16)
            },
            QW: function(a, b, e) {
                return e ? +(a >>> 0) + 4294967296 * +(b >>> 0) : +(a >>> 0) + 4294967296 * +(b | 0)
            },
            Ys: 8,
            Io: 4,
            Fm: 0
        };
        k.o1 = Fa;
        Fa.k2 = Fa.TU;
        Fa.v3 = Fa.CY;
        var sf = !1,
            rf, tg, Ki, Li, Mi;
        (function() {
            function b(a) {
                a = a.toString().match(k).slice(1);
                return {
                    arguments: a[0],
                    body: a[1],
                    returnValue: a[2]
                }
            }
            var e = 0,
                f = {
                    ps: function() {
                        e = Fa.rl()
                    },
                    fo: function() {
                        Fa.So(e)
                    },
                    KV: function(a) {
                        var b = Fa.wo(a.length);
                        ca(a, b);
                        return b
                    },
                    X_: function(a) {
                        var b = 0;
                        null !== a && void 0 !== a && 0 !== a && (b = Fa.wo((a.length << 2) + 1), fa(a, b));
                        return b
                    }
                },
                g = {
                    z3: f.X_,
                    r2: f.KV
                };
            Mi = function(b, k, l, m) {
                b = q(b);
                var n = [];
                if (m)
                    for (var p = 0; p < m.length; p++) {
                        var t = g[l[p]];
                        t ? (0 === e && (e = Fa.rl()), n[p] = t(m[p])) : n[p] = m[p]
                    }
                l = b.apply(null, n);
                "string" === k && (l = a(l));
                0 !== e && f.fo();
                return l
            };
            var k = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,
                l = {},
                m;
            for (m in f) f.hasOwnProperty(m) && (l[m] = b(f[m]));
            Li = function(e, f, g) {
                g = g || [];
                var k = q(e);
                e = g.every(function(a) {
                    return "number" === a
                });
                var x = "string" !== f;
                if (x && e) return k;
                var m = g.map(function(a, b) {
                    return "$" + b
                });
                f = "(function(" +
                    m.join(",") + ") {";
                var n = g.length;
                if (!e) {
                    f += l.ps.body + ";";
                    for (var p = 0; p < n; p++) {
                        var t = m[p],
                            K = g[p];
                        "number" !== K && (K = l[K + "ToC"], f += "var " + K.arguments + " = " + t + ";", f += K.body + ";", f += t + "=" + K.returnValue + ";")
                    }
                }
                g = b(function() {
                    return k
                }).returnValue;
                f += "var ret = " + g + "(" + m.join(",") + ");";
                x || (g = b(function() {
                    return a
                }).returnValue, f += "ret = " + g + "(ret);");
                e || (f += l.fo.body + ";");
                return eval(f + "return ret})")
            }
        })();
        k.u2 = Li;
        k.t2 = Mi;
        k.Ud = p;
        k.ig = t;
        k.q0 = 0;
        k.IS = 1;
        k.r0 = 2;
        k.o0 = 3;
        k.p0 = 4;
        k.JV = l;
        k.f1 = a;
        k.M1 = function(a) {
            for (var b = 0, e = "";;) {
                var f = gf[a + 2 * b >> 1];
                if (0 == f) return e;
                ++b;
                e += String.fromCharCode(f)
            }
        };
        k.A3 = function(a, b) {
            for (var e = 0; e < a.length; ++e) gf[b + 2 * e >> 1] = a.charCodeAt(e);
            gf[b + 2 * a.length >> 1] = 0
        };
        k.N1 = function(a) {
            for (var b = 0, e = "";;) {
                var f = Sb[a + 4 * b >> 2];
                if (0 == f) return e;
                ++b;
                65536 <= f ? (f -= 65536, e += String.fromCharCode(55296 | f >> 10, 56320 | f & 1023)) : e += String.fromCharCode(f)
            }
        };
        k.B3 = function(a, b) {
            for (var e = 0, f = 0; f < a.length; ++f) {
                var g = a.charCodeAt(f);
                if (55296 <= g && 57343 >= g) var k = a.charCodeAt(++f),
                    g = 65536 + ((g & 1023) << 10) | k & 1023;
                Sb[b +
                    4 * e >> 2] = g;
                ++e
            }
            Sb[b + 4 * e >> 2] = 0
        };
        k.y3 = function() {
            return L()
        };
        for (var Cc, ve, gf, Ni, Sb, Oi, Uf, Af, cg = 0, jf = 0, Pi = 0, Me = 0, zg = 0, Qi = 0, Te = 0, Ri = k.H1 || 5242880, kf = k.G1 || 33554432, We = 65536; We < kf || We < 2 * Ri;) We = 16777216 > We ? 2 * We : We + 16777216;
        We !== kf && (k.Fi("increasing TOTAL_MEMORY to " + We + " to be compliant with the asm.js spec"), kf = We);
        b("undefined" !== typeof Int32Array && "undefined" !== typeof Float64Array && !!(new Int32Array(1)).subarray && !!(new Int32Array(1)).set, "JS engine does not provide full typed array support");
        var Ue = new ArrayBuffer(kf);
        Cc = new Int8Array(Ue);
        gf = new Int16Array(Ue);
        Sb = new Int32Array(Ue);
        ve = new Uint8Array(Ue);
        Ni = new Uint16Array(Ue);
        Oi = new Uint32Array(Ue);
        Uf = new Float32Array(Ue);
        Af = new Float64Array(Ue);
        Sb[0] = 255;
        b(255 === ve[0] && 0 === ve[3], "Typed arrays 2 must be run on a little-endian system");
        k.D0 = void 0;
        k.buffer = Ue;
        k.G0 = Cc;
        k.E0 = gf;
        k.F0 = Sb;
        k.L0 = ve;
        k.J0 = Ni;
        k.K0 = Oi;
        k.H0 = Uf;
        k.I0 = Af;
        var vg = [],
            Yf = [],
            Kh = [],
            Mh = [],
            Ih = [],
            Xf = !1;
        k.p2 = k.k3 = n;
        k.m2 = k.Z2 = function(a) {
            Yf.unshift(a)
        };
        k.o2 = k.d3 = function(a) {
            Kh.unshift(a)
        };
        k.l2 = k.Y2 = function(a) {
            Mh.unshift(a)
        };
        k.n2 = k.b3 = z;
        k.E2 = u;
        k.F2 = J;
        k.P3 = fa;
        k.N3 = ca;
        k.O3 = function(a, b, e) {
            for (var f = 0; f < a.length; f++) Cc[b + f >> 0] = a.charCodeAt(f);
            e || (Cc[b + a.length >> 0] = 0)
        };
        Math.Gm && -5 === Math.Gm(4294967295, 5) || (Math.Gm = function(a, b) {
            var e = a & 65535,
                f = b & 65535;
            return e * f + ((a >>> 16) * f + e * (b >>> 16) << 16) | 0
        });
        Math.S3 = Math.Gm;
        var dn = Math.abs,
            fn = Math.cos,
            gn = Math.sin,
            hn = Math.atan2,
            jn = Math.sqrt,
            en = Math.ceil,
            Hh = Math.floor,
            Gh = Math.min,
            Xe = 0,
            wg = null,
            Bf = null;
        k.q2 = Ba;
        k.w3 = F;
        k.p3 = {};
        k.o3 = {};
        var Ze = null,
            cg = 8,
            jf = cg + 19344;
        Yf.push();
        l([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 3, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 54, 74, 83, 68, 114, 97, 119, 0, 54, 98, 50, 68, 114, 97, 119, 0, 184, 72, 0, 0, 184, 3, 0, 0, 224, 72, 0, 0, 176, 3, 0, 0, 192, 3, 0, 0, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 68, 114, 97, 119, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 68, 114, 97, 119, 84, 114, 97, 110, 115, 102, 111, 114, 109, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 68, 114, 97, 119, 58, 58, 68, 114, 97, 119, 84, 114, 97, 110, 115, 102, 111, 114, 109, 46, 39, 59, 32, 115, 101, 108, 102, 46, 68, 114, 97, 119, 84, 114, 97, 110, 115, 102, 111, 114, 109, 40, 36, 49, 41, 59, 32, 125, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 68, 114, 97, 119, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 68, 114, 97, 119, 83, 101, 103, 109, 101, 110, 116, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 68, 114, 97, 119, 58, 58, 68, 114, 97, 119, 83, 101, 103, 109, 101, 110, 116, 46, 39, 59, 32, 115, 101, 108, 102, 46, 68, 114, 97, 119, 83, 101, 103, 109, 101, 110, 116, 40, 36, 49, 44, 36, 50, 44, 36, 51, 41, 59, 32, 125, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 68, 114, 97, 119, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 68, 114, 97, 119, 83, 111, 108, 105, 100, 67, 105, 114, 99, 108, 101, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 68, 114, 97, 119, 58, 58, 68, 114, 97, 119, 83, 111, 108, 105, 100, 67, 105, 114, 99, 108, 101, 46, 39, 59, 32, 115, 101, 108, 102, 46, 68, 114, 97, 119, 83, 111, 108, 105, 100, 67, 105, 114, 99, 108, 101, 40, 36, 49, 44, 36, 50, 44, 36, 51, 44, 36, 52, 41, 59, 32, 125, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 68, 114, 97, 119, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 68, 114, 97, 119, 67, 105, 114, 99, 108, 101, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 68, 114, 97, 119, 58, 58, 68, 114, 97, 119, 67, 105, 114, 99, 108, 101, 46, 39, 59, 32, 115, 101, 108, 102, 46, 68, 114, 97, 119, 67, 105, 114, 99, 108, 101, 40, 36, 49, 44, 36, 50, 44, 36, 51, 41, 59, 32, 125, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 68, 114, 97, 119, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 68, 114, 97, 119, 83, 111, 108, 105, 100, 80, 111, 108, 121, 103, 111, 110, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 68, 114, 97, 119, 58, 58, 68, 114, 97, 119, 83, 111, 108, 105, 100, 80, 111, 108, 121, 103, 111, 110, 46, 39, 59, 32, 115, 101, 108, 102, 46, 68, 114, 97, 119, 83, 111, 108, 105, 100, 80, 111, 108, 121, 103, 111, 110, 40, 36, 49, 44, 36, 50, 44, 36, 51, 41, 59, 32, 125, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 68, 114, 97, 119, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 68, 114, 97, 119, 80, 111, 108, 121, 103, 111, 110, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 68, 114, 97, 119, 58, 58, 68, 114, 97, 119, 80, 111, 108, 121, 103, 111, 110, 46, 39, 59, 32, 115, 101, 108, 102, 46, 68, 114, 97, 119, 80, 111, 108, 121, 103, 111, 110, 40, 36, 49, 44, 36, 50, 44, 36, 51, 41, 59, 32, 125, 0, 0, 0, 0, 0, 56, 9, 0, 0, 44, 0, 0, 0, 45, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 49, 53, 74, 83, 67, 111, 110, 116, 97, 99, 116, 70, 105, 108, 116, 101, 114, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 32, 9, 0, 0, 88, 47, 0, 0, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 67, 111, 110, 116, 97, 99, 116, 70, 105, 108, 116, 101, 114, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 83, 104, 111, 117, 108, 100, 67, 111, 108, 108, 105, 100, 101, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 67, 111, 110, 116, 97, 99, 116, 70, 105, 108, 116, 101, 114, 58, 58, 83, 104, 111, 117, 108, 100, 67, 111, 108, 108, 105, 100, 101, 46, 39, 59, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, 108, 102, 46, 83, 104, 111, 117, 108, 100, 67, 111, 108, 108, 105, 100, 101, 40, 36, 49, 44, 36, 50, 41, 59, 32, 125, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 83, 104, 97, 112, 101, 115, 47, 98, 50, 80, 111, 108, 121, 103, 111, 110, 83, 104, 97, 112, 101, 46, 104, 0, 0, 0, 0, 0, 0, 0, 0, 208, 10, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 49, 55, 74, 83, 67, 111, 110, 116, 97, 99, 116, 76, 105, 115, 116, 101, 110, 101, 114, 0, 0, 0, 0, 0, 49, 55, 98, 50, 67, 111, 110, 116, 97, 99, 116, 76, 105, 115, 116, 101, 110, 101, 114, 0, 0, 0, 0, 0, 184, 72, 0, 0, 176, 10, 0, 0, 224, 72, 0, 0, 152, 10, 0, 0, 200, 10, 0, 0, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 67, 111, 110, 116, 97, 99, 116, 76, 105, 115, 116, 101, 110, 101, 114, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 69, 110, 100, 67, 111, 110, 116, 97, 99, 116, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 67, 111, 110, 116, 97, 99, 116, 76, 105, 115, 116, 101, 110, 101, 114, 58, 58, 69, 110, 100, 67, 111, 110, 116, 97, 99, 116, 46, 39, 59, 32, 115, 101, 108, 102, 46, 69, 110, 100, 67, 111, 110, 116, 97, 99, 116, 40, 36, 49, 41, 59, 32, 125, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 67, 111, 110, 116, 97, 99, 116, 76, 105, 115, 116, 101, 110, 101, 114, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 66, 101, 103, 105, 110, 67, 111, 110, 116, 97, 99, 116, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 67, 111, 110, 116, 97, 99, 116, 76, 105, 115, 116, 101, 110, 101, 114, 58, 58, 66, 101, 103, 105, 110, 67, 111, 110, 116, 97, 99, 116, 46, 39, 59, 32, 115, 101, 108, 102, 46, 66, 101, 103, 105, 110, 67, 111, 110, 116, 97, 99, 116, 40, 36, 49, 41, 59, 32, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 13, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 49, 55, 74, 83, 82, 97, 121, 67, 97, 115, 116, 67, 97, 108, 108, 98, 97, 99, 107, 0, 0, 0, 0, 0, 49, 55, 98, 50, 82, 97, 121, 67, 97, 115, 116, 67, 97, 108, 108, 98, 97, 99, 107, 0, 0, 0, 0, 0, 184, 72, 0, 0, 232, 12, 0, 0, 224, 72, 0, 0, 208, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 82, 97, 121, 67, 97, 115, 116, 67, 97, 108, 108, 98, 97, 99, 107, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 82, 101, 112, 111, 114, 116, 70, 105, 120, 116, 117, 114, 101, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 82, 97, 121, 67, 97, 115, 116, 67, 97, 108, 108, 98, 97, 99, 107, 58, 58, 82, 101, 112, 111, 114, 116, 70, 105, 120, 116, 117, 114, 101, 46, 39, 59, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, 108, 102, 46, 82, 101, 112, 111, 114, 116, 70, 105, 120, 116, 117, 114, 101, 40, 36, 49, 44, 36, 50, 44, 36, 51, 44, 36, 52, 41, 59, 32, 125, 0, 0, 0, 0, 0, 0, 0, 104, 14, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 49, 53, 74, 83, 81, 117, 101, 114, 121, 67, 97, 108, 108, 98, 97, 99, 107, 0, 0, 0, 0, 0, 0, 0, 49, 53, 98, 50, 81, 117, 101, 114, 121, 67, 97, 108, 108, 98, 97, 99, 107, 0, 0, 0, 0, 0, 0, 0, 184, 72, 0, 0, 72, 14, 0, 0, 224, 72, 0, 0, 48, 14, 0, 0, 96, 14, 0, 0, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 81, 117, 101, 114, 121, 67, 97, 108, 108, 98, 97, 99, 107, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 82, 101, 112, 111, 114, 116, 70, 105, 120, 116, 117, 114, 101, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 81, 117, 101, 114, 121, 67, 97, 108, 108, 98, 97, 99, 107, 58, 58, 82, 101, 112, 111, 114, 116, 70, 105, 120, 116, 117, 114, 101, 46, 39, 59, 32, 114, 101, 116, 117, 114, 110, 32, 115, 101, 108, 102, 46, 82, 101, 112, 111, 114, 116, 70, 105, 120, 116, 117, 114, 101, 40, 36, 49, 41, 59, 32, 125, 0, 0, 0, 0, 0, 0, 0, 0, 48, 32, 60, 61, 32, 99, 104, 105, 108, 100, 73, 110, 100, 101, 120, 32, 38, 38, 32, 99, 104, 105, 108, 100, 73, 110, 100, 101, 120, 32, 60, 32, 109, 95, 112, 114, 111, 120, 121, 67, 111, 117, 110, 116, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 98, 50, 70, 105, 120, 116, 117, 114, 101, 46, 104, 0, 71, 101, 116, 65, 65, 66, 66, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 100, 101, 110, 115, 105, 116, 121, 41, 32, 38, 38, 32, 100, 101, 110, 115, 105, 116, 121, 32, 62, 61, 32, 48, 46, 48, 102, 0, 0, 0, 83, 101, 116, 68, 101, 110, 115, 105, 116, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 16, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 45, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 50, 49, 74, 83, 68, 101, 115, 116, 114, 117, 99, 116, 105, 111, 110, 76, 105, 115, 116, 101, 110, 101, 114, 0, 50, 56, 98, 50, 68, 101, 115, 116, 114, 117, 99, 116, 105, 111, 110, 76, 105, 115, 116, 101, 110, 101, 114, 87, 114, 97, 112, 112, 101, 114, 0, 0, 50, 49, 98, 50, 68, 101, 115, 116, 114, 117, 99, 116, 105, 111, 110, 76, 105, 115, 116, 101, 110, 101, 114, 0, 184, 72, 0, 0, 96, 16, 0, 0, 64, 73, 0, 0, 64, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 120, 16, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 40, 16, 0, 0, 128, 16, 0, 0, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 68, 101, 115, 116, 114, 117, 99, 116, 105, 111, 110, 76, 105, 115, 116, 101, 110, 101, 114, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 83, 97, 121, 71, 111, 111, 100, 98, 121, 101, 70, 105, 120, 116, 117, 114, 101, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 68, 101, 115, 116, 114, 117, 99, 116, 105, 111, 110, 76, 105, 115, 116, 101, 110, 101, 114, 58, 58, 83, 97, 121, 71, 111, 111, 100, 98, 121, 101, 70, 105, 120, 116, 117, 114, 101, 46, 39, 59, 32, 115, 101, 108, 102, 46, 83, 97, 121, 71, 111, 111, 100, 98, 121, 101, 70, 105, 120, 116, 117, 114, 101, 40, 36, 49, 41, 59, 32, 125, 0, 0, 0, 0, 0, 0, 0, 123, 32, 118, 97, 114, 32, 115, 101, 108, 102, 32, 61, 32, 77, 111, 100, 117, 108, 101, 91, 39, 103, 101, 116, 67, 97, 99, 104, 101, 39, 93, 40, 77, 111, 100, 117, 108, 101, 91, 39, 74, 83, 68, 101, 115, 116, 114, 117, 99, 116, 105, 111, 110, 76, 105, 115, 116, 101, 110, 101, 114, 39, 93, 41, 91, 36, 48, 93, 59, 32, 105, 102, 32, 40, 33, 115, 101, 108, 102, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 39, 83, 97, 121, 71, 111, 111, 100, 98, 121, 101, 74, 111, 105, 110, 116, 39, 41, 41, 32, 116, 104, 114, 111, 119, 32, 39, 97, 32, 74, 83, 73, 109, 112, 108, 101, 109, 101, 110, 116, 97, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 32, 97, 108, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 44, 32, 121, 111, 117, 32, 102, 111, 114, 103, 111, 116, 32, 74, 83, 68, 101, 115, 116, 114, 117, 99, 116, 105, 111, 110, 76, 105, 115, 116, 101, 110, 101, 114, 58, 58, 83, 97, 121, 71, 111, 111, 100, 98, 121, 101, 74, 111, 105, 110, 116, 46, 39, 59, 32, 115, 101, 108, 102, 46, 83, 97, 121, 71, 111, 111, 100, 98, 121, 101, 74, 111, 105, 110, 116, 40, 36, 49, 41, 59, 32, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 20, 0, 0, 49, 0, 0, 0, 50, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 54, 0, 0, 0, 51, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 74, 111, 105, 110, 116, 115, 47, 98, 50, 77, 111, 116, 111, 114, 74, 111, 105, 110, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 102, 97, 99, 116, 111, 114, 41, 32, 38, 38, 32, 48, 46, 48, 102, 32, 60, 61, 32, 102, 97, 99, 116, 111, 114, 32, 38, 38, 32, 102, 97, 99, 116, 111, 114, 32, 60, 61, 32, 49, 46, 48, 102, 0, 0, 0, 83, 101, 116, 67, 111, 114, 114, 101, 99, 116, 105, 111, 110, 70, 97, 99, 116, 111, 114, 0, 0, 0, 0, 0, 32, 32, 98, 50, 77, 111, 116, 111, 114, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 32, 32, 106, 100, 46, 108, 105, 110, 101, 97, 114, 79, 102, 102, 115, 101, 116, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 97, 110, 103, 117, 108, 97, 114, 79, 102, 102, 115, 101, 116, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 32, 32, 106, 100, 46, 99, 111, 114, 114, 101, 99, 116, 105, 111, 110, 70, 97, 99, 116, 111, 114, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 0, 49, 50, 98, 50, 77, 111, 116, 111, 114, 74, 111, 105, 110, 116, 0, 0, 55, 98, 50, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 0, 0, 0, 184, 72, 0, 0, 16, 20, 0, 0, 224, 72, 0, 0, 0, 20, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 100, 101, 110, 32, 62, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 98, 50, 67, 111, 108, 108, 105, 100, 101, 69, 100, 103, 101, 46, 99, 112, 112, 0, 0, 98, 50, 67, 111, 108, 108, 105, 100, 101, 69, 100, 103, 101, 65, 110, 100, 67, 105, 114, 99, 108, 101, 0, 0, 48, 32, 60, 61, 32, 101, 100, 103, 101, 49, 32, 38, 38, 32, 101, 100, 103, 101, 49, 32, 60, 32, 112, 111, 108, 121, 49, 45, 62, 109, 95, 99, 111, 117, 110, 116, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 98, 50, 67, 111, 108, 108, 105, 100, 101, 80, 111, 108, 121, 103, 111, 110, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 98, 50, 70, 105, 110, 100, 73, 110, 99, 105, 100, 101, 110, 116, 69, 100, 103, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 32, 60, 61, 32, 105, 110, 100, 101, 120, 32, 38, 38, 32, 105, 110, 100, 101, 120, 32, 60, 32, 99, 104, 97, 105, 110, 45, 62, 109, 95, 99, 111, 117, 110, 116, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 98, 50, 68, 105, 115, 116, 97, 110, 99, 101, 46, 99, 112, 112, 0, 0, 0, 0, 0, 98, 50, 68, 105, 115, 116, 97, 110, 99, 101, 0, 0, 0, 0, 0, 0, 71, 101, 116, 77, 101, 116, 114, 105, 99, 0, 0, 0, 0, 0, 0, 0, 71, 101, 116, 87, 105, 116, 110, 101, 115, 115, 80, 111, 105, 110, 116, 115, 0, 0, 0, 0, 0, 0, 0, 0, 99, 97, 99, 104, 101, 45, 62, 99, 111, 117, 110, 116, 32, 60, 61, 32, 51, 0, 0, 0, 0, 0, 0, 0, 82, 101, 97, 100, 67, 97, 99, 104, 101, 0, 0, 0, 0, 0, 0, 0, 109, 95, 110, 111, 100, 101, 67, 111, 117, 110, 116, 32, 61, 61, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 98, 50, 68, 121, 110, 97, 109, 105, 99, 84, 114, 101, 101, 46, 99, 112, 112, 0, 0, 65, 108, 108, 111, 99, 97, 116, 101, 78, 111, 100, 101, 0, 0, 0, 0, 48, 32, 60, 61, 32, 110, 111, 100, 101, 73, 100, 32, 38, 38, 32, 110, 111, 100, 101, 73, 100, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 70, 114, 101, 101, 78, 111, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 48, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 111, 117, 110, 116, 0, 68, 101, 115, 116, 114, 111, 121, 80, 114, 111, 120, 121, 0, 0, 0, 0, 109, 95, 110, 111, 100, 101, 115, 91, 112, 114, 111, 120, 121, 73, 100, 93, 46, 73, 115, 76, 101, 97, 102, 40, 41, 0, 0, 0, 0, 0, 0, 0, 77, 111, 118, 101, 80, 114, 111, 120, 121, 0, 0, 0, 0, 0, 0, 0, 99, 104, 105, 108, 100, 49, 32, 33, 61, 32, 40, 45, 49, 41, 0, 0, 73, 110, 115, 101, 114, 116, 76, 101, 97, 102, 0, 0, 0, 0, 0, 0, 99, 104, 105, 108, 100, 50, 32, 33, 61, 32, 40, 45, 49, 41, 0, 0, 105, 65, 32, 33, 61, 32, 40, 45, 49, 41, 0, 0, 0, 0, 0, 0, 66, 97, 108, 97, 110, 99, 101, 0, 48, 32, 60, 61, 32, 105, 66, 32, 38, 38, 32, 105, 66, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 48, 32, 60, 61, 32, 105, 67, 32, 38, 38, 32, 105, 67, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 48, 32, 60, 61, 32, 105, 70, 32, 38, 38, 32, 105, 70, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 48, 32, 60, 61, 32, 105, 71, 32, 38, 38, 32, 105, 71, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 109, 95, 110, 111, 100, 101, 115, 91, 67, 45, 62, 112, 97, 114, 101, 110, 116, 93, 46, 99, 104, 105, 108, 100, 50, 32, 61, 61, 32, 105, 65, 0, 48, 32, 60, 61, 32, 105, 68, 32, 38, 38, 32, 105, 68, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 48, 32, 60, 61, 32, 105, 69, 32, 38, 38, 32, 105, 69, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 109, 95, 110, 111, 100, 101, 115, 91, 66, 45, 62, 112, 97, 114, 101, 110, 116, 93, 46, 99, 104, 105, 108, 100, 50, 32, 61, 61, 32, 105, 65, 0, 110, 111, 100, 101, 45, 62, 73, 115, 76, 101, 97, 102, 40, 41, 32, 61, 61, 32, 102, 97, 108, 115, 101, 0, 71, 101, 116, 77, 97, 120, 66, 97, 108, 97, 110, 99, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 97, 114, 103, 101, 116, 32, 62, 32, 116, 111, 108, 101, 114, 97, 110, 99, 101, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 98, 50, 84, 105, 109, 101, 79, 102, 73, 109, 112, 97, 99, 116, 46, 99, 112, 112, 0, 98, 50, 84, 105, 109, 101, 79, 102, 73, 109, 112, 97, 99, 116, 0, 0, 69, 118, 97, 108, 117, 97, 116, 101, 0, 0, 0, 0, 0, 0, 0, 0, 48, 32, 60, 61, 32, 105, 110, 100, 101, 120, 32, 38, 38, 32, 105, 110, 100, 101, 120, 32, 60, 32, 109, 95, 99, 111, 117, 110, 116, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 98, 50, 68, 105, 115, 116, 97, 110, 99, 101, 46, 104, 0, 0, 0, 0, 0, 0, 0, 71, 101, 116, 86, 101, 114, 116, 101, 120, 0, 0, 0, 0, 0, 0, 0, 70, 105, 110, 100, 77, 105, 110, 83, 101, 112, 97, 114, 97, 116, 105, 111, 110, 0, 0, 0, 0, 0, 0, 0, 48, 32, 60, 32, 99, 111, 117, 110, 116, 32, 38, 38, 32, 99, 111, 117, 110, 116, 32, 60, 32, 51, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 57, 0, 0, 0, 58, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 109, 95, 118, 101, 114, 116, 105, 99, 101, 115, 32, 61, 61, 32, 48, 76, 32, 38, 38, 32, 109, 95, 99, 111, 117, 110, 116, 32, 61, 61, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 83, 104, 97, 112, 101, 115, 47, 98, 50, 67, 104, 97, 105, 110, 83, 104, 97, 112, 101, 46, 99, 112, 112, 0, 0, 0, 0, 67, 114, 101, 97, 116, 101, 76, 111, 111, 112, 0, 0, 0, 0, 0, 0, 98, 50, 68, 105, 115, 116, 97, 110, 99, 101, 83, 113, 117, 97, 114, 101, 100, 40, 118, 49, 44, 32, 118, 50, 41, 32, 62, 32, 48, 46, 48, 48, 53, 102, 32, 42, 32, 48, 46, 48, 48, 53, 102, 0, 0, 0, 0, 0, 67, 114, 101, 97, 116, 101, 67, 104, 97, 105, 110, 0, 0, 0, 0, 0, 99, 111, 117, 110, 116, 32, 62, 61, 32, 50, 0, 0, 0, 0, 0, 0, 98, 50, 68, 105, 115, 116, 97, 110, 99, 101, 83, 113, 117, 97, 114, 101, 100, 40, 118, 101, 114, 116, 105, 99, 101, 115, 91, 105, 45, 49, 93, 44, 32, 118, 101, 114, 116, 105, 99, 101, 115, 91, 105, 93, 41, 32, 62, 32, 48, 46, 48, 48, 53, 102, 32, 42, 32, 48, 46, 48, 48, 53, 102, 0, 48, 32, 60, 61, 32, 105, 110, 100, 101, 120, 32, 38, 38, 32, 105, 110, 100, 101, 120, 32, 60, 32, 109, 95, 99, 111, 117, 110, 116, 32, 45, 32, 49, 0, 0, 0, 0, 0, 0, 0, 71, 101, 116, 67, 104, 105, 108, 100, 69, 100, 103, 101, 0, 0, 0, 0, 99, 104, 105, 108, 100, 73, 110, 100, 101, 120, 32, 60, 32, 109, 95, 99, 111, 117, 110, 116, 0, 0, 0, 0, 67, 111, 109, 112, 117, 116, 101, 65, 65, 66, 66, 0, 0, 0, 0, 0, 49, 50, 98, 50, 67, 104, 97, 105, 110, 83, 104, 97, 112, 101, 0, 0, 55, 98, 50, 83, 104, 97, 112, 101, 0, 0, 0, 0, 0, 0, 0, 0, 184, 72, 0, 0, 232, 26, 0, 0, 224, 72, 0, 0, 216, 26, 0, 0, 248, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 27, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0, 43, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 49, 51, 98, 50, 67, 105, 114, 99, 108, 101, 83, 104, 97, 112, 101, 0, 224, 72, 0, 0, 56, 27, 0, 0, 248, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 27, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 47, 0, 0, 0, 45, 0, 0, 0, 49, 49, 98, 50, 69, 100, 103, 101, 83, 104, 97, 112, 101, 0, 0, 0, 224, 72, 0, 0, 128, 27, 0, 0, 248, 26, 0, 0, 0, 0, 0, 0, 51, 32, 60, 61, 32, 99, 111, 117, 110, 116, 32, 38, 38, 32, 99, 111, 117, 110, 116, 32, 60, 61, 32, 49, 54, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 83, 104, 97, 112, 101, 115, 47, 98, 50, 80, 111, 108, 121, 103, 111, 110, 83, 104, 97, 112, 101, 46, 99, 112, 112, 0, 0, 83, 101, 116, 0, 0, 0, 0, 0, 101, 100, 103, 101, 46, 76, 101, 110, 103, 116, 104, 83, 113, 117, 97, 114, 101, 100, 40, 41, 32, 62, 32, 49, 46, 49, 57, 50, 48, 57, 50, 56, 57, 53, 53, 48, 55, 56, 49, 50, 53, 101, 45, 48, 55, 70, 32, 42, 32, 49, 46, 49, 57, 50, 48, 57, 50, 56, 57, 53, 53, 48, 55, 56, 49, 50, 53, 101, 45, 48, 55, 70, 0, 0, 0, 0, 0, 0, 0, 0, 48, 46, 48, 102, 32, 60, 61, 32, 108, 111, 119, 101, 114, 32, 38, 38, 32, 108, 111, 119, 101, 114, 32, 60, 61, 32, 105, 110, 112, 117, 116, 46, 109, 97, 120, 70, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 0, 109, 95, 99, 111, 117, 110, 116, 32, 62, 61, 32, 51, 0, 0, 0, 0, 67, 111, 109, 112, 117, 116, 101, 77, 97, 115, 115, 0, 0, 0, 0, 0, 97, 114, 101, 97, 32, 62, 32, 49, 46, 49, 57, 50, 48, 57, 50, 56, 57, 53, 53, 48, 55, 56, 49, 50, 53, 101, 45, 48, 55, 70, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 47, 0, 0, 0, 45, 0, 0, 0, 46, 0, 0, 0, 45, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 49, 52, 98, 50, 80, 111, 108, 121, 103, 111, 110, 83, 104, 97, 112, 101, 0, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 232, 28, 0, 0, 248, 26, 0, 0, 0, 0, 0, 0, 99, 111, 117, 110, 116, 32, 62, 61, 32, 51, 0, 0, 0, 0, 0, 0, 67, 111, 109, 112, 117, 116, 101, 67, 101, 110, 116, 114, 111, 105, 100, 0, 16, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 96, 0, 0, 0, 128, 0, 0, 0, 160, 0, 0, 0, 192, 0, 0, 0, 224, 0, 0, 0, 0, 1, 0, 0, 64, 1, 0, 0, 128, 1, 0, 0, 192, 1, 0, 0, 0, 2, 0, 0, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 32, 60, 32, 98, 50, 95, 98, 108, 111, 99, 107, 83, 105, 122, 101, 115, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 109, 109, 111, 110, 47, 98, 50, 66, 108, 111, 99, 107, 65, 108, 108, 111, 99, 97, 116, 111, 114, 46, 99, 112, 112, 0, 0, 98, 50, 66, 108, 111, 99, 107, 65, 108, 108, 111, 99, 97, 116, 111, 114, 0, 0, 0, 0, 0, 0, 0, 0, 48, 32, 60, 32, 115, 105, 122, 101, 0, 0, 0, 0, 0, 0, 0, 0, 48, 32, 60, 61, 32, 105, 110, 100, 101, 120, 32, 38, 38, 32, 105, 110, 100, 101, 120, 32, 60, 32, 98, 50, 95, 98, 108, 111, 99, 107, 83, 105, 122, 101, 115, 0, 0, 0, 0, 0, 98, 108, 111, 99, 107, 67, 111, 117, 110, 116, 32, 42, 32, 98, 108, 111, 99, 107, 83, 105, 122, 101, 32, 60, 61, 32, 98, 50, 95, 99, 104, 117, 110, 107, 83, 105, 122, 101, 0, 0, 109, 95, 105, 110, 100, 101, 120, 32, 61, 61, 32, 48, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 109, 109, 111, 110, 47, 98, 50, 83, 116, 97, 99, 107, 65, 108, 108, 111, 99, 97, 116, 111, 114, 46, 99, 112, 112, 0, 0, 126, 98, 50, 83, 116, 97, 99, 107, 65, 108, 108, 111, 99, 97, 116, 111, 114, 0, 0, 0, 0, 0, 0, 0, 109, 95, 101, 110, 116, 114, 121, 67, 111, 117, 110, 116, 32, 61, 61, 32, 48, 0, 0, 0, 0, 0, 0, 0, 109, 95, 101, 110, 116, 114, 121, 67, 111, 117, 110, 116, 32, 60, 32, 98, 50, 95, 109, 97, 120, 83, 116, 97, 99, 107, 69, 110, 116, 114, 105, 101, 115, 0, 0, 0, 0, 0, 0, 0, 65, 108, 108, 111, 99, 97, 116, 101, 0, 0, 0, 0, 0, 0, 0, 0, 109, 95, 101, 110, 116, 114, 121, 67, 111, 117, 110, 116, 32, 62, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, 70, 114, 101, 101, 0, 0, 0, 0, 112, 32, 61, 61, 32, 101, 110, 116, 114, 121, 45, 62, 100, 97, 116, 97, 0, 0, 0, 0, 0, 0, 0, 0, 98, 100, 45, 62, 112, 111, 115, 105, 116, 105, 111, 110, 46, 73, 115, 86, 97, 108, 105, 100, 40, 41, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 98, 50, 66, 111, 100, 121, 46, 99, 112, 112, 0, 0, 98, 50, 66, 111, 100, 121, 0, 0, 98, 100, 45, 62, 108, 105, 110, 101, 97, 114, 86, 101, 108, 111, 99, 105, 116, 121, 46, 73, 115, 86, 97, 108, 105, 100, 40, 41, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 98, 100, 45, 62, 97, 110, 103, 108, 101, 41, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 98, 100, 45, 62, 97, 110, 103, 117, 108, 97, 114, 86, 101, 108, 111, 99, 105, 116, 121, 41, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 98, 100, 45, 62, 97, 110, 103, 117, 108, 97, 114, 68, 97, 109, 112, 105, 110, 103, 41, 32, 38, 38, 32, 98, 100, 45, 62, 97, 110, 103, 117, 108, 97, 114, 68, 97, 109, 112, 105, 110, 103, 32, 62, 61, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 98, 100, 45, 62, 108, 105, 110, 101, 97, 114, 68, 97, 109, 112, 105, 110, 103, 41, 32, 38, 38, 32, 98, 100, 45, 62, 108, 105, 110, 101, 97, 114, 68, 97, 109, 112, 105, 110, 103, 32, 62, 61, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 0, 109, 95, 119, 111, 114, 108, 100, 45, 62, 73, 115, 76, 111, 99, 107, 101, 100, 40, 41, 32, 61, 61, 32, 102, 97, 108, 115, 101, 0, 0, 0, 0, 83, 101, 116, 84, 121, 112, 101, 0, 67, 114, 101, 97, 116, 101, 70, 105, 120, 116, 117, 114, 101, 0, 0, 0, 68, 101, 115, 116, 114, 111, 121, 70, 105, 120, 116, 117, 114, 101, 0, 0, 102, 105, 120, 116, 117, 114, 101, 45, 62, 109, 95, 98, 111, 100, 121, 32, 61, 61, 32, 116, 104, 105, 115, 0, 109, 95, 102, 105, 120, 116, 117, 114, 101, 67, 111, 117, 110, 116, 32, 62, 32, 48, 0, 0, 0, 0, 0, 0, 102, 111, 117, 110, 100, 0, 0, 0, 109, 95, 116, 121, 112, 101, 32, 61, 61, 32, 98, 50, 95, 100, 121, 110, 97, 109, 105, 99, 66, 111, 100, 121, 0, 0, 0, 0, 0, 0, 0, 0, 82, 101, 115, 101, 116, 77, 97, 115, 115, 68, 97, 116, 97, 0, 0, 0, 109, 95, 73, 32, 62, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 83, 101, 116, 77, 97, 115, 115, 68, 97, 116, 97, 0, 0, 0, 0, 0, 83, 101, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 0, 0, 0, 0, 83, 101, 116, 65, 99, 116, 105, 118, 101, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 50, 66, 111, 100, 121, 68, 101, 102, 32, 98, 100, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 100, 46, 116, 121, 112, 101, 32, 61, 32, 98, 50, 66, 111, 100, 121, 84, 121, 112, 101, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 32, 32, 98, 100, 46, 112, 111, 115, 105, 116, 105, 111, 110, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 32, 32, 98, 100, 46, 97, 110, 103, 108, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 32, 32, 98, 100, 46, 108, 105, 110, 101, 97, 114, 86, 101, 108, 111, 99, 105, 116, 121, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 32, 32, 98, 100, 46, 97, 110, 103, 117, 108, 97, 114, 86, 101, 108, 111, 99, 105, 116, 121, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 100, 46, 108, 105, 110, 101, 97, 114, 68, 97, 109, 112, 105, 110, 103, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 32, 32, 98, 100, 46, 97, 110, 103, 117, 108, 97, 114, 68, 97, 109, 112, 105, 110, 103, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 32, 32, 98, 100, 46, 97, 108, 108, 111, 119, 83, 108, 101, 101, 112, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 32, 32, 98, 100, 46, 97, 119, 97, 107, 101, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 32, 32, 98, 100, 46, 102, 105, 120, 101, 100, 82, 111, 116, 97, 116, 105, 111, 110, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 32, 32, 98, 100, 46, 98, 117, 108, 108, 101, 116, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 100, 46, 97, 99, 116, 105, 118, 101, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 100, 46, 103, 114, 97, 118, 105, 116, 121, 83, 99, 97, 108, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 32, 32, 98, 111, 100, 105, 101, 115, 91, 37, 100, 93, 32, 61, 32, 109, 95, 119, 111, 114, 108, 100, 45, 62, 67, 114, 101, 97, 116, 101, 66, 111, 100, 121, 40, 38, 98, 100, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 123, 10, 0, 0, 0, 0, 32, 32, 125, 10, 0, 0, 0, 0, 48, 47, 0, 0, 0, 0, 0, 0, 16, 38, 0, 0, 0, 0, 0, 0, 109, 95, 99, 111, 117, 110, 116, 32, 62, 32, 48, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 109, 109, 111, 110, 47, 98, 50, 71, 114, 111, 119, 97, 98, 108, 101, 83, 116, 97, 99, 107, 46, 104, 0, 0, 0, 0, 0, 80, 111, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 10, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 109, 95, 112, 114, 111, 120, 121, 67, 111, 117, 110, 116, 32, 61, 61, 32, 48, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 98, 50, 70, 105, 120, 116, 117, 114, 101, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 67, 114, 101, 97, 116, 101, 80, 114, 111, 120, 105, 101, 115, 0, 0, 0, 32, 32, 32, 32, 98, 50, 70, 105, 120, 116, 117, 114, 101, 68, 101, 102, 32, 102, 100, 59, 10, 0, 0, 0, 32, 32, 32, 32, 102, 100, 46, 102, 114, 105, 99, 116, 105, 111, 110, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 32, 32, 32, 32, 102, 100, 46, 114, 101, 115, 116, 105, 116, 117, 116, 105, 111, 110, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 32, 32, 32, 32, 102, 100, 46, 100, 101, 110, 115, 105, 116, 121, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 102, 100, 46, 105, 115, 83, 101, 110, 115, 111, 114, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 32, 32, 32, 32, 102, 100, 46, 102, 105, 108, 116, 101, 114, 46, 99, 97, 116, 101, 103, 111, 114, 121, 66, 105, 116, 115, 32, 61, 32, 117, 105, 110, 116, 49, 54, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 102, 100, 46, 102, 105, 108, 116, 101, 114, 46, 109, 97, 115, 107, 66, 105, 116, 115, 32, 61, 32, 117, 105, 110, 116, 49, 54, 40, 37, 100, 41, 59, 10, 0, 0, 0, 32, 32, 32, 32, 102, 100, 46, 102, 105, 108, 116, 101, 114, 46, 103, 114, 111, 117, 112, 73, 110, 100, 101, 120, 32, 61, 32, 105, 110, 116, 49, 54, 40, 37, 100, 41, 59, 10, 0, 0, 32, 32, 32, 32, 98, 50, 67, 105, 114, 99, 108, 101, 83, 104, 97, 112, 101, 32, 115, 104, 97, 112, 101, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 114, 97, 100, 105, 117, 115, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 112, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 32, 32, 32, 32, 98, 50, 69, 100], "i8", 4, Fa.Ys);
        l([103, 101, 83, 104, 97, 112, 101, 32, 115, 104, 97, 112, 101, 59, 10, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 118, 101, 114, 116, 101, 120, 48, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 118, 101, 114, 116, 101, 120, 49, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 118, 101, 114, 116, 101, 120, 50, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 118, 101, 114, 116, 101, 120, 51, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 104, 97, 115, 86, 101, 114, 116, 101, 120, 48, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 104, 97, 115, 86, 101, 114, 116, 101, 120, 51, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 0, 32, 32, 32, 32, 98, 50, 80, 111, 108, 121, 103, 111, 110, 83, 104, 97, 112, 101, 32, 115, 104, 97, 112, 101, 59, 10, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 98, 50, 86, 101, 99, 50, 32, 118, 115, 91, 37, 100, 93, 59, 10, 0, 0, 0, 0, 0, 32, 32, 32, 32, 118, 115, 91, 37, 100, 93, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 83, 101, 116, 40, 118, 115, 44, 32, 37, 100, 41, 59, 10, 0, 32, 32, 32, 32, 98, 50, 67, 104, 97, 105, 110, 83, 104, 97, 112, 101, 32, 115, 104, 97, 112, 101, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 67, 114, 101, 97, 116, 101, 67, 104, 97, 105, 110, 40, 118, 115, 44, 32, 37, 100, 41, 59, 10, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 112, 114, 101, 118, 86, 101, 114, 116, 101, 120, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 110, 101, 120, 116, 86, 101, 114, 116, 101, 120, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 104, 97, 115, 80, 114, 101, 118, 86, 101, 114, 116, 101, 120, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 32, 32, 32, 32, 115, 104, 97, 112, 101, 46, 109, 95, 104, 97, 115, 78, 101, 120, 116, 86, 101, 114, 116, 101, 120, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 102, 100, 46, 115, 104, 97, 112, 101, 32, 61, 32, 38, 115, 104, 97, 112, 101, 59, 10, 0, 32, 32, 32, 32, 98, 111, 100, 105, 101, 115, 91, 37, 100, 93, 45, 62, 67, 114, 101, 97, 116, 101, 70, 105, 120, 116, 117, 114, 101, 40, 38, 102, 100, 41, 59, 10, 0, 0, 0, 0, 116, 111, 105, 73, 110, 100, 101, 120, 65, 32, 60, 32, 109, 95, 98, 111, 100, 121, 67, 111, 117, 110, 116, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 98, 50, 73, 115, 108, 97, 110, 100, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 116, 111, 105, 73, 110, 100, 101, 120, 66, 32, 60, 32, 109, 95, 98, 111, 100, 121, 67, 111, 117, 110, 116, 0, 73, 115, 76, 111, 99, 107, 101, 100, 40, 41, 32, 61, 61, 32, 102, 97, 108, 115, 101, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 98, 50, 87, 111, 114, 108, 100, 46, 99, 112, 112, 0, 67, 114, 101, 97, 116, 101, 66, 111, 100, 121, 0, 0, 0, 0, 0, 0, 109, 95, 98, 111, 100, 121, 67, 111, 117, 110, 116, 32, 62, 32, 48, 0, 68, 101, 115, 116, 114, 111, 121, 66, 111, 100, 121, 0, 0, 0, 0, 0, 67, 114, 101, 97, 116, 101, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 68, 101, 115, 116, 114, 111, 121, 74, 111, 105, 110, 116, 0, 0, 0, 0, 109, 95, 106, 111, 105, 110, 116, 67, 111, 117, 110, 116, 32, 62, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, 98, 45, 62, 73, 115, 65, 99, 116, 105, 118, 101, 40, 41, 32, 61, 61, 32, 116, 114, 117, 101, 0, 0, 0, 83, 111, 108, 118, 101, 0, 0, 0, 115, 116, 97, 99, 107, 67, 111, 117, 110, 116, 32, 60, 32, 115, 116, 97, 99, 107, 83, 105, 122, 101, 0, 0, 116, 121, 112, 101, 65, 32, 61, 61, 32, 98, 50, 95, 100, 121, 110, 97, 109, 105, 99, 66, 111, 100, 121, 32, 124, 124, 32, 116, 121, 112, 101, 66, 32, 61, 61, 32, 98, 50, 95, 100, 121, 110, 97, 109, 105, 99, 66, 111, 100, 121, 0, 0, 0, 0, 0, 0, 83, 111, 108, 118, 101, 84, 79, 73, 0, 0, 0, 0, 0, 0, 0, 0, 97, 108, 112, 104, 97, 48, 32, 60, 32, 49, 46, 48, 102, 0, 0, 0, 118, 101, 114, 116, 101, 120, 67, 111, 117, 110, 116, 32, 60, 61, 32, 49, 54, 0, 0, 0, 0, 0, 0, 0, 68, 114, 97, 119, 83, 104, 97, 112, 101, 0, 0, 0, 0, 0, 0, 0, 98, 50, 86, 101, 99, 50, 32, 103, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 109, 95, 119, 111, 114, 108, 100, 45, 62, 83, 101, 116, 71, 114, 97, 118, 105, 116, 121, 40, 103, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 98, 50, 66, 111, 100, 121, 42, 42, 32, 98, 111, 100, 105, 101, 115, 32, 61, 32, 40, 98, 50, 66, 111, 100, 121, 42, 42, 41, 98, 50, 65, 108, 108, 111, 99, 40, 37, 100, 32, 42, 32, 115, 105, 122, 101, 111, 102, 40, 98, 50, 66, 111, 100, 121, 42, 41, 41, 59, 10, 0, 0, 0, 0, 0, 98, 50, 74, 111, 105, 110, 116, 42, 42, 32, 106, 111, 105, 110, 116, 115, 32, 61, 32, 40, 98, 50, 74, 111, 105, 110, 116, 42, 42, 41, 98, 50, 65, 108, 108, 111, 99, 40, 37, 100, 32, 42, 32, 115, 105, 122, 101, 111, 102, 40, 98, 50, 74, 111, 105, 110, 116, 42, 41, 41, 59, 10, 0, 0, 123, 10, 0, 0, 0, 0, 0, 0, 125, 10, 0, 0, 0, 0, 0, 0, 98, 50, 70, 114, 101, 101, 40, 106, 111, 105, 110, 116, 115, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 98, 50, 70, 114, 101, 101, 40, 98, 111, 100, 105, 101, 115, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 106, 111, 105, 110, 116, 115, 32, 61, 32, 78, 85, 76, 76, 59, 10, 0, 98, 111, 100, 105, 101, 115, 32, 61, 32, 78, 85, 76, 76, 59, 10, 0, 114, 46, 76, 101, 110, 103, 116, 104, 83, 113, 117, 97, 114, 101, 100, 40, 41, 32, 62, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 108, 108, 105, 115, 105, 111, 110, 47, 98, 50, 68, 121, 110, 97, 109, 105, 99, 84, 114, 101, 101, 46, 104, 0, 0, 0, 0, 82, 97, 121, 67, 97, 115, 116, 0, 48, 32, 60, 61, 32, 112, 114, 111, 120, 121, 73, 100, 32, 38, 38, 32, 112, 114, 111, 120, 121, 73, 100, 32, 60, 32, 109, 95, 110, 111, 100, 101, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 0, 0, 0, 0, 0, 0, 71, 101, 116, 85, 115, 101, 114, 68, 97, 116, 97, 0, 0, 0, 0, 0, 71, 101, 116, 70, 97, 116, 65, 65, 66, 66, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 67, 111, 109, 109, 111, 110, 47, 98, 50, 77, 97, 116, 104, 46, 104, 0, 0, 0, 0, 0, 0, 65, 100, 118, 97, 110, 99, 101, 0, 109, 95, 106, 111, 105, 110, 116, 67, 111, 117, 110, 116, 32, 60, 32, 109, 95, 106, 111, 105, 110, 116, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 98, 50, 73, 115, 108, 97, 110, 100, 46, 104, 0, 0, 65, 100, 100, 0, 0, 0, 0, 0, 109, 95, 99, 111, 110, 116, 97, 99, 116, 67, 111, 117, 110, 116, 32, 60, 32, 109, 95, 99, 111, 110, 116, 97, 99, 116, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 0, 0, 0, 0, 109, 95, 98, 111, 100, 121, 67, 111, 117, 110, 116, 32, 60, 32, 109, 95, 98, 111, 100, 121, 67, 97, 112, 97, 99, 105, 116, 121, 0, 0, 0, 0, 0, 0, 0, 0, 88, 47, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 49, 53, 98, 50, 67, 111, 110, 116, 97, 99, 116, 70, 105, 108, 116, 101, 114, 0, 0, 0, 0, 0, 0, 0, 184, 72, 0, 0, 64, 47, 0, 0, 0, 0, 0, 0, 16, 48, 0, 0, 49, 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 67, 104, 97, 105, 110, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 98, 50, 67, 104, 97, 105, 110, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 0, 50, 51, 98, 50, 67, 104, 97, 105, 110, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 0, 57, 98, 50, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 184, 72, 0, 0, 248, 47, 0, 0, 224, 72, 0, 0, 216, 47, 0, 0, 8, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 48, 0, 0, 50, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 109, 95, 102, 105, 120, 116, 117, 114, 101, 65, 45, 62, 71, 101, 116, 84, 121, 112, 101, 40, 41, 32, 61, 61, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 99, 104, 97, 105, 110, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 67, 104, 97, 105, 110, 65, 110, 100, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 98, 50, 67, 104, 97, 105, 110, 65, 110, 100, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 0, 0, 50, 52, 98, 50, 67, 104, 97, 105, 110, 65, 110, 100, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 208, 48, 0, 0, 8, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 49, 0, 0, 51, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 109, 95, 102, 105, 120, 116, 117, 114, 101, 65, 45, 62, 71, 101, 116, 84, 121, 112, 101, 40, 41, 32, 61, 61, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 99, 105, 114, 99, 108, 101, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 98, 50, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 0, 49, 53, 98, 50, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 152, 49, 0, 0, 8, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 32, 60, 61, 32, 116, 121, 112, 101, 49, 32, 38, 38, 32, 116, 121, 112, 101, 49, 32, 60, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 116, 121, 112, 101, 67, 111, 117, 110, 116, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 67, 111, 110, 116, 97, 99, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 48, 32, 60, 61, 32, 116, 121, 112, 101, 50, 32, 38, 38, 32, 116, 121, 112, 101, 50, 32, 60, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 116, 121, 112, 101, 67, 111, 117, 110, 116, 0, 0, 0, 0, 0, 0, 115, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 32, 61, 61, 32, 116, 114, 117, 101, 0, 0, 0, 48, 32, 60, 61, 32, 116, 121, 112, 101, 65, 32, 38, 38, 32, 116, 121, 112, 101, 66, 32, 60, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 116, 121, 112, 101, 67, 111, 117, 110, 116, 0, 0, 0, 0, 0, 0, 112, 111, 105, 110, 116, 67, 111, 117, 110, 116, 32, 62, 32, 48, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 67, 111, 110, 116, 97, 99, 116, 83, 111, 108, 118, 101, 114, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 98, 50, 67, 111, 110, 116, 97, 99, 116, 83, 111, 108, 118, 101, 114, 0, 109, 97, 110, 105, 102, 111, 108, 100, 45, 62, 112, 111, 105, 110, 116, 67, 111, 117, 110, 116, 32, 62, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 86, 101, 108, 111, 99, 105, 116, 121, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 0, 0, 112, 111, 105, 110, 116, 67, 111, 117, 110, 116, 32, 61, 61, 32, 49, 32, 124, 124, 32, 112, 111, 105, 110, 116, 67, 111, 117, 110, 116, 32, 61, 61, 32, 50, 0, 0, 0, 0, 0, 0, 83, 111, 108, 118, 101, 86, 101, 108, 111, 99, 105, 116, 121, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 0, 0, 0, 0, 0, 0, 0, 97, 46, 120, 32, 62, 61, 32, 48, 46, 48, 102, 32, 38, 38, 32, 97, 46, 121, 32, 62, 61, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 112, 99, 45, 62, 112, 111, 105, 110, 116, 67, 111, 117, 110, 116, 32, 62, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 53, 0, 0, 52, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 69, 100, 103, 101, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 46, 99, 112, 112, 0, 98, 50, 69, 100, 103, 101, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 0, 0, 50, 50, 98, 50, 69, 100, 103, 101, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 248, 52, 0, 0, 8, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 53, 0, 0, 53, 0, 0, 0, 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 109, 95, 102, 105, 120, 116, 117, 114, 101, 65, 45, 62, 71, 101, 116, 84, 121, 112, 101, 40, 41, 32, 61, 61, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 101, 100, 103, 101, 0, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 69, 100, 103, 101, 65, 110, 100, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 98, 50, 69, 100, 103, 101, 65, 110, 100, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 0, 50, 51, 98, 50, 69, 100, 103, 101, 65, 110, 100, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 208, 53, 0, 0, 8, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 54, 0, 0, 54, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 80, 111, 108, 121, 103, 111, 110, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 98, 50, 80, 111, 108, 121, 103, 111, 110, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 0, 109, 95, 102, 105, 120, 116, 117, 114, 101, 66, 45, 62, 71, 101, 116, 84, 121, 112, 101, 40, 41, 32, 61, 61, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 99, 105, 114, 99, 108, 101, 0, 0, 0, 0, 0, 0, 50, 53, 98, 50, 80, 111, 108, 121, 103, 111, 110, 65, 110, 100, 67, 105, 114, 99, 108, 101, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 224, 72, 0, 0, 176, 54, 0, 0, 8, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 55, 0, 0, 55, 0, 0, 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 109, 95, 102, 105, 120, 116, 117, 114, 101, 65, 45, 62, 71, 101, 116, 84, 121, 112, 101, 40, 41, 32, 61, 61, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 112, 111, 108, 121, 103, 111, 110, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 67, 111, 110, 116, 97, 99, 116, 115, 47, 98, 50, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 0, 98, 50, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 0, 0, 109, 95, 102, 105, 120, 116, 117, 114, 101, 66, 45, 62, 71, 101, 116, 84, 121, 112, 101, 40, 41, 32, 61, 61, 32, 98, 50, 83, 104, 97, 112, 101, 58, 58, 101, 95, 112, 111, 108, 121, 103, 111, 110, 0, 0, 0, 0, 0, 49, 54, 98, 50, 80, 111, 108, 121, 103, 111, 110, 67, 111, 110, 116, 97, 99, 116, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 176, 55, 0, 0, 8, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 56, 0, 0, 56, 0, 0, 0, 57, 0, 0, 0, 47, 0, 0, 0, 43, 0, 0, 0, 83, 0, 0, 0, 51, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 50, 68, 105, 115, 116, 97, 110, 99, 101, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 108, 101, 110, 103, 116, 104, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 49, 53, 98, 50, 68, 105, 115, 116, 97, 110, 99, 101, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 72, 56, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 57, 0, 0, 60, 0, 0, 0, 61, 0, 0, 0, 48, 0, 0, 0, 44, 0, 0, 0, 86, 0, 0, 0, 51, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 102, 111, 114, 99, 101, 41, 32, 38, 38, 32, 102, 111, 114, 99, 101, 32, 62, 61, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 74, 111, 105, 110, 116, 115, 47, 98, 50, 70, 114, 105, 99, 116, 105, 111, 110, 74, 111, 105, 110, 116, 46, 99, 112, 112, 0, 0, 83, 101, 116, 77, 97, 120, 70, 111, 114, 99, 101, 0, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 116, 111, 114, 113, 117, 101, 41, 32, 38, 38, 32, 116, 111, 114, 113, 117, 101, 32, 62, 61, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 83, 101, 116, 77, 97, 120, 84, 111, 114, 113, 117, 101, 0, 0, 0, 0, 32, 32, 98, 50, 70, 114, 105, 99, 116, 105, 111, 110, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 109, 97, 120, 70, 111, 114, 99, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 109, 97, 120, 84, 111, 114, 113, 117, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 49, 53, 98, 50, 70, 114, 105, 99, 116, 105, 111, 110, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 176, 57, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 59, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0, 49, 0, 0, 0, 45, 0, 0, 0, 89, 0, 0, 0, 51, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 109, 95, 116, 121, 112, 101, 65, 32, 61, 61, 32, 101, 95, 114, 101, 118, 111, 108, 117, 116, 101, 74, 111, 105, 110, 116, 32, 124, 124, 32, 109, 95, 116, 121, 112, 101, 65, 32, 61, 61, 32, 101, 95, 112, 114, 105, 115, 109, 97, 116, 105, 99, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 74, 111, 105, 110, 116, 115, 47, 98, 50, 71, 101, 97, 114, 74, 111, 105, 110, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 0, 98, 50, 71, 101, 97, 114, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 109, 95, 116, 121, 112, 101, 66, 32, 61, 61, 32, 101, 95, 114, 101, 118, 111, 108, 117, 116, 101, 74, 111, 105, 110, 116, 32, 124, 124, 32, 109, 95, 116, 121, 112, 101, 66, 32, 61, 61, 32, 101, 95, 112, 114, 105, 115, 109, 97, 116, 105, 99, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 114, 97, 116, 105, 111, 41, 0, 0, 0, 0, 0, 0, 0, 0, 83, 101, 116, 82, 97, 116, 105, 111, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 50, 71, 101, 97, 114, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 0, 32, 32, 106, 100, 46, 106, 111, 105, 110, 116, 49, 32, 61, 32, 106, 111, 105, 110, 116, 115, 91, 37, 100, 93, 59, 10, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 106, 111, 105, 110, 116, 50, 32, 61, 32, 106, 111, 105, 110, 116, 115, 91, 37, 100, 93, 59, 10, 0, 0, 0, 0, 0, 0, 49, 49, 98, 50, 71, 101, 97, 114, 74, 111, 105, 110, 116, 0, 0, 0, 224, 72, 0, 0, 88, 59, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 102, 97, 108, 115, 101, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 74, 111, 105, 110, 116, 115, 47, 98, 50, 74, 111, 105, 110, 116, 46, 99, 112, 112, 0, 0, 67, 114, 101, 97, 116, 101, 0, 0, 68, 101, 115, 116, 114, 111, 121, 0, 0, 0, 0, 0, 32, 20, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 92, 0, 0, 0, 51, 0, 0, 0, 93, 0, 0, 0, 94, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 45, 62, 98, 111, 100, 121, 65, 32, 33, 61, 32, 100, 101, 102, 45, 62, 98, 111, 100, 121, 66, 0, 0, 0, 0, 0, 0, 0, 0, 98, 50, 74, 111, 105, 110, 116, 0, 47, 47, 32, 68, 117, 109, 112, 32, 105, 115, 32, 110, 111, 116, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 32, 102, 111, 114, 32, 116, 104, 105, 115, 32, 106, 111, 105, 110, 116, 32, 116, 121, 112, 101, 46, 10, 0, 0, 0, 0, 0, 0, 232, 61, 0, 0, 68, 0, 0, 0, 69, 0, 0, 0, 50, 0, 0, 0, 46, 0, 0, 0, 95, 0, 0, 0, 70, 0, 0, 0, 96, 0, 0, 0, 97, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 45, 62, 116, 97, 114, 103, 101, 116, 46, 73, 115, 86, 97, 108, 105, 100, 40, 41, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 74, 111, 105, 110, 116, 115, 47, 98, 50, 77, 111, 117, 115, 101, 74, 111, 105, 110, 116, 46, 99, 112, 112, 0, 0, 0, 0, 0, 98, 50, 77, 111, 117, 115, 101, 74, 111, 105, 110, 116, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 100, 101, 102, 45, 62, 109, 97, 120, 70, 111, 114, 99, 101, 41, 32, 38, 38, 32, 100, 101, 102, 45, 62, 109, 97, 120, 70, 111, 114, 99, 101, 32, 62, 61, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 100, 101, 102, 45, 62, 102, 114, 101, 113, 117, 101, 110, 99, 121, 72, 122, 41, 32, 38, 38, 32, 100, 101, 102, 45, 62, 102, 114, 101, 113, 117, 101, 110, 99, 121, 72, 122, 32, 62, 61, 32, 48, 46, 48, 102, 0, 98, 50, 73, 115, 86, 97, 108, 105, 100, 40, 100, 101, 102, 45, 62, 100, 97, 109, 112, 105, 110, 103, 82, 97, 116, 105, 111, 41, 32, 38, 38, 32, 100, 101, 102, 45, 62, 100, 97, 109, 112, 105, 110, 103, 82, 97, 116, 105, 111, 32, 62, 61, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 0, 100, 32, 43, 32, 104, 32, 42, 32, 107, 32, 62, 32, 49, 46, 49, 57, 50, 48, 57, 50, 56, 57, 53, 53, 48, 55, 56, 49, 50, 53, 101, 45, 48, 55, 70, 0, 0, 0, 0, 0, 73, 110, 105, 116, 86, 101, 108, 111, 99, 105, 116, 121, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 49, 50, 98, 50, 77, 111, 117, 115, 101, 74, 111, 105, 110, 116, 0, 0, 224, 72, 0, 0, 216, 61, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 77, 111, 117, 115, 101, 32, 106, 111, 105, 110, 116, 32, 100, 117, 109, 112, 105, 110, 103, 32, 105, 115, 32, 110, 111, 116, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 46, 10, 0, 0, 0, 0, 0, 0, 56, 63, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 98, 0, 0, 0, 51, 0, 0, 0, 99, 0, 0, 0, 100, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 74, 111, 105, 110, 116, 115, 47, 98, 50, 80, 114, 105, 115, 109, 97, 116, 105, 99, 74, 111, 105, 110, 116, 46, 99, 112, 112, 0, 32, 32, 98, 50, 80, 114, 105, 115, 109, 97, 116, 105, 99, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 108, 111, 119, 101, 114, 84, 114, 97, 110, 115, 108, 97, 116, 105, 111, 110, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 117, 112, 112, 101, 114, 84, 114, 97, 110, 115, 108, 97, 116, 105, 111, 110, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 109, 97, 120, 77, 111, 116, 111, 114, 70, 111, 114, 99, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 49, 54, 98, 50, 80, 114, 105, 115, 109, 97, 116, 105, 99, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 32, 63, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 114, 97, 116, 105, 111, 32, 62, 32, 49, 46, 49, 57, 50, 48, 57, 50, 56, 57, 53, 53, 48, 55, 56, 49, 50, 53, 101, 45, 48, 55, 70, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 74, 111, 105, 110, 116, 115, 47, 98, 50, 80, 117, 108, 108, 101, 121, 74, 111, 105, 110, 116, 46, 99, 112, 112, 0, 0, 0, 0, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 64, 0, 0, 77, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0, 48, 0, 0, 0, 101, 0, 0, 0, 79, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 80, 0, 0, 0, 81, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 45, 62, 114, 97, 116, 105, 111, 32, 33, 61, 32, 48, 46, 48, 102, 0, 0, 0, 0, 0, 0, 98, 50, 80, 117, 108, 108, 101, 121, 74, 111, 105, 110, 116, 0, 0, 0, 32, 32, 98, 50, 80, 117, 108, 108, 101, 121, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 32, 32, 106, 100, 46, 103, 114, 111, 117, 110, 100, 65, 110, 99, 104, 111, 114, 65, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 103, 114, 111, 117, 110, 100, 65, 110, 99, 104, 111, 114, 66, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 108, 101, 110, 103, 116, 104, 65, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 108, 101, 110, 103, 116, 104, 66, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 114, 97, 116, 105, 111, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 49, 51, 98, 50, 80, 117, 108, 108, 101, 121, 74, 111, 105, 110, 116, 0, 224, 72, 0, 0, 224, 64, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 66, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 0, 104, 0, 0, 0, 51, 0, 0, 0, 105, 0, 0, 0, 106, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 108, 111, 119, 101, 114, 32, 60, 61, 32, 117, 112, 112, 101, 114, 0, 0, 66, 111, 120, 50, 68, 95, 118, 50, 46, 51, 46, 49, 47, 66, 111, 120, 50, 68, 47, 68, 121, 110, 97, 109, 105, 99, 115, 47, 74, 111, 105, 110, 116, 115, 47, 98, 50, 82, 101, 118, 111, 108, 117, 116, 101, 74, 111, 105, 110, 116, 46, 99, 112, 112, 0, 0, 83, 101, 116, 76, 105, 109, 105, 116, 115, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 50, 82, 101, 118, 111, 108, 117, 116, 101, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 101, 110, 97, 98, 108, 101, 76, 105, 109, 105, 116, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 32, 32, 106, 100, 46, 108, 111, 119, 101, 114, 65, 110, 103, 108, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 117, 112, 112, 101, 114, 65, 110, 103, 108, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 49, 53, 98, 50, 82, 101, 118, 111, 108, 117, 116, 101, 74, 111, 105, 110, 116, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 16, 66, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 66, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 107, 0, 0, 0, 51, 0, 0, 0, 108, 0, 0, 0, 109, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 50, 82, 111, 112, 101, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 0, 32, 32, 106, 100, 46, 109, 97, 120, 76, 101, 110, 103, 116, 104, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 0, 49, 49, 98, 50, 82, 111, 112, 101, 74, 111, 105, 110, 116, 0, 0, 0, 224, 72, 0, 0, 168, 66, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 55, 0, 0, 0, 51, 0, 0, 0, 110, 0, 0, 0, 51, 0, 0, 0, 111, 0, 0, 0, 112, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 50, 87, 101, 108, 100, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 0, 32, 32, 106, 100, 46, 114, 101, 102, 101, 114, 101, 110, 99, 101, 65, 110, 103, 108, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 49, 49, 98, 50, 87, 101, 108, 100, 74, 111, 105, 110, 116, 0, 0, 0, 224, 72, 0, 0, 56, 67, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 69, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 113, 0, 0, 0, 51, 0, 0, 0, 114, 0, 0, 0, 115, 0, 0, 0, 96, 0, 0, 0, 97, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 32, 32, 98, 50, 87, 104, 101, 101, 108, 74, 111, 105, 110, 116, 68, 101, 102, 32, 106, 100, 59, 10, 0, 0, 32, 32, 106, 100, 46, 98, 111, 100, 121, 65, 32, 61, 32, 98, 111, 100, 105, 101, 115, 91, 37, 100, 93, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 98, 111, 100, 121, 66, 32, 61, 32, 98, 111, 100, 105, 101, 115, 91, 37, 100, 93, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 99, 111, 108, 108, 105, 100, 101, 67, 111, 110, 110, 101, 99, 116, 101, 100, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 108, 111, 99, 97, 108, 65, 110, 99, 104, 111, 114, 65, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 108, 111, 99, 97, 108, 65, 110, 99, 104, 111, 114, 66, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 0, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 108, 111, 99, 97, 108, 65, 120, 105, 115, 65, 46, 83, 101, 116, 40, 37, 46, 49, 53, 108, 101, 102, 44, 32, 37, 46, 49, 53, 108, 101, 102, 41, 59, 10, 0, 32, 32, 106, 100, 46, 101, 110, 97, 98, 108, 101, 77, 111, 116, 111, 114, 32, 61, 32, 98, 111, 111, 108, 40, 37, 100, 41, 59, 10, 0, 0, 0, 32, 32, 106, 100, 46, 109, 111, 116, 111, 114, 83, 112, 101, 101, 100, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 0, 32, 32, 106, 100, 46, 109, 97, 120, 77, 111, 116, 111, 114, 84, 111, 114, 113, 117, 101, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 32, 32, 106, 100, 46, 102, 114, 101, 113, 117, 101, 110, 99, 121, 72, 122, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 0, 32, 32, 106, 100, 46, 100, 97, 109, 112, 105, 110, 103, 82, 97, 116, 105, 111, 32, 61, 32, 37, 46, 49, 53, 108, 101, 102, 59, 10, 0, 0, 0, 32, 32, 106, 111, 105, 110, 116, 115, 91, 37, 100, 93, 32, 61, 32, 109, 95, 119, 111, 114, 108, 100, 45, 62, 67, 114, 101, 97, 116, 101, 74, 111, 105, 110, 116, 40, 38, 106, 100, 41, 59, 10, 0, 0, 0, 0, 0, 0, 49, 50, 98, 50, 87, 104, 101, 101, 108, 74, 111, 105, 110, 116, 0, 0, 224, 72, 0, 0, 104, 69, 0, 0, 32, 20, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 117, 110, 99, 97, 117, 103, 104, 116, 0, 0, 0, 0, 0, 0, 0, 0, 116, 101, 114, 109, 105, 110, 97, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 37, 115, 32, 101, 120, 99, 101, 112, 116, 105, 111, 110, 32, 111, 102, 32, 116, 121, 112, 101, 32, 37, 115, 58, 32, 37, 115, 0, 0, 0, 0, 116, 101, 114, 109, 105, 110, 97, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 37, 115, 32, 101, 120, 99, 101, 112, 116, 105, 111, 110, 32, 111, 102, 32, 116, 121, 112, 101, 32, 37, 115, 0, 0, 0, 0, 0, 0, 0, 0, 116, 101, 114, 109, 105, 110, 97, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 37, 115, 32, 102, 111, 114, 101, 105, 103, 110, 32, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 116, 101, 114, 109, 105, 110, 97, 116, 105, 110, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 116, 104, 114, 101, 97, 100, 95, 111, 110, 99, 101, 32, 102, 97, 105, 108, 117, 114, 101, 32, 105, 110, 32, 95, 95, 99, 120, 97, 95, 103, 101, 116, 95, 103, 108, 111, 98, 97, 108, 115, 95, 102, 97, 115, 116, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 99, 97, 110, 110, 111, 116, 32, 99, 114, 101, 97, 116, 101, 32, 112, 116, 104, 114, 101, 97, 100, 32, 107, 101, 121, 32, 102, 111, 114, 32, 95, 95, 99, 120, 97, 95, 103, 101, 116, 95, 103, 108, 111, 98, 97, 108, 115, 40, 41, 0, 0, 0, 0, 0, 0, 0, 99, 97, 110, 110, 111, 116, 32, 122, 101, 114, 111, 32, 111, 117, 116, 32, 116, 104, 114, 101, 97, 100, 32, 118, 97, 108, 117, 101, 32, 102, 111, 114, 32, 95, 95, 99, 120, 97, 95, 103, 101, 116, 95, 103, 108, 111, 98, 97, 108, 115, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 40, 71, 0, 0, 116, 0, 0, 0, 117, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 115, 116, 100, 58, 58, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0, 0, 83, 116, 57, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0, 0, 0, 0, 224, 72, 0, 0, 24, 71, 0, 0, 176, 71, 0, 0, 0, 0, 0, 0, 116, 101, 114, 109, 105, 110, 97, 116, 101, 95, 104, 97, 110, 100, 108, 101, 114, 32, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 108, 121, 32, 114, 101, 116, 117, 114, 110, 101, 100, 0, 116, 101, 114, 109, 105, 110, 97, 116, 101, 95, 104, 97, 110, 100, 108, 101, 114, 32, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 108, 121, 32, 116, 104, 114, 101, 119, 32, 97, 110, 32, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 116, 57, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 184, 72, 0, 0, 160, 71, 0, 0, 83, 116, 57, 116, 121, 112, 101, 95, 105, 110, 102, 111, 0, 0, 0, 0, 184, 72, 0, 0, 184, 71, 0, 0, 78, 49, 48, 95, 95, 99, 120, 120, 97, 98, 105, 118, 49, 49, 54, 95, 95, 115, 104, 105, 109, 95, 116, 121, 112, 101, 95, 105, 110, 102, 111, 69, 0, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 208, 71, 0, 0, 200, 71, 0, 0, 0, 0, 0, 0, 78, 49, 48, 95, 95, 99, 120, 120, 97, 98, 105, 118, 49, 49, 55, 95, 95, 99, 108, 97, 115, 115, 95, 116, 121, 112, 101, 95, 105, 110, 102, 111, 69, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 8, 72, 0, 0, 248, 71, 0, 0, 0, 0, 0, 0, 78, 49, 48, 95, 95, 99, 120, 120, 97, 98, 105, 118, 49, 49, 57, 95, 95, 112, 111, 105, 110, 116, 101, 114, 95, 116, 121, 112, 101, 95, 105, 110, 102, 111, 69, 0, 0, 0, 0, 0, 78, 49, 48, 95, 95, 99, 120, 120, 97, 98, 105, 118, 49, 49, 55, 95, 95, 112, 98, 97, 115, 101, 95, 116, 121, 112, 101, 95, 105, 110, 102, 111, 69, 0, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 104, 72, 0, 0, 248, 71, 0, 0, 0, 0, 0, 0, 224, 72, 0, 0, 64, 72, 0, 0, 144, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 72, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, 48, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 40, 73, 0, 0, 118, 0, 0, 0, 122, 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, 48, 0, 0, 0, 43, 0, 0, 0, 43, 0, 0, 0, 57, 0, 0, 0, 78, 49, 48, 95, 95, 99, 120, 120, 97, 98, 105, 118, 49, 50, 48, 95, 95, 115, 105, 95, 99, 108, 97, 115, 115, 95, 116, 121, 112, 101, 95, 105, 110, 102, 111, 69, 0, 0, 0, 0, 224, 72, 0, 0, 0, 73, 0, 0, 48, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 73, 0, 0, 118, 0, 0, 0, 123, 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, 48, 0, 0, 0, 44, 0, 0, 0, 44, 0, 0, 0, 58, 0, 0, 0, 78, 49, 48, 95, 95, 99, 120, 120, 97, 98, 105, 118, 49, 50, 49, 95, 95, 118, 109, 105, 95, 99, 108, 97, 115, 115, 95, 116, 121, 112, 101, 95, 105, 110, 102, 111, 69, 0, 0, 0, 224, 72, 0, 0, 96, 73, 0, 0, 48, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", 4, Fa.Ys + 10240);
        var Cf = Fa.Jo(l(12, "i8", 2), 8);
        b(0 == Cf % 8);
        var kn = Hh,
            Vf = 0,
            ln = [],
            hf = {};
        k.bp = mn;
        k.cp = Jh;
        var Le = void 0,
            Wf = 0,
            dg = {},
            Ag = 1;
        k.$o = nn;
        k.Zo = ga;
        var on = l(1, "i32*", 2);
        ta.gb = l([0], "i8", 2);
        Wf = Fa.Lt(4);
        Sb[Wf >> 2] = 0;
        Pi = Me = Fa.Jo(jf);
        zg = Pi + Ri;
        Qi = Te = Fa.Jo(zg);
        b(Qi < kf, "TOTAL_MEMORY not big enough for stack");
        k.sj = {
            Math: Math,
            Int8Array: Int8Array,
            Int16Array: Int16Array,
            Int32Array: Int32Array,
            Uint8Array: Uint8Array,
            Uint16Array: Uint16Array,
            Uint32Array: Uint32Array,
            Float32Array: Float32Array,
            Float64Array: Float64Array
        };
        k.tj = {
            abort: Qa,
            assert: b,
            min: Gh,
            IZ: function() {
                var a = Array.prototype.slice.call(arguments);
                return Fa.Ee[a[0]].apply(null, a.slice(1))
            },
            K2: function(a, b, f, g) {
                try {
                    return k.Hp(a, b, f, g)
                } catch (l) {
                    "number" !== typeof l && "longjmp" !== l && e(l), m.Nc(1, 0)
                }
            },
            U2: function(a, b, f, g, l, n) {
                try {
                    k.Rp(a, b, f, g, l, n)
                } catch (p) {
                    "number" !== typeof p && "longjmp" !== p && e(p), m.Nc(1, 0)
                }
            },
            G2: function(a, b, f) {
                try {
                    return k.Dp(a, b, f)
                } catch (g) {
                    "number" !== typeof g && "longjmp" !== g && e(g), m.Nc(1, 0)
                }
            },
            N2: function(a, b) {
                try {
                    k.Kp(a, b)
                } catch (f) {
                    "number" !== typeof f && "longjmp" !== f && e(f), m.Nc(1, 0)
                }
            },
            H2: function(a, b, f, g, l, n) {
                try {
                    return k.Ep(a, b, f, g, l, n)
                } catch (p) {
                    "number" !== typeof p && "longjmp" !== p && e(p), m.Nc(1, 0)
                }
            },
            O2: function(a, b, f) {
                try {
                    k.Lp(a, b, f)
                } catch (g) {
                    "number" !== typeof g && "longjmp" !== g && e(g), m.Nc(1, 0)
                }
            },
            R2: function(a, b, f, g, l, n) {
                try {
                    k.Op(a, b, f, g, l, n)
                } catch (p) {
                    "number" !== typeof p && "longjmp" !== p && e(p), m.Nc(1, 0)
                }
            },
            I2: function(a, b) {
                try {
                    return k.Fp(a, b)
                } catch (f) {
                    "number" !== typeof f && "longjmp" !== f && e(f), m.Nc(1, 0)
                }
            },
            Q2: function(a, b, f, g, l) {
                try {
                    k.Np(a, b, f, g, l)
                } catch (n) {
                    "number" !== typeof n && "longjmp" !== n && e(n), m.Nc(1, 0)
                }
            },
            S2: function(a, b, f, g) {
                try {
                    k.Pp(a, b, f, g)
                } catch (l) {
                    "number" !== typeof l && "longjmp" !== l && e(l), m.Nc(1, 0)
                }
            },
            M2: function(a) {
                try {
                    k.Jp(a)
                } catch (b) {
                    "number" !== typeof b && "longjmp" !== b && e(b), m.Nc(1, 0)
                }
            },
            P2: function(a, b, f, g) {
                try {
                    k.Mp(a, b, f, g)
                } catch (l) {
                    "number" !== typeof l && "longjmp" !== l && e(l), m.Nc(1, 0)
                }
            },
            V2: function(a, b, f, g, l, n, p) {
                try {
                    k.Sp(a, b, f, g, l, n, p)
                } catch (q) {
                    "number" !== typeof q && "longjmp" !== q && e(q), m.Nc(1, 0)
                }
            },
            J2: function(a, b, f) {
                try {
                    return k.Gp(a, b, f)
                } catch (g) {
                    "number" !== typeof g && "longjmp" !== g && e(g), m.Nc(1, 0)
                }
            },
            L2: function(a, b, f, g, l, n) {
                try {
                    return k.Ip(a, b, f, g, l, n)
                } catch (p) {
                    "number" !== typeof p && "longjmp" !== p && e(p), m.Nc(1, 0)
                }
            },
            T2: function(a, b, f, g, l) {
                try {
                    k.Qp(a, b, f, g, l)
                } catch (n) {
                    "number" !== typeof n && "longjmp" !== n && e(n), m.Nc(1, 0)
                }
            },
            Y1: fn,
            g2: function(a, b, e) {
                return (void 0).R3(a) ? Pa(a, b, e) : (na(9), -1)
            },
            rV: function(a) {
                if (0 == a) return 22;
                Sb[a >> 2] = Ag;
                dg[Ag] = 0;
                Ag++;
                return 0
            },
            fV: function(a) {
                return Cc[a >> 0] ? 0 : Cc[a >> 0] = 1
            },
            U1: na,
            yV: function(a, b, e) {
                return gb(a, b, Sb[e >> 2])
            },
            mV: function(a) {
                var b = Array.prototype.slice.call(arguments, 1);
                return Fa.bt(a, b.length).apply(null, b) | 0
            },
            cV: function(b, f, g, k) {
                sf = !0;
                e("Assertion failed: " + a(b) + ", at: " + [f ? a(f) : "unknown filename", g, k ? a(k) : "unknown function"] + " at " + L())
            },
            X1: hn,
            Q1: P,
            gV: function() {},
            f2: function(a, b, e, f) {
                a = Le.$(a);
                if (!a) return na(9), -1;
                try {
                    return Le.write(a, Cc, b, e, f)
                } catch (g) {
                    return Le.MW(g), -1
                }
            },
            lV: function(a) {
                var b = Array.prototype.slice.call(arguments, 1);
                return +Fa.bt(a, b.length).apply(null, b)
            },
            b2: gb,
            W1: cb,
            uV: Ea,
            R1: function(a) {
                P.gb--;
                ln.push(a);
                var b = ha(a);
                b && hf[b].At++;
                return a
            },
            h2: gn,
            Z1: jb,
            T1: function(a) {
                Vf || (Vf = a);
                var b = ha(a);
                b && (hf[b].At = 0);
                e(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.")
            },
            S1: ea,
            wV: function(a) {
                switch (a) {
                    case 30:
                        return 4096;
                    case 132:
                    case 133:
                    case 12:
                    case 137:
                    case 138:
                    case 15:
                    case 235:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                    case 20:
                    case 149:
                    case 13:
                    case 10:
                    case 236:
                    case 153:
                    case 9:
                    case 21:
                    case 22:
                    case 159:
                    case 154:
                    case 14:
                    case 77:
                    case 78:
                    case 139:
                    case 80:
                    case 81:
                    case 79:
                    case 82:
                    case 68:
                    case 67:
                    case 164:
                    case 11:
                    case 29:
                    case 47:
                    case 48:
                    case 95:
                    case 52:
                    case 51:
                    case 46:
                        return 200809;
                    case 27:
                    case 246:
                    case 127:
                    case 128:
                    case 23:
                    case 24:
                    case 160:
                    case 161:
                    case 181:
                    case 182:
                    case 242:
                    case 183:
                    case 184:
                    case 243:
                    case 244:
                    case 245:
                    case 165:
                    case 178:
                    case 179:
                    case 49:
                    case 50:
                    case 168:
                    case 169:
                    case 175:
                    case 170:
                    case 171:
                    case 172:
                    case 97:
                    case 76:
                    case 32:
                    case 173:
                    case 35:
                        return -1;
                    case 176:
                    case 177:
                    case 7:
                    case 155:
                    case 8:
                    case 157:
                    case 125:
                    case 126:
                    case 92:
                    case 93:
                    case 129:
                    case 130:
                    case 131:
                    case 94:
                    case 91:
                        return 1;
                    case 74:
                    case 60:
                    case 69:
                    case 70:
                    case 4:
                        return 1024;
                    case 31:
                    case 42:
                    case 72:
                        return 32;
                    case 87:
                    case 26:
                    case 33:
                        return 2147483647;
                    case 34:
                    case 1:
                        return 47839;
                    case 38:
                    case 36:
                        return 99;
                    case 43:
                    case 37:
                        return 2048;
                    case 0:
                        return 2097152;
                    case 3:
                        return 65536;
                    case 28:
                        return 32768;
                    case 44:
                        return 32767;
                    case 75:
                        return 16384;
                    case 39:
                        return 1E3;
                    case 89:
                        return 700;
                    case 71:
                        return 256;
                    case 40:
                        return 255;
                    case 2:
                        return 100;
                    case 180:
                        return 64;
                    case 25:
                        return 20;
                    case 5:
                        return 16;
                    case 6:
                        return 6;
                    case 73:
                        return 4;
                    case 84:
                        return "object" === typeof navigator ? navigator.gb || 1 : 1
                }
                na(22);
                return -1
            },
            qV: function(a) {
                return dg[a] || 0
            },
            zV: function(a, b) {
                return ja(a, Sb[b >> 2])
            },
            nV: function(a, b, e) {
                ve.set(ve.subarray(b, b + e), a);
                return a
            },
            sV: pa,
            e2: ja,
            a2: kn,
            i2: jn,
            j2: Pa,
            jV: function() {
                return Wf
            },
            tV: function(a, b) {
                if (!(a in dg)) return 22;
                dg[a] = b;
                return 0
            },
            oV: ta,
            iV: function(a, b, f) {
                hf[a] = {
                    j: a,
                    $s: a,
                    type: b,
                    r3: f,
                    At: 0
                };
                Vf = a;
                "uncaught_exception" in P ? P.gb++ : P.gb = 1;
                e(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.")
            },
            kV: function() {
                k.abort()
            },
            d2: Ya,
            xV: function(a) {
                var b = Date.now() / 1E3 | 0;
                a && (Sb[a >> 2] = b);
                return b
            },
            dV: function(a) {
                return ga(a)
            },
            V1: fb,
            hV: function() {
                sf = !0;
                e("Pure virtual function called!")
            },
            sU: Me,
            p1: zg,
            Z_: Cf,
            n0: sf,
            NaN: NaN,
            Infinity: Infinity,
            vV: on
        };
        var m = function(a, b, e) {
            function f(h, O, a, b) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                b = b | 0;
                var e = 0,
                    Ne = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    n = 0,
                    p = 0,
                    q = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = q = p = 0,
                    B = 0,
                    e = r;
                r = r + 176 | 0;
                m = e + 16 | 0;
                l = e + 152 | 0;
                n = e + 160 | 0;
                x = e + 168 | 0;
                Ne = e + 8 | 0;
                g = e;
                k = e + 24 | 0;
                B = c[O + 4 >> 2] | 0;
                if (3 == (B | 0)) {
                    if (k = c[O + 16 >> 2] | 0, m = c[O + 12 >> 2] | 0, O = a +
                        12 | 0, p = +d[O >> 2], G = +d[m >> 2], n = a + 8 | 0, q = +d[n >> 2], N = +d[m + 4 >> 2], Z = +d[a >> 2], x = a + 4 | 0, ia = +d[x >> 2], d[Ne >> 2] = Z + (p * G - q * N), d[Ne + 4 >> 2] = G * q + p * N + ia, !(1 >= (k | 0)))
                        for (l = g + 4 | 0, h = h + 102984 | 0, B = 1;;) {
                            N = +d[m + (B << 3) >> 2];
                            G = +d[m + (B << 3) + 4 >> 2];
                            d[g >> 2] = Z + (p * N - q * G);
                            d[l >> 2] = N * q + p * G + ia;
                            ba = c[h >> 2] | 0;
                            cc[c[(c[ba >> 2] | 0) + 24 >> 2] & 63](ba, Ne, g, b);
                            ba = c[h >> 2] | 0;
                            Fd[c[(c[ba >> 2] | 0) + 16 >> 2] & 63](ba, Ne, .05000000074505806, b);
                            ba = g;
                            q = c[ba + 4 >> 2] | 0;
                            p = Ne;
                            c[p >> 2] = c[ba >> 2];
                            c[p + 4 >> 2] = q;
                            B = B + 1 | 0;
                            if ((B | 0) == (k | 0)) break;
                            p = +d[O >> 2];
                            q = +d[n >> 2];
                            Z = +d[a >> 2];
                            ia = +d[x >> 2]
                        }
                } else if (2 == (B | 0)) {
                    Ne = c[O + 276 >> 2] | 0;
                    17 <= (Ne | 0) && Q(11376, 11088, 1077, 11400);
                    if (0 < (Ne | 0)) {
                        g = O + 20 | 0;
                        q = +d[a + 12 >> 2];
                        ia = +d[a + 8 >> 2];
                        p = +d[a >> 2];
                        Z = +d[a + 4 >> 2];
                        a = 0;
                        do B = +d[g + (a << 3) >> 2], G = +d[g + (a << 3) + 4 >> 2], N = +(p + (q * B - ia * G)), G = +(B * ia + q * G + Z), ba = k + (a << 3) | 0, d[ba >> 2] = N, d[ba + 4 >> 2] = G, a = a + 1 | 0; while ((a | 0) != (Ne | 0))
                    }
                    ba = c[h + 102984 >> 2] | 0;
                    cc[c[(c[ba >> 2] | 0) + 12 >> 2] & 63](ba, k, Ne, b)
                } else 1 == (B | 0) ? (N = +d[a + 12 >> 2], G = +d[O + 12 >> 2], Z = +d[a + 8 >> 2], ia = +d[O + 16 >> 2], q = +d[a >> 2], B = +d[a + 4 >> 2], d[n >> 2] = q + (N * G - Z * ia), d[n + 4 >> 2] = G * Z + N * ia + B, ba = O + 20 | 0, ia = +d[ba >> 2], G = +d[ba + 4 >> 2], d[x >> 2] = q + (N * ia - Z * G), d[x + 4 >> 2] = ia * Z + N * G + B, ba = c[h + 102984 >> 2] | 0, cc[c[(c[ba >> 2] | 0) + 24 >> 2] & 63](ba, n, x, b)) : B || (G = +d[a + 12 >> 2], ia = +d[O + 12 >> 2], N = +d[a + 8 >> 2], Z = +d[O + 16 >> 2], B = ia * N + G * Z + +d[a + 4 >> 2], d[m >> 2] = +d[a >> 2] + (G * ia - N * Z), d[m + 4 >> 2] = B, B = +d[O + 8 >> 2], d[l >> 2] = G - 0 * N, d[l + 4 >> 2] = N + 0 * G, ba = c[h + 102984 >> 2] | 0, Cd[c[(c[ba >> 2] | 0) + 20 >> 2] & 63](ba, m, B, l, b));
                r = e
            }

            function g(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    we = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    n = 0,
                    p = 0,
                    q = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    b = r;
                r = r + 192 | 0;
                x = b + 100 | 0;
                p = b + 88 | 0;
                m = b +
                    64 | 0;
                a = b;
                n = h + 64 | 0;
                e = a + 0 | 0;
                we = n + 0 | 0;
                f = e + 64 | 0;
                do c[e >> 2] = c[we >> 2], e = e + 4 | 0, we = we + 4 | 0; while ((e | 0) < (f | 0));
                f = h + 4 | 0;
                l = c[f >> 2] | 0;
                c[f >> 2] = l | 4;
                l >>>= 1;
                q = c[h + 48 >> 2] | 0;
                ia = c[h + 52 >> 2] | 0;
                e = 0 != (D[ia + 38 >> 0] | D[q + 38 >> 0]) << 24 >> 24;
                k = c[q + 8 >> 2] | 0;
                we = c[ia + 8 >> 2] | 0;
                Z = k + 12 | 0;
                B = we + 12 | 0;
                if (e) q = c[q + 12 >> 2] | 0, N = c[ia + 12 >> 2] | 0, ia = c[h + 56 >> 2] | 0, G = c[h + 60 >> 2] | 0, c[x + 16 >> 2] = 0, c[x + 20 >> 2] = 0, d[x + 24 >> 2] = 0, c[x + 44 >> 2] = 0, c[x + 48 >> 2] = 0, d[x + 52 >> 2] = 0, A(x, q, ia), A(x + 28 | 0, N, G), G = x + 56 | 0, c[G + 0 >> 2] = c[Z + 0 >> 2], c[G + 4 >> 2] = c[Z + 4 >> 2], c[G + 8 >> 2] = c[Z + 8 >> 2], c[G + 12 >> 2] = c[Z + 12 >> 2], G = x + 72 | 0, c[G + 0 >> 2] = c[B + 0 >> 2], c[G + 4 >> 2] = c[B + 4 >> 2], c[G + 8 >> 2] = c[B + 8 >> 2], c[G + 12 >> 2] = c[B + 12 >> 2], D[x + 88 >> 0] = 1, W[p + 4 >> 1] = 0, z(m, p, x), m = 1.1920928955078125E-6 > +d[m + 16 >> 2], c[h + 124 >> 2] = 0, l &= 1;
                else {
                    cc[c[c[h >> 2] >> 2] & 63](h, n, Z, B);
                    ia = h + 124 | 0;
                    if (m = 0 < (c[ia >> 2] | 0)) {
                        B = c[a + 60 >> 2] | 0;
                        N = 0 < (B | 0);
                        q = 0;
                        do {
                            p = h + (20 * q | 0) + 72 | 0;
                            d[p >> 2] = 0;
                            n = h + (20 * q | 0) + 76 | 0;
                            d[n >> 2] = 0;
                            x = c[h + (20 * q | 0) + 80 >> 2] | 0;
                            a: do
                                if (N) {
                                    for (G = 0;;) {
                                        Z = G + 1 | 0;
                                        if ((c[a + (20 * G | 0) + 16 >> 2] | 0) == (x | 0)) break;
                                        if ((Z | 0) < (B | 0)) G = Z;
                                        else break a
                                    }
                                    d[p >> 2] = +d[a + (20 * G | 0) + 8 >> 2];
                                    d[n >> 2] = +d[a + (20 * G | 0) + 12 >> 2]
                                }
                            while (0);
                            q = q + 1 | 0
                        } while ((q | 0) < (c[ia >> 2] | 0))
                    }
                    l &= 1;
                    m ^ 0 != (l | 0) && (n = k + 4 | 0, x = Ra[n >> 1] | 0, x & 2 || (W[n >> 1] = x | 2, d[k + 144 >> 2] = 0), x = we + 4 | 0, k = Ra[x >> 1] | 0, k & 2 || (W[x >> 1] = k | 2, d[we + 144 >> 2] = 0))
                }
                we = c[f >> 2] | 0;
                c[f >> 2] = m ? we | 2 : we & -3;
                f = 0 == (l | 0);
                we = m ^ 1;
                k = 0 == (O | 0);
                if (!(f ^ 1 | we | k)) Mb[c[(c[O >> 2] | 0) + 8 >> 2] & 127](O, h);
                if (!(f | m | k)) Mb[c[(c[O >> 2] | 0) + 12 >> 2] & 127](O, h);
                if (!(e | we | k)) Gd[c[(c[O >> 2] | 0) + 16 >> 2] & 63](O, h, a);
                r = b
            }

            function k(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    Tb = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    n = 0,
                    p = 0,
                    q = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    t = 0,
                    y = 0,
                    a = r;
                c[h + 0 >> 2] = c[O + 0 >> 2];
                c[h + 4 >> 2] = c[O + 4 >> 2];
                c[h + 8 >> 2] = c[O + 8 >> 2];
                c[h + 12 >> 2] = c[O + 12 >> 2];
                c[h + 16 >> 2] = c[O + 16 >> 2];
                c[h + 20 >> 2] = c[O + 20 >> 2];
                q = c[O + 40 >> 2] | 0;
                l = h + 32 | 0;
                c[l >> 2] = q;
                b = c[O + 28 >> 2] | 0;
                f = h + 48 | 0;
                c[f >> 2] = b;
                e = h + 36 | 0;
                c[e >> 2] = Ba(q, 88 * b | 0) | 0;
                b = h + 40 | 0;
                c[b >> 2] = Ba(c[l >> 2] | 0, 156 * (c[f >> 2] | 0) | 0) | 0;
                c[h + 24 >> 2] = c[O + 32 >> 2];
                c[h + 28 >> 2] = c[O + 36 >> 2];
                l = c[O + 24 >> 2] | 0;
                O = h + 44 | 0;
                c[O >> 2] = l;
                if (0 >= (c[f >> 2] | 0)) r = a;
                else {
                    g = h + 20 | 0;
                    h = h + 8 | 0;
                    for (Tb = 0;;) {
                        m = c[l + (Tb << 2) >> 2] | 0;
                        x = c[m + 48 >> 2] | 0;
                        n = c[m + 52 >> 2] | 0;
                        q = c[x + 8 >> 2] | 0;
                        p = c[n + 8 >> 2] | 0;
                        l = c[m + 124 >> 2] | 0;
                        if (0 >= (l | 0)) {
                            b = 4;
                            break
                        }
                        ia = +d[(c[n + 12 >> 2] | 0) + 8 >> 2];
                        Z = +d[(c[x + 12 >> 2] | 0) + 8 >> 2];
                        n = c[b >> 2] | 0;
                        d[n + (156 * Tb | 0) + 136 >> 2] = +d[m + 136 >> 2];
                        d[n + (156 * Tb | 0) + 140 >> 2] = +d[m + 140 >> 2];
                        d[n + (156 * Tb | 0) + 144 >> 2] = +d[m + 144 >> 2];
                        y = q + 8 | 0;
                        c[n + (156 * Tb | 0) + 112 >> 2] = c[y >> 2];
                        t = p + 8 | 0;
                        c[n + (156 * Tb | 0) + 116 >> 2] = c[t >> 2];
                        G = q + 120 | 0;
                        d[n + (156 * Tb | 0) + 120 >> 2] = +d[G >> 2];
                        ba = p + 120 | 0;
                        d[n + (156 * Tb | 0) + 124 >> 2] = +d[ba >> 2];
                        N = q + 128 | 0;
                        d[n + (156 * Tb | 0) + 128 >> 2] = +d[N >> 2];
                        B = p + 128 | 0;
                        d[n + (156 * Tb | 0) + 132 >> 2] = +d[B >> 2];
                        c[n + (156 * Tb | 0) + 152 >> 2] = Tb;
                        c[n +
                            (156 * Tb | 0) + 148 >> 2] = l;
                        x = n + (156 * Tb | 0) + 80 | 0;
                        c[x + 0 >> 2] = 0;
                        c[x + 4 >> 2] = 0;
                        c[x + 8 >> 2] = 0;
                        c[x + 12 >> 2] = 0;
                        c[x + 16 >> 2] = 0;
                        c[x + 20 >> 2] = 0;
                        c[x + 24 >> 2] = 0;
                        c[x + 28 >> 2] = 0;
                        x = c[e >> 2] | 0;
                        c[x + (88 * Tb | 0) + 32 >> 2] = c[y >> 2];
                        c[x + (88 * Tb | 0) + 36 >> 2] = c[t >> 2];
                        d[x + (88 * Tb | 0) + 40 >> 2] = +d[G >> 2];
                        d[x + (88 * Tb | 0) + 44 >> 2] = +d[ba >> 2];
                        ba = q + 28 | 0;
                        q = c[ba + 4 >> 2] | 0;
                        G = x + (88 * Tb | 0) + 48 | 0;
                        c[G >> 2] = c[ba >> 2];
                        c[G + 4 >> 2] = q;
                        G = p + 28 | 0;
                        q = c[G + 4 >> 2] | 0;
                        p = x + (88 * Tb | 0) + 56 | 0;
                        c[p >> 2] = c[G >> 2];
                        c[p + 4 >> 2] = q;
                        d[x + (88 * Tb | 0) + 64 >> 2] = +d[N >> 2];
                        d[x + (88 * Tb | 0) + 68 >> 2] = +d[B >> 2];
                        p = m + 104 | 0;
                        q = c[p + 4 >> 2] | 0;
                        B = x + (88 * Tb | 0) + 16 | 0;
                        c[B >> 2] = c[p >> 2];
                        c[B + 4 >> 2] = q;
                        B = m + 112 | 0;
                        q = c[B + 4 >> 2] | 0;
                        p = x + (88 * Tb | 0) + 24 | 0;
                        c[p >> 2] = c[B >> 2];
                        c[p + 4 >> 2] = q;
                        c[x + (88 * Tb | 0) + 84 >> 2] = l;
                        d[x + (88 * Tb | 0) + 76 >> 2] = Z;
                        d[x + (88 * Tb | 0) + 80 >> 2] = ia;
                        c[x + (88 * Tb | 0) + 72 >> 2] = c[m + 120 >> 2];
                        p = 0;
                        do q = m + (20 * p | 0) + 64 | 0, D[g >> 0] | 0 ? (d[n + (156 * Tb | 0) + (36 * p | 0) + 16 >> 2] = +d[h >> 2] * +d[m + (20 * p | 0) + 72 >> 2], d[n + (156 * Tb | 0) + (36 * p | 0) + 20 >> 2] = +d[h >> 2] * +d[m + (20 * p | 0) + 76 >> 2]) : (d[n + (156 * Tb | 0) + (36 * p | 0) + 16 >> 2] = 0, d[n + (156 * Tb | 0) + (36 * p | 0) + 20 >> 2] = 0), ba = n + (156 * Tb | 0) + (36 * p | 0) | 0, d[n + (156 * Tb | 0) + (36 * p | 0) + 24 >> 2] = 0, d[n + (156 * Tb | 0) + (36 * p | 0) + 28 >> 2] = 0, d[n + (156 * Tb | 0) + (36 * p | 0) + 32 >> 2] = 0, y = x + (88 * Tb | 0) + (p << 3) | 0, c[ba + 0 >> 2] = 0, c[ba + 4 >> 2] = 0, c[ba + 8 >> 2] = 0, c[ba + 12 >> 2] = 0, ba = q, t = c[ba + 4 >> 2] | 0, c[y >> 2] = c[ba >> 2], c[y + 4 >> 2] = t, p = p + 1 | 0; while ((p | 0) != (l | 0));
                        Tb = Tb + 1 | 0;
                        if ((Tb | 0) >= (c[f >> 2] | 0)) {
                            b = 12;
                            break
                        }
                        l = c[O >> 2] | 0
                    }
                    4 == (b | 0) ? Q(13160, 13176, 73, 13240) : 12 == (b | 0) && (r = a)
                }
            }

            function l(h) {
                h = h | 0;
                var O = 0,
                    a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    m = 0,
                    x = 0,
                    n = 0,
                    p = 0,
                    q = 0,
                    Xa = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    t = 0,
                    y = 0,
                    E = 0,
                    wa = 0,
                    K = 0,
                    u = 0,
                    w = 0,
                    D = 0,
                    A = 0,
                    M = 0,
                    z = 0,
                    H = 0,
                    v = 0,
                    C = 0,
                    La = 0,
                    R = 0,
                    X = 0,
                    V = 0,
                    aa = 0,
                    L = 0,
                    nc = 0,
                    Ab = C = 0,
                    T = La = 0,
                    W = 0,
                    J = 0,
                    F = Ab = 0,
                    I = 0,
                    O = r;
                r = r + 32 | 0;
                b = O;
                a = h + 48 | 0;
                if (0 >= (c[a >> 2] | 0)) r = O;
                else {
                    g = h + 40 | 0;
                    f = h + 36 | 0;
                    k = h + 44 | 0;
                    e = h + 24 | 0;
                    n = h + 28 | 0;
                    q = b + 4 | 0;
                    x = b + 8 | 0;
                    h = b + 24 | 0;
                    for (m = 0;;) {
                        p = c[g >> 2] | 0;
                        nc = c[f >> 2] | 0;
                        M = c[(c[k >> 2] | 0) + (c[p + (156 * m | 0) + 152 >> 2] << 2) >> 2] | 0;
                        Ab = c[p + (156 * m | 0) + 112 >> 2] | 0;
                        z = c[p + (156 * m | 0) + 116 >> 2] | 0;
                        w = +d[p + (156 * m | 0) + 120 >> 2];
                        u = +d[p + (156 * m | 0) + 124 >> 2];
                        Xa = +d[p + (156 * m | 0) + 128 >> 2];
                        ia = +d[p + (156 * m | 0) + 132 >> 2];
                        La = nc + (88 * m | 0) + 48 | 0;
                        X = +d[La >> 2];
                        V = +d[La + 4 >> 2];
                        La = nc + (88 * m | 0) + 56 | 0;
                        R = +d[La >> 2];
                        L = +d[La +
                            4 >> 2];
                        La = c[e >> 2] | 0;
                        T = La + (12 * Ab | 0) | 0;
                        t = +d[T >> 2];
                        y = +d[T + 4 >> 2];
                        H = +d[La + (12 * Ab | 0) + 8 >> 2];
                        T = c[n >> 2] | 0;
                        C = T + (12 * Ab | 0) | 0;
                        B = +d[C >> 2];
                        ba = +d[C + 4 >> 2];
                        N = +d[T + (12 * Ab | 0) + 8 >> 2];
                        Ab = La + (12 * z | 0) | 0;
                        E = +d[Ab >> 2];
                        wa = +d[Ab + 4 >> 2];
                        v = +d[La + (12 * z | 0) + 8 >> 2];
                        La = T + (12 * z | 0) | 0;
                        K = +d[La >> 2];
                        G = +d[La + 4 >> 2];
                        Z = +d[T + (12 * z | 0) + 8 >> 2];
                        z = c[M + 124 >> 2] | 0;
                        if (0 >= (z | 0)) {
                            a = 4;
                            break
                        }
                        D = +d[nc + (88 * m | 0) + 80 >> 2];
                        A = +d[nc + (88 * m | 0) + 76 >> 2];
                        C = +Ja(+H);
                        La = +Ka(+H);
                        H = +Ja(+v);
                        v = +Ka(+v);
                        aa = t - (X * La - V * C);
                        V = y - (V * La + X * C);
                        X = E - (R * v - L * H);
                        R = wa - (L * v + R * H);
                        nc = c[M + 120 >> 2] | 0;
                        a: do
                            if (2 == (nc | 0)) {
                                J = +d[M + 104 >> 2];
                                L = +d[M + 108 >> 2];
                                W = v * J - H * L;
                                L = J * H + v * L;
                                J = +W;
                                Ab = +L;
                                nc = b;
                                d[nc >> 2] = J;
                                d[nc + 4 >> 2] = Ab;
                                Ab = +d[M + 112 >> 2];
                                J = +d[M + 116 >> 2];
                                X += v * Ab - H * J;
                                v = Ab * H + v * J + R;
                                R = W;
                                H = L;
                                nc = 0;
                                do Ab = +d[M + (20 * nc | 0) + 64 >> 2], J = +d[M + (20 * nc | 0) + 68 >> 2], L = aa + (La * Ab - C * J), J = Ab * C + La * J + V, Ab = D - (R * (L - X) + (J - v) * H), W = L + R * Ab, Ab = J + H * Ab, L -= R * A, J -= H * A, I = +(.5 * (L + W)), F = +(.5 * (J + Ab)), T = b + (nc << 3) + 8 | 0, d[T >> 2] = I, d[T + 4 >> 2] = F, d[b + (nc << 2) + 24 >> 2] = +d[b >> 2] * (L - W) + +d[q >> 2] * (J - Ab), nc = nc + 1 | 0, R = +d[b >> 2], H = +d[q >> 2]; while ((nc | 0) < (z | 0));
                                F = + -R;
                                I = + -H;
                                T = b;
                                d[T >> 2] = F;
                                d[T + 4 >> 2] = I
                            } else
                        if (!nc) d[b >> 2] = 1, d[q >> 2] = 0, F = +d[M + 112 >> 2], I = +d[M + 116 >> 2], aa += La * F - C * I, C = F * C + La * I + V, I = +d[M + 64 >> 2], F = +d[M + 68 >> 2], La = X + (v * I - H * F), H = I * H + v * F + R, F = aa - La, I = C - H, 1.4210854715202004E-14 < F * F + I * I ? (R = La - aa, v = H - C, I = +R, X = +v, T = b, d[T >> 2] = I, d[T + 4 >> 2] = X, X = +ib(+(R * R + v * v)), 1.1920928955078125E-7 > X || (I = 1 / X, R *= I, d[b >> 2] = R, v *= I, d[q >> 2] = v)) : (R = 1, v = 0), Ab = aa + R * A, I = C + v * A, J = La - R * D, F = H - v * D, L = +(.5 * (Ab + J)), W = +(.5 * (I + F)), T = x, d[T >> 2] = L, d[T + 4 >> 2] = W, d[h >> 2] = R * (J - Ab) + v * (F - I);
                        else if (1 == (nc | 0))
                            for (Ab = +d[M + 104 >> 2], I = +d[M +
                                    108 >> 2], F = La * Ab - C * I, I = Ab * C + La * I, Ab = +F, J = +I, nc = b, d[nc >> 2] = Ab, d[nc + 4 >> 2] = J, J = +d[M + 112 >> 2], Ab = +d[M + 116 >> 2], aa += La * J - C * Ab, C = J * C + La * Ab + V, La = F, V = I, nc = 0;;) {
                                I = +d[M + (20 * nc | 0) + 64 >> 2];
                                F = +d[M + (20 * nc | 0) + 68 >> 2];
                                J = X + (v * I - H * F);
                                F = I * H + v * F + R;
                                I = A - (La * (J - aa) + (F - C) * V);
                                Ab = J + La * I;
                                I = F + V * I;
                                J -= La * D;
                                F -= V * D;
                                L = +(.5 * (J + Ab));
                                W = +(.5 * (F + I));
                                T = b + (nc << 3) + 8 | 0;
                                d[T >> 2] = L;
                                d[T + 4 >> 2] = W;
                                d[b + (nc << 2) + 24 >> 2] = +d[b >> 2] * (J - Ab) + +d[q >> 2] * (F - I);
                                nc = nc + 1 | 0;
                                if ((nc | 0) >= (z | 0)) break a;
                                La = +d[b >> 2];
                                V = +d[q >> 2]
                            }
                        while (0);
                        C = p + (156 * m | 0) + 72 | 0;
                        T = b;
                        z = c[T + 4 >> 2] | 0;
                        M = C;
                        c[M >> 2] = c[T >> 2];
                        c[M + 4 >> 2] = z;
                        M = p + (156 * m | 0) + 148 | 0;
                        z = c[M >> 2] | 0;
                        if (0 < (z | 0)) {
                            nc = p + (156 * m | 0) + 76 | 0;
                            u = w + u;
                            Ab = p + (156 * m | 0) + 140 | 0;
                            La = 0;
                            do A = +d[b + (La << 3) + 8 >> 2], w = A - t, F = +d[b + (La << 3) + 12 >> 2], v = +w, H = +(F - y), T = p + (156 * m | 0) + (36 * La | 0) | 0, d[T >> 2] = v, d[T + 4 >> 2] = H, A -= E, H = +A, F = +(F - wa), T = p + (156 * m | 0) + (36 * La | 0) + 8 | 0, d[T >> 2] = H, d[T + 4 >> 2] = F, F = +d[nc >> 2], H = +d[p + (156 * m | 0) + (36 * La | 0) + 4 >> 2], v = +d[C >> 2], I = w * F - H * v, D = +d[p + (156 * m | 0) + (36 * La | 0) + 12 >> 2], v = F * A - v * D, v = u + I * Xa * I + v * ia * v, v = 0 < v ? 1 / v : 0, d[p + (156 * m | 0) + (36 * La | 0) + 24 >> 2] = v, v = +d[nc >> 2], F = - +d[C >> 2], I = w * F - v * H, v = A * F - v * D, v = u + I * Xa * I + v * ia * v, v = 0 < v ? 1 / v : 0, d[p + (156 * m | 0) + (36 * La | 0) + 28 >> 2] = v, T = p + (156 * m | 0) + (36 * La | 0) + 32 | 0, d[T >> 2] = 0, w = +d[C >> 2] * (K - Z * D - B + N * H) + +d[nc >> 2] * (G + Z * A - ba - N * w), -1 > w && (d[T >> 2] = -(w * +d[Ab >> 2])), La = La + 1 | 0; while ((La | 0) != (z | 0));
                            2 == (c[M >> 2] | 0) && (Ab = +d[nc >> 2], B = +d[C >> 2], J = +d[p + (156 * m | 0) >> 2] * Ab - +d[p + (156 * m | 0) + 4 >> 2] * B, Z = Ab * +d[p + (156 * m | 0) + 8 >> 2] - B * +d[p + (156 * m | 0) + 12 >> 2], F = Ab * +d[p + (156 * m | 0) + 36 >> 2] - B * +d[p + (156 * m | 0) + 40 >> 2], B = Ab * +d[p + (156 * m | 0) + 44 >> 2] - B * +d[p + (156 * m | 0) + 48 >> 2], Ab = Xa * J, I = ia * Z, Z = u + J * Ab +
                                Z * I, Xa = u + F * Xa * F + B * ia * B, ia = u + Ab * F + I * B, B = Z * Xa - ia * ia, Z * Z < 1E3 * B ? (d[p + (156 * m | 0) + 96 >> 2] = Z, d[p + (156 * m | 0) + 100 >> 2] = ia, d[p + (156 * m | 0) + 104 >> 2] = ia, d[p + (156 * m | 0) + 108 >> 2] = Xa, 0 != B && (B = 1 / B), I = -(B * ia), d[p + (156 * m | 0) + 80 >> 2] = Xa * B, d[p + (156 * m | 0) + 84 >> 2] = I, d[p + (156 * m | 0) + 88 >> 2] = I, d[p + (156 * m | 0) + 92 >> 2] = Z * B) : c[M >> 2] = 1)
                        }
                        m = m + 1 | 0;
                        if ((m | 0) >= (c[a >> 2] | 0)) {
                            a = 32;
                            break
                        }
                    }
                    4 == (a | 0) ? Q(13256, 13176, 171, 13288) : 32 == (a | 0) && (r = O)
                }
            }

            function m(h) {
                h = h | 0;
                var O = 0,
                    a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    x = 0,
                    n = 0,
                    p = 0,
                    q = 0,
                    Xa = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    t = 0,
                    y = 0,
                    E = 0,
                    wa = 0,
                    K = 0,
                    u = 0,
                    w = 0,
                    D = 0,
                    A = 0,
                    M = 0,
                    z = 0,
                    H = 0,
                    v = 0,
                    C = 0,
                    La = 0,
                    R = 0,
                    I = 0,
                    V = 0,
                    aa = 0,
                    F = 0,
                    J = 0,
                    L = J = wa = 0,
                    O = r,
                    b = h + 48 | 0;
                if (0 >= (c[b >> 2] | 0)) r = O;
                else {
                    a = h + 40 | 0;
                    f = h + 28 | 0;
                    z = c[f >> 2] | 0;
                    g = 0;
                    a: for (;;) {
                        ia = c[a >> 2] | 0;
                        h = c[ia + (156 * g | 0) + 112 >> 2] | 0;
                        e = c[ia + (156 * g | 0) + 116 >> 2] | 0;
                        p = +d[ia + (156 * g | 0) + 120 >> 2];
                        x = +d[ia + (156 * g | 0) + 128 >> 2];
                        n = +d[ia + (156 * g | 0) + 124 >> 2];
                        l = +d[ia + (156 * g | 0) + 132 >> 2];
                        C = c[ia + (156 * g | 0) + 148 >> 2] | 0;
                        wa = k = z + (12 * h | 0) | 0;
                        J = z + (12 * e | 0) | 0;
                        F = ia + (156 * g | 0) + 72 | 0;
                        Xa = +d[F >> 2];
                        q = +d[F + 4 >> 2];
                        y = -Xa;
                        E = +d[ia + (156 * g | 0) + 136 >> 2];
                        F = 1 == (C | 0);
                        if (2 <= (C + -1 | 0) >>> 0) {
                            a = 5;
                            break
                        }
                        N = +d[J + 4 >> 2];
                        ba = +d[J >> 2];
                        G = +d[wa + 4 >> 2];
                        J = ia + (156 * g | 0) + 144 | 0;
                        t = +d[wa >> 2];
                        wa = 0;
                        B = +d[z + (12 * h | 0) + 8 >> 2];
                        Z = +d[z + (12 * e | 0) + 8 >> 2];
                        do V = +d[ia + (156 * g | 0) + (36 * wa | 0) + 12 >> 2], R = +d[ia + (156 * g | 0) + (36 * wa | 0) + 8 >> 2], La = +d[ia + (156 * g | 0) + (36 * wa | 0) + 4 >> 2], v = +d[ia + (156 * g | 0) + (36 * wa | 0) >> 2], aa = E * +d[ia + (156 * g | 0) + (36 * wa | 0) + 16 >> 2], z = ia + (156 * g | 0) + (36 * wa | 0) + 20 | 0, I = +d[z >> 2], M = I - +d[ia + (156 * g | 0) + (36 * wa | 0) + 28 >> 2] * (q * (ba - Z * V - t + B * La) + (N + Z * R - G - B * v) * y - +d[J >> 2]), H = -aa, aa = M < aa ? M : aa, aa = aa < H ? H : aa, I = aa - I, d[z >> 2] = aa, aa = q * I, I *= y, t -= p * aa, G -= p * I, B -= x * (v * I - La * aa), ba += n * aa, N += n * I, Z += l * (R * I - V * aa), wa = wa + 1 | 0; while ((wa | 0) != (C | 0));
                        do
                            if (F)
                                for (z = 0;;)
                                    if (J = +d[ia + (156 * g | 0) + (36 * z | 0) + 12 >> 2], V = +d[ia + (156 * g | 0) + (36 * z | 0) + 8 >> 2], I = +d[ia + (156 * g | 0) + (36 * z | 0) + 4 >> 2], R = +d[ia + (156 * g | 0) + (36 * z | 0) >> 2], wa = ia + (156 * g | 0) + (36 * z | 0) + 16 | 0, aa = +d[wa >> 2], L = aa - +d[ia + (156 * g | 0) + (36 * z | 0) + 24 >> 2] * (Xa * (ba - Z * J - t + B * I) + q * (N + Z * V - G - B * R) - +d[ia + (156 * g | 0) + (36 * z | 0) + 32 >> 2]), L = 0 < L ? L : 0, aa = L - aa, d[wa >> 2] = L, L = Xa * aa, aa *= q, t -= p * L, G -= p * aa, B -= x * (R * aa - I * L), ba += n * L, N += n * aa, Z += l * (V * aa - J * L), z) z = z +
                                        1 | 0;
                                    else break;
                        else {
                            C = ia + (156 * g | 0) + 16 | 0;
                            R = +d[C >> 2];
                            z = ia + (156 * g | 0) + 52 | 0;
                            La = +d[z >> 2];
                            if (!(0 <= R) | !(0 <= La)) {
                                a = 10;
                                break a
                            }
                            wa = +d[ia + (156 * g | 0) + 12 >> 2];
                            E = +d[ia + (156 * g | 0) + 8 >> 2];
                            u = +d[ia + (156 * g | 0) + 4 >> 2];
                            A = +d[ia + (156 * g | 0) >> 2];
                            y = +d[ia + (156 * g | 0) + 48 >> 2];
                            K = +d[ia + (156 * g | 0) + 44 >> 2];
                            D = +d[ia + (156 * g | 0) + 40 >> 2];
                            w = +d[ia + (156 * g | 0) + 36 >> 2];
                            v = +d[ia + (156 * g | 0) + 104 >> 2];
                            I = +d[ia + (156 * g | 0) + 100 >> 2];
                            M = Xa * (ba - Z * wa - t + B * u) + q * (N + Z * E - G - B * A) - +d[ia + (156 * g | 0) + 32 >> 2] - (R * +d[ia + (156 * g | 0) + 96 >> 2] + La * v);
                            H = Xa * (ba - Z * y - t + B * D) + q * (N + Z * K - G - B * w) - +d[ia + (156 * g | 0) + 68 >> 2] - (R * I + La * +d[ia + (156 * g | 0) + 108 >> 2]);
                            L = +d[ia + (156 * g | 0) + 80 >> 2] * M + +d[ia + (156 * g | 0) + 88 >> 2] * H;
                            J = M * +d[ia + (156 * g | 0) + 84 >> 2] + H * +d[ia + (156 * g | 0) + 92 >> 2];
                            V = -L;
                            aa = -J;
                            !(-0 >= L) | !(-0 >= J) ? (L = M * +d[ia + (156 * g | 0) + 24 >> 2], V = -L, -0 >= L && 0 <= H + I * V ? (I = V - R, J = 0 - La, aa = Xa * I, I *= q, L = Xa * J, J *= q, La = L + aa, R = J + I, d[C >> 2] = V, d[z >> 2] = 0, t -= p * La, G -= p * R, ba += n * La, N += n * R, B -= x * (I * A - aa * u + (J * w - L * D)), Z += l * (I * E - aa * wa + (J * K - L * y))) : (L = H * +d[ia + (156 * g | 0) + 60 >> 2], I = -L, -0 >= L && 0 <= M + v * I ? (V = 0 - R, J = I - La, aa = Xa * V, V *= q, L = Xa * J, J *= q, La = aa + L, R = V + J, d[C >> 2] = 0, d[z >> 2] = I, t -= p * La, G -= p * R, ba += n * La, N += n * R, B -= x * (V * A - aa * u + (J * w - L * D)), Z += l * (V * E - aa * wa + (J * K - L * y))) : !(0 <= M) | !(0 <= H) || (V = 0 - R, J = 0 - La, aa = Xa * V, V *= q, L = Xa * J, J *= q, R = aa + L, I = V + J, d[C >> 2] = 0, d[z >> 2] = 0, t -= p * R, G -= p * I, ba += n * R, N += n * I, B -= x * (V * A - aa * u + (J * w - L * D)), Z += l * (V * E - aa * wa + (J * K - L * y))))) : (R = V - R, J = aa - La, I = Xa * R, R *= q, L = Xa * J, J *= q, v = I + L, La = R + J, d[C >> 2] = V, d[z >> 2] = aa, t -= p * v, G -= p * La, ba += n * v, N += n * La, B -= x * (A * R - u * I + (w * J - D * L)), Z += l * (E * R - wa * I + (K * J - y * L)))
                        } while (0);
                        L = +t;
                        J = +G;
                        z = k;
                        d[z >> 2] = L;
                        d[z + 4 >> 2] = J;
                        z = c[f >> 2] | 0;
                        d[z + (12 * h | 0) + 8 >> 2] = B;
                        J = +ba;
                        L = +N;
                        z = z + (12 * e | 0) | 0;
                        d[z >> 2] = J;
                        d[z + 4 >> 2] = L;
                        z = c[f >> 2] | 0;
                        d[z + (12 * e | 0) + 8 >> 2] = Z;
                        g = g + 1 | 0;
                        if ((g | 0) >= (c[b >> 2] | 0)) {
                            a = 22;
                            break
                        }
                    }
                    5 == (a | 0) ? Q(13320, 13176, 314, 13360) : 10 == (a | 0) ? Q(13392, 13176, 412, 13360) : 22 == (a | 0) && (r = O)
                }
            }

            function n(h, O, a, b, e) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                b = b | 0;
                e = e | 0;
                var f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    p = 0,
                    q = 0,
                    Xa = 0,
                    ia = x = 0,
                    Z = 0,
                    B = 0,
                    N = Z = 0,
                    f = r;
                0 >= (c[O + 84 >> 2] | 0) && Q(13424, 13176, 623, 16288);
                x = c[O + 72 >> 2] | 0;
                2 == (x | 0) ? (Z = b + 12 | 0, g = +d[Z >> 2], k = +d[O + 16 >> 2], x = b + 8 | 0, l = +d[x >> 2], Xa = +d[O + 20 >> 2], q = g * k - l * Xa, Xa = k * l + g * Xa, N = h, d[N >> 2] = +q, d[N +
                    4 >> 2] = +Xa, l = +d[Z >> 2], g = +d[O + 24 >> 2], k = +d[x >> 2], m = +d[O + 28 >> 2], ia = +d[a + 12 >> 2], B = +d[O + (e << 3) >> 2], Z = +d[a + 8 >> 2], p = +d[O + (e << 3) + 4 >> 2], x = +d[a >> 2] + (ia * B - Z * p), p = B * Z + ia * p + +d[a + 4 >> 2], d[h + 16 >> 2] = q * (x - (+d[b >> 2] + (l * g - k * m))) + (p - (g * k + l * m + +d[b + 4 >> 2])) * Xa - +d[O + 76 >> 2] - +d[O + 80 >> 2], e = h + 8 | 0, d[e >> 2] = +x, d[e + 4 >> 2] = +p, e = h, d[e >> 2] = + -q, d[e + 4 >> 2] = + -Xa) : x ? 1 == (x | 0) && (Z = a + 12 | 0, x = +d[Z >> 2], p = +d[O + 16 >> 2], N = a + 8 | 0, q = +d[N >> 2], ia = +d[O + 20 >> 2], m = x * p - q * ia, ia = p * q + x * ia, x = h, d[x >> 2] = +m, d[x + 4 >> 2] = +ia, q = +d[Z >> 2], x = +d[O + 24 >> 2], p = +d[N >> 2], Xa = +d[O +
                    28 >> 2], l = +d[b + 12 >> 2], g = +d[O + (e << 3) >> 2], k = +d[b + 8 >> 2], B = +d[O + (e << 3) + 4 >> 2], Z = +d[b >> 2] + (l * g - k * B), B = g * k + l * B + +d[b + 4 >> 2], d[h + 16 >> 2] = m * (Z - (+d[a >> 2] + (q * x - p * Xa))) + (B - (x * p + q * Xa + +d[a + 4 >> 2])) * ia - +d[O + 76 >> 2] - +d[O + 80 >> 2], B = +B, N = h + 8 | 0, d[N >> 2] = +Z, d[N + 4 >> 2] = B) : (m = +d[a + 12 >> 2], x = +d[O + 24 >> 2], B = +d[a + 8 >> 2], l = +d[O + 28 >> 2], g = +d[a >> 2] + (m * x - B * l), l = x * B + m * l + +d[a + 4 >> 2], m = +d[b + 12 >> 2], B = +d[O >> 2], x = +d[b + 8 >> 2], p = +d[O + 4 >> 2], k = +d[b >> 2] + (m * B - x * p), p = B * x + m * p + +d[b + 4 >> 2], m = k - g, x = p - l, q = +x, N = h, d[N >> 2] = +m, d[N + 4 >> 2] = q, q = +ib(+(m * m + x * x)), 1.1920928955078125E-7 > q ? (q = m, Xa = x) : (Xa = 1 / q, q = m * Xa, d[h >> 2] = q, Xa *= x, d[h + 4 >> 2] = Xa), Z = +(.5 * (g + k)), B = +(.5 * (l + p)), N = h + 8 | 0, d[N >> 2] = Z, d[N + 4 >> 2] = B, d[h + 16 >> 2] = m * q + x * Xa - +d[O + 76 >> 2] - +d[O + 80 >> 2]);
                r = f
            }

            function p(h, O) {
                h = h | 0;
                O = O | 0;
                var d = 0,
                    a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    d = r,
                    a = h + 40 | 0,
                    b = c[a >> 2] | 0,
                    e = h + 36 | 0;
                h = h + 32 | 0;
                (b | 0) == (c[e >> 2] | 0) && (f = c[h >> 2] | 0, c[e >> 2] = b << 1, b = ma(b << 3) | 0, c[h >> 2] = b, kb(b | 0, f | 0, c[a >> 2] << 2 | 0) | 0, oa(f), b = c[a >> 2] | 0);
                c[(c[h >> 2] | 0) + (b << 2) >> 2] = O;
                c[a >> 2] = (c[a >> 2] | 0) + 1;
                r = d
            }

            function q(h, O, a, b, e) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                b = b | 0;
                e = e | 0;
                var f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    n = 0,
                    p = 0,
                    Xa = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    t = 0,
                    Wa = 0,
                    K = 0,
                    E = 0,
                    wa = 0,
                    k = r,
                    f = h + 60 | 0;
                c[f >> 2] = 0;
                g = b + 12 | 0;
                m = +d[e + 12 >> 2];
                E = +d[g >> 2];
                N = +d[e + 8 >> 2];
                G = +d[b + 16 >> 2];
                K = +d[e >> 2] + (m * E - N * G) - +d[a >> 2];
                G = E * N + m * G + +d[e + 4 >> 2] - +d[a + 4 >> 2];
                m = +d[a + 12 >> 2];
                N = +d[a + 8 >> 2];
                E = K * m + G * N;
                N = m * G - K * N;
                a = O + 12 | 0;
                e = c[a >> 2] | 0;
                a = c[a + 4 >> 2] | 0;
                K = (c[y >> 2] = e, +d[y >> 2]);
                G = (c[y >> 2] = a, +d[y >> 2]);
                Z = O + 20 | 0;
                ia = c[Z >> 2] | 0;
                Z = c[Z + 4 >> 2] | 0;
                m = (c[y >> 2] = ia, +d[y >> 2]);
                x = (c[y >> 2] = Z, +d[y >> 2]);
                l = m - K;
                B = x - G;
                t = l * (m - E) + B * (x - N);
                Xa = E - K;
                p = N - G;
                Wa = Xa * l + p * B;
                n = +d[O + 8 >> 2] + +d[b + 8 >> 2];
                0 >= Wa ? Xa * Xa + p * p > n * n || 0 != (D[O + 44 >> 0] | 0) && (b = O + 28 | 0, wa = +d[b >> 2], 0 < (K - E) * (K - wa) + (G - N) * (G - +d[b + 4 >> 2])) || (c[f >> 2] = 1, c[h + 56 >> 2] = 0, d[h + 40 >> 2] = 0, d[h + 44 >> 2] = 0, ia = h + 48 | 0, c[ia >> 2] = e, c[ia + 4 >> 2] = a, ia = h + 16 | 0, c[ia >> 2] = 0, D[ia >> 0] = 0, D[ia + 1 >> 0] = 0, D[ia + 2 >> 0] = 0, D[ia + 3 >> 0] = 0, ia = g, Z = c[ia + 4 >> 2] | 0, b = h, c[b >> 2] = c[ia >> 2], c[b + 4 >> 2] = Z) : 0 >= t ? (l = E - m, p = N - x, l * l + p * p > n * n || 0 != (D[O + 45 >> 0] | 0) && (b = O + 36 | 0, wa = +d[b >> 2], 0 < l * (wa - m) + p * (+d[b + 4 >> 2] - x)) || (c[f >> 2] = 1, c[h + 56 >> 2] = 0, d[h + 40 >> 2] = 0, d[h + 44 >> 2] = 0, b = h + 48 | 0, c[b >> 2] = ia, c[b + 4 >> 2] = Z, ia = h + 16 | 0, c[ia >> 2] = 0, D[ia >> 0] = 1, D[ia + 1 >> 0] = 0, D[ia + 2 >> 0] = 0, D[ia + 3 >> 0] = 0, ia = g, Z = c[ia + 4 >> 2] | 0, b = h, c[b >> 2] = c[ia >> 2], c[b + 4 >> 2] = Z)) : (wa = l * l + B * B, 0 < wa || Q(5176, 5192, 127, 5240), wa = 1 / wa, E -= (K * t + m * Wa) * wa, wa = N - (G * t + x * Wa) * wa, E * E + wa * wa > n * n || (m = -B, 0 > l * p + Xa * m ? l = -l : B = m, m = +ib(+(l * l + B * B)), 1.1920928955078125E-7 > m || (wa = 1 / m, B *= wa, l *= wa), c[f >> 2] = 1, c[h + 56 >> 2] = 1, ia = h + 40 | 0, d[ia >> 2] = +B, d[ia + 4 >> 2] = +l, ia = h + 48 | 0, c[ia >> 2] = e, c[ia + 4 >> 2] = a, ia = h + 16 | 0, c[ia >> 2] = 0, D[ia >> 0] = 0, D[ia + 1 >> 0] = 0, D[ia + 2 >> 0] = 1, D[ia + 3 >> 0] = 0, ia = g, Z = c[ia + 4 >> 2] | 0, b = h, c[b >> 2] = c[ia >> 2], c[b + 4 >> 2] = Z));
                r = k
            }

            function t(h, O, a, b, e) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                b = b | 0;
                e = e | 0;
                var f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    n = 0,
                    p = 0,
                    q = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    Wa = 0,
                    K = 0,
                    E = 0,
                    wa = 0,
                    u = 0,
                    ee = 0,
                    A = 0,
                    z = 0,
                    S = 0,
                    M = 0,
                    v = 0,
                    H = 0,
                    C = 0,
                    J = 0,
                    I = 0,
                    R = 0,
                    L = 0,
                    V = 0,
                    aa = 0,
                    F = 0,
                    Q = H = V = 0,
                    X = 0,
                    f = r;
                r = r + 464 | 0;
                n = f;
                m = f + 432 | 0;
                g = f + 408 | 0;
                p = f + 24 | 0;
                k = p + 260 | 0;
                A = +d[a + 12 >> 2];
                I = +d[e + 8 >> 2];
                K = +d[a + 8 >> 2];
                ee = +d[e + 12 >> 2];
                Wa = A * I - K * ee;
                ee = I * K + A * ee;
                wa = +d[e >> 2] - +d[a >> 2];
                C = +d[e + 4 >> 2] - +d[a + 4 >> 2];
                E = A * wa + K * C;
                wa = A * C - K * wa;
                a = k;
                d[a >> 2] = +E;
                d[a + 4 >> 2] = +wa;
                a = p + 268 | 0;
                d[a >> 2] = +Wa;
                d[a + 4 >> 2] = +ee;
                a = p + 272 | 0;
                u = +d[b + 12 >> 2];
                e = p + 268 | 0;
                I = +d[b + 16 >> 2];
                E += ee * u - Wa * I;
                l = p + 264 | 0;
                wa = u * Wa + ee * I + wa;
                J = p + 276 | 0;
                d[J >> 2] = +E;
                d[J + 4 >> 2] = +wa;
                J = O + 28 | 0;
                z = c[J >> 2] | 0;
                J = c[J + 4 >> 2] | 0;
                q = p + 284 | 0;
                c[q >> 2] = z;
                c[q + 4 >> 2] = J;
                q = p + 292 | 0;
                ba = O + 12 | 0;
                Z = c[ba >> 2] | 0;
                ba = c[ba + 4 >> 2] | 0;
                ia = q;
                c[ia >> 2] = Z;
                c[ia + 4 >> 2] = ba;
                ia = p + 300 | 0;
                N = O + 20 | 0;
                H = c[N >> 2] | 0;
                N = c[N + 4 >> 2] | 0;
                V = ia;
                c[V >> 2] = H;
                c[V + 4 >> 2] = N;
                V = O + 36 | 0;
                R = c[V >> 2] | 0;
                V = c[V + 4 >> 2] | 0;
                B = p + 308 | 0;
                c[B >> 2] = R;
                c[B + 4 >> 2] = V;
                B = 0 != (D[O + 44 >> 0] | 0);
                G = 0 == (D[O + 45 >> 0] | 0);
                ee = (c[y >> 2] = H, +d[y >> 2]);
                I = (c[y >> 2] = Z, +d[y >> 2]);
                Wa = ee -
                    I;
                u = (c[y >> 2] = N, +d[y >> 2]);
                C = (c[y >> 2] = ba, +d[y >> 2]);
                K = u - C;
                A = +ib(+(Wa * Wa + K * K));
                v = (c[y >> 2] = z, +d[y >> 2]);
                H = (c[y >> 2] = J, +d[y >> 2]);
                M = (c[y >> 2] = R, +d[y >> 2]);
                S = (c[y >> 2] = V, +d[y >> 2]);
                1.1920928955078125E-7 > A || (F = 1 / A, Wa *= F, K *= F);
                Z = p + 324 | 0;
                A = -Wa;
                d[Z >> 2] = K;
                O = p + 328 | 0;
                d[O >> 2] = A;
                A = (E - I) * K + (wa - C) * A;
                B ? (I -= v, C -= H, L = +ib(+(I * I + C * C)), 1.1920928955078125E-7 > L || (F = 1 / L, I *= F, C *= F), F = -I, d[p + 316 >> 2] = C, d[p + 320 >> 2] = F, N = 0 <= K * I - Wa * C, v = (E - v) * C + (wa - H) * F) : v = N = 0;
                a: do
                    if (G)
                        if (B) {
                            B = 0 <= v;
                            if (N) {
                                if (B) D[p + 376 >> 0] = 1, B = p + 340 | 0;
                                else if (H = 0 <= A, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, !H) {
                                    aa = + -K;
                                    F = +Wa;
                                    R = B;
                                    d[R >> 2] = aa;
                                    d[R + 4 >> 2] = F;
                                    R = Z;
                                    V = c[R >> 2] | 0;
                                    R = c[R + 4 >> 2] | 0;
                                    H = p + 356 | 0;
                                    c[H >> 2] = V;
                                    c[H + 4 >> 2] = R;
                                    H = p + 364 | 0;
                                    d[H >> 2] = -(c[y >> 2] = V, +d[y >> 2]);
                                    d[H + 4 >> 2] = F;
                                    break
                                }
                                H = Z;
                                V = c[H + 4 >> 2] | 0;
                                R = B;
                                c[R >> 2] = c[H >> 2];
                                c[R + 4 >> 2] = V;
                                R = p + 316 | 0;
                                V = c[R + 4 >> 2] | 0;
                                H = p + 356 | 0;
                                c[H >> 2] = c[R >> 2];
                                c[H + 4 >> 2] = V;
                                aa = + - +d[Z >> 2];
                                F = + - +d[O >> 2]
                            } else {
                                if (B) {
                                    if (H = 0 <= A, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, H) {
                                        R = Z;
                                        H = c[R >> 2] | 0;
                                        R = c[R + 4 >> 2] | 0;
                                        V = B;
                                        c[V >> 2] = H;
                                        c[V + 4 >> 2] = R;
                                        V = p + 356 | 0;
                                        c[V >> 2] = H;
                                        c[V + 4 >> 2] = R;
                                        aa = + -(c[y >> 2] = H, +d[y >> 2]);
                                        F = +Wa;
                                        H = p + 364 | 0;
                                        d[H >> 2] = aa;
                                        d[H + 4 >> 2] = F;
                                        break
                                    }
                                } else D[p + 376 >> 0] = 0, B = p + 340 | 0;
                                F = + -K;
                                aa = +Wa;
                                R = B;
                                d[R >> 2] = F;
                                d[R + 4 >> 2] = aa;
                                R = Z;
                                V = c[R + 4 >> 2] | 0;
                                H = p + 356 | 0;
                                c[H >> 2] = c[R >> 2];
                                c[H + 4 >> 2] = V;
                                aa = + - +d[p + 316 >> 2];
                                F = + - +d[p + 320 >> 2]
                            }
                            H = p + 364 | 0;
                            d[H >> 2] = aa;
                            d[H + 4 >> 2] = F
                        } else H = 0 <= A, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, H ? (R = Z, H = c[R >> 2] | 0, R = c[R + 4 >> 2] | 0, V = B, c[V >> 2] = H, c[V + 4 >> 2] = R, aa = + -(c[y >> 2] = H, +d[y >> 2]), F = +Wa, H = p + 356 | 0, d[H >> 2] = aa, d[H + 4 >> 2] = F, H = p + 364 | 0, d[H >> 2] = aa, d[H + 4 >> 2] = F) : (aa = + -K, F = +Wa, V = B, d[V >> 2] = aa, d[V + 4 >> 2] = F, V = Z, R = c[V >> 2] | 0, V = c[V + 4 >> 2] | 0, H = p + 356 | 0, c[H >> 2] = R, c[H + 4 >> 2] = V, H = p + 364 | 0, c[H >> 2] = R, c[H + 4 >> 2] = V);
                else if (M -= ee, S -= u, H = +ib(+(M * M + S * S)), 1.1920928955078125E-7 > H || (F = 1 / H, M *= F, S *= F), F = -M, G = p + 332 | 0, d[G >> 2] = S, ba = p + 336 | 0, d[ba >> 2] = F, z = 0 < Wa * S - K * M, E = (E - ee) * S + (wa - u) * F, B)
                    if (N & z) {
                        if (!(0 <= v) & !(0 <= A)) {
                            if (H = 0 <= E, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, !H) {
                                aa = + -K;
                                F = +Wa;
                                H = B;
                                d[H >> 2] = aa;
                                d[H + 4 >> 2] = F;
                                H = p + 356 | 0;
                                d[H >> 2] = aa;
                                d[H + 4 >> 2] = F;
                                H = p + 364 | 0;
                                d[H >> 2] = aa;
                                d[H + 4 >> 2] = F;
                                break
                            }
                        } else D[p + 376 >> 0] = 1, B = p + 340 | 0;
                        R = Z;
                        V = c[R + 4 >> 2] | 0;
                        H = B;
                        c[H >> 2] = c[R >> 2];
                        c[H + 4 >> 2] = V;
                        H = p + 316 | 0;
                        V = c[H + 4 >> 2] | 0;
                        R = p + 356 | 0;
                        c[R >> 2] = c[H >> 2];
                        c[R + 4 >> 2] = V;
                        R = p + 332 | 0;
                        V = c[R + 4 >> 2] | 0;
                        H = p + 364 | 0;
                        c[H >> 2] = c[R >> 2];
                        c[H + 4 >> 2] = V
                    } else if (N) {
                    do
                        if (0 <= v) D[p + 376 >> 0] = 1, B = p + 340 | 0;
                        else {
                            if (0 <= A) {
                                if (H = 0 <= E, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, H) break
                            } else D[p + 376 >> 0] = 0, B = p + 340 | 0;
                            aa = + -K;
                            F = +Wa;
                            H = B;
                            d[H >> 2] = aa;
                            d[H + 4 >> 2] = F;
                            F = + - +d[G >> 2];
                            aa = + - +d[ba >> 2];
                            H = p + 356 | 0;
                            d[H >> 2] = F;
                            d[H + 4 >> 2] = aa;
                            aa = + - +d[Z >> 2];
                            F = + - +d[O >> 2];
                            H = p + 364 | 0;
                            d[H >> 2] = aa;
                            d[H + 4 >> 2] = F;
                            break a
                        }
                    while (0);
                    R = Z;
                    V = c[R + 4 >> 2] | 0;
                    H = B;
                    c[H >> 2] = c[R >> 2];
                    c[H + 4 >> 2] = V;
                    H = p + 316 | 0;
                    V = c[H + 4 >> 2] | 0;
                    R = p + 356 | 0;
                    c[R >> 2] = c[H >> 2];
                    c[R + 4 >> 2] = V;
                    R = Z;
                    V = c[R + 4 >> 2] | 0;
                    H = p + 364 | 0;
                    c[H >> 2] = c[R >> 2];
                    c[H + 4 >> 2] = V
                } else if (z) {
                    do
                        if (0 <= E) D[p + 376 >> 0] = 1, B = p + 340 | 0;
                        else {
                            if (0 <= v) {
                                if (H = 0 <= A, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, H) break
                            } else D[p + 376 >> 0] = 0, B = p + 340 | 0;
                            aa = + -K;
                            F = +Wa;
                            H = B;
                            d[H >> 2] = aa;
                            d[H + 4 >> 2] = F;
                            F = + - +d[Z >> 2];
                            aa = + - +d[O >> 2];
                            H = p + 356 | 0;
                            d[H >> 2] = F;
                            d[H + 4 >> 2] = aa;
                            aa = + - +d[p + 316 >> 2];
                            F = + - +d[p + 320 >> 2];
                            H = p + 364 | 0;
                            d[H >> 2] = aa;
                            d[H + 4 >> 2] = F;
                            break a
                        }
                    while (0);
                    R = Z;
                    V = c[R + 4 >> 2] | 0;
                    H = B;
                    c[H >> 2] = c[R >> 2];
                    c[H + 4 >> 2] = V;
                    H = Z;
                    V = c[H + 4 >> 2] | 0;
                    R = p + 356 | 0;
                    c[R >> 2] = c[H >> 2];
                    c[R + 4 >> 2] = V;
                    R = p + 332 | 0;
                    V = c[R + 4 >> 2] | 0;
                    H = p + 364 | 0;
                    c[H >> 2] = c[R >> 2];
                    c[H + 4 >> 2] = V
                } else {
                    if (!(0 <= v) | !(0 <= A)) D[p + 376 >> 0] = 0, B = p + 340 | 0;
                    else if (H = 0 <= E, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, H) {
                        V = Z;
                        R = c[V >> 2] | 0;
                        V = c[V + 4 >> 2] | 0;
                        H = B;
                        c[H >> 2] = R;
                        c[H + 4 >> 2] = V;
                        H = p + 356 | 0;
                        c[H >> 2] = R;
                        c[H + 4 >> 2] = V;
                        H = p + 364 | 0;
                        c[H >> 2] = R;
                        c[H + 4 >> 2] = V;
                        break
                    }
                    aa = + -K;
                    F = +Wa;
                    H = B;
                    d[H >> 2] = aa;
                    d[H + 4 >> 2] = F;
                    F = + - +d[G >> 2];
                    aa = + - +d[ba >> 2];
                    H = p + 356 | 0;
                    d[H >> 2] = F;
                    d[H + 4 >> 2] = aa;
                    aa = + - +d[p + 316 >> 2];
                    F = + - +d[p + 320 >> 2];
                    H = p + 364 | 0;
                    d[H >> 2] = aa;
                    d[H + 4 >> 2] = F
                } else {
                    B = 0 <= A;
                    if (z) {
                        if (B) D[p + 376 >> 0] = 1, B = p + 340 | 0;
                        else if (H = 0 <= E, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, !H) {
                            aa = + -K;
                            F = +Wa;
                            R = B;
                            d[R >> 2] = aa;
                            d[R + 4 >> 2] = F;
                            R = p + 356 | 0;
                            d[R >> 2] = aa;
                            d[R + 4 >> 2] = F;
                            R = Z;
                            V = c[R + 4 >> 2] | 0;
                            H = p + 364 | 0;
                            c[H >> 2] = c[R >> 2];
                            c[H + 4 >> 2] = V;
                            break
                        }
                        H = Z;
                        V = c[H + 4 >> 2] | 0;
                        R = B;
                        c[R >> 2] = c[H >> 2];
                        c[R + 4 >> 2] = V;
                        aa = + - +d[Z >> 2];
                        F = + - +d[O >> 2];
                        R = p + 356 | 0;
                        d[R >> 2] = aa;
                        d[R + 4 >> 2] = F;
                        R = p + 332 | 0
                    } else {
                        if (B) {
                            if (H = 0 <= E, D[p + 376 >> 0] = H & 1, B = p + 340 | 0, H) {
                                V = Z;
                                R = c[V >> 2] | 0;
                                V = c[V + 4 >> 2] | 0;
                                H = B;
                                c[H >> 2] = R;
                                c[H + 4 >> 2] = V;
                                aa = + -(c[y >> 2] = R, +d[y >> 2]);
                                F = +Wa;
                                H = p + 356 | 0;
                                d[H >> 2] = aa;
                                d[H + 4 >> 2] = F;
                                H = p + 364 | 0;
                                c[H >> 2] = R;
                                c[H + 4 >> 2] = V;
                                break
                            }
                        } else D[p +
                            376 >> 0] = 0, B = p + 340 | 0;
                        F = + -K;
                        aa = +Wa;
                        R = B;
                        d[R >> 2] = F;
                        d[R + 4 >> 2] = aa;
                        aa = + - +d[G >> 2];
                        F = + - +d[ba >> 2];
                        R = p + 356 | 0;
                        d[R >> 2] = aa;
                        d[R + 4 >> 2] = F;
                        R = Z
                    }
                    V = c[R + 4 >> 2] | 0;
                    H = p + 364 | 0;
                    c[H >> 2] = c[R >> 2];
                    c[H + 4 >> 2] = V
                }
                while (0);
                ba = c[b + 276 >> 2] | 0;
                B = p + 256 | 0;
                c[B >> 2] = ba;
                if (0 < (ba | 0)) {
                    N = 0;
                    do L = +d[a >> 2], aa = +d[b + (N << 3) + 20 >> 2], F = +d[e >> 2], V = +d[b + (N << 3) + 24 >> 2], I = +(+d[k >> 2] + (L * aa - F * V)), V = +(aa * F + L * V + +d[l >> 2]), H = p + (N << 3) | 0, d[H >> 2] = I, d[H + 4 >> 2] = V, V = +d[a >> 2], I = +d[b + (N << 3) + 148 >> 2], L = +d[e >> 2], F = +d[b + (N << 3) + 152 >> 2], aa = +(V * I - L * F), F = +(I * L + V * F), H = p + (N << 3) + 128 | 0, d[H >> 2] = aa, d[H + 4 >> 2] = F, N = N + 1 | 0; while ((N | 0) < (ba | 0));
                    ba = c[B >> 2] | 0
                }
                N = p + 372 | 0;
                d[N >> 2] = .019999999552965164;
                B = h + 60 | 0;
                c[B >> 2] = 0;
                G = D[p + 376 >> 0] | 0;
                if (z = 0 < (ba | 0)) {
                    Wa = +d[p + 292 >> 2];
                    u = +d[p + 296 >> 2];
                    wa = +d[p + 340 >> 2];
                    ee = +d[p + 344 >> 2];
                    E = A = 3.4028234663852886E38;
                    for (R = 0; !(K = (+d[p + (R << 3) >> 2] - Wa) * wa + (+d[p + (R << 3) + 4 >> 2] - u) * ee, E = (J = K < A) ? K : E, R = R + 1 | 0, (R | 0) >= (ba | 0));) A = J ? K : A;
                    if (!(.019999999552965164 < E)) {
                        Wa = +d[p + 344 >> 2];
                        K = +d[p + 340 >> 2];
                        do
                            if (z) {
                                S = +d[p + 292 >> 2];
                                v = +d[p + 296 >> 2];
                                H = +d[p + 300 >> 2];
                                C = +d[p + 304 >> 2];
                                M = +d[p + 356 >> 2];
                                A = +d[p +
                                    360 >> 2];
                                ee = +d[p + 364 >> 2];
                                u = +d[p + 368 >> 2];
                                I = -3.4028234663852886E38;
                                R = z = 0;
                                J = -1;
                                for (L = -3.4028234663852886E38;;) {
                                    V = +d[p + (z << 3) + 128 >> 2];
                                    F = -V;
                                    aa = - +d[p + (z << 3) + 132 >> 2];
                                    X = +d[p + (z << 3) >> 2];
                                    wa = +d[p + (z << 3) + 4 >> 2];
                                    Q = (X - S) * F + (wa - v) * aa;
                                    wa = (X - H) * F + (wa - C) * aa;
                                    wa = Q < wa ? Q : wa;
                                    if (.019999999552965164 < wa) {
                                        R = 2;
                                        break
                                    }
                                    0 <= Wa * V + K * aa ? wa > I && !(-.03490658849477768 > (F - ee) * K + (aa - u) * Wa) ? x = 77 : wa = L : wa > I && !(-.03490658849477768 > (F - M) * K + (aa - A) * Wa) ? x = 77 : wa = L;
                                    77 == (x | 0) && (x = 0, I = wa, R = 2, J = z);
                                    z = z + 1 | 0;
                                    if ((z | 0) >= (ba | 0)) {
                                        z = J;
                                        x = 79;
                                        break
                                    } else L = wa
                                }
                                if (79 != (x | 0) || R) {
                                    if (.019999999552965164 < wa) {
                                        r = f;
                                        return
                                    }
                                    wa > .9800000190734863 * E + .0010000000474974513 ? (J = 1 == (R | 0), R = h + 56 | 0, J ? (z = J, J = n, x = 84) : (c[R >> 2] = 2, G = q, O = c[G + 4 >> 2] | 0, q = n, c[q >> 2] = c[G >> 2], c[q + 4 >> 2] = O, q = n + 8 | 0, D[q >> 0] = 0, O = z & 255, D[q + 1 >> 0] = O, D[q + 2 >> 0] = 0, D[q + 3 >> 0] = 1, q = ia, ia = c[q + 4 >> 2] | 0, G = n + 12 | 0, c[G >> 2] = c[q >> 2], c[G + 4 >> 2] = ia, G = n + 20 | 0, D[G >> 0] = 0, D[G + 1 >> 0] = O, D[G + 2 >> 0] = 0, D[G + 3 >> 0] = 1, G = z + 1 | 0, G = (G | 0) < (ba | 0) ? G : 0, ba = p + (z << 3) | 0, ia = p + (G << 3) | 0, O = p + (z << 3) + 128 | 0, q = c[ia + 4 >> 2] | 0, ia = c[ia >> 2] | 0, p = J, J = G, G = c[ba >> 2] | 0, ba = c[ba + 4 >> 2] | 0, Z = c[O >> 2] | 0, O = c[O + 4 >> 2] | 0)) : x = 82
                                } else x = 82
                            } else x = 82; while (0);
                        82 == (x | 0) && (z = 1, J = n, R = h + 56 | 0, x = 84);
                        if (84 == (x | 0)) {
                            c[R >> 2] = 1;
                            if (1 < (ba | 0))
                                for (V = 0, E = K * +d[p + 128 >> 2] + Wa * +d[p + 132 >> 2], x = 1; !(wa = K * +d[p + (x << 3) + 128 >> 2] + Wa * +d[p + (x << 3) + 132 >> 2], V = (R = wa < E) ? x : V, x = x + 1 | 0, (x | 0) >= (ba | 0));) E = R ? wa : E;
                            else V = 0;
                            R = V + 1 | 0;
                            R = (R | 0) < (ba | 0) ? R : 0;
                            x = p + (V << 3) | 0;
                            H = c[x + 4 >> 2] | 0;
                            ba = n;
                            c[ba >> 2] = c[x >> 2];
                            c[ba + 4 >> 2] = H;
                            ba = n + 8 | 0;
                            D[ba >> 0] = 0;
                            D[ba + 1 >> 0] = V;
                            D[ba + 2 >> 0] = 1;
                            D[ba + 3 >> 0] = 0;
                            ba = p + (R << 3) | 0;
                            V = c[ba + 4 >> 2] | 0;
                            H = n + 12 | 0;
                            c[H >> 2] = c[ba >> 2];
                            c[H + 4 >> 2] = V;
                            H = n + 20 | 0;
                            D[H >> 0] = 0;
                            D[H + 1 >> 0] = R;
                            D[H + 2 >> 0] = 1;
                            D[H + 3 >> 0] = 0;
                            G << 24 >> 24 ? (ba = q, O = Z, q = c[ia + 4 >> 2] | 0, ia = c[ia >> 2] | 0, n = J, p = z, z = 0, J = 1, G = c[ba >> 2] | 0, ba = c[ba + 4 >> 2] | 0, Z = c[O >> 2] | 0, O = c[O + 4 >> 2] | 0) : (ba = ia, ia = q, Z = (d[y >> 2] = - +d[Z >> 2], c[y >> 2] | 0), q = c[ia + 4 >> 2] | 0, ia = c[ia >> 2] | 0, n = J, p = z, z = 1, J = 0, G = c[ba >> 2] | 0, ba = c[ba + 4 >> 2] | 0, O = (d[y >> 2] = - +d[O >> 2], c[y >> 2] | 0))
                        }
                        K = (c[y >> 2] = ba, +d[y >> 2]);
                        Wa = (c[y >> 2] = O, +d[y >> 2]);
                        F = (c[y >> 2] = O, +d[y >> 2]);
                        wa = (c[y >> 2] = Z, +d[y >> 2]);
                        Q = (c[y >> 2] = G, +d[y >> 2]);
                        X = -wa;
                        E = -F;
                        if (!(2 > (w(m, n, F, X, F * Q + (c[y >> 2] = ba, +d[y >> 2]) * X, z) | 0) || (X = (c[y >> 2] = q, +d[y >> 2]), X = (c[y >> 2] = ia, +d[y >> 2]) * E + wa * X, 2 > (w(g, m, E, (c[y >> 2] = Z, +d[y >> 2]), X, J) | 0)))) {
                            m = h + 40 | 0;
                            p ? (H = m, c[H >> 2] = Z, c[H + 4 >> 2] = O, H = h + 48 | 0, c[H >> 2] = G, c[H + 4 >> 2] = ba) : (H = b + (z << 3) + 148 | 0, V = c[H + 4 >> 2] | 0, R = m, c[R >> 2] = c[H >> 2], c[R + 4 >> 2] = V, R = b + (z << 3) + 20 | 0, V = c[R + 4 >> 2] | 0, H = h + 48 | 0, c[H >> 2] = c[R >> 2], c[H + 4 >> 2] = V);
                            E = (c[y >> 2] = G, +d[y >> 2]);
                            wa = (c[y >> 2] = Z, +d[y >> 2]);
                            u = +d[N >> 2];
                            ee = +d[k >> 2];
                            A = +d[l >> 2];
                            S = +d[a >> 2];
                            M = +d[e >> 2];
                            a = e = 0;
                            do l = g + (12 * e | 0) | 0, v = +d[l >> 2], H = +d[g + (12 * e | 0) + 4 >> 2], (v - E) * wa + (H - K) * Wa <= u && (k = h + (20 * a | 0) | 0, p ? (X = v - ee, F = H - A, Q = +(X * S + F * M), X = +(S * F - X * M), H = k, d[H >> 2] = Q, d[H + 4 >> 2] = X, c[h + (20 * a | 0) + 16 >> 2] = c[g + (12 * e | 0) + 8 >> 2]) : (R = l, H = c[R + 4 >> 2] | 0, V = k, c[V >> 2] = c[R >> 2], c[V + 4 >> 2] = H, V = g + (12 * e | 0) + 8 | 0, H = h + (20 * a | 0) + 16 | 0, D[H + 2 >> 0] = D[V + 3 >> 0] | 0, D[H + 3 >> 0] = D[V + 2 >> 0] | 0, D[H >> 0] = D[V + 1 >> 0] | 0, D[H + 1 >> 0] = D[V >> 0] | 0), a = a + 1 | 0), e = e + 1 | 0; while (2 != (e | 0));
                            c[B >> 2] = a
                        }
                    }
                }
                r = f
            }

            function u(h, O, a, b, e) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                b = b | 0;
                e = e | 0;
                var f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    t = 0,
                    Wa = 0,
                    f = r,
                    g = c[O + 276 >> 2] | 0,
                    k = c[b + 276 >> 2] | 0,
                    B = +d[e + 12 >> 2],
                    x = +d[a + 8 >> 2],
                    t = +d[e + 8 >> 2],
                    l = +d[a + 12 >> 2],
                    m = B * x - t * l,
                    l = x * t + B * l,
                    x = +d[a >> 2] - +d[e >> 2],
                    N = +d[a + 4 >> 2] - +d[e + 4 >> 2],
                    p = B * x + t * N,
                    x = B * N - t * x;
                if (0 >= (g | 0)) return c[h >> 2] = 0, r = f, -3.4028234663852886E38;
                a = 0 < (k | 0);
                e = n = 0;
                q = -3.4028234663852886E38;
                do {
                    t = +d[O + (e << 3) + 148 >> 2];
                    B = +d[O + (e << 3) + 152 >> 2];
                    ia = l * t - m * B;
                    B = m * t + l * B;
                    t = +d[O + (e << 3) + 20 >> 2];
                    N = +d[O + (e << 3) + 24 >> 2];
                    Z = p + (l * t - m * N);
                    N = x + (m * t + l * N);
                    if (a) {
                        G = 0;
                        t = 3.4028234663852886E38;
                        do Wa = ia * (+d[b + (G << 3) + 20 >> 2] - Z) + B * (+d[b + (G << 3) + 24 >> 2] - N), t = Wa < t ? Wa : t, G = G + 1 | 0; while ((G | 0) != (k | 0))
                    } else t = 3.4028234663852886E38;
                    q = (G = t > q) ? t : q;
                    n = G ? e : n;
                    e = e + 1 | 0
                } while ((e | 0) != (g | 0));
                c[h >> 2] = n;
                r = f;
                return +q
            }

            function w(h, O, a, b, e, f) {
                h = h | 0;
                O = O | 0;
                a = +a;
                b = +b;
                e = +e;
                var g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    p = r,
                    k = O + 4 | 0,
                    g = +d[O >> 2] * a + +d[k >> 2] * b - e,
                    l = O + 12 | 0,
                    m = O + 16 | 0;
                e = +d[l >> 2] * a + +d[m >> 2] * b - e;
                0 >= g ? (c[h + 0 >> 2] = c[O + 0 >> 2], c[h + 4 >> 2] = c[O + 4 >> 2], c[h + 8 >> 2] = c[O + 8 >> 2], x = 1) : x = 0;
                0 >= e && (n = x + 1 | 0, x = h + (12 * x | 0) | 0, c[x + 0 >> 2] = c[l + 0 >> 2], c[x + 4 >> 2] = c[l + 4 >> 2], c[x + 8 >> 2] = c[l + 8 >> 2], x = n);
                if (!(0 > g * e)) return r = p, x | 0;
                e = g / (g - e);
                b = +d[O >> 2];
                a = +d[k >> 2];
                b = +(b + e * (+d[l >> 2] - b));
                a = +(a + e * (+d[m >> 2] - a));
                n = h + (12 * x | 0) | 0;
                d[n >> 2] = b;
                d[n + 4 >> 2] = a;
                n = h + (12 * x | 0) + 8 | 0;
                D[n >> 0] = f | 0;
                D[n + 1 >> 0] = D[O + 9 >> 0] | 0;
                D[n + 2 >> 0] = 0;
                D[n + 3 >> 0] = 1;
                r = p;
                return x + 1 | 0
            }

            function A(h, O, a) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    b = r,
                    e = c[O + 4 >> 2] | 0;
                3 == (e | 0) ? (-1 >= (a | 0) && Q(5408, 5448, 53, 7160), e = O + 16 | 0, (c[e >> 2] | 0) <= (a | 0) && Q(5408, 5448, 53, 7160), g = O + 12 | 0, l = (c[g >> 2] | 0) + (a << 3) | 0, k = c[l + 4 >> 2] | 0, f = h, c[f >> 2] = c[l >> 2], c[f + 4 >> 2] = k, f = a + 1 | 0, g = c[g >> 2] | 0, (f | 0) < (c[e >> 2] | 0) && (g = g + (f << 3) | 0), k = c[g + 4 >> 2] | 0, l = h + 8 | 0, c[l >> 2] = c[g >> 2], c[l + 4 >> 2] = k, c[h + 16 >> 2] = h, c[h + 20 >> 2] = 2, d[h + 24 >> 2] = +d[O + 8 >> 2], r = b) : 1 == (e | 0) ? (c[h + 16 >> 2] = O + 12, c[h + 20 >> 2] = 2, d[h + 24 >> 2] = +d[O + 8 >> 2], r = b) : e ? 2 == (e | 0) ? (c[h + 16 >> 2] = O + 20, c[h + 20 >> 2] = c[O + 276 >> 2], d[h + 24 >> 2] = +d[O + 8 >> 2], r = b) : Q(15224, 5448, 81, 7160) : (c[h + 16 >> 2] = O + 12, c[h + 20 >> 2] = 1, d[h + 24 >> 2] = +d[O + 8 >> 2], r = b)
            }

            function z(h, O, a) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    ia = 0,
                    t = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    Wa = 0,
                    K = 0,
                    E = 0,
                    wa = 0,
                    u = 0,
                    w = 0,
                    A = 0,
                    v = 0,
                    S = 0,
                    M = 0,
                    F = 0,
                    H = 0,
                    J = 0,
                    I = 0,
                    L = 0,
                    R = 0,
                    X = 0,
                    V = 0,
                    aa = 0,
                    P = 0,
                    fa = 0,
                    ga = 0,
                    T = 0,
                    U = 0,
                    ja = 0,
                    ca = 0,
                    da = 0,
                    ma = 0,
                    na = 0,
                    ha = 0,
                    ka = 0,
                    qd = 0,
                    pa = 0,
                    oa = 0,
                    ea = 0,
                    ua = ea = 0,
                    va = ka = T = 0,
                    ya = 0,
                    Ba = 0,
                    ta = ha = na = ma = 0,
                    b = r;
                r = r + 144 | 0;
                f = b;
                Wa = b + 124 | 0;
                wa = b + 112 | 0;
                c[1346] = (c[1346] | 0) + 1;
                G = +d[a + 56 >> 2];
                N = +d[a + 60 >> 2];
                ba = +d[a + 64 >> 2];
                E = +d[a + 68 >> 2];
                B = +d[a + 72 >> 2];
                u = +d[a + 76 >> 2];
                S = +d[a + 80 >> 2];
                t = +d[a + 84 >> 2];
                g = O + 4 | 0;
                H = W[g >> 1] | 0;
                4 <= (H & 65535) && Q(5552, 5448, 102, 5576);
                F = H & 65535;
                k = f + 108 | 0;
                c[k >> 2] = F;
                a: do
                    if (H << 16 >> 16) {
                        H = a + 16 | 0;
                        J = a + 48 | 0;
                        F = a + 44 | 0;
                        I = c[a + 20 >> 2] | 0;
                        for (L = 0;;) {
                            X = wc[O + L + 6 >> 0] | 0;
                            c[f + (36 * L | 0) + 28 >> 2] = X;
                            R = wc[O + L + 9 >> 0] | 0;
                            c[f + (36 * L | 0) + 32 >> 2] = R;
                            if ((I | 0) <= (X | 0)) {
                                T = 6;
                                break
                            }
                            ea = (c[H >> 2] | 0) + (X << 3) | 0;
                            ca = +d[ea >> 2];
                            U = +d[ea + 4 >> 2];
                            if ((c[J >> 2] | 0) <= (R | 0)) {
                                T = 8;
                                break
                            }
                            R = (c[F >> 2] | 0) + (R << 3) | 0;
                            ea = +d[R >> 2];
                            pa = +d[R + 4 >> 2];
                            ua = G + (ca * E - U * ba);
                            oa = +ua;
                            T = +(U * E + ca * ba + N);
                            R = f + (36 * L | 0) | 0;
                            d[R >> 2] = oa;
                            d[R + 4 >> 2] = T;
                            T = B + (ea * t - pa * S);
                            oa = +T;
                            ea = +(pa * t + ea * S + u);
                            R = f + (36 * L | 0) + 8 | 0;
                            d[R >> 2] = oa;
                            d[R + 4 >> 2] = ea;
                            ua = +(T - ua);
                            T = +(+d[f + (36 * L | 0) + 12 >> 2] - +d[f + (36 * L | 0) + 4 >> 2]);
                            R = f + (36 * L | 0) + 16 | 0;
                            d[R >> 2] = ua;
                            d[R + 4 >> 2] = T;
                            d[f + (36 * L | 0) + 24 >> 2] = 0;
                            L = L + 1 | 0;
                            R = c[k >> 2] | 0;
                            if ((L | 0) >= (R | 0)) {
                                M = R;
                                break a
                            }
                        }
                        6 == (T | 0) ? Q(6336, 6368, 103, 6416) : 8 == (T | 0) && Q(6336, 6368, 103, 6416)
                    } else M = F; while (0);
                1 < (M | 0) ? (ua = +d[O >> 2], T = +C(f), T < .5 * ua || 2 * ua < T | 1.1920928955078125E-7 > T ? (c[k >> 2] = 0, T = 17) : (M = c[k >> 2] | 0, T = 15)) : T = 15;
                15 == (T | 0) && (M ? (P = M, ia = a + 20 | 0, w = a + 44 | 0, A = a + 48 | 0, K = f + 16 | 0, x = f + 24 | 0, v = a + 16 | 0) : T = 17);
                17 == (T | 0) && (c[f + 28 >> 2] = 0, c[f + 32 >> 2] = 0, M = a + 20 | 0, 0 >= (c[M >> 2] | 0) && Q(6336, 6368, 103, 6416), F = a + 16 | 0, H = c[F >> 2] | 0, U = +d[H >> 2], ca = +d[H + 4 >> 2], H = a + 48 | 0, 0 < (c[H >> 2] | 0) ? (w = a + 44 | 0, K = c[w >> 2] | 0, ea = +d[K >> 2], qd = +d[K + 4 >> 2], ua = G + (U * E - ca * ba), T = ca * E + U * ba + N, K = f, d[K >> 2] = +ua, d[K + 4 >> 2] = +T, oa = B + (ea * t - qd * S), ea = qd * t + ea * S + u, qd = +oa, K = f + 8 | 0, d[K >> 2] = qd, d[K + 4 >> 2] = +ea, K = f + 16 | 0, ua = +(oa - ua), x = K, d[x >> 2] = ua, d[x + 4 >> 2] = +(ea - T), x = f + 24 | 0, d[x >> 2] = 1, P = c[k >> 2] = 1, ia = M, A = H, v = F) : Q(6336, 6368, 103, 6416));
                X = f + 16 | 0;
                R = f + 20 | 0;
                L = f + 52 | 0;
                I = f + 56 | 0;
                H = f + 36 | 0;
                J = f + 52 | 0;
                M = f + 60 | 0;
                aa = f + 72 | 0;
                V = f + 88 | 0;
                F = f + 96 | 0;
                fa = 0;
                a: for (;;) {
                    if (ga = 0 < (P | 0)) {
                        T = 0;
                        do c[Wa + (T << 2) >> 2] = c[f + (36 * T | 0) + 28 >> 2], c[wa + (T << 2) >> 2] = c[f + (36 * T | 0) + 32 >> 2], T = T + 1 | 0; while ((T | 0) != (P | 0))
                    }
                    do
                        if (2 == (P | 0))
                            if (ea = K, T = +d[ea >> 2], U = +d[ea + 4 >> 2], ea = J, da = +d[ea >> 2], pa = +d[ea +
                                    4 >> 2], ca = da - T, qd = pa - U, U = T * ca + U * qd, -0 <= U) d[x >> 2] = 1, c[k >> 2] = 1, T = 45;
                            else if (ca = da * ca + pa * qd, 0 >= ca) {
                        d[M >> 2] = 1;
                        c[k >> 2] = 1;
                        T = f + 0 | 0;
                        ja = H + 0 | 0;
                        ma = T + 36 | 0;
                        do c[T >> 2] = c[ja >> 2], T = T + 4 | 0, ja = ja + 4 | 0; while ((T | 0) < (ma | 0));
                        T = 45
                    } else T = 1 / (ca - U), d[x >> 2] = ca * T, d[M >> 2] = -(U * T), c[k >> 2] = 2, T = 46;
                    else if (1 == (P | 0)) T = 45;
                    else if (3 == (P | 0))
                        if (ea = K, Ba = +d[ea >> 2], va = +d[ea + 4 >> 2], ea = J, ka = +d[ea >> 2], ya = +d[ea + 4 >> 2], ea = V, ma = +d[ea >> 2], U = +d[ea + 4 >> 2], ha = ka - Ba, da = ya - va, pa = Ba * ha + va * da, oa = ka * ha + ya * da, ca = ma - Ba, na = U - va, qd = Ba * ca + va * na, T = ma * ca + U * na, ta = ma -
                            ka, ea = U - ya, ua = ka * ta + ya * ea, ea = ma * ta + U * ea, ca = ha * na - da * ca, da = (ka * U - ya * ma) * ca, U = (va * ma - Ba * U) * ca, ca *= Ba * ya - va * ka, !(-0 <= pa) | !(-0 <= qd))
                            if (!(-0 > pa) | !(0 < oa) | !(0 >= ca))
                                if (!(-0 > qd) | !(0 < T) | !(0 >= U))
                                    if (!(0 >= oa) | !(-0 <= ua))
                                        if (!(0 >= T) | !(0 >= ea)) {
                                            if (!(-0 > ua) | !(0 < ea) | !(0 >= da)) {
                                                T = 43;
                                                break a
                                            }
                                            ta = 1 / (ea - ua);
                                            d[M >> 2] = ea * ta;
                                            d[F >> 2] = -(ua * ta);
                                            c[k >> 2] = 2;
                                            T = f + 0 | 0;
                                            ja = aa + 0 | 0;
                                            ma = T + 36 | 0;
                                            do c[T >> 2] = c[ja >> 2], T = T + 4 | 0, ja = ja + 4 | 0; while ((T | 0) < (ma | 0));
                                            T = 46
                                        } else {
                                            d[F >> 2] = 1;
                                            c[k >> 2] = 1;
                                            T = f + 0 | 0;
                                            ja = aa + 0 | 0;
                                            ma = T + 36 | 0;
                                            do c[T >> 2] = c[ja >> 2], T = T + 4 | 0, ja = ja +
                                                4 | 0; while ((T | 0) < (ma | 0));
                                            T = 45
                                        }
                    else {
                        d[M >> 2] = 1;
                        c[k >> 2] = 1;
                        T = f + 0 | 0;
                        ja = H + 0 | 0;
                        ma = T + 36 | 0;
                        do c[T >> 2] = c[ja >> 2], T = T + 4 | 0, ja = ja + 4 | 0; while ((T | 0) < (ma | 0));
                        T = 45
                    } else {
                        ta = 1 / (T - qd);
                        d[x >> 2] = T * ta;
                        d[F >> 2] = -(qd * ta);
                        c[k >> 2] = 2;
                        T = H + 0 | 0;
                        ja = aa + 0 | 0;
                        ma = T + 36 | 0;
                        do c[T >> 2] = c[ja >> 2], T = T + 4 | 0, ja = ja + 4 | 0; while ((T | 0) < (ma | 0));
                        T = 46
                    } else ta = 1 / (oa - pa), d[x >> 2] = oa * ta, d[M >> 2] = -(pa * ta), c[k >> 2] = 2, T = 46;
                    else d[x >> 2] = 1, c[k >> 2] = 1, T = 45;
                    else {
                        T = 44;
                        break a
                    }
                    while (0);
                    45 == (T | 0) ? (ja = 1, U = - +d[X >> 2], ca = - +d[R >> 2]) : 46 == (T | 0) && (ha = +d[X >> 2], ca = +d[L >> 2] - ha, ta = +d[R >> 2], U = +d[I >> 2] - ta, 0 < ha * U - ca * ta ? (ja = 2, U = -U) : (ja = 2, ca = -ca));
                    if (1.4210854715202004E-14 > U * U + ca * ca) {
                        P = ja;
                        T = 71;
                        break
                    }
                    ma = f + (36 * ja | 0) | 0;
                    oa = -U;
                    ta = -ca;
                    pa = E * oa + ba * ta;
                    oa = E * ta - ba * oa;
                    na = c[v >> 2] | 0;
                    ha = c[ia >> 2] | 0;
                    if (1 < (ha | 0)) {
                        ka = 0;
                        da = oa * +d[na + 4 >> 2] + pa * +d[na >> 2];
                        for (ea = 1; qd = pa * +d[na + (ea << 3) >> 2] + oa * +d[na + (ea << 3) + 4 >> 2], ka = (T = qd > da) ? ea : ka, ea = ea + 1 | 0, (ea | 0) != (ha | 0);) da = T ? qd : da;
                        T = f + (36 * ja | 0) + 28 | 0;
                        c[T >> 2] = ka;
                        if (-1 >= (ka | 0)) {
                            T = 56;
                            break
                        }
                    } else T = f + (36 * ja | 0) + 28 | 0, ka = c[T >> 2] = 0;
                    if ((ha | 0) <= (ka | 0)) {
                        T = 56;
                        break
                    }
                    ha = +d[na + (ka << 3) >> 2];
                    qd = +d[na + (ka << 3) + 4 >> 2];
                    da = G + (E * ha - ba * qd);
                    ta = +da;
                    qd = +(ha * ba + E * qd + N);
                    na = ma;
                    d[na >> 2] = ta;
                    d[na + 4 >> 2] = qd;
                    qd = t * U + S * ca;
                    U = t * ca - U * S;
                    na = c[w >> 2] | 0;
                    ma = c[A >> 2] | 0;
                    if (1 < (ma | 0)) {
                        ha = 0;
                        pa = U * +d[na + 4 >> 2] + qd * +d[na >> 2];
                        for (ka = 1; ca = qd * +d[na + (ka << 3) >> 2] + U * +d[na + (ka << 3) + 4 >> 2], ha = (ea = ca > pa) ? ka : ha, ka = ka + 1 | 0, (ka | 0) != (ma | 0);) pa = ea ? ca : pa;
                        ka = f + (36 * ja | 0) + 32 | 0;
                        c[ka >> 2] = ha;
                        if (-1 >= (ha | 0)) {
                            T = 63;
                            break
                        }
                    } else ka = f + (36 * ja | 0) + 32 | 0, ha = c[ka >> 2] = 0;
                    if ((ma | 0) <= (ha | 0)) {
                        T = 63;
                        break
                    }
                    ma = +d[na + (ha << 3) >> 2];
                    ta = +d[na + (ha << 3) + 4 >> 2];
                    ha = B + (t * ma - S * ta);
                    na = +ha;
                    ta = +(ma * S + t * ta + u);
                    ea = f + (36 * ja | 0) + 8 | 0;
                    d[ea >> 2] = na;
                    d[ea + 4 >> 2] = ta;
                    ha = +(ha - da);
                    ta = +(+d[f + (36 * ja | 0) + 12 >> 2] - +d[f + (36 * ja | 0) + 4 >> 2]);
                    ea = f + (36 * ja | 0) + 16 | 0;
                    d[ea >> 2] = ha;
                    d[ea + 4 >> 2] = ta;
                    fa = fa + 1 | 0;
                    c[1348] = (c[1348] | 0) + 1;
                    if (ga) {
                        T = c[T >> 2] | 0;
                        ga = 0;
                        do {
                            if ((T | 0) == (c[Wa + (ga << 2) >> 2] | 0) && (c[ka >> 2] | 0) == (c[wa + (ga << 2) >> 2] | 0)) {
                                T = 70;
                                break a
                            }
                            ga = ga + 1 | 0
                        } while ((ga | 0) < (P | 0))
                    }
                    P = (c[k >> 2] | 0) + 1 | 0;
                    c[k >> 2] = P;
                    if (20 <= (fa | 0)) {
                        T = 71;
                        break
                    }
                }
                43 == (T | 0) ? (ta = 1 / (ca + (da + U)), d[x >> 2] = da * ta, d[M >> 2] = U * ta, d[F >> 2] = ca * ta, c[k >> 2] = 3, e = c[1350] | 0, c[1350] = (e | 0) > (fa | 0) ? e : fa, e = h + 8 | 0, p = fa, T = 75) : 44 == (T | 0) ? Q(15224, 5448, 498, 5496) : 56 == (T | 0) ? Q(6336, 6368, 103, 6416) : 63 == (T | 0) ? Q(6336, 6368, 103, 6416) : 70 == (T | 0) && (P = c[k >> 2] | 0, T = 71);
                71 == (T | 0) && (ia = c[1350] | 0, c[1350] = (ia | 0) > (fa | 0) ? ia : fa, ia = h + 8 | 0, 3 == (P | 0) ? (e = ia, p = fa, T = 75) : P ? 1 == (P | 0) ? (p = f, ka = c[p >> 2] | 0, p = c[p + 4 >> 2] | 0, e = h, c[e >> 2] = ka, c[e + 4 >> 2] = p, e = f + 8 | 0, ea = c[e >> 2] | 0, e = c[e + 4 >> 2] | 0, ha = ia, c[ha >> 2] = ea, c[ha + 4 >> 2] = e, n = (c[y >> 2] = ka, +d[y >> 2]), q = (c[y >> 2] = ea, +d[y >> 2]), m = (c[y >> 2] = p, +d[y >> 2]), l = (c[y >> 2] = e, +d[y >> 2]), e = ia, p = fa) : 2 == (P | 0) ? (ha = +d[x >> 2], l = +d[M >> 2], n = ha * +d[f >> 2] + l * +d[f + 36 >> 2], m = ha * +d[f + 4 >> 2] + l * +d[f + 40 >> 2], e = h, d[e >> 2] = +n, d[e + 4 >> 2] = +m, q = ha * +d[f + 8 >> 2] + l * +d[f + 44 >> 2], l = ha * +d[f + 12 >> 2] + l * +d[f + 48 >> 2], ha = +q, e = ia, d[e >> 2] = ha, d[e + 4 >> 2] = +l, e = ia, p = fa) : Q(15224, 5448, 237, 5528) : Q(15224, 5448, 218, 5528));
                75 == (T | 0) && (n = +d[x >> 2], m = +d[M >> 2], l = +d[F >> 2], q = n * +d[f >> 2] + m * +d[f + 36 >> 2] + l * +d[f + 72 >> 2], l = n * +d[f + 4 >> 2] + m * +d[f + 40 >> 2] + l * +d[f + 76 >> 2], m = +q, n = +l, ea = h, d[ea >> 2] = m, d[ea + 4 >> 2] = n, ea = e, d[ea >> 2] = m, d[ea + 4 >> 2] = n, n = q, m = l);
                ha = n - q;
                x = h + 4 | 0;
                ia = h + 12 | 0;
                ta = m - l;
                Wa = h + 16 | 0;
                d[Wa >> 2] = +ib(+(ha * ha + ta * ta));
                c[h + 20 >> 2] = p;
                d[O >> 2] = +C(f);
                k = c[k >> 2] | 0;
                W[g >> 1] = k;
                if (0 < (k | 0)) {
                    g = 0;
                    do D[O + g + 6 >> 0] = c[f + (36 * g | 0) + 28 >> 2], D[O + g + 9 >> 0] = c[f + (36 * g | 0) + 32 >> 2], g = g + 1 | 0; while ((g | 0) < (k | 0))
                }
                D[a + 88 >> 0] | 0 && (l = +d[a + 24 >> 2], m = +d[a + 52 >> 2], n = +d[Wa >> 2], q = l + m, n > q & 1.1920928955078125E-7 < n ? (d[Wa >> 2] = n - q, t = +d[e >> 2], n = +d[h >> 2], G = t - n, q = +d[ia >> 2], B = +d[x >> 2], N = q - B, ba = +ib(+(G * G + N * N)), 1.1920928955078125E-7 > ba || (ta = 1 / ba, G *= ta, N *= ta), d[h >> 2] = l * G + n, d[x >> 2] = l * N + B, d[e >> 2] = t - m * G, d[ia >> 2] = q - m * N) : (ha = +(.5 * (+d[h >> 2] + +d[e >> 2])), ta = +(.5 * (+d[x >> 2] + +d[ia >> 2])), ea = h, d[ea >> 2] = ha, d[ea + 4 >> 2] = ta, ea = e, d[ea >> 2] = ha, d[ea + 4 >> 2] = ta, d[Wa >> 2] = 0));
                r = b
            }

            function C(h) {
                h = h | 0;
                var O = 0,
                    a = 0,
                    b = a = 0,
                    O = r,
                    a = c[h + 108 >> 2] | 0;
                if (3 == (a | 0)) return a = +d[h + 16 >> 2], b = +d[h + 20 >> 2], a = (+d[h + 52 >> 2] - a) * (+d[h + 92 >> 2] - b) - (+d[h + 56 >> 2] - b) * (+d[h + 88 >> 2] - a), r = O, +a;
                if (a) {
                    if (2 == (a | 0)) return a = +d[h + 16 >> 2] - +d[h + 52 >> 2], b = +d[h + 20 >> 2] - +d[h + 56 >> 2], b = +ib(+(a * a + b * b)), r = O, +b;
                    if (1 == (a | 0)) return r = O, 0;
                    Q(15224, 5448, 260, 5512)
                } else Q(15224, 5448, 247, 5512);
                return 0
            }

            function L(h) {
                h = h | 0;
                var O = 0,
                    a = 0,
                    d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    O = r,
                    a = h + 16 | 0,
                    d = c[a >> 2] | 0;
                if (-1 == (d | 0)) {
                    b = h + 8 | 0;
                    e = c[b >> 2] | 0;
                    d = h + 12 | 0;
                    (e | 0) != (c[d >> 2] | 0) && Q(5592, 5624, 58, 5672);
                    h = h + 4 | 0;
                    f = c[h >> 2] | 0;
                    c[d >> 2] = e << 1;
                    e = ma(72 * e | 0) | 0;
                    c[h >> 2] = e;
                    kb(e | 0, f | 0, 36 * (c[b >> 2] | 0) | 0) | 0;
                    oa(f);
                    e = c[b >> 2] | 0;
                    f = (c[d >> 2] | 0) + -1 | 0;
                    h = c[h >> 2] | 0;
                    if ((e | 0) < (f | 0)) {
                        do f = e, e = e + 1 | 0, c[h + (36 * f | 0) + 20 >> 2] = e, c[h + (36 * f | 0) + 32 >> 2] = -1, f = (c[d >> 2] | 0) + -1 | 0; while ((e | 0) < (f | 0))
                    }
                    c[h + (36 * f | 0) + 20 >> 2] = -1;
                    c[h + (36 * ((c[d >> 2] | 0) + -1 | 0) | 0) + 32 >> 2] = -1;
                    d = c[b >> 2] | 0;
                    c[a >> 2] = d
                } else b = h + 8 | 0, h = c[h + 4 >> 2] | 0;
                f = h + (36 * d | 0) + 20 | 0;
                c[a >> 2] = c[f >> 2];
                c[f >> 2] = -1;
                c[h + (36 * d | 0) + 24 >> 2] = -1;
                c[h + (36 * d | 0) + 28 >> 2] = -1;
                c[h + (36 * d | 0) + 32 >> 2] = 0;
                c[h + (36 * d | 0) + 16 >> 2] = 0;
                c[b >> 2] = (c[b >> 2] | 0) + 1;
                r = O;
                return d | 0
            }

            function J(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    d = 0,
                    b = 0,
                    a = r; - 1 >= (O | 0) && Q(5688, 5624, 94, 5728);
                (c[h + 12 >> 2] | 0) <= (O | 0) && Q(5688, 5624, 94, 5728);
                d = h + 8 | 0;
                0 < (c[d >> 2] | 0) ? (b = h + 16 | 0, h = c[h + 4 >> 2] | 0, c[h + (36 * O | 0) + 20 >> 2] = c[b >> 2], c[h + (36 * O | 0) + 32 >> 2] = -1, c[b >> 2] = O, c[d >> 2] = (c[d >> 2] | 0) + -1, r = a) : Q(5744, 5624, 95, 5728)
            }

            function F(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    ia = 0,
                    t = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    Wa = 0,
                    y = 0,
                    E = 0,
                    n = 0,
                    a = r,
                    p = h + 24 | 0;
                c[p >> 2] = (c[p >> 2] | 0) + 1;
                p = c[h >> 2] | 0;
                if (-1 == (p | 0)) c[h >> 2] = O, c[(c[h + 4 >> 2] | 0) + (36 * O | 0) + 20 >> 2] = -1, r = a;
                else {
                    b = h + 4 | 0;
                    l = c[b >> 2] | 0;
                    e = +d[l + (36 * O | 0) >> 2];
                    f = +d[l + (36 * O | 0) + 4 >> 2];
                    g = +d[l + (36 * O | 0) + 8 >> 2];
                    k = +d[l + (36 * O | 0) + 12 >> 2];
                    m = c[l + (36 * p | 0) + 24 >> 2] | 0;
                    a: do
                        if (-1 != (m | 0)) {
                            do {
                                x = c[l + (36 * p | 0) + 28 >> 2] | 0;
                                t = +d[l + (36 * p | 0) + 8 >> 2];
                                y = +d[l + (36 * p | 0) >> 2];
                                N = +d[l + (36 * p | 0) + 12 >> 2];
                                q = +d[l + (36 * p | 0) + 4 >> 2];
                                ba = 2 * ((t > g ? t : g) - (y < e ? y : e) + ((N > k ? N : k) - (q < f ? q : f)));
                                n = 2 * ba;
                                q = 2 * (ba - 2 * (t - y + (N - q)));
                                N = +d[l + (36 * m | 0) >> 2];
                                y = e < N ? e : N;
                                t = +d[l + (36 * m | 0) + 4 >> 2];
                                ba = f < t ? f : t;
                                G = +d[l + (36 * m | 0) + 8 >> 2];
                                ia = g > G ? g : G;
                                B = +d[l + (36 * m | 0) + 12 >> 2];
                                Wa = k > B ? k : B;
                                ia = -1 == (c[l + (36 * m | 0) + 24 >> 2] | 0) ? 2 * (ia - y + (Wa - ba)) : 2 * (ia - y + (Wa - ba)) - 2 * (G - N + (B - t));
                                ia = q + ia;
                                t = +d[l + (36 * x | 0) >> 2];
                                ba = e < t ? e : t;
                                E = +d[l + (36 * x | 0) + 4 >> 2];
                                y = f < E ? f : E;
                                N = +d[l + (36 * x | 0) + 8 >> 2];
                                G = g > N ? g : N;
                                B = +d[l + (36 * x | 0) + 12 >> 2];
                                Wa = k > B ? k : B;
                                t = -1 == (c[l + (36 * x | 0) + 24 >> 2] | 0) ? 2 * (G - ba + (Wa - y)) : 2 * (G - ba + (Wa - y)) - 2 * (N - t + (B - E));
                                q += t;
                                if (n < ia & n < q) break a;
                                p = ia < q ? m : x;
                                m = c[l + (36 * p | 0) + 24 >> 2] | 0
                            } while (-1 != (m | 0))
                        }
                    while (0);
                    l = c[l + (36 * p | 0) + 20 >> 2] | 0;
                    m = L(h) | 0;
                    x = c[b >> 2] | 0;
                    c[x + (36 * m | 0) + 20 >> 2] = l;
                    c[x + (36 * m | 0) + 16 >> 2] = 0;
                    x = c[b >> 2] | 0;
                    E = +d[x + (36 * p | 0) >> 2];
                    y = +d[x + (36 * p | 0) + 4 >> 2];
                    n = x + (36 * m | 0) | 0;
                    d[n >> 2] = +(e < E ? e : E);
                    d[n + 4 >> 2] = +(f < y ? f : y);
                    y = +d[x + (36 * p | 0) + 8 >> 2];
                    E = +d[x + (36 * p | 0) + 12 >> 2];
                    y = +(g > y ? g : y);
                    E = +(k > E ? k : E);
                    x = x + (36 * m | 0) + 8 | 0;
                    d[x >> 2] = y;
                    d[x + 4 >> 2] = E;
                    x = c[b >> 2] | 0;
                    c[x + (36 * m | 0) + 32 >> 2] = (c[x + (36 * p | 0) + 32 >> 2] | 0) + 1; - 1 == (l | 0) ? (c[x + (36 * m | 0) + 24 >> 2] = p, c[x + (36 * m | 0) + 28 >> 2] = O, c[x + (36 * p | 0) + 20 >> 2] = m, n = x + (36 * O | 0) + 20 | 0, c[n >> 2] = m, c[h >> 2] = m, m = c[n >> 2] | 0) : (n = x + (36 * l | 0) + 24 | 0, (c[n >> 2] | 0) == (p | 0) ? c[n >> 2] = m : c[x + (36 * l | 0) + 28 >> 2] = m, c[x + (36 * m | 0) + 24 >> 2] = p, c[x + (36 * m | 0) + 28 >> 2] = O, c[x + (36 * p | 0) + 20 >> 2] = m, c[x + (36 * O | 0) + 20 >> 2] = m);
                    if (-1 == (m | 0)) r = a;
                    else {
                        for (;;) {
                            p = ga(h, m) | 0;
                            O = c[b >> 2] | 0;
                            l = c[O + (36 * p | 0) + 24 >> 2] | 0;
                            m = c[O + (36 * p | 0) + 28 >> 2] | 0;
                            if (-1 == (l | 0)) {
                                b = 20;
                                break
                            }
                            if (-1 == (m | 0)) {
                                b = 22;
                                break
                            }
                            x = c[O + (36 * l | 0) + 32 >> 2] | 0;
                            n = c[O + (36 * m | 0) + 32 >> 2] | 0;
                            c[O + (36 * p | 0) + 32 >> 2] = ((x | 0) > (n | 0) ? x : n) + 1;
                            fa(O + (36 * p | 0) | 0, O + (36 * l | 0) | 0, O + (36 * m | 0) | 0);
                            m = c[(c[b >> 2] | 0) + (36 * p | 0) + 20 >> 2] | 0;
                            if (-1 == (m | 0)) {
                                b = 24;
                                break
                            }
                        }
                        20 == (b | 0) ? Q(5824, 5624, 304, 5840) : 22 == (b | 0) ? Q(5856, 5624, 305, 5840) : 24 == (b | 0) && (r = a)
                    }
                }
            }

            function P(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    d = r;
                if ((c[h >> 2] | 0) == (O | 0)) c[h >> 2] = -1;
                else if (a = h + 4 | 0, b = c[a >> 2] | 0, e = c[b + (36 * O | 0) + 20 >> 2] | 0, f = c[b + (36 * e | 0) + 20 >> 2] | 0, g = c[b + (36 * e | 0) + 24 >> 2] | 0, (g | 0) == (O | 0) && (g = c[b + (36 * e | 0) + 28 >> 2] | 0), -1 == (f | 0)) c[h >> 2] = g, c[b + (36 * g | 0) + 20 >> 2] = -1, J(h, e);
                else {
                    O = b + (36 * f | 0) + 24 | 0;
                    (c[O >> 2] | 0) == (e | 0) ? c[O >> 2] = g: c[b + (36 * f | 0) + 28 >> 2] = g;
                    c[b + (36 * g | 0) + 20 >> 2] = f;
                    J(h, e);
                    do g = ga(h, f) | 0, O = c[a >> 2] | 0, b = c[O + (36 * g | 0) + 24 >> 2] | 0, e = c[O + (36 * g | 0) + 28 >> 2] | 0, fa(O + (36 * g | 0) | 0, O + (36 * b | 0) | 0, O + (36 * e | 0) | 0), O = c[a >> 2] | 0, b = c[O + (36 * b | 0) + 32 >> 2] | 0, e = c[O + (36 * e | 0) + 32 >> 2] | 0, c[O + (36 * g | 0) + 32 >> 2] = ((b | 0) > (e | 0) ? b : e) + 1, f = c[O + (36 * g | 0) + 20 >> 2] | 0; while (-1 != (f | 0))
                }
                r = d
            }

            function fa(h, c, a) {
                h = h | 0;
                c = c | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    b = r,
                    e = +d[c >> 2],
                    f = +d[a >> 2],
                    g = +d[c + 4 >> 2],
                    k = +d[a + 4 >> 2],
                    l = h;
                d[l >> 2] = +(e < f ? e : f);
                d[l + 4 >> 2] = +(g < k ? g : k);
                k = +d[c + 8 >> 2];
                f = +d[a + 8 >> 2];
                g = +d[c + 12 >> 2];
                e = +d[a + 12 >> 2];
                f = +(k > f ? k : f);
                c = h + 8 | 0;
                d[c >> 2] = f;
                d[c + 4 >> 2] = +(g > e ? g : e);
                r = b
            }

            function ga(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    p = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    a = r; - 1 == (O | 0) && Q(5872, 5624, 379, 5888);
                f = c[h + 4 >> 2] | 0;
                e = f + (36 * O | 0) | 0;
                n = f + (36 * O | 0) + 24 | 0;
                p = c[n >> 2] | 0;
                if (-1 == (p | 0)) return r = a, O | 0;
                g = f + (36 * O | 0) + 32 | 0;
                if (2 > (c[g >> 2] | 0)) return r = a, O | 0;
                q = f + (36 * O | 0) + 28 | 0;
                x = c[q >> 2] | 0; - 1 >= (p | 0) && Q(5896, 5624, 389, 5888);
                m = c[h + 12 >> 2] | 0;
                (p | 0) >= (m | 0) && Q(5896, 5624, 389, 5888); - 1 < (x | 0) & (x | 0) < (m | 0) || Q(5928, 5624, 390, 5888);
                l = f + (36 * p | 0) | 0;
                k = f + (36 * x | 0) | 0;
                d = f + (36 * x | 0) + 32 | 0;
                b = f + (36 * p | 0) + 32 | 0;
                t = (c[d >> 2] | 0) - (c[b >> 2] | 0) | 0;
                if (1 < (t | 0)) return G = f + (36 * x | 0) + 24 | 0, p = c[G >> 2] | 0, n = f + (36 * x | 0) + 28 | 0, t = c[n >> 2] | 0, N = f + (36 * p | 0) | 0, B = f + (36 * t | 0) | 0, -1 < (p | 0) & (p | 0) < (m | 0) || Q(5960, 5624, 404, 5888), -1 < (t | 0) & (t | 0) < (m | 0) || Q(5992, 5624, 405, 5888), c[G >> 2] = O, G = f + (36 * O | 0) + 20 | 0, m = f + (36 * x | 0) + 20 | 0, c[m >> 2] = c[G >> 2], c[G >> 2] = x, m = c[m >> 2] | 0, -1 != (m | 0) ? (h = f + (36 * m | 0) + 24 | 0, (c[h >> 2] | 0) == (O | 0) ? c[h >> 2] = x : (h = f + (36 * m | 0) + 28 | 0, (c[h >> 2] | 0) == (O | 0) ? c[h >> 2] = x : Q(6024, 5624, 421, 5888))) : c[h >> 2] = x, m = f + (36 * p | 0) + 32 | 0, h = f + (36 * t | 0) + 32 | 0, (c[m >> 2] | 0) > (c[h >> 2] | 0) ? (c[n >> 2] = p, c[q >> 2] = t, c[f + (36 * t | 0) + 20 >> 2] = O, fa(e, l, B), fa(k, e, N), b = c[b >> 2] | 0, G = c[h >> 2] | 0, G = ((b | 0) > (G | 0) ? b : G) + 1 | 0, c[g >> 2] = G, b = c[m >> 2] | 0) : (c[n >> 2] = t, c[q >> 2] = p, c[f + (36 * p | 0) + 20 >> 2] = O, fa(e, l, N), fa(k, e, B), b = c[b >> 2] | 0, G = c[m >> 2] | 0, G = ((b | 0) > (G | 0) ? b : G) + 1 | 0, c[g >> 2] = G, b = c[h >> 2] | 0), b = (G | 0) > (b | 0) ? G : b, c[d >> 2] = b + 1, r = a, x | 0;
                if (-1 <= (t | 0)) return r = a, O | 0;
                G = f + (36 * p | 0) + 24 | 0;
                N = c[G >> 2] | 0;
                B = f + (36 * p | 0) + 28 | 0;
                t = c[B >> 2] | 0;
                x = f + (36 * N | 0) | 0;
                q = f + (36 * t | 0) | 0; - 1 < (N | 0) & (N | 0) < (m | 0) || Q(6056, 5624, 464, 5888); - 1 < (t | 0) & (t | 0) < (m | 0) || Q(6088, 5624, 465, 5888);
                c[G >> 2] = O;
                G = f + (36 * O | 0) + 20 | 0;
                m = f + (36 * p | 0) + 20 | 0;
                c[m >> 2] = c[G >> 2];
                c[G >> 2] = p;
                m = c[m >> 2] | 0; - 1 != (m | 0) ? (h = f + (36 * m | 0) + 24 | 0, (c[h >> 2] | 0) == (O | 0) ? c[h >> 2] = p : (h = f + (36 * m | 0) + 28 | 0, (c[h >> 2] | 0) == (O | 0) ? c[h >> 2] = p : Q(6120, 5624, 481, 5888))) : c[h >> 2] = p;
                m = f + (36 * N | 0) + 32 | 0;
                h = f + (36 * t | 0) + 32 | 0;
                (c[m >> 2] | 0) > (c[h >> 2] | 0) ? (c[B >> 2] = N, c[n >> 2] = t, c[f + (36 * t | 0) + 20 >> 2] = O, fa(e, k, q), fa(l, e, x), d = c[d >> 2] | 0, G = c[h >> 2] | 0, G = ((d | 0) > (G | 0) ? d : G) + 1 | 0, c[g >> 2] = G, d = c[m >> 2] | 0) : (c[B >> 2] = t, c[n >> 2] = N, c[f + (36 * N | 0) + 20 >> 2] = O, fa(e, k, x), fa(l, e, q), d = c[d >> 2] | 0, G = c[m >> 2] | 0, G = ((d | 0) > (G | 0) ? d : G) + 1 | 0, c[g >> 2] = G, d = c[h >> 2] | 0);
                d = (G | 0) > (d | 0) ? G : d;
                c[b >> 2] = d + 1;
                r = a;
                return p | 0
            }

            function U(h, O, a, b) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                b = +b;
                var e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    x = r,
                    q = 1 - b,
                    e = q * +d[h + 32 >> 2] + +d[h + 36 >> 2] * b,
                    m = +Ja(+e),
                    e = +Ka(+e),
                    g = +d[h + 8 >> 2],
                    p = +d[h + 12 >> 2],
                    l = q * +d[h + 16 >> 2] + +d[h + 24 >> 2] * b - (e * g - m * p),
                    p = q * +d[h + 20 >> 2] + +d[h + 28 >> 2] * b - (m * g + e * p),
                    g = q * +d[h + 68 >> 2] + +d[h + 72 >> 2] * b,
                    k = +Ja(+g),
                    g = +Ka(+g),
                    t = +d[h + 44 >> 2],
                    Z = +d[h + 48 >> 2],
                    f = q * +d[h + 52 >> 2] + +d[h + 60 >> 2] * b - (g * t - k * Z);
                b = q * +d[h + 56 >> 2] + +d[h + 64 >> 2] * b - (k * t + g * Z);
                B = c[h + 80 >> 2] | 0;
                if (1 == (B | 0)) return n = +d[h + 92 >> 2], q = +d[h + 96 >> 2], t = +d[h + 84 >> 2], Z = +d[h + 88 >> 2], h = c[h + 4 >> 2] | 0, -1 >= (a | 0) && Q(6336, 6368, 103, 6416), (c[h + 20 >> 2] | 0) <= (a | 0) && Q(6336, 6368, 103, 6416), B = (c[h + 16 >> 2] | 0) + (a << 3) | 0, G = +d[B >> 2], N = +d[B + 4 >> 2], r = x, +((e * n - m * q) * (f + (g * G - k * N) - (l + (e * t - m * Z))) + (m * n + e * q) * (b + (k * G + g * N) - (p + (m * t + e * Z))));
                if (B) {
                    if (2 == (B | 0)) return Z = +d[h + 92 >> 2], q = +d[h + 96 >> 2], n = +d[h + 84 >> 2], t = +d[h + 88 >> 2], h = c[h >> 2] | 0, -1 >= (O | 0) && Q(6336, 6368, 103, 6416), (c[h +
                        20 >> 2] | 0) <= (O | 0) && Q(6336, 6368, 103, 6416), B = (c[h + 16 >> 2] | 0) + (O << 3) | 0, N = +d[B >> 2], G = +d[B + 4 >> 2], G = (g * Z - k * q) * (l + (e * N - m * G) - (f + (g * n - k * t))) + (k * Z + g * q) * (p + (m * N + e * G) - (b + (k * n + g * t))), r = x, +G;
                    Q(15224, 6256, 239, 6320)
                } else return B = c[h >> 2] | 0, -1 >= (O | 0) && Q(6336, 6368, 103, 6416), (c[B + 20 >> 2] | 0) <= (O | 0) && Q(6336, 6368, 103, 6416), O = (c[B + 16 >> 2] | 0) + (O << 3) | 0, n = +d[O >> 2], q = +d[O + 4 >> 2], O = c[h + 4 >> 2] | 0, -1 >= (a | 0) && Q(6336, 6368, 103, 6416), (c[O + 20 >> 2] | 0) <= (a | 0) && Q(6336, 6368, 103, 6416), B = (c[O + 16 >> 2] | 0) + (a << 3) | 0, N = +d[B >> 2], G = +d[B + 4 >> 2], G = +d[h + 92 >> 2] * (f + (g * N - k * G) - (l + (e * n - m * q))) + +d[h + 96 >> 2] * (b + (k * N + g * G) - (p + (m * n + e * q))), r = x, +G;
                return 0
            }

            function ca(h, O, a) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    e = r,
                    b = h + 12 | 0;
                c[b >> 2] | 0 && Q(6520, 6560, 60, 6680);
                f = h + 16 | 0;
                c[f >> 2] | 0 && Q(6520, 6560, 60, 6680);
                1 >= (a | 0) && Q(6696, 6560, 61, 6680);
                l = +d[O >> 2];
                k = +d[O + 4 >> 2];
                for (g = 1;;) {
                    p = l;
                    l = +d[O + (g << 3) >> 2];
                    p -= l;
                    m = k;
                    k = +d[O + (g << 3) + 4 >> 2];
                    m -= k;
                    g = g + 1 | 0;
                    if (!(2.499999936844688E-5 < p * p + m * m)) {
                        g = 9;
                        break
                    }
                    if ((g | 0) >= (a | 0)) {
                        g = 10;
                        break
                    }
                }
                9 == (g | 0) ? Q(6712, 6560, 66, 6680) : 10 == (g | 0) && (c[f >> 2] = a, g = ma(a << 3) | 0, c[b >> 2] = g, kb(g | 0, O | 0, c[f >> 2] << 3 | 0) | 0, g = h + 20 | 0, c[g + 0 >> 2] = 0, c[g + 4 >> 2] = 0, c[g + 8 >> 2] = 0, c[g + 12 >> 2] = 0, W[g + 16 >> 1] = 0, r = e)
            }

            function na(h, O, a) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    b = r; - 1 >= (a | 0) && Q(6776, 6560, 112, 6816);
                e = h + 16 | 0;
                ((c[e >> 2] | 0) + -1 | 0) <= (a | 0) && Q(6776, 6560, 112, 6816);
                c[O + 4 >> 2] = 1;
                d[O + 8 >> 2] = +d[h + 8 >> 2];
                f = h + 12 | 0;
                g = (c[f >> 2] | 0) + (a << 3) | 0;
                k = c[g + 4 >> 2] | 0;
                l = O + 12 | 0;
                c[l >> 2] = c[g >> 2];
                c[l + 4 >> 2] = k;
                l = (c[f >> 2] | 0) + (a + 1 << 3) | 0;
                k = c[l + 4 >> 2] | 0;
                g = O + 20 | 0;
                c[g >> 2] = c[l >> 2];
                c[g + 4 >> 2] = k;
                g = O + 28 | 0;
                0 < (a | 0) ? (m = (c[f >> 2] | 0) + (a + -1 << 3) | 0, k = c[m + 4 >> 2] | 0, l = g, c[l >> 2] = c[m >> 2], c[l + 4 >> 2] = k, D[O + 44 >> 0] = 1) : (k = h + 20 | 0, l = c[k + 4 >> 2] | 0, m = g, c[m >> 2] = c[k >> 2], c[m + 4 >> 2] = l, D[O + 44 >> 0] = D[h + 36 >> 0] | 0);
                g = O + 36 | 0;
                ((c[e >> 2] | 0) + -2 | 0) > (a | 0) ? (k = (c[f >> 2] | 0) + (a + 2 << 3) | 0, l = c[k + 4 >> 2] | 0, m = g, c[m >> 2] = c[k >> 2], c[m + 4 >> 2] = l, D[O + 45 >> 0] = 1) : (k = h + 28 | 0, l = c[k + 4 >> 2] | 0, m = g, c[m >> 2] = c[k >> 2], c[m + 4 >> 2] = l, D[O + 45 >> 0] = D[h + 37 >> 0] | 0);
                r = b
            }

            function ha(h, c, a, b, e) {
                h = h | 0;
                c = c | 0;
                a = a | 0;
                b = b | 0;
                var f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    x = 0;
                e = r;
                p = +d[b >> 2];
                m = +d[a >> 2] - p;
                x = +d[b + 4 >> 2];
                k = +d[a + 4 >> 2] - x;
                f = b + 12 | 0;
                t = +d[f >> 2];
                b = b + 8 | 0;
                l = +d[b >> 2];
                g = m * t + k * l;
                m = t * k - m * l;
                p = +d[a + 8 >> 2] - p;
                x = +d[a + 12 >> 2] - x;
                k = t * p + l * x - g;
                p = t * x - l * p - m;
                x = h + 12 | 0;
                l = +d[x >> 2];
                x = +d[x + 4 >> 2];
                h = h + 20 | 0;
                t = +d[h >> 2];
                t -= l;
                q = +d[h + 4 >> 2] - x;
                N = -t;
                n = t * t + q * q;
                Z = +ib(+n);
                1.1920928955078125E-7 > Z ? B = q : (G = 1 / Z, B = q * G, N *= G);
                Z = (x - m) * N + (l - g) * B;
                G = p * N + k * B;
                if (0 == G) return r = e, 0;
                G = Z / G;
                if (0 > G || 0 == n || +d[a + 16 >> 2] < G) return r = e, 0;
                t = (t * (g + k * G - l) + q * (m + p * G - x)) / n;
                if (0 > t | 1 < t) return r = e, 0;
                d[c + 8 >> 2] = G;
                G = +d[f >> 2];
                k = +d[b >> 2];
                g = B * G - N * k;
                k = N * G + B * k;
                0 < Z ? (N = + -g, G = + -k) : (N = +g, G = +k);
                x = c;
                d[x >> 2] = N;
                d[x + 4 >> 2] = G;
                r = e;
                return 1
            }

            function ja(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    a = r;
                if (!O) return r = a, 0;
                0 >= (O | 0) && Q(8280, 8208, 102, 8528);
                if (640 < (O | 0)) return g = ma(O) | 0, r = a, g | 0;
                g = D[7528 + O >> 0] | 0;
                b = g & 255;
                14 <= (g & 255) && Q(8296, 8208, 110, 8528);
                O = h + (b << 2) + 12 | 0;
                if (d = c[O >> 2] | 0) return c[O >> 2] = c[d >> 2], r = a, d | 0;
                d = h + 4 | 0;
                e = c[d >> 2] | 0;
                f = h + 8 | 0;
                (e | 0) == (c[f >> 2] | 0) && (g = c[h >> 2] | 0, e = e + 128 | 0, c[f >> 2] = e, e = ma(e << 3) | 0, c[h >> 2] = e, kb(e | 0, g | 0, c[d >> 2] << 3 | 0) | 0, uc((c[h >> 2] | 0) + (c[d >> 2] << 3) | 0, 0, 1024) | 0, oa(g), e = c[d >> 2] | 0);
                g = c[h >> 2] | 0;
                f = ma(16384) | 0;
                h = g + (e << 3) + 4 | 0;
                c[h >> 2] = f;
                b = c[7472 + (b << 2) >> 2] | 0;
                c[g + (e << 3) >> 2] = b;
                e = 16384 / (b | 0) | 0;
                16385 <= (Yc(e, b) | 0) && Q(8336, 8208, 138, 8528);
                e = e + -1 | 0;
                if (0 < (e | 0)) {
                    g = 0;
                    do k = g, g = g + 1 | 0, c[f + (Yc(k, b) | 0) >> 2] = f + (Yc(g, b) | 0), f = c[h >> 2] | 0; while ((g | 0) != (e | 0))
                }
                c[f + (Yc(e, b) | 0) >> 2] = 0;
                c[O >> 2] = c[c[h >> 2] >> 2];
                c[d >> 2] = (c[d >> 2] | 0) + 1;
                k = c[h >> 2] | 0;
                r = a;
                return k | 0
            }

            function da(h, O, a) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                var d = 0,
                    d = r;
                a && (0 >= (a | 0) && Q(8280, 8208, 162, 8568), 640 < (a | 0) ? oa(O) : (a = D[7528 + a >> 0] | 0, 14 <= (a & 255) && Q(8296, 8208, 171, 8568), a = h + ((a & 255) << 2) + 12 | 0, c[O >> 2] = c[a >> 2], c[a >> 2] = O));
                r = d
            }

            function pa(h, c, a) {
                h = h | 0;
                c = c | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    r = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    e = +d[c + 16 >> 2],
                    r = +d[c + 32 >> 2],
                    g = +d[c + 20 >> 2],
                    b = +d[c + 28 >> 2],
                    n = e * r - g * b,
                    m = +d[c + 24 >> 2],
                    f = +d[c + 12 >> 2],
                    x = g * m - r * f,
                    p = b * f - e * m,
                    l = +d[c >> 2],
                    k = +d[c + 4 >> 2],
                    q = +d[c + 8 >> 2],
                    t = n * l + k * x + p * q;
                0 != t && (t = 1 / t);
                B = +d[a >> 2];
                N = +d[a + 4 >> 2];
                G = +d[a + 8 >> 2];
                d[h >> 2] = t * (n * B + N * x + p * G);
                d[h + 4 >> 2] = t * ((N * r - G * b) * l + k * (G * m - r * B) + (b * B - N * m) * q);
                d[h + 8 >> 2] = t * ((e * G - g * N) * l + k * (g * B - G * f) + (N * f - e * B) * q)
            }

            function ea(h, c, a, b) {
                h = h | 0;
                c = c | 0;
                a = +a;
                b = +b;
                var e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    f = +d[c >> 2],
                    g = +d[c + 12 >> 2],
                    e = +d[c + 4 >> 2],
                    k = +d[c + 16 >> 2],
                    l = f * k - g * e;
                0 != l && (l = 1 / l);
                d[h >> 2] = l * (k * a - g * b);
                d[h + 4 >> 2] = l * (f * b - e * a)
            }

            function ua(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    a = r,
                    b = +d[h >> 2],
                    f = +d[h + 12 >> 2],
                    e = +d[h + 4 >> 2],
                    g = +d[h + 16 >> 2],
                    k = b * g - f * e;
                0 != k && (k = 1 / k);
                d[O >> 2] = g * k;
                g = -k;
                d[O + 12 >> 2] = f * g;
                d[O + 8 >> 2] = 0;
                d[O + 4 >> 2] = e * g;
                d[O + 16 >> 2] = b * k;
                h = O + 20 | 0;
                c[h + 0 >> 2] = 0;
                c[h + 4 >> 2] = 0;
                c[h + 8 >> 2] = 0;
                c[h + 12 >> 2] = 0;
                r = a
            }

            function ya(h, c) {
                h = h | 0;
                c = c | 0;
                var a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    r = 0,
                    p = 0,
                    b = +d[h + 16 >> 2],
                    a = +d[h + 32 >> 2],
                    r = b * a,
                    p = +d[h + 20 >> 2],
                    f = +d[h + 28 >> 2],
                    g = +d[h + 24 >> 2],
                    k = +d[h + 12 >> 2],
                    m = a * k,
                    l = f * k - b * g,
                    e = +d[h >> 2],
                    p = (r - p * f) * e + +d[h + 4 >> 2] * (p * g - m) + l * +d[h + 8 >> 2];
                0 != p && (p = 1 / p);
                d[c >> 2] = p * (r - f * f);
                r = p * (g * f - m);
                d[c + 4 >> 2] = r;
                m = p * l;
                d[c + 8 >> 2] = m;
                d[c + 12 >> 2] = r;
                d[c + 16 >> 2] = p * (e * a - g * g);
                r = p * (k * g - e * f);
                d[c + 20 >> 2] = r;
                d[c + 24 >> 2] = m;
                d[c + 28 >> 2] = r;
                d[c + 32 >> 2] = p * (e * b - k * k)
            }

            function I(h, O) {
                var a = 0,
                    d = 0,
                    a = r;
                r = r + 16 | 0;
                d = a;
                c[d >> 2] = O | 0;
                Ed(h | 0, d | 0) | 0;
                r = a
            }

            function Ba(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    d = r,
                    a = h + 102796 | 0,
                    b = c[a >> 2] | 0;
                32 <= (b | 0) && Q(8488, 8392, 38, 8528);
                e = h + (12 * b | 0) + 102412 | 0;
                c[h + (12 * b | 0) + 102416 >> 2] = O;
                f = h + 102400 | 0;
                g = c[f >> 2] | 0;
                102400 < (g + O | 0) ? (c[e >> 2] = ma(O) | 0, D[h + (12 * b | 0) + 102420 >> 0] = 1) : (c[e >> 2] = h + g, D[h + (12 * b | 0) + 102420 >> 0] = 0, c[f >> 2] = (c[f >> 2] | 0) + O);
                g = h + 102404 | 0;
                f = (c[g >> 2] | 0) + O | 0;
                c[g >> 2] = f;
                g = h + 102408 | 0;
                O = c[g >> 2] | 0;
                c[g >> 2] = (O | 0) > (f | 0) ? O : f;
                c[a >> 2] = (c[a >> 2] | 0) + 1;
                r = d;
                return c[e >> 2] | 0
            }

            function ta(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    d = 0,
                    b = 0,
                    e = 0,
                    d = r,
                    a = h + 102796 | 0,
                    b = c[a >> 2] | 0;
                0 >= (b | 0) && Q(8544, 8392, 63, 8568);
                e = b + -1 | 0;
                (c[h + (12 * e | 0) + 102412 >> 2] | 0) != (O | 0) && Q(8576, 8392, 65, 8568);
                D[h + (12 * e | 0) + 102420 >> 0] | 0 ? (oa(O), O = h + (12 * e | 0) + 102416 | 0, b = c[a >> 2] | 0) : (O = h + (12 * e | 0) + 102416 | 0, e = h + 102400 | 0, c[e >> 2] = (c[e >> 2] | 0) - (c[O >> 2] | 0));
                e = h + 102404 | 0;
                c[e >> 2] = (c[e >> 2] | 0) - (c[O >> 2] | 0);
                c[a >> 2] = b + -1;
                r = d
            }

            function Ea(h) {
                h = h | 0;
                var O = 0,
                    a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    a = 0,
                    e = r;
                r = r + 16 | 0;
                m = e;
                k = h + 116 | 0;
                l = h + 120 | 0;
                b = h + 124 | 0;
                g = h + 128 | 0;
                a = h + 28 | 0;
                d[a >> 2] = 0;
                d[h + 32 >> 2] = 0;
                c[k + 0 >> 2] = 0;
                c[k +
                    4 >> 2] = 0;
                c[k + 8 >> 2] = 0;
                c[k + 12 >> 2] = 0;
                p = c[h >> 2] | 0;
                if (1 == (p | 0) | 0 == (p | 0)) n = h + 12 | 0, x = c[n >> 2] | 0, n = c[n + 4 >> 2] | 0, Z = h + 36 | 0, c[Z >> 2] = x, c[Z + 4 >> 2] = n, Z = h + 44 | 0, c[Z >> 2] = x, c[Z + 4 >> 2] = n, d[h + 52 >> 2] = +d[h + 56 >> 2], r = e;
                else if (2 == (p | 0)) {
                    if (Z = c[h + 100 >> 2] | 0) {
                        p = m + 4 | 0;
                        x = m + 8 | 0;
                        n = m + 12 | 0;
                        N = t = q = B = 0;
                        do G = +d[Z >> 2], 0 != G && (ba = c[Z + 12 >> 2] | 0, wd[c[(c[ba >> 2] | 0) + 28 >> 2] & 63](ba, m, G), B = +d[m >> 2], q = B + +d[k >> 2], d[k >> 2] = q, t += B * +d[p >> 2], N += B * +d[x >> 2], B = +d[n >> 2] + +d[b >> 2], d[b >> 2] = B), Z = c[Z + 4 >> 2] | 0; while (0 != (Z | 0));
                        0 < q ? (G = 1 / q, d[l >> 2] = G, t *= G, N *= G) : O = 11
                    } else B = t = N = 0, O = 11;
                    11 == (O | 0) && (d[k >> 2] = 1, q = d[l >> 2] = 1);
                    0 < B && 0 == (W[h + 4 >> 1] & 16) ? (q = B - (N * N + t * t) * q, d[b >> 2] = q, 0 < q ? f = 1 / q : Q(9064, 8624, 334, 9048)) : O = 17;
                    17 == (O | 0) && (f = d[b >> 2] = 0);
                    d[g >> 2] = f;
                    Z = ba = h + 44 | 0;
                    G = +d[Z >> 2];
                    q = +d[Z + 4 >> 2];
                    Z = a;
                    d[Z >> 2] = +t;
                    d[Z + 4 >> 2] = +N;
                    f = +d[h + 24 >> 2];
                    a = +d[h + 20 >> 2];
                    B = +d[h + 12 >> 2] + (f * t - a * N);
                    t = t * a + f * N + +d[h + 16 >> 2];
                    f = +B;
                    N = +t;
                    d[ba >> 2] = f;
                    d[ba + 4 >> 2] = N;
                    ba = h + 36 | 0;
                    d[ba >> 2] = f;
                    d[ba + 4 >> 2] = N;
                    N = +d[h + 72 >> 2];
                    ba = h + 64 | 0;
                    d[ba >> 2] = +d[ba >> 2] - N * (t - q);
                    ba = h + 68 | 0;
                    d[ba >> 2] = N * (B - G) + +d[ba >> 2];
                    r = e
                } else Q(9016, 8624, 299, 9048)
            }

            function Pa(h) {
                h = h | 0;
                var O = 0,
                    a = 0,
                    b = 0,
                    e = 0,
                    f = e = 0,
                    g = a = 0,
                    k = 0,
                    O = r;
                r = r + 16 | 0;
                b = O;
                a = +d[h + 52 >> 2];
                g = +Ja(+a);
                d[b + 8 >> 2] = g;
                a = +Ka(+a);
                d[b + 12 >> 2] = a;
                k = +d[h + 28 >> 2];
                e = +d[h + 32 >> 2];
                f = +(+d[h + 36 >> 2] - (a * k - g * e));
                e = +(+d[h + 40 >> 2] - (k * g + a * e));
                a = b;
                d[a >> 2] = f;
                d[a + 4 >> 2] = e;
                a = (c[h + 88 >> 2] | 0) + 102872 | 0;
                if (e = c[h + 100 >> 2] | 0) {
                    h = h + 12 | 0;
                    do Eb(e, a, b, h), e = c[e + 4 >> 2] | 0; while (0 != (e | 0))
                }
                r = O
            }

            function Fa(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    k = 0,
                    a = r,
                    b = h + 88 | 0,
                    l = c[b >> 2] | 0;
                c[l + 102868 >> 2] & 2 && Q(8888, 8624, 168, 8928);
                (g = ja(l, 44) | 0) ? (W[g + 32 >> 1] = 1, W[g + 34 >> 1] = -1, W[g + 36 >> 1] = 0, c[g + 40 >> 2] = 0, c[g + 24 >> 2] = 0, c[g + 28 >> 2] = 0, c[g + 0 >> 2] = 0, c[g + 4 >> 2] = 0, c[g + 8 >> 2] = 0, c[g + 12 >> 2] = 0) : g = 0;
                c[g + 40 >> 2] = c[O + 4 >> 2];
                d[g + 16 >> 2] = +d[O + 8 >> 2];
                d[g + 20 >> 2] = +d[O + 12 >> 2];
                e = g + 8 | 0;
                c[e >> 2] = h;
                f = g + 4 | 0;
                c[f >> 2] = 0;
                k = g + 32 | 0;
                p = O + 22 | 0;
                W[k + 0 >> 1] = W[p + 0 >> 1] | 0;
                W[k + 2 >> 1] = W[p + 2 >> 1] | 0;
                W[k + 4 >> 1] = W[p + 4 >> 1] | 0;
                D[g + 38 >> 0] = D[O + 20 >> 0] | 0;
                k = c[O >> 2] | 0;
                k = Jc[c[(c[k >> 2] | 0) + 8 >> 2] & 63](k, l) | 0;
                c[g + 12 >> 2] = k;
                k = jc[c[(c[k >> 2] | 0) + 12 >> 2] & 63](k) | 0;
                p = ja(l, 28 * k | 0) | 0;
                l = g + 24 | 0;
                c[l >> 2] = p;
                if (0 < (k | 0)) {
                    m = 0;
                    do c[p + (28 * m | 0) + 16 >> 2] = 0, p = c[l >> 2] | 0, c[p + (28 * m | 0) + 24 >> 2] = -1, m = m + 1 | 0; while ((m | 0) != (k | 0))
                }
                c[g + 28 >> 2] = 0;
                k = +d[O + 16 >> 2];
                d[g >> 2] = k;
                W[h + 4 >> 1] & 32 && (nb(g, (c[b >> 2] | 0) + 102872 | 0, h + 12 | 0), k = +d[g >> 2]);
                p = h + 100 | 0;
                c[f >> 2] = c[p >> 2];
                c[p >> 2] = g;
                p = h + 104 | 0;
                c[p >> 2] = (c[p >> 2] | 0) + 1;
                c[e >> 2] = h;
                if (!(0 < k)) return p = c[b >> 2] | 0, p = p + 102868 | 0, m = c[p >> 2] | 0, c[p >> 2] = m | 1, r = a, g | 0;
                Ea(h);
                p = c[b >> 2] | 0;
                p = p + 102868 | 0;
                m = c[p >> 2] | 0;
                m |= 1;
                c[p >> 2] = m;
                r = a;
                return g | 0
            }

            function Qa(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    d = 0,
                    a = r;
                2 != (c[h >> 2] | 0) && 2 != (c[O >> 2] | 0) ? O = 0 : d = 3;
                a: do
                    if (3 == (d | 0))
                        if (d = c[h + 108 >> 2] | 0)
                            for (;;) {
                                if ((c[d >> 2] | 0) == (O | 0) && 0 == (D[(c[d + 4 >> 2] | 0) + 61 >> 0] | 0)) {
                                    O = 0;
                                    break a
                                }
                                d = c[d + 12 >> 2] | 0;
                                if (!d) {
                                    O = 1;
                                    break
                                }
                            } else O = 1; while (0);
                r = a;
                return O | 0
            }

            function Ma(h) {
                h = h | 0;
                var O = 0,
                    a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    O = r;
                r = r + 16 | 0;
                a = O;
                e = h + 8 | 0;
                b = c[e >> 2] | 0;
                I(11608, a);
                I(9128, a);
                c[a >> 2] = c[h >> 2];
                I(9152, a);
                g = +d[h + 16 >> 2];
                ka[y >> 3] = +d[h + 12 >> 2];
                c[a >> 2] = c[y >> 2];
                c[a + 4 >> 2] = c[y + 4 >> 2];
                f = a + 8 | 0;
                ka[y >> 3] = g;
                c[f >> 2] = c[y >> 2];
                c[f + 4 >> 2] = c[y + 4 >> 2];
                I(9184, a);
                ka[y >> 3] = +d[h + 56 >> 2];
                c[a >> 2] = c[y >> 2];
                c[a + 4 >> 2] = c[y + 4 >> 2];
                I(9224, a);
                g = +d[h + 68 >> 2];
                ka[y >> 3] = +d[h + 64 >> 2];
                c[a >> 2] = c[y >> 2];
                c[a + 4 >> 2] = c[y + 4 >> 2];
                f = a + 8 | 0;
                ka[y >> 3] = g;
                c[f >> 2] = c[y >> 2];
                c[f + 4 >> 2] = c[y + 4 >> 2];
                I(9248, a);
                ka[y >> 3] = +d[h + 72 >> 2];
                c[a >> 2] = c[y >> 2];
                c[a + 4 >> 2] = c[y + 4 >> 2];
                I(9296, a);
                ka[y >> 3] = +d[h + 132 >> 2];
                c[a >> 2] = c[y >> 2];
                c[a + 4 >> 2] = c[y + 4 >> 2];
                I(9336, a);
                ka[y >> 3] = +d[h + 136 >> 2];
                c[a >> 2] = c[y >> 2];
                c[a + 4 >> 2] = c[y + 4 >> 2];
                I(9368, a);
                f = h + 4 | 0;
                c[a >> 2] = (Ra[f >> 1] | 0) & 4;
                I(9400, a);
                c[a >> 2] = (Ra[f >> 1] | 0) & 2;
                I(9432, a);
                c[a >> 2] = (Ra[f >> 1] | 0) & 16;
                I(9456, a);
                c[a >> 2] = (Ra[f >> 1] | 0) & 8;
                I(9488, a);
                c[a >> 2] = (Ra[f >> 1] | 0) & 32;
                I(9520, a);
                ka[y >> 3] = +d[h + 140 >> 2];
                c[a >> 2] = c[y >> 2];
                c[a + 4 >> 2] = c[y + 4 >> 2];
                I(9552, a);
                c[a >> 2] = c[e >> 2];
                I(9584, a);
                I(10896, a);
                if (h = c[h + 100 >> 2] | 0) {
                    do I(9632, a), Nb(h, b), I(9640, a), h = c[h + 4 >> 2] | 0; while (0 != (h | 0))
                }
                I(11616, a);
                r = O
            }

            function Sa(h, O) {
                h = h | 0;
                O = O | 0;
                var a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    a = r,
                    e = O + 48 | 0,
                    b = O + 52 | 0,
                    g = c[(c[e >> 2] | 0) + 8 >> 2] | 0,
                    f = c[(c[b >> 2] | 0) + 8 >> 2] | 0,
                    k = c[h + 72 >> 2] | 0;
                if (0 != (k | 0) && 0 != (c[O + 4 >> 2] & 2 | 0)) Mb[c[(c[k >> 2] | 0) + 12 >> 2] & 127](k, O);
                l = O + 8 | 0;
                m = c[l >> 2] | 0;
                k = O + 12 | 0;
                m && (c[m + 12 >> 2] = c[k >> 2]);
                (m = c[k >> 2] | 0) && (c[m + 8 >> 2] = c[l >> 2]);
                l = h + 60 | 0;
                (c[l >> 2] | 0) == (O | 0) && (c[l >> 2] = c[k >> 2]);
                l = O + 24 | 0;
                m = c[l >> 2] | 0;
                k = O + 28 | 0;
                m && (c[m + 12 >> 2] = c[k >> 2]);
                (m = c[k >> 2] | 0) && (c[m + 8 >> 2] = c[l >> 2]);
                g = g + 112 | 0;
                (O + 16 | 0) == (c[g >> 2] | 0) && (c[g >> 2] = c[k >> 2]);
                k = O + 40 | 0;
                l = c[k >> 2] | 0;
                g = O + 44 | 0;
                l && (c[l + 12 >> 2] = c[g >> 2]);
                (l = c[g >> 2] | 0) && (c[l + 8 >> 2] = c[k >> 2]);
                f = f + 112 | 0;
                (O + 32 | 0) == (c[f >> 2] | 0) && (c[f >> 2] = c[g >> 2]);
                f = c[h + 76 >> 2] | 0;
                D[12928] | 0 || Q(13088, 12984, 103, 15288);
                e = c[e >> 2] | 0;
                b = c[b >> 2] | 0;
                0 < (c[O + 124 >> 2] | 0) && 0 == (D[e + 38 >> 0] | 0) && 0 == (D[b + 38 >> 0] | 0) && (g = c[e + 8 >> 2] | 0, k = g + 4 | 0, l = Ra[k >> 1] | 0, l & 2 || (W[k >> 1] = l | 2, d[g + 144 >> 2] = 0), g = c[b + 8 >> 2] | 0, l = g + 4 | 0, k = Ra[l >> 1] | 0, k & 2 || (W[l >> 1] = k | 2, d[g + 144 >> 2] = 0));
                e = c[(c[e + 12 >> 2] | 0) + 4 >> 2] | 0;
                b = c[(c[b + 12 >> 2] | 0) + 4 >> 2] | 0; - 1 < (e | 0) & 4 > (b | 0) ? (Mb[c[12736 + (48 * e | 0) + (12 * b | 0) + 4 >> 2] & 127](O, f), m = h + 64 | 0, c[m >> 2] = (c[m >> 2] | 0) + -1, r = a) : Q(13112, 12984, 119, 15288)
            }

            function cb(h) {
                h = h | 0;
                var O = 0,
                    a = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    y = 0,
                    K = 0,
                    E = 0,
                    wa = 0,
                    u = 0,
                    w = 0,
                    O = r;
                r = r + 1040 | 0;
                e = O;
                b = h + 52 | 0;
                c[b >> 2] = 0;
                f = h + 40 | 0;
                G = c[f >> 2] | 0;
                do
                    if (0 < (G | 0)) {
                        B = h + 32 | 0;
                        x = h + 56 | 0;
                        Z = h + 12 | 0;
                        q = h + 4 | 0;
                        n = e + 4 | 0;
                        l = e + 1028 | 0;
                        t = e + 1032 | 0;
                        p = h + 48 | 0;
                        g = h + 44 | 0;
                        for (N = 0;;) {
                            K = c[(c[B >> 2] | 0) + (N << 2) >> 2] | 0;
                            c[x >> 2] = K;
                            if (-1 != (K | 0)) {
                                if (-1 >= (K | 0)) {
                                    l = 7;
                                    break
                                }
                                if ((c[Z >> 2] | 0) <= (K | 0)) {
                                    l = 7;
                                    break
                                }
                                E = c[q >> 2] | 0;
                                c[e >> 2] = n;
                                c[l >> 2] = 0;
                                c[t >> 2] = 256;
                                vb(e, h);
                                if (0 < (c[l >> 2] | 0)) {
                                    y = E + (36 * K | 0) | 0;
                                    G = E + (36 * K | 0) + 4 | 0;
                                    ba = E + (36 * K | 0) + 8 | 0;
                                    K = E + (36 * K | 0) + 12 | 0;
                                    do E = e, E = E | 0, u = wa = 0, wa = E + 1028 | 0, u = c[wa >> 2] | 0, 0 < (u | 0) ? (u = u + -1 | 0, c[wa >> 2] = u, E = c[(c[E >> 2] | 0) + (u << 2) >> 2] | 0) : (Q(9664, 9680, 67, 9728), E = 0), E = E | 0, -1 == (E | 0) || (m = c[q >> 2] | 0, (0 < +d[y >> 2] - +d[m + (36 * E | 0) + 8 >> 2] ? 1 : 0 < +d[G >> 2] - +d[m + (36 * E | 0) + 12 >> 2]) | 0 < +d[m + (36 * E | 0) >> 2] - +d[ba >> 2] | 0 < +d[m + (36 * E | 0) + 4 >> 2] - +d[K >> 2]) || (wa = m + (36 * E | 0) + 24 | 0, -1 != (c[wa >> 2] | 0) ? (vb(e, wa), vb(e, m + (36 * E | 0) + 28 | 0)) : (wa = c[x >> 2] | 0, (wa | 0) != (E | 0) && (u = c[b >> 2] | 0, (u | 0) == (c[p >> 2] | 0) && (wa = c[g >> 2] | 0, c[p >> 2] = u << 1, u = ma(u << 4) | 0, c[g >> 2] = u, kb(u | 0, wa | 0, c[b >> 2] << 3 | 0) | 0, oa(wa), wa = c[x >> 2] | 0, u = c[b >> 2] | 0), w = c[g >> 2] | 0, c[w + (u << 3) >> 2] = (wa | 0) > (E | 0) ? E : wa, u = c[x >> 2] | 0, c[w + (c[b >> 2] << 3) + 4 >> 2] = (u | 0) < (E | 0) ? E : u, c[b >> 2] = (c[b >> 2] | 0) + 1))); while (0 < (c[l >> 2] | 0))
                                }
                                G = c[e >> 2] | 0;
                                (G | 0) != (n | 0) && (oa(G), c[e >> 2] = 0);
                                G = c[f >> 2] | 0
                            }
                            N = N + 1 | 0;
                            if ((N | 0) >= (G | 0)) {
                                l = 23;
                                break
                            }
                        }
                        7 == (l | 0) ? Q(11792, 11736, 164, 11856) : 23 == (l | 0) && (a = g, k = c[b >> 2] | 0)
                    } else a = h + 44 | 0, k = 0; while (0);
                c[f >> 2] = 0;
                w = c[a >> 2] | 0;
                c[e >> 2] = 58;
                Za(w, w + (k << 3) | 0, e);
                if (0 >= (c[b >> 2] | 0)) r = O;
                else {
                    l = h + 12 | 0;
                    k = h + 4 | 0;
                    g = h + 68 | 0;
                    f = h + 76 | 0;
                    e = h + 60 | 0;
                    h = h + 64 | 0;
                    p = n = c[a >> 2] | 0;
                    n = c[n >> 2] | 0;
                    x = 0;
                    a: for (;;) {
                        m = p + (x << 3) | 0;
                        if (-1 >= (n | 0)) {
                            l = 28;
                            break
                        }
                        t = c[l >> 2] | 0;
                        if ((t | 0) <= (n | 0)) {
                            l = 28;
                            break
                        }
                        q = c[k >> 2] | 0;
                        p = p + (x << 3) + 4 | 0;
                        Z = c[p >> 2] | 0;
                        if (!(-1 < (Z | 0) & (t | 0) > (Z | 0))) {
                            l = 30;
                            break
                        }
                        N = c[q + (36 * n | 0) + 16 >> 2] | 0;
                        Z = c[q + (36 * Z | 0) + 16 >> 2] | 0;
                        t = c[N + 16 >> 2] | 0;
                        n = c[Z + 16 >> 2] | 0;
                        q = c[N + 20 >> 2] | 0;
                        Z = c[Z + 20 >> 2] | 0;
                        N = c[t + 8 >> 2] | 0;
                        B = c[n + 8 >> 2] | 0;
                        b: do
                            if ((N | 0) != (B | 0)) {
                                if (E = c[B + 112 >> 2] | 0) {
                                    do {
                                        if ((c[E >> 2] | 0) == (N | 0)) {
                                            K = c[E + 4 >> 2] | 0;
                                            G = c[K + 48 >> 2] | 0;
                                            ba = c[K + 52 >> 2] | 0;
                                            y = c[K + 56 >> 2] | 0;
                                            K = c[K + 60 >> 2] | 0;
                                            if ((G | 0) == (t | 0) & (ba | 0) == (n | 0) & (y | 0) == (q | 0) & (K | 0) == (Z | 0)) break b;
                                            if ((G | 0) == (n | 0) & (ba | 0) == (t | 0) & (y | 0) == (Z | 0) & (K | 0) == (q | 0)) break b
                                        }
                                        E = c[E + 12 >> 2] | 0
                                    } while (0 != (E | 0))
                                }
                                if (Qa(B, N) | 0 && (B = c[g >> 2] | 0, 0 == (B | 0) || Vc[c[(c[B >> 2] | 0) + 8 >> 2] & 63](B, t, n) | 0)) {
                                    B = c[f >> 2] | 0;
                                    D[12928] | 0 || (c[3184] = 46, c[3185] = 98, D[12744] = 1, c[3208] = 47, c[3209] = 99, D[12840] = 1, c[3190] = 47, c[3191] = 99, D[12768] = 0, c[3214] = 48, c[3215] = 100, D[12864] = 1, c[3196] = 49, c[3197] = 101, D[12792] = 1, c[3187] = 49, c[3188] = 101, D[12756] = 0, c[3202] = 50, c[3203] = 102, D[12816] = 1, c[3211] = 50, c[3212] = 102, D[12852] = 0, c[3220] = 51, c[3221] = 103, D[12888] = 1, c[3193] = 51, c[3194] = 103, D[12780] = 0, c[3226] = 52, c[3227] = 104, D[12912] = 1, c[3217] = 52, c[3218] = 104, D[12876] = 0, D[12928] = 1);
                                    N = c[(c[t + 12 >> 2] | 0) + 4 >> 2] | 0;
                                    G = c[(c[n + 12 >> 2] | 0) + 4 >> 2] | 0;
                                    if (4 <= N >>> 0) {
                                        l = 43;
                                        break a
                                    }
                                    if (4 <= G >>> 0) {
                                        l = 45;
                                        break a
                                    }
                                    if (ba = c[12736 + (48 * N | 0) + (12 * G | 0) >> 2] | 0)
                                        if (B = D[12736 + (48 * N | 0) + (12 * G | 0) + 8 >> 0] | 0 ? Mc[ba & 63](t, q, n, Z, B) | 0 : Mc[ba & 63](n, Z, t, q, B) | 0) Z = c[B + 48 >> 2] | 0, t = c[B + 52 >> 2] | 0, q = c[Z + 8 >> 2] | 0, n = c[t + 8 >> 2] | 0, c[B + 8 >> 2] = 0, c[B + 12 >> 2] = c[e >> 2], (N = c[e >> 2] | 0) && (c[N + 8 >> 2] = B), c[e >> 2] = B, ba = B + 16 | 0, c[B + 20 >> 2] = B, c[ba >> 2] = n, c[B + 24 >> 2] = 0, N = q + 112 | 0, c[B + 28 >> 2] = c[N >> 2], (G = c[N >> 2] | 0) && (c[G + 8 >> 2] = ba), c[N >> 2] = ba, N = B + 32 | 0, c[B + 36 >> 2] = B, c[N >> 2] = q, c[B + 40 >> 2] = 0, G = n + 112 | 0, c[B + 44 >> 2] = c[G >> 2], (B = c[G >> 2] | 0) && (c[B + 8 >> 2] = N), c[G >> 2] = N, D[Z + 38 >> 0] | 0 || D[t + 38 >> 0] | 0 || (t = q + 4 | 0, Z = Ra[t >> 1] | 0, Z & 2 || (W[t >> 1] = Z | 2, d[q + 144 >> 2] = 0), t = n + 4 | 0, q = Ra[t >> 1] | 0, q & 2 || (W[t >> 1] = q | 2, d[n + 144 >> 2] = 0)), c[h >> 2] = (c[h >> 2] | 0) + 1
                                }
                            }
                        while (0);
                        for (q = c[b >> 2] | 0;;) {
                            x = x + 1 | 0;
                            if ((x | 0) >= (q | 0)) {
                                l = 68;
                                break a
                            }
                            t = c[a >> 2] | 0;
                            n = c[t + (x << 3) >> 2] | 0;
                            if ((n | 0) != (c[m >> 2] | 0)) {
                                p = t;
                                continue a
                            }
                            if ((c[t + (x << 3) + 4 >> 2] | 0) != (c[p >> 2] | 0)) {
                                p = t;
                                continue a
                            }
                        }
                    }
                    28 == (l | 0) ? Q(11792, 11736, 158, 11840) : 30 == (l | 0) ? Q(11792, 11736, 158, 11840) : 43 == (l | 0) ? Q(12936, 12984, 80, 15280) : 45 == (l | 0) ? Q(13040, 12984, 81, 15280) : 68 == (l | 0) && (r = O)
                }
            }

            function Za(h, O, a) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                var d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    d = r;
                r = r + 16 | 0;
                b = d;
                a: for (;;) {
                    g = O;
                    f = O + -8 | 0;
                    b: for (;;) {
                        k = h;
                        p = g - k | 0;
                        x = p >> 3;
                        switch (x | 0) {
                            case 4:
                                e = 7;
                                break a;
                            case 3:
                                e = 6;
                                break a;
                            case 5:
                                e = 8;
                                break a;
                            case 2:
                                e = 4;
                                break a;
                            case 1:
                            case 0:
                                e = 51;
                                break a
                        }
                        if (248 > (p | 0)) {
                            e = 10;
                            break a
                        }
                        m = (x | 0) / 2 | 0;
                        l = h + (m << 3) | 0;
                        7992 < (p | 0) ? (p = (x | 0) / 4 | 0, p = gb(h, h + (p << 3) | 0, l, h + (p + m << 3) | 0, f, a) | 0) : p = Ya(h, l, f, a) | 0;
                        do
                            if (Jc[c[a >> 2] & 63](h, l) | 0) x = f;
                            else {
                                for (x = f;;) {
                                    x = x + -8 | 0;
                                    if ((h | 0) == (x | 0)) break;
                                    if (Jc[c[a >> 2] & 63](x, l) | 0) {
                                        e = 34;
                                        break
                                    }
                                }
                                if (34 == (e | 0)) e = 0, n = h, m = c[n >> 2] | 0, n = c[n + 4 >> 2] | 0, B = x, t = c[B + 4 >> 2] | 0, q = h, c[q >> 2] = c[B >> 2], c[q + 4 >> 2] = t, q = x, c[q >> 2] = m, c[q + 4 >> 2] = n, p = p + 1 | 0;
                                else {
                                    k = h + 8 | 0;
                                    if (!(Jc[c[a >> 2] & 63](h, f) | 0)) {
                                        if ((k | 0) == (f | 0)) {
                                            e = 51;
                                            break a
                                        }
                                        for (;;) {
                                            l = k + 8 | 0;
                                            if (Jc[c[a >> 2] & 63](h, k) | 0) break;
                                            if ((l | 0) == (f | 0)) {
                                                e = 51;
                                                break a
                                            } else k = l
                                        }
                                        B = k;
                                        t = c[B >> 2] | 0;
                                        B = c[B + 4 >> 2] | 0;
                                        n = f;
                                        q = c[n + 4 >> 2] | 0;
                                        c[k >> 2] = c[n >> 2];
                                        c[k + 4 >> 2] = q;
                                        k = f;
                                        c[k >> 2] = t;
                                        c[k + 4 >> 2] = B;
                                        k = l
                                    }
                                    if ((k | 0) == (f | 0)) {
                                        e = 51;
                                        break a
                                    } else m = f;
                                    for (;;) {
                                        for (; !(l = k + 8 | 0, Jc[c[a >> 2] & 63](h, k) | 0);) k = l;
                                        do m = m + -8 | 0; while (Jc[c[a >> 2] & 63](h, m) | 0);
                                        if (k >>> 0 >= m >>> 0) {
                                            h = k;
                                            continue b
                                        }
                                        B = k;
                                        t = c[B >> 2] | 0;
                                        B = c[B + 4 >> 2] | 0;
                                        n = m;
                                        q = c[n + 4 >> 2] | 0;
                                        c[k >> 2] = c[n >> 2];
                                        c[k + 4 >> 2] = q;
                                        k = m;
                                        c[k >> 2] = t;
                                        c[k + 4 >> 2] = B;
                                        k = l
                                    }
                                }
                            }
                        while (0);
                        m = h + 8 | 0;
                        c: do
                                if (m >>> 0 < x >>> 0)
                                    for (;;) {
                                        for (q = m;;)
                                            if (m = q + 8 | 0, Jc[c[a >> 2] & 63](q, l) | 0) q = m;
                                            else {
                                                n = x;
                                                break
                                            }
                                        do n = n + -8 | 0; while (!(Jc[c[a >> 2] & 63](n, l) | 0));
                                        if (q >>> 0 > n >>> 0) {
                                            m = q;
                                            break c
                                        }
                                        B = q;
                                        t = c[B >> 2] | 0;
                                        B = c[B + 4 >> 2] | 0;
                                        G = n;
                                        N = c[G + 4 >> 2] | 0;
                                        x = q;
                                        c[x >> 2] = c[G >> 2];
                                        c[x + 4 >> 2] = N;
                                        x = n;
                                        c[x >> 2] = t;
                                        c[x + 4 >> 2] = B;
                                        x = n;
                                        l = (l | 0) == (q | 0) ? n : l;
                                        p = p + 1 | 0
                                    }
                            while (0);
                            (m | 0) != (l | 0) &&
                            Jc[c[a >> 2] & 63](l, m) | 0 && (N = m, B = c[N >> 2] | 0, N = c[N + 4 >> 2] | 0, q = l, t = c[q + 4 >> 2] | 0, G = m, c[G >> 2] = c[q >> 2], c[G + 4 >> 2] = t, G = l, c[G >> 2] = B, c[G + 4 >> 2] = N, p = p + 1 | 0);
                        if (!p) {
                            p = zb(h, m, a) | 0;
                            l = m + 8 | 0;
                            if (zb(l, O, a) | 0) {
                                e = 46;
                                break
                            }
                            if (p) {
                                h = l;
                                continue
                            }
                        }
                        G = m;
                        if ((G - k | 0) >= (g - G | 0)) {
                            e = 50;
                            break
                        }
                        Za(h, m, a);
                        h = m + 8 | 0
                    }
                    if (46 == (e | 0))
                        if (e = 0, p) {
                            e = 51;
                            break
                        } else O = m;
                    else 50 == (e | 0) && (e = 0, Za(m + 8 | 0, O, a), O = m)
                }
                if (4 == (e | 0)) Jc[c[a >> 2] & 63](f, h) | 0 && (N = h, B = c[N >> 2] | 0, N = c[N + 4 >> 2] | 0, q = f, t = c[q + 4 >> 2] | 0, G = h, c[G >> 2] = c[q >> 2], c[G + 4 >> 2] = t, G = f, c[G >> 2] = B, c[G + 4 >> 2] = N), r = d;
                else if (6 == (e | 0)) Ya(h, h + 8 | 0, f, a) | 0, r = d;
                else if (7 == (e | 0)) fb(h, h + 8 | 0, h + 16 | 0, f, a) | 0, r = d;
                else if (8 == (e | 0)) gb(h, h + 8 | 0, h + 16 | 0, h + 24 | 0, f, a) | 0, r = d;
                else if (10 == (e | 0)) {
                    g = h + 16 | 0;
                    Ya(h, h + 8 | 0, g, a) | 0;
                    e = h + 24 | 0;
                    if ((e | 0) != (O | 0))
                        for (;;) {
                            if (Jc[c[a >> 2] & 63](e, g) | 0) {
                                N = e;
                                G = c[N + 4 >> 2] | 0;
                                f = b;
                                c[f >> 2] = c[N >> 2];
                                c[f + 4 >> 2] = G;
                                for (f = e;;) {
                                    B = g;
                                    N = c[B + 4 >> 2] | 0;
                                    G = f;
                                    c[G >> 2] = c[B >> 2];
                                    c[G + 4 >> 2] = N;
                                    if ((g | 0) == (h | 0)) break;
                                    f = g + -8 | 0;
                                    if (Jc[c[a >> 2] & 63](b, f) | 0) G = g, g = f, f = G;
                                    else break
                                }
                                B = b;
                                N = c[B + 4 >> 2] | 0;
                                G = g;
                                c[G >> 2] = c[B >> 2];
                                c[G + 4 >> 2] = N
                            }
                            f = e + 8 | 0;
                            if ((f | 0) == (O | 0)) break;
                            else g = e, e = f
                        }
                    r = d
                } else 51 == (e | 0) && (r = d)
            }

            function Ya(h, O, a, d) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                d = d | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    b = r,
                    g = Jc[c[d >> 2] & 63](O, h) | 0,
                    e = Jc[c[d >> 2] & 63](a, O) | 0;
                if (!g) {
                    if (!e) return r = b, 0;
                    f = O;
                    e = c[f >> 2] | 0;
                    f = c[f + 4 >> 2] | 0;
                    l = a;
                    k = c[l + 4 >> 2] | 0;
                    g = O;
                    c[g >> 2] = c[l >> 2];
                    c[g + 4 >> 2] = k;
                    g = a;
                    c[g >> 2] = e;
                    c[g + 4 >> 2] = f;
                    if (!(Jc[c[d >> 2] & 63](O, h) | 0)) return r = b, 1;
                    k = h;
                    g = c[k >> 2] | 0;
                    k = c[k + 4 >> 2] | 0;
                    d = O;
                    f = c[d + 4 >> 2] | 0;
                    l = h;
                    c[l >> 2] = c[d >> 2];
                    c[l + 4 >> 2] = f;
                    l = O;
                    c[l >> 2] = g;
                    c[l + 4 >> 2] = k;
                    r = b;
                    return 2
                }
                f = h;
                g = c[f >> 2] | 0;
                f = c[f + 4 >> 2] | 0;
                if (e) return d = a, k = c[d + 4 >> 2] | 0, l = h, c[l >> 2] = c[d >> 2], c[l + 4 >> 2] = k, l = a, c[l >> 2] = g, c[l + 4 >> 2] = f, r = b, 1;
                e = O;
                k = c[e + 4 >> 2] | 0;
                l = h;
                c[l >> 2] = c[e >> 2];
                c[l + 4 >> 2] = k;
                l = O;
                c[l >> 2] = g;
                c[l + 4 >> 2] = f;
                if (!(Jc[c[d >> 2] & 63](a, O) | 0)) return r = b, 1;
                k = O;
                g = c[k >> 2] | 0;
                k = c[k + 4 >> 2] | 0;
                h = a;
                f = c[h + 4 >> 2] | 0;
                l = O;
                c[l >> 2] = c[h >> 2];
                c[l + 4 >> 2] = f;
                l = a;
                c[l >> 2] = g;
                c[l + 4 >> 2] = k;
                r = b;
                return 2
            }

            function fb(h, O, a, d, b) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                d = d | 0;
                b = b | 0;
                var e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    e = r,
                    f = Ya(h, O, a, b) | 0;
                if (!(Jc[c[b >> 2] & 63](d, a) | 0)) return r = e, f | 0;
                g = a;
                k = c[g >> 2] | 0;
                g = c[g + 4 >> 2] | 0;
                p = d;
                m = c[p + 4 >> 2] | 0;
                l = a;
                c[l >> 2] = c[p >> 2];
                c[l + 4 >> 2] = m;
                c[d >> 2] = k;
                c[d + 4 >> 2] = g;
                if (!(Jc[c[b >> 2] & 63](a, O) | 0)) return r = e, f + 1 | 0;
                m = O;
                l = c[m >> 2] | 0;
                m = c[m + 4 >> 2] | 0;
                g = a;
                k = c[g + 4 >> 2] | 0;
                p = O;
                c[p >> 2] = c[g >> 2];
                c[p + 4 >> 2] = k;
                p = a;
                c[p >> 2] = l;
                c[p + 4 >> 2] = m;
                if (!(Jc[c[b >> 2] & 63](O, h) | 0)) return r = e, f + 2 | 0;
                m = h;
                l = c[m >> 2] | 0;
                m = c[m + 4 >> 2] | 0;
                g = O;
                k = c[g + 4 >> 2] | 0;
                p = h;
                c[p >> 2] = c[g >> 2];
                c[p + 4 >> 2] = k;
                p = O;
                c[p >> 2] = l;
                c[p + 4 >> 2] = m;
                r = e;
                return f + 3 | 0
            }

            function gb(h, O, a, d, b, e) {
                h = h | 0;
                O = O | 0;
                a = a | 0;
                d = d | 0;
                b = b | 0;
                e = e | 0;
                var f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    f = r,
                    g = fb(h, O, a, d, e) | 0;
                if (!(Jc[c[e >> 2] & 63](b, d) | 0)) return r = f, g | 0;
                k = d;
                l = c[k >> 2] | 0;
                k = c[k + 4 >> 2] | 0;
                x = b;
                p = c[x + 4 >> 2] | 0;
                m = d;
                c[m >> 2] = c[x >> 2];
                c[m + 4 >> 2] = p;
                c[b >> 2] = l;
                c[b + 4 >> 2] = k;
                if (!(Jc[c[e >> 2] & 63](d, a) | 0)) return r = f, g + 1 | 0;
                p = a;
                m = c[p >> 2] | 0;
                p = c[p + 4 >> 2] | 0;
                k = d;
                l = c[k + 4 >> 2] | 0;
                x = a;
                c[x >> 2] = c[k >> 2];
                c[x + 4 >> 2] = l;
                x = d;
                c[x >> 2] = m;
                c[x + 4 >> 2] = p;
                if (!(Jc[c[e >> 2] & 63](a, O) | 0)) return r = f, g + 2 | 0;
                p = O;
                m = c[p >> 2] | 0;
                p = c[p + 4 >> 2] | 0;
                k = a;
                l = c[k + 4 >> 2] | 0;
                x = O;
                c[x >> 2] = c[k >> 2];
                c[x + 4 >> 2] = l;
                x = a;
                c[x >> 2] = m;
                c[x + 4 >> 2] = p;
                if (!(Jc[c[e >> 2] & 63](O, h) | 0)) return r = f, g + 3 | 0;
                p = h;
                m = c[p >> 2] | 0;
                p = c[p + 4 >> 2] | 0;
                k = O;
                l = c[k + 4 >> 2] | 0;
                x = h;
                c[x >> 2] = c[k >> 2];
                c[x + 4 >> 2] = l;
                x = O;
                c[x >> 2] = m;
                c[x + 4 >> 2] = p;
                r = f;
                return g + 4 | 0
            }

            function zb(h, a, d) {
                h = h | 0;
                a = a | 0;
                d = d | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    b = r;
                r = r + 16 | 0;
                f = b;
                switch (a - h >> 3 | 0) {
                    case 2:
                        e = a + -8 | 0;
                        if (!(Jc[c[d >> 2] & 63](e, h) | 0)) return r = b, 1;
                        l = h;
                        k = c[l >> 2] | 0;
                        l = c[l + 4 >> 2] | 0;
                        a = e;
                        g = c[a + 4 >> 2] | 0;
                        m = h;
                        c[m >> 2] = c[a >> 2];
                        c[m + 4 >> 2] = g;
                        m = e;
                        c[m >> 2] = k;
                        c[m + 4 >> 2] = l;
                        r = b;
                        return 1;
                    case 1:
                    case 0:
                        return r = b, 1;
                    case 5:
                        return gb(h, h + 8 | 0, h + 16 | 0, h + 24 | 0, a + -8 | 0, d) | 0, r = b, 1;
                    case 3:
                        return Ya(h, h + 8 | 0, a + -8 | 0, d) | 0, r = b, 1;
                    case 4:
                        return fb(h, h + 8 | 0, h + 16 | 0, a + -8 | 0, d) | 0, r = b, 1;
                    default:
                        m = h + 16 | 0;
                        Ya(h, h + 8 | 0, m, d) | 0;
                        g = h + 24 | 0;
                        if ((g | 0) == (a | 0)) return r = b, 1;
                        for (k = 0;;) {
                            if (Jc[c[d >> 2] & 63](g, m) | 0) {
                                x = g;
                                p = c[x + 4 >> 2] | 0;
                                l = f;
                                c[l >> 2] = c[x >> 2];
                                c[l + 4 >> 2] = p;
                                for (l = g;;) {
                                    n = m;
                                    p = c[n + 4 >> 2] | 0;
                                    x = l;
                                    c[x >> 2] = c[n >> 2];
                                    c[x + 4 >> 2] = p;
                                    if ((m | 0) == (h | 0)) break;
                                    l = m + -8 | 0;
                                    if (Jc[c[d >> 2] & 63](f, l) | 0) n = m, m = l, l = n;
                                    else break
                                }
                                p = f;
                                x = c[p + 4 >> 2] | 0;
                                n = m;
                                c[n >> 2] = c[p >> 2];
                                c[n + 4 >> 2] = x;
                                k = k + 1 | 0;
                                if (8 == (k | 0)) break
                            }
                            l = g + 8 | 0;
                            if ((l | 0) == (a | 0)) {
                                h = 1;
                                e = 15;
                                break
                            } else m = g, g = l
                        }
                        if (15 == (e | 0)) return r = b, h | 0;
                        r = b;
                        return (g + 8 | 0) == (a | 0) | 0
                }
            }

            function vb(h, a) {
                h = h | 0;
                a = a | 0;
                var d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    b = r,
                    d = h + 1028 | 0,
                    e = c[d >> 2] | 0,
                    f = h + 1032 | 0;
                (e | 0) == (c[f >> 2] | 0) && (g = c[h >> 2] | 0, c[f >> 2] = e << 1, f = ma(e << 3) | 0, c[h >> 2] = f, kb(f | 0, g | 0, c[d >> 2] << 2 | 0) | 0, (g | 0) != (h + 4 | 0)) && oa(g);
                c[(c[h >> 2] | 0) + (c[d >> 2] << 2) >> 2] = c[a >> 2];
                c[d >> 2] = (c[d >> 2] | 0) + 1;
                r = b
            }

            function jb(h, a) {
                h = h | 0;
                a = a | 0;
                var d = 0,
                    b = 0,
                    e = 0,
                    d = r;
                c[h + 28 >> 2] | 0 && Q(9768, 9792, 72, 15288);
                b = h + 12 | 0;
                e = c[b >> 2] | 0;
                e = jc[c[(c[e >> 2] | 0) +
                    12 >> 2] & 63](e) | 0;
                h = h + 24 | 0;
                da(a, c[h >> 2] | 0, 28 * e | 0);
                c[h >> 2] = 0;
                h = c[b >> 2] | 0;
                (e = c[h + 4 >> 2] | 0) ? 2 == (e | 0) ? ($a[c[c[h >> 2] >> 2] & 127](h), da(a, h, 280), c[b >> 2] = 0, r = d) : 1 == (e | 0) ? ($a[c[c[h >> 2] >> 2] & 127](h), da(a, h, 48), c[b >> 2] = 0, r = d) : 3 == (e | 0) ? ($a[c[c[h >> 2] >> 2] & 127](h), da(a, h, 40), c[b >> 2] = 0, r = d) : Q(15224, 9792, 115, 15288): ($a[c[c[h >> 2] >> 2] & 127](h), da(a, h, 20), c[b >> 2] = 0, r = d)
            }

            function nb(h, a, b) {
                h = h | 0;
                a = a | 0;
                b = b | 0;
                var e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    Xa = 0,
                    ia = 0,
                    Z = 0,
                    e = r,
                    f = h + 28 | 0;
                c[f >> 2] | 0 && Q(9768, 9792, 124, 9840);
                g = h + 12 | 0;
                x = c[g >> 2] | 0;
                x = jc[c[(c[x >> 2] | 0) + 12 >> 2] & 63](x) | 0;
                c[f >> 2] = x;
                if (!(0 >= (x | 0))) {
                    k = h + 24 | 0;
                    l = a + 4 | 0;
                    m = a + 28 | 0;
                    x = 0;
                    do n = c[k >> 2] | 0, t = n + (28 * x | 0) | 0, q = c[g >> 2] | 0, cc[c[(c[q >> 2] | 0) + 24 >> 2] & 63](q, t, b, x), q = L(a) | 0, ia = +(+d[t >> 2] + -.10000000149011612), Z = +(+d[n + (28 * x | 0) + 4 >> 2] + -.10000000149011612), Xa = (c[l >> 2] | 0) + (36 * q | 0) | 0, d[Xa >> 2] = ia, d[Xa + 4 >> 2] = Z, Z = +(+d[n + (28 * x | 0) + 8 >> 2] + .10000000149011612), ia = +(+d[n + (28 * x | 0) + 12 >> 2] + .10000000149011612), Xa = (c[l >> 2] | 0) + (36 * q | 0) + 8 | 0, d[Xa >> 2] = Z, d[Xa + 4 >> 2] = ia, c[(c[l >> 2] | 0) + (36 * q | 0) + 16 >> 2] = t, c[(c[l >> 2] | 0) + (36 * q | 0) + 32 >> 2] = 0, F(a, q), c[m >> 2] = (c[m >> 2] | 0) + 1, p(a, q), c[n + (28 * x | 0) + 24 >> 2] = q, c[n + (28 * x | 0) + 16 >> 2] = h, c[n + (28 * x | 0) + 20 >> 2] = x, x = x + 1 | 0; while ((x | 0) < (c[f >> 2] | 0))
                }
                r = e
            }

            function Bb(h, a) {
                h = h | 0;
                a = a | 0;
                var d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    Z = 0,
                    b = r,
                    d = h + 28 | 0;
                if (0 >= (c[d >> 2] | 0)) c[d >> 2] = 0, r = b;
                else {
                    h = h + 24 | 0;
                    g = a + 40 | 0;
                    k = a + 32 | 0;
                    f = a + 28 | 0;
                    e = a + 12 | 0;
                    m = a + 4 | 0;
                    for (l = 0;;) {
                        x = (c[h >> 2] | 0) + (28 * l | 0) + 24 | 0;
                        p = c[x >> 2] | 0;
                        t = c[g >> 2] | 0;
                        if (0 < (t | 0)) {
                            n = c[k >> 2] | 0;
                            q = 0;
                            do Z = n + (q << 2) | 0, (c[Z >> 2] | 0) == (p | 0) && (c[Z >> 2] = -1, t = c[g >> 2] | 0), q = q + 1 | 0; while ((q | 0) < (t | 0))
                        }
                        c[f >> 2] = (c[f >> 2] | 0) + -1;
                        if (-1 >= (p | 0)) {
                            a = 10;
                            break
                        }
                        if ((c[e >> 2] | 0) <= (p | 0)) {
                            a = 10;
                            break
                        }
                        if (-1 != (c[(c[m >> 2] | 0) + (36 * p | 0) + 24 >> 2] | 0)) {
                            a = 12;
                            break
                        }
                        P(a, p);
                        J(a, p);
                        c[x >> 2] = -1;
                        l = l + 1 | 0;
                        if ((l | 0) >= (c[d >> 2] | 0)) {
                            a = 14;
                            break
                        }
                    }
                    10 == (a | 0) ? Q(11792, 5624, 123, 5760) : 12 == (a | 0) ? Q(5776, 5624, 124, 5760) : 14 == (a | 0) && (c[d >> 2] = 0, r = b)
                }
            }

            function Eb(h, a, b, e) {
                h = h | 0;
                a = a | 0;
                b = b | 0;
                e = e | 0;
                var f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    Xa = 0,
                    ia = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    y = 0,
                    K = 0,
                    E = 0,
                    u = 0,
                    w = 0,
                    D = 0,
                    A = D = 0,
                    z = 0,
                    v = A = 0,
                    M = 0,
                    f = r;
                r = r + 32 | 0;
                k = f + 16 | 0;
                l = f;
                g = h + 28 | 0;
                if (0 >= (c[g >> 2] | 0)) r = f;
                else {
                    m = h + 24 | 0;
                    q = h + 12 | 0;
                    t = k + 4 | 0;
                    Xa = l + 4 | 0;
                    ia = k + 8 | 0;
                    Z = l + 8 | 0;
                    B = k + 12 | 0;
                    N = l + 12 | 0;
                    G = e + 4 | 0;
                    ba = b + 4 | 0;
                    x = a + 12 | 0;
                    h = a + 4 | 0;
                    for (n = 0;;) {
                        z = c[m >> 2] | 0;
                        D = c[q >> 2] | 0;
                        A = z + (28 * n | 0) + 20 | 0;
                        cc[c[(c[D >> 2] | 0) + 24 >> 2] & 63](D, k, b, c[A >> 2] | 0);
                        D = c[q >> 2] | 0;
                        cc[c[(c[D >> 2] | 0) + 24 >> 2] & 63](D, l, e, c[A >> 2] | 0);
                        A = z + (28 * n | 0) | 0;
                        E = +d[k >> 2];
                        w = +d[l >> 2];
                        w = E < w ? E : w;
                        E = +d[t >> 2];
                        v = +d[Xa >> 2];
                        u = +w;
                        v = +(E < v ? E : v);
                        D = A;
                        d[D >> 2] = u;
                        d[D + 4 >> 2] = v;
                        D = z + (28 * n | 0) + 8 | 0;
                        v = +d[ia >> 2];
                        u = +d[Z >> 2];
                        u = v > u ? v : u;
                        v = +d[B >> 2];
                        E = +d[N >> 2];
                        K = +u;
                        E = +(v > E ? v : E);
                        y = D;
                        d[y >> 2] = K;
                        d[y + 4 >> 2] = E;
                        E = +d[e >> 2] - +d[b >> 2];
                        K = +d[G >> 2] - +d[ba >> 2];
                        y = c[z + (28 * n | 0) + 24 >> 2] | 0;
                        if (-1 >= (y | 0)) {
                            a = 5;
                            break
                        }
                        if ((c[x >> 2] | 0) <= (y | 0)) {
                            a = 5;
                            break
                        }
                        M = c[h >> 2] | 0;
                        if (-1 != (c[M + (36 * y | 0) + 24 >> 2] | 0)) {
                            a = 7;
                            break
                        } + d[M + (36 * y | 0) >> 2] <= w && +d[M + (36 * y | 0) + 4 >> 2] <= +d[z + (28 * n | 0) + 4 >> 2] && u <= +d[M + (36 * y | 0) + 8 >> 2] && +d[z + (28 * n | 0) + 12 >> 2] <= +d[M + (36 * y | 0) + 12 >> 2] || (P(a, y), M = A, v = +d[M >> 2], w = +d[M + 4 >> 2], M = D, D = +d[M >> 2], v += -.10000000149011612, w += -.10000000149011612, D += .10000000149011612, u = +d[M + 4 >> 2] + .10000000149011612, A = 2 * E, E = 2 * K, 0 > A ? K = v + A : (K = v, D = A + D), 0 > E ? w += E : u = E + u, M = c[h >> 2] | 0, v = +K, A = +w, z = M + (36 * y | 0) | 0, d[z >> 2] = v, d[z + 4 >> 2] = A, A = +D, v = +u, M = M + (36 * y | 0) + 8 | 0, d[M >> 2] = A, d[M + 4 >> 2] = v, F(a, y), p(a, y));
                        n = n + 1 | 0;
                        if ((n | 0) >= (c[g >> 2] | 0)) {
                            a = 20;
                            break
                        }
                    }
                    5 == (a | 0) ? Q(11792, 5624, 132, 5808) : 7 == (a | 0) ? Q(5776, 5624, 134, 5808) : 20 == (a | 0) && (r = f)
                }
            }

            function Nb(h, a) {
                h = h | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    b = r;
                r = r + 32 | 0;
                e = b;
                I(9856, e);
                ka[y >> 3] = +d[h + 16 >> 2];
                c[e >> 2] = c[y >> 2];
                c[e + 4 >> 2] = c[y + 4 >> 2];
                I(9880, e);
                ka[y >> 3] = +d[h + 20 >> 2];
                c[e >> 2] = c[y >> 2];
                c[e + 4 >> 2] = c[y + 4 >> 2];
                I(9912, e);
                ka[y >> 3] = +d[h >> 2];
                c[e >> 2] = c[y >> 2];
                c[e + 4 >> 2] = c[y + 4 >> 2];
                I(9944, e);
                c[e >> 2] = wc[h + 38 >> 0];
                I(9976, e);
                c[e >> 2] = Ra[h + 32 >> 1];
                I(10008, e);
                c[e >> 2] = Ra[h + 34 >> 1];
                I(10056, e);
                c[e >> 2] = W[h + 36 >> 1];
                I(10096, e);
                h = c[h + 12 >> 2] | 0;
                f = c[h + 4 >> 2] | 0;
                if (3 == (f | 0)) {
                    I(10656, e);
                    f = h + 16 | 0;
                    c[e >> 2] = c[f >> 2];
                    I(10568, e);
                    k = c[f >> 2] | 0;
                    if (0 < (k | 0)) {
                        l = h + 12 | 0;
                        g = 0;
                        do k = c[l >> 2] | 0, p = +d[k + (g << 3) >> 2], m = +d[k + (g << 3) + 4 >> 2], c[e >> 2] = g, k = e + 4 | 0, ka[y >> 3] = p, c[k >> 2] = c[y >> 2], c[k + 4 >> 2] = c[y + 4 >> 2], k = e + 12 | 0, ka[y >> 3] = m, c[k >> 2] = c[y >> 2], c[k + 4 >> 2] = c[y + 4 >> 2], I(10592, e), g = g + 1 | 0, k = c[f >> 2] | 0; while ((g | 0) < (k | 0))
                    }
                    c[e >> 2] = k;
                    I(10688, e);
                    l = h + 20 | 0;
                    p = +d[l + 4 >> 2];
                    ka[y >> 3] = +d[l >> 2];
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    l = e + 8 | 0;
                    ka[y >> 3] = p;
                    c[l >> 2] = c[y >> 2];
                    c[l + 4 >> 2] = c[y + 4 >> 2];
                    I(10720, e);
                    l = h + 28 | 0;
                    p = +d[l + 4 >> 2];
                    ka[y >> 3] = +d[l >> 2];
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    l = e + 8 | 0;
                    ka[y >> 3] = p;
                    c[l >> 2] = c[y >> 2];
                    c[l + 4 >> 2] = c[y + 4 >> 2];
                    I(10768, e);
                    c[e >> 2] = wc[h + 36 >> 0];
                    I(10816, e);
                    c[e >> 2] = wc[h + 37 >> 0];
                    I(10856, e)
                } else if (f)
                    if (2 == (f | 0)) {
                        I(10536, e);
                        c[e >> 2] = 16;
                        I(10568, e);
                        f = h + 276 | 0;
                        k = c[f >> 2] | 0;
                        if (0 < (k | 0)) {
                            h = h + 20 | 0;
                            g = 0;
                            do m = +d[h + (g << 3) >> 2], p = +d[h + (g << 3) + 4 >> 2], c[e >> 2] = g, k = e + 4 | 0, ka[y >> 3] = m, c[k >> 2] = c[y >> 2], c[k + 4 >> 2] = c[y + 4 >> 2], k = e + 12 | 0, ka[y >> 3] = p, c[k >> 2] = c[y >> 2], c[k + 4 >> 2] = c[y + 4 >> 2], I(10592, e), g = g + 1 | 0, k = c[f >> 2] | 0; while ((g | 0) < (k | 0))
                        }
                        c[e >> 2] = k;
                        I(10632, e)
                    } else if (1 == (f | 0)) I(10240, e), ka[y >> 3] = +d[h + 8 >> 2], c[e >> 2] = c[y >> 2], c[e + 4 >> 2] = c[y + 4 >> 2], I(10168, e), l = h + 28 | 0, p = +d[l + 4 >> 2], ka[y >> 3] = +d[l >> 2], c[e >> 2] = c[y >> 2], c[e + 4 >> 2] = c[y + 4 >> 2], l = e + 8 | 0, ka[y >> 3] = p, c[l >> 2] = c[y >> 2], c[l + 4 >> 2] = c[y + 4 >> 2], I(10264, e), p = +d[h + 16 >> 2], ka[y >> 3] = +d[h + 12 >> 2], c[e >> 2] = c[y >> 2], c[e + 4 >> 2] = c[y + 4 >> 2], l = e + 8 | 0, ka[y >> 3] = p, c[l >> 2] = c[y >> 2], c[l + 4 >> 2] = c[y + 4 >> 2], I(10312, e), l = h + 20 | 0, p = +d[l + 4 >> 2], ka[y >> 3] = +d[l >> 2], c[e >> 2] = c[y >> 2], c[e + 4 >> 2] = c[y + 4 >> 2], l = e + 8 | 0, ka[y >> 3] = p, c[l >> 2] = c[y >> 2], c[l + 4 >> 2] = c[y + 4 >> 2], I(10360, e), p = +d[h + 40 >> 2], ka[y >> 3] = +d[h + 36 >> 2], c[e >> 2] = c[y >> 2], c[e + 4 >> 2] = c[y + 4 >> 2], l = e + 8 | 0, ka[y >> 3] = p, c[l >> 2] = c[y >> 2], c[l + 4 >> 2] = c[y + 4 >> 2], I(10408, e), c[e >> 2] = wc[h + 44 >> 0], I(10456, e), c[e >> 2] = wc[h + 45 >> 0], I(10496, e);
                else {
                    r = b;
                    return
                } else I(10136, e), ka[y >> 3] = +d[h +
                    8 >> 2], c[e >> 2] = c[y >> 2], c[e + 4 >> 2] = c[y + 4 >> 2], I(10168, e), p = +d[h + 16 >> 2], ka[y >> 3] = +d[h + 12 >> 2], c[e >> 2] = c[y >> 2], c[e + 4 >> 2] = c[y + 4 >> 2], l = e + 8 | 0, ka[y >> 3] = p, c[l >> 2] = c[y >> 2], c[l + 4 >> 2] = c[y + 4 >> 2], I(10200, e);
                I(10896, e);
                I(10904, e);
                I(10896, e);
                c[e >> 2] = a;
                I(10928, e);
                r = b
            }

            function vc(h, a, d, b, e, f) {
                h = h | 0;
                a = a | 0;
                d = d | 0;
                b = b | 0;
                e = e | 0;
                var g = 0,
                    k = 0,
                    g = r,
                    k = h + 40 | 0;
                c[k >> 2] = a;
                c[h + 44 >> 2] = d;
                c[h + 48 >> 2] = b;
                c[h + 28 >> 2] = 0;
                c[h + 36 >> 2] = 0;
                c[h + 32 >> 2] = 0;
                c[h >> 2] = e;
                c[h + 4 >> 2] = f | 0;
                c[h + 8 >> 2] = Ba(e, a << 2) | 0;
                c[h + 12 >> 2] = Ba(c[h >> 2] | 0, d << 2) | 0;
                c[h + 16 >> 2] = Ba(c[h >> 2] | 0, b << 2) | 0;
                c[h + 24 >> 2] = Ba(c[h >> 2] | 0, 12 * (c[k >> 2] | 0) | 0) | 0;
                c[h + 20 >> 2] = Ba(c[h >> 2] | 0, 12 * (c[k >> 2] | 0) | 0) | 0;
                r = g
            }

            function Fc(h) {
                h = h | 0;
                var a = 0,
                    a = r;
                ta(c[h >> 2] | 0, c[h + 20 >> 2] | 0);
                ta(c[h >> 2] | 0, c[h + 24 >> 2] | 0);
                ta(c[h >> 2] | 0, c[h + 16 >> 2] | 0);
                ta(c[h >> 2] | 0, c[h + 12 >> 2] | 0);
                ta(c[h >> 2] | 0, c[h + 8 >> 2] | 0);
                r = a
            }

            function Gc(h, a) {
                h = h | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    g = r;
                r = r + 32 | 0;
                e = g;
                b = h + 4 | 0;
                if (c[b >> 2] | 0 && (f = h + 36 | 0, !(0 >= (c[f >> 2] | 0)))) {
                    x = h + 12 | 0;
                    l = e + 16 | 0;
                    m = 0;
                    do {
                        p = c[(c[x >> 2] | 0) + (m << 2) >> 2] | 0;
                        k = c[a + (156 * m | 0) + 148 >> 2] | 0;
                        c[l >> 2] = k;
                        if (0 < (k | 0)) {
                            h = 0;
                            do d[e + (h << 2) >> 2] = +d[a + (156 * m | 0) + (36 * h | 0) + 16 >> 2], d[e + (h << 2) + 8 >> 2] = +d[a + (156 * m | 0) + (36 * h | 0) + 20 >> 2], h = h + 1 | 0; while ((h | 0) < (k | 0))
                        }
                        k = c[b >> 2] | 0;
                        Gd[c[(c[k >> 2] | 0) + 20 >> 2] & 63](k, p, e);
                        m = m + 1 | 0
                    } while ((m | 0) < (c[f >> 2] | 0))
                }
                r = g
            }

            function Sb(h, a) {
                h = h | 0;
                a = a | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    b = r;
                c[h + 102868 >> 2] & 2 && Q(11064, 11088, 274, 11192);
                e = D[a + 61 >> 0] | 0;
                g = a + 8 | 0;
                k = c[g >> 2] | 0;
                f = a + 12 | 0;
                k && (c[k + 12 >> 2] = c[f >> 2]);
                (k = c[f >> 2] | 0) && (c[k + 8 >> 2] = c[g >> 2]);
                g = h + 102956 | 0;
                (c[g >> 2] | 0) == (a | 0) && (c[g >> 2] = c[f >> 2]);
                f = c[a + 48 >> 2] | 0;
                g = c[a + 52 >> 2] | 0;
                l = f + 4 | 0;
                k = Ra[l >> 1] | 0;
                k & 2 || (W[l >> 1] = k | 2, d[f + 144 >> 2] = 0);
                k = g + 4 | 0;
                l = Ra[k >> 1] | 0;
                l & 2 || (W[k >> 1] = l | 2, d[g + 144 >> 2] = 0);
                l = a + 24 | 0;
                m = c[l >> 2] | 0;
                k = a + 28 | 0;
                m && (c[m + 12 >> 2] = c[k >> 2]);
                (m = c[k >> 2] | 0) && (c[m + 8 >> 2] = c[l >> 2]);
                m = f + 108 | 0;
                (a + 16 | 0) == (c[m >> 2] | 0) && (c[m >> 2] = c[k >> 2]);
                c[l >> 2] = 0;
                c[k >> 2] = 0;
                l = a + 40 | 0;
                m = c[l >> 2] | 0;
                k = a + 44 | 0;
                m && (c[m + 12 >> 2] = c[k >> 2]);
                (m = c[k >> 2] | 0) && (c[m + 8 >> 2] = c[l >> 2]);
                m = g + 108 | 0;
                (a + 32 | 0) == (c[m >> 2] | 0) && (c[m >> 2] = c[k >> 2]);
                c[l >> 2] = 0;
                c[k >> 2] = 0;
                $a[c[(c[a >> 2] | 0) + 24 >> 2] & 127](a);
                do switch (c[a + 4 >> 2] | 0) {
                    case 6:
                        da(h, a, 276);
                        break;
                    case 11:
                        da(h, a, 192);
                        break;
                    case 3:
                        da(h, a, 176);
                        break;
                    case 5:
                        da(h, a, 168);
                        break;
                    case 8:
                        da(h, a, 208);
                        break;
                    case 10:
                        da(h, a, 168);
                        break;
                    case 7:
                        da(h, a, 224);
                        break;
                    case 4:
                        da(h, a, 196);
                        break;
                    case 9:
                        da(h, a, 180);
                        break;
                    case 1:
                        da(h, a, 228);
                        break;
                    case 2:
                        da(h, a, 256);
                        break;
                    default:
                        Q(15224, 15232, 178, 15288)
                }
                while (0);
                a = h + 102964 | 0;
                h = c[a >> 2] | 0;
                0 >= (h | 0) && Q(11208, 11088, 346, 11192);
                c[a >> 2] = h + -1;
                if (!(e << 24 >> 24) && (e = c[g + 112 >> 2] | 0)) {
                    do(c[e >> 2] | 0) == (f | 0) && (m = (c[e + 4 >> 2] | 0) + 4 | 0, c[m >> 2] |= 8), e = c[e + 12 >> 2] | 0; while (0 != (e | 0))
                }
                r = b
            }

            function Cc(h, a) {
                h = h | 0;
                a = a | 0;
                var d = 0,
                    b = 0,
                    d = h + 28 | 0,
                    b = c[d >> 2] | 0;
                (b | 0) < (c[h + 40 >> 2] | 0) ? (c[a + 8 >> 2] = b, b = c[d >> 2] | 0, c[(c[h + 8 >> 2] | 0) + (b << 2) >> 2] = a, c[d >> 2] = b + 1) : Q(12040, 11952, 54, 11992)
            }

            function Sc(h, a) {
                h = h | 0;
                a = a | 0;
                var d = 0,
                    b = 0,
                    b = h + 36 | 0,
                    d = c[b >> 2] | 0;
                (d | 0) < (c[h + 44 >> 2] | 0) ? (c[b >> 2] = d + 1, c[(c[h + 12 >> 2] | 0) + (d << 2) >> 2] = a) : Q(12E3, 11952, 62, 11992)
            }

            function Ib(h, a) {
                var d = 0,
                    d = r;
                r = r + 16 | 0;
                c[d >> 2] = a | 0;
                a = c[id >> 2] | 0;
                rd(a | 0, h | 0, d | 0) | 0;
                ac(10, a | 0) | 0;
                va()
            }

            function gc(h, a, d) {
                h = h | 0;
                a = a | 0;
                d = d | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    b = r;
                r = r + 64 | 0;
                e = b;
                if ((h | 0) == (a | 0)) return r = b, 1;
                if (!a) return r = b, 0;
                a = oc(a, 18480) | 0;
                if (!a) return r = b, 0;
                g = e + 0 | 0;
                f = g + 56 | 0;
                do c[g >> 2] = 0, g = g + 4 | 0; while ((g | 0) < (f | 0));
                c[e >> 2] = a;
                c[e + 8 >> 2] = h;
                c[e + 12 >> 2] = -1;
                c[e + 48 >> 2] = 1;
                cc[c[(c[a >> 2] | 0) + 28 >> 2] & 63](a, e, c[d >> 2] | 0, 1);
                if (1 != (c[e + 24 >> 2] | 0)) return r = b, 0;
                c[d >> 2] = c[e + 16 >> 2];
                r = b;
                return 1
            }

            function pc(h, a, d) {
                h = h | 0;
                a = a | 0;
                d = d | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    b = r,
                    e = h + 16 | 0;
                (f = c[e >> 2] | 0) ? (f | 0) != (a | 0) ? (f = h + 36 | 0, c[f >> 2] = (c[f >> 2] | 0) + 1, c[h + 24 >> 2] = 2, D[h + 54 >> 0] = 1) : (a = h + 24 | 0, 2 == (c[a >> 2] | 0) && (c[a >> 2] = d)) : (c[e >> 2] = a, c[h + 24 >> 2] = d, c[h + 36 >> 2] = 1);
                r = b
            }

            function tc(h, a, d, b) {
                h = h | 0;
                d = d | 0;
                var e = 0,
                    f = 0,
                    g = 0,
                    e = r,
                    f = c[h + 4 >> 2] | 0,
                    g = f >> 8;
                f & 1 && (g = c[(c[d >> 2] | 0) + g >> 2] | 0);
                h = c[h >> 2] | 0;
                cc[c[(c[h >> 2] | 0) + 28 >> 2] & 63](h, a | 0, d + g | 0, 0 != (f & 2 | 0) ? b | 0 : 2);
                r = e
            }

            function oc(h, a) {
                h = h | 0;
                a = a | 0;
                var d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    d = r;
                r = r + 64 | 0;
                l = d;
                b = c[h >> 2] | 0;
                e = h + (c[b + -8 >> 2] | 0) | 0;
                b = c[b + -4 >> 2] | 0;
                c[l >> 2] = a;
                c[l + 4 >> 2] = h;
                c[l + 8 >> 2] = 18424;
                x = l + 12 | 0;
                m = l + 16 | 0;
                p = l + 20 | 0;
                f = l + 24 | 0;
                h = l + 28 | 0;
                g = l + 32 | 0;
                k = l + 40 | 0;
                q = (b | 0) == (a | 0);
                a = x + 0 | 0;
                n = a + 40 | 0;
                do c[a >> 2] = 0, a = a + 4 | 0; while ((a | 0) < (n | 0));
                W[x + 40 >> 1] = 0;
                D[x + 42 >> 0] = 0;
                do
                    if (q) c[l + 48 >> 2] = 1, sd[c[(c[b >> 2] | 0) + 20 >> 2] & 63](b, l, e, e, 1, 0), h = 1 == (c[f >> 2] | 0) ? e : 0;
                    else if (nd[c[(c[b >> 2] | 0) + 24 >> 2] & 63](b, l, e, 1, 0), b = c[l + 36 >> 2] | 0)
                    if (1 != (b | 0)) h = 0;
                    else {
                        if (1 != (c[f >> 2] | 0)) {
                            if (c[k >> 2] | 0) {
                                h = 0;
                                break
                            }
                            if (1 != (c[h >> 2] | 0)) {
                                h = 0;
                                break
                            }
                            if (1 != (c[g >> 2] | 0)) {
                                h = 0;
                                break
                            }
                        }
                        h = c[m >> 2] | 0
                    }
                else h = 1 != (c[k >> 2] | 0) ? 0 : 1 != (c[h >> 2] | 0) ? 0 : 1 == (c[g >> 2] | 0) ? c[p >> 2] | 0 : 0; while (0);
                r = d;
                return h | 0
            }

            function $b(h, a, d, b) {
                h = h | 0;
                a = a | 0;
                b = b | 0;
                var e = 0,
                    f = 0,
                    e = r;
                D[h + 53 >> 0] = 1;
                (c[h + 4 >> 2] | 0) == (d | 0) && (D[h + 52 >> 0] = 1, d = h + 16 | 0, (f = c[d >> 2] | 0) ? (f | 0) != (a | 0) ? (f = h + 36 | 0, c[f >> 2] = (c[f >> 2] | 0) + 1, D[h + 54 >> 0] = 1) : (a = h + 24 | 0, d = c[a >> 2] | 0, 2 == (d | 0) ? c[a >> 2] = b : b = d, 1 == (b | 0) && 1 == (c[h + 48 >> 2] | 0) && (D[h + 54 >> 0] = 1)) : (c[d >> 2] = a, c[h + 24 >> 2] = b, c[h + 36 >> 2] = 1, 1 == (b | 0) && 1 == (c[h + 48 >> 2] | 0) && (D[h + 54 >> 0] = 1)));
                r = e
            }

            function qb(h, a, d, b, e, f) {
                h = h | 0;
                b = b | 0;
                var g = 0,
                    k = 0,
                    l = 0,
                    g = r,
                    k = c[h + 4 >> 2] | 0,
                    l = k >> 8;
                k & 1 && (l = c[(c[b >> 2] | 0) + l >> 2] | 0);
                h = c[h >> 2] | 0;
                sd[c[(c[h >> 2] | 0) + 20 >> 2] & 63](h, a | 0, d | 0, b + l | 0, 0 != (k & 2 | 0) ? e | 0 : 2, f | 0);
                r = g
            }

            function mc(h, a, d, b, e) {
                h = h | 0;
                d = d | 0;
                var f = 0,
                    g = 0,
                    k = 0,
                    f = r,
                    g = c[h + 4 >> 2] | 0,
                    k = g >> 8;
                g & 1 && (k = c[(c[d >> 2] | 0) + k >> 2] | 0);
                h = c[h >> 2] | 0;
                nd[c[(c[h >> 2] | 0) + 24 >> 2] & 63](h, a | 0, d + k | 0, 0 != (g & 2 | 0) ? b | 0 : 2, e | 0);
                r = f
            }

            function ma(h) {
                h = h | 0;
                var a = 0,
                    d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    Z = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    y = 0,
                    K = 0,
                    E = 0,
                    u = 0,
                    w = 0,
                    D = 0,
                    A = 0,
                    z = 0,
                    v = 0,
                    M = 0,
                    C = 0,
                    H = 0,
                    a = r;
                do
                    if (245 > h >>> 0) {
                        h = 11 > h >>> 0 ? 16 : h + 11 & -8;
                        ba = h >>> 3;
                        q = c[4710] | 0;
                        y = q >>> ba;
                        if (y & 3) return g = (y & 1 ^ 1) + ba | 0, f = g << 1, b = 18880 + (f << 2) | 0, f = 18880 + (f + 2 << 2) | 0, k = c[f >> 2] | 0, d = k + 8 | 0, e = c[d >> 2] | 0, (b | 0) != (e | 0) ? (e >>> 0 < (c[4714] | 0) >>> 0 && va(), l = e + 12 | 0, (c[l >> 2] | 0) == (k | 0) ? (c[l >> 2] = b, c[f >> 2] = e) : va()) : c[4710] = q & ~(1 << g), H = g << 3, c[k + 4 >> 2] = H | 3, H = k + (H | 4) | 0, c[H >> 2] |= 1, H = d, r = a, H | 0;
                        if (h >>> 0 > (c[4712] | 0) >>> 0) {
                            if (y) {
                                g = 2 << ba;
                                g = y << ba & (g | 0 - g);
                                g = (g & 0 - g) + -1 | 0;
                                d = g >>> 12 & 16;
                                g >>>= d;
                                e = g >>> 5 & 8;
                                g >>>= e;
                                f = g >>> 2 & 4;
                                g >>>= f;
                                b = g >>> 1 & 2;
                                g >>>= b;
                                k = g >>> 1 & 1;
                                k = (e | d | f | b | k) + (g >>> k) | 0;
                                g = k << 1;
                                b = 18880 + (g << 2) | 0;
                                g = 18880 + (g + 2 << 2) | 0;
                                f = c[g >> 2] | 0;
                                d = f + 8 | 0;
                                e = c[d >> 2] | 0;
                                (b | 0) != (e | 0) ? (e >>> 0 < (c[4714] | 0) >>> 0 && va(), l = e + 12 | 0, (c[l >> 2] | 0) == (f | 0) ? (c[l >> 2] = b, c[g >> 2] = e) : va()) : c[4710] = q & ~(1 << k);
                                g = k << 3;
                                e = g - h | 0;
                                c[f + 4 >> 2] = h | 3;
                                b = f + h | 0;
                                c[f + (h | 4) >> 2] = e | 1;
                                c[f + g >> 2] = e;
                                if (g = c[4712] | 0) f = c[4715] | 0, l = g >>> 3, k = l << 1, g = 18880 + (k << 2) | 0, m = c[4710] | 0, l = 1 << l, m & l ? (k = 18880 + (k + 2 << 2) | 0, l = c[k >> 2] | 0, l >>> 0 < (c[4714] | 0) >>> 0 ? va() : (z = k, A = l)) : (c[4710] = m | l, z = 18880 + (k + 2 << 2) | 0, A = g), c[z >> 2] = f, c[A + 12 >> 2] = f, c[f + 8 >> 2] = A, c[f + 12 >> 2] = g;
                                c[4712] = e;
                                c[4715] = b;
                                H = d;
                                r = a;
                                return H | 0
                            }
                            if (q = c[4711] | 0) {
                                b = (q & 0 - q) + -1 | 0;
                                C = b >>> 12 & 16;
                                b >>>= C;
                                M = b >>> 5 & 8;
                                b >>>= M;
                                H = b >>> 2 & 4;
                                b >>>= H;
                                e = b >>> 1 & 2;
                                b >>>= e;
                                d = b >>> 1 & 1;
                                d = c[19144 + ((M | C | H | e | d) + (b >>> d) << 2) >> 2] | 0;
                                b = (c[d + 4 >> 2] & -8) - h | 0;
                                for (e = d;;) {
                                    f = c[e + 16 >> 2] | 0;
                                    if (!f && (f = c[e + 20 >> 2] | 0, !f)) break;
                                    e = (c[f + 4 >> 2] & -8) - h | 0;
                                    b = (H = e >>> 0 < b >>> 0) ? e : b;
                                    e = f;
                                    d = H ? f : d
                                }
                                g = c[4714] | 0;
                                d >>> 0 < g >>> 0 && va();
                                e = d + h | 0;
                                d >>> 0 >= e >>> 0 && va();
                                f = c[d + 24 >> 2] | 0;
                                l = c[d + 12 >> 2] | 0;
                                do
                                    if ((l | 0) == (d | 0)) {
                                        l = d + 20 | 0;
                                        k = c[l >> 2] | 0;
                                        if (!k && (l = d + 16 | 0, k = c[l >> 2] | 0, !k)) {
                                            D = 0;
                                            break
                                        }
                                        for (;;)
                                            if (m = k + 20 | 0, p = c[m >> 2] | 0) k = p, l = m;
                                            else if (p = k + 16 | 0, m = c[p >> 2] | 0) k = m, l = p;
                                        else break;
                                        l >>> 0 < g >>> 0 ? va() : (c[l >> 2] = 0, D = k)
                                    } else k = c[d + 8 >> 2] | 0, k >>> 0 < g >>> 0 && va(), g = k + 12 | 0, (c[g >> 2] | 0) != (d | 0) && va(), m = l + 8 | 0, (c[m >> 2] | 0) == (d | 0) ? (c[g >> 2] = l, c[m >> 2] = k, D = l) : va(); while (0);
                                do
                                    if (f) {
                                        g = c[d + 28 >> 2] | 0;
                                        k = 19144 + (g << 2) | 0;
                                        if ((d | 0) == (c[k >> 2] | 0)) {
                                            if (c[k >> 2] = D, !D) {
                                                c[4711] &= ~(1 << g);
                                                break
                                            }
                                        } else if (f >>> 0 < (c[4714] | 0) >>> 0 && va(), g = f + 16 | 0, (c[g >> 2] | 0) == (d | 0) ? c[g >> 2] = D : c[f + 20 >> 2] = D, !D) break;
                                        D >>> 0 < (c[4714] | 0) >>> 0 && va();
                                        c[D + 24 >> 2] = f;
                                        if (f = c[d + 16 >> 2] | 0) f >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[D + 16 >> 2] = f, c[f + 24 >> 2] = D);
                                        if (f = c[d + 20 >> 2] | 0) f >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[D + 20 >> 2] = f, c[f + 24 >> 2] = D)
                                    }
                                while (0);
                                if (16 > b >>> 0) H = b + h | 0, c[d + 4 >> 2] = H | 3, H = d + (H + 4) | 0, c[H >> 2] |= 1;
                                else {
                                    c[d + 4 >> 2] = h | 3;
                                    c[d + (h | 4) >> 2] = b | 1;
                                    c[d + (b + h) >> 2] = b;
                                    if (g = c[4712] | 0) f = c[4715] | 0, m = g >>> 3, k = m << 1, g = 18880 + (k << 2) | 0, l = c[4710] | 0, m = 1 << m, l & m ? (k = 18880 + (k + 2 << 2) | 0, l = c[k >> 2] | 0, l >>> 0 < (c[4714] | 0) >>> 0 ? va() : (w = k, u = l)) : (c[4710] = l | m, w = 18880 + (k + 2 << 2) | 0, u = g), c[w >> 2] = f, c[u + 12 >> 2] = f, c[f + 8 >> 2] = u, c[f + 12 >> 2] = g;
                                    c[4712] = b;
                                    c[4715] = e
                                }
                                H = d + 8 | 0;
                                r = a;
                                return H | 0
                            }
                        }
                    } else if (4294967231 >= h >>> 0) {
                    if (u = h + 11 | 0, h = u & -8, D = c[4711] | 0) {
                        w = 0 - h | 0;
                        (u >>>= 8) ? 16777215 < h >>> 0 ? A = 31 : (C = (u + 1048320 | 0) >>> 16 & 8, H = u << C, M = (H + 520192 | 0) >>> 16 & 4, H <<= M, A = (H + 245760 | 0) >>> 16 & 2, A = 14 - (M | C | A) + (H << A >>> 15) | 0, A = h >>> (A + 7 | 0) & 1 | A << 1): A = 0;
                        z = c[19144 + (A << 2) >> 2] | 0;
                        a: do
                            if (z)
                                for (u = 31 == (A | 0) ? 0 : 25 - (A >>> 1) | 0, M = 0, v = h << u, u = 0;;) {
                                    H = c[z + 4 >> 2] & -8;
                                    C = H - h | 0;
                                    if (C >>> 0 < w >>> 0)
                                        if ((H | 0) == (h | 0)) {
                                            w = C;
                                            u = M = z;
                                            break a
                                        } else w = C, u = z;
                                    H = c[z + 20 >> 2] | 0;
                                    z = c[z + (v >>> 31 << 2) + 16 >> 2] | 0;
                                    M = 0 == (H | 0) | (H | 0) == (z | 0) ? M : H;
                                    if (z) v <<= 1;
                                    else break
                                } else u = M = 0; while (0);
                        if (0 == (M | 0) & 0 == (u | 0)) {
                            H = 2 << A;
                            D &= H | 0 - H;
                            if (!D) break;
                            H = (D & 0 - D) + -1 | 0;
                            z = H >>> 12 & 16;
                            H >>>= z;
                            A = H >>> 5 & 8;
                            H >>>= A;
                            v = H >>> 2 & 4;
                            H >>>= v;
                            C = H >>> 1 & 2;
                            H >>>= C;
                            M = H >>> 1 & 1;
                            M = c[19144 + ((A | z | v | C | M) + (H >>> M) << 2) >> 2] | 0
                        }
                        if (M)
                            for (;;)
                                if (H = (c[M + 4 >> 2] & -8) - h | 0, w = (D = H >>> 0 < w >>> 0) ? H : w, u = D ? M : u, D = c[M + 16 >> 2] | 0) M = D;
                                else if (M = c[M + 20 >> 2] | 0, !M) break;
                        if (0 != (u | 0) && w >>> 0 < ((c[4712] | 0) - h | 0) >>> 0) {
                            e = c[4714] | 0;
                            u >>> 0 < e >>> 0 && va();
                            d = u + h | 0;
                            u >>> 0 >= d >>> 0 && va();
                            b = c[u + 24 >> 2] | 0;
                            g = c[u + 12 >> 2] | 0;
                            do
                                if ((g | 0) == (u | 0)) {
                                    g = u + 20 | 0;
                                    f = c[g >> 2] | 0;
                                    if (!f && (g = u + 16 | 0, f = c[g >> 2] | 0, !f)) {
                                        K = 0;
                                        break
                                    }
                                    for (;;)
                                        if (k = f + 20 | 0, l = c[k >> 2] | 0) f = l, g = k;
                                        else if (k = f + 16 | 0, l = c[k >> 2] | 0) f = l, g = k;
                                    else break;
                                    g >>> 0 < e >>> 0 ? va() : (c[g >> 2] = 0, K = f)
                                } else f = c[u + 8 >> 2] | 0, f >>> 0 < e >>> 0 && va(), e = f + 12 | 0, (c[e >> 2] | 0) != (u | 0) && va(), k = g + 8 | 0, (c[k >> 2] | 0) == (u | 0) ? (c[e >> 2] = g, c[k >> 2] = f, K = g) : va(); while (0);
                            do
                                if (b) {
                                    f = c[u + 28 >> 2] | 0;
                                    e = 19144 + (f << 2) | 0;
                                    if ((u | 0) == (c[e >> 2] | 0)) {
                                        if (c[e >> 2] = K, !K) {
                                            c[4711] &= ~(1 << f);
                                            break
                                        }
                                    } else if (b >>> 0 < (c[4714] | 0) >>> 0 && va(), e = b + 16 | 0, (c[e >> 2] | 0) == (u | 0) ? c[e >> 2] = K : c[b + 20 >> 2] = K, !K) break;
                                    K >>> 0 < (c[4714] | 0) >>> 0 && va();
                                    c[K + 24 >> 2] = b;
                                    if (b = c[u + 16 >> 2] | 0) b >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[K + 16 >> 2] = b, c[b + 24 >> 2] = K);
                                    if (b = c[u + 20 >> 2] | 0) b >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[K + 20 >> 2] = b, c[b + 24 >> 2] = K)
                                }
                            while (0);
                            a: do
                                if (16 <= w >>> 0)
                                    if (c[u + 4 >> 2] = h | 3, c[u + (h | 4) >> 2] = w | 1, c[u + (w + h) >> 2] = w, e = w >>> 3, 256 > w >>> 0) g = e << 1, b = 18880 + (g << 2) | 0, f = c[4710] | 0, e = 1 << e, f & e ? (e = 18880 + (g + 2 << 2) | 0, f = c[e >> 2] | 0, f >>> 0 >= (c[4714] | 0) >>> 0 ? (y = e, ba = f) : va()) : (c[4710] = f | e, y = 18880 + (g + 2 << 2) | 0, ba = b), c[y >> 2] = d, c[ba + 12 >> 2] = d, c[u + (h + 8) >> 2] = ba, c[u + (h + 12) >> 2] = b;
                                    else
                            if ((b = w >>> 8) ? 16777215 < w >>> 0 ? b = 31 : (C = (b + 1048320 | 0) >>> 16 & 8, H = b << C, M = (H + 520192 | 0) >>> 16 & 4, H <<= M, b = (H + 245760 | 0) >>> 16 & 2, b = 14 - (M | C | b) + (H << b >>> 15) | 0, b = w >>> (b + 7 | 0) & 1 | b << 1) : b = 0, e = 19144 + (b << 2) | 0, c[u + (h + 28) >> 2] = b, c[u + (h + 20) >> 2] = 0, c[u + (h + 16) >> 2] = 0, g = c[4711] | 0, f = 1 << b, g & f) {
                                e = c[e >> 2] | 0;
                                b = 31 == (b | 0) ? 0 : 25 - (b >>> 1) | 0;
                                b: do
                                    if ((c[e + 4 >> 2] & -8 | 0) != (w | 0)) {
                                        for (b = w << b;;) {
                                            f = e + (b >>> 31 << 2) + 16 | 0;
                                            g = c[f >> 2] | 0;
                                            if (!g) break;
                                            if ((c[g + 4 >> 2] & -8 | 0) == (w | 0)) {
                                                q = g;
                                                break b
                                            } else b <<= 1, e = g
                                        }
                                        if (f >>> 0 < (c[4714] | 0) >>> 0) va();
                                        else {
                                            c[f >> 2] = d;
                                            c[u + (h + 24) >> 2] = e;
                                            c[u + (h + 12) >> 2] = d;
                                            c[u + (h + 8) >> 2] = d;
                                            break a
                                        }
                                    } else q = e; while (0);
                                e = q + 8 | 0;
                                b = c[e >> 2] | 0;
                                f = c[4714] | 0;
                                q >>> 0 < f >>> 0 && va();
                                b >>> 0 < f >>> 0 ? va() : (c[b + 12 >> 2] = d, c[e >> 2] = d, c[u + (h + 8) >> 2] = b, c[u + (h + 12) >> 2] = q, c[u + (h + 24) >> 2] = 0)
                            } else c[4711] = g | f, c[e >> 2] = d, c[u + (h + 24) >> 2] = e, c[u + (h + 12) >> 2] = d, c[u + (h + 8) >> 2] = d;
                            else H = w + h | 0, c[u + 4 >> 2] = H | 3, H = u + (H + 4) | 0, c[H >> 2] |= 1;
                            while (0);
                            H = u + 8 | 0;
                            r = a;
                            return H | 0
                        }
                    }
                } else h = -1;
                while (0);
                q = c[4712] | 0;
                if (h >>> 0 <= q >>> 0) return b = q - h | 0, d = c[4715] | 0, 15 < b >>> 0 ? (c[4715] = d + h, c[4712] = b, c[d + (h + 4) >> 2] = b | 1, c[d + q >> 2] = b, c[d + 4 >> 2] = h | 3) : (c[4712] = 0, c[4715] = 0, c[d + 4 >> 2] = q | 3, H = d + (q + 4) | 0, c[H >> 2] |= 1), r = a, d + 8 | 0;
                q = c[4713] | 0;
                if (h >>> 0 < q >>> 0) return C = q - h | 0, c[4713] = C, H = c[4716] | 0, c[4716] = H + h, c[H + (h +
                    4) >> 2] = C | 1, c[H + 4 >> 2] = h | 3, H = H + 8 | 0, r = a, H | 0;
                c[4828] | 0 || (q = Ad(30) | 0, q + -1 & q ? va() : (c[4830] = q, c[4829] = q, c[4831] = -1, c[4832] = -1, c[4833] = 0, c[4821] = 0, c[4828] = (Dc(0) | 0) & -16 ^ 1431655768));
                y = h + 48 | 0;
                q = c[4830] | 0;
                K = h + 47 | 0;
                u = q + K | 0;
                q = 0 - q | 0;
                ba = u & q;
                if (ba >>> 0 <= h >>> 0) return r = a, 0;
                w = c[4820] | 0;
                if (0 != (w | 0) && (C = c[4818] | 0, H = C + ba | 0, H >>> 0 <= C >>> 0 | H >>> 0 > w >>> 0)) return r = a, 0;
                a: do {
                    if (c[4821] & 4) w = 0;
                    else {
                        D = c[4716] | 0;
                        b: do
                            if (D) {
                                for (w = 19288;;) {
                                    A = c[w >> 2] | 0;
                                    if (A >>> 0 <= D >>> 0 && (E = w + 4 | 0, (A + (c[E >> 2] | 0) | 0) >>> 0 > D >>> 0)) break;
                                    w = c[w + 8 >> 2] | 0;
                                    if (!w) {
                                        n = 182;
                                        break b
                                    }
                                }
                                w ? (D = u - (c[4713] | 0) & q, 2147483647 > D >>> 0 ? (q = hb(D | 0) | 0, w = (q | 0) == ((c[w >> 2] | 0) + (c[E >> 2] | 0) | 0), E = q, u = D, q = w ? q : -1, w = w ? D : 0, n = 191) : w = 0) : n = 182
                            } else n = 182; while (0);
                        182 == (n | 0) && (q = hb(0) | 0, -1 != (q | 0) ? (u = q, w = c[4829] | 0, E = w + -1 | 0, w = E & u ? ba - u + (E + u & 0 - w) | 0 : ba, E = c[4818] | 0, u = E + w | 0, w >>> 0 > h >>> 0 & 2147483647 > w >>> 0 ? (H = c[4820] | 0, 0 != (H | 0) && u >>> 0 <= E >>> 0 | u >>> 0 > H >>> 0 ? w = 0 : (E = hb(w | 0) | 0, n = (E | 0) == (q | 0), u = w, q = n ? q : -1, w = n ? w : 0, n = 191)) : w = 0) : w = 0);
                        b: do
                            if (191 == (n | 0)) {
                                n = 0 - u | 0;
                                if (-1 != (q | 0)) {
                                    t = w;
                                    n = 202;
                                    break a
                                }
                                do
                                    if (-1 != (E | 0) & 2147483647 > u >>> 0 & u >>> 0 < y >>> 0 && (G = c[4830] | 0, G = K - u + G & 0 - G, 2147483647 > G >>> 0))
                                        if (-1 == (hb(G | 0) | 0)) {
                                            hb(n | 0) | 0;
                                            break b
                                        } else u = G + u | 0; while (0);
                                if (-1 != (E | 0)) {
                                    q = E;
                                    t = u;
                                    n = 202;
                                    break a
                                }
                            }
                        while (0);
                        c[4821] |= 4
                    }
                    n = 199
                } while (0);
                199 == (n | 0) && 2147483647 > ba >>> 0 && (N = hb(ba | 0) | 0, B = hb(0) | 0, -1 != (B | 0) & -1 != (N | 0) & N >>> 0 < B >>> 0) && (Z = B - N | 0, t = Z >>> 0 > (h + 40 | 0) >>> 0, t) && (q = N, t = t ? Z : w, n = 202);
                if (202 == (n | 0)) {
                    Z = (c[4818] | 0) + t | 0;
                    c[4818] = Z;
                    Z >>> 0 > (c[4819] | 0) >>> 0 && (c[4819] = Z);
                    Z = c[4716] | 0;
                    a: do
                        if (Z) {
                            for (ba = 19288;;) {
                                N = c[ba >> 2] | 0;
                                G = ba + 4 | 0;
                                B = c[G >> 2] | 0;
                                if ((q | 0) == (N +
                                        B | 0)) {
                                    n = 214;
                                    break
                                }
                                if (y = c[ba + 8 >> 2] | 0) ba = y;
                                else break
                            }
                            if (214 == (n | 0) && 0 == (c[ba + 12 >> 2] & 8 | 0) && Z >>> 0 >= N >>> 0 & Z >>> 0 < q >>> 0) c[G >> 2] = B + t, d = (c[4713] | 0) + t | 0, b = Z + 8 | 0, b = b & 7 ? 0 - b & 7 : 0, H = d - b | 0, c[4716] = Z + b, c[4713] = H, c[Z + (b + 4) >> 2] = H | 1, c[Z + (d + 4) >> 2] = 40, c[4717] = c[4832];
                            else {
                                q >>> 0 < (c[4714] | 0) >>> 0 && (c[4714] = q);
                                N = q + t | 0;
                                for (B = 19288;;) {
                                    if ((c[B >> 2] | 0) == (N | 0)) {
                                        n = 224;
                                        break
                                    }
                                    if (G = c[B + 8 >> 2] | 0) B = G;
                                    else break
                                }
                                if (224 == (n | 0) && 0 == (c[B + 12 >> 2] & 8 | 0)) {
                                    c[B >> 2] = q;
                                    g = B + 4 | 0;
                                    c[g >> 2] = (c[g >> 2] | 0) + t;
                                    g = q + 8 | 0;
                                    g = g & 7 ? 0 - g & 7 : 0;
                                    k = q + (t + 8) | 0;
                                    x = k & 7 ? 0 - k & 7 : 0;
                                    n = q + (x + t) | 0;
                                    k = g + h | 0;
                                    l = q + k | 0;
                                    p = n - (q + g) - h | 0;
                                    c[q + (g + 4) >> 2] = h | 3;
                                    b: do
                                        if ((n | 0) != (c[4716] | 0))
                                            if ((n | 0) == (c[4715] | 0)) H = (c[4712] | 0) + p | 0, c[4712] = H, c[4715] = l, c[q + (k + 4) >> 2] = H | 1, c[q + (H + k) >> 2] = H;
                                            else {
                                                Z = t + 4 | 0;
                                                N = c[q + (Z + x) >> 2] | 0;
                                                if (1 == (N & 3 | 0)) {
                                                    h = N & -8;
                                                    B = N >>> 3;
                                                    c: do
                                                        if (256 <= N >>> 0) {
                                                            m = c[q + ((x | 24) + t) >> 2] | 0;
                                                            G = c[q + (t + 12 + x) >> 2] | 0;
                                                            do
                                                                if ((G | 0) == (n | 0)) {
                                                                    G = x | 16;
                                                                    N = q + (Z + G) | 0;
                                                                    B = c[N >> 2] | 0;
                                                                    if (!B && (N = q + (G + t) | 0, B = c[N >> 2] | 0, !B)) {
                                                                        f = 0;
                                                                        break
                                                                    }
                                                                    for (;;)
                                                                        if (G = B + 20 | 0, ba = c[G >> 2] | 0) B = ba, N = G;
                                                                        else if (G = B + 16 | 0, ba = c[G >> 2] | 0) B = ba, N = G;
                                                                    else break;
                                                                    N >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[N >> 2] = 0, f = B)
                                                                } else N = c[q + ((x | 8) + t) >> 2] | 0, N >>> 0 < (c[4714] | 0) >>> 0 && va(), ba = N + 12 | 0, (c[ba >> 2] | 0) != (n | 0) && va(), B = G + 8 | 0, (c[B >> 2] | 0) == (n | 0) ? (c[ba >> 2] = G, c[B >> 2] = N, f = G) : va(); while (0);
                                                            if (m) {
                                                                N = c[q + (t + 28 + x) >> 2] | 0;
                                                                B = 19144 + (N << 2) | 0;
                                                                do
                                                                    if ((n | 0) != (c[B >> 2] | 0)) {
                                                                        if (m >>> 0 < (c[4714] | 0) >>> 0 && va(), B = m + 16 | 0, (c[B >> 2] | 0) == (n | 0) ? c[B >> 2] = f : c[m + 20 >> 2] = f, !f) break c
                                                                    } else if (c[B >> 2] = f, !f) {
                                                                    c[4711] &= ~(1 << N);
                                                                    break c
                                                                } while (0);
                                                                f >>> 0 < (c[4714] | 0) >>> 0 && va();
                                                                c[f + 24 >> 2] = m;
                                                                m = x | 16;
                                                                if (n = c[q + (m + t) >> 2] | 0) n >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[f + 16 >> 2] = n, c[n + 24 >> 2] = f);
                                                                if (m = c[q + (Z + m) >> 2] | 0) m >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[f + 20 >> 2] = m, c[m + 24 >> 2] = f)
                                                            }
                                                        } else Z = c[q + ((x | 8) + t) >> 2] | 0, f = c[q + (t + 12 + x) >> 2] | 0, N = 18880 + (B << 1 << 2) | 0, (Z | 0) != (N | 0) && (Z >>> 0 < (c[4714] | 0) >>> 0 && va(), (c[Z + 12 >> 2] | 0) != (n | 0) && va()), (f | 0) == (Z | 0) ? c[4710] &= ~(1 << B) : ((f | 0) == (N | 0) ? m = f + 8 | 0 : (f >>> 0 < (c[4714] | 0) >>> 0 && va(), B = f + 8 | 0, (c[B >> 2] | 0) == (n | 0) ? m = B : va()), c[Z + 12 >> 2] = f, c[m >> 2] = Z); while (0);
                                                    n = q + ((h | x) + t) | 0;
                                                    p = h + p | 0
                                                }
                                                f = n + 4 | 0;
                                                c[f >> 2] &= -2;
                                                c[q + (k + 4) >> 2] = p | 1;
                                                c[q + (p + k) >> 2] = p;
                                                f = p >>> 3;
                                                if (256 > p >>> 0) p = f << 1, d = 18880 + (p << 2) | 0, m = c[4710] | 0, f = 1 << f, m & f ? (m = 18880 + (p + 2 << 2) | 0, f = c[m >> 2] | 0, f >>> 0 >= (c[4714] | 0) >>> 0 ? (e = m, b = f) : va()) : (c[4710] = m | f, e = 18880 + (p + 2 << 2) | 0, b = d), c[e >> 2] = l, c[b + 12 >> 2] = l, c[q + (k + 8) >> 2] = b, c[q + (k + 12) >> 2] = d;
                                                else if ((b = p >>> 8) ? 16777215 < p >>> 0 ? b = 31 : (C = (b + 1048320 | 0) >>> 16 & 8, H = b << C, M = (H + 520192 | 0) >>> 16 & 4, H <<= M, b = (H + 245760 | 0) >>> 16 & 2, b = 14 - (M | C | b) + (H << b >>> 15) | 0, b = p >>> (b + 7 | 0) & 1 | b << 1) : b = 0, m = 19144 + (b << 2) | 0, c[q + (k + 28) >> 2] = b, c[q + (k + 20) >> 2] = 0, c[q + (k + 16) >> 2] = 0, e = c[4711] | 0, f = 1 << b, e & f) {
                                                    m = c[m >> 2] | 0;
                                                    b = 31 == (b | 0) ? 0 : 25 -
                                                        (b >>> 1) | 0;
                                                    c: do
                                                        if ((c[m + 4 >> 2] & -8 | 0) != (p | 0)) {
                                                            for (b = p << b;;) {
                                                                f = m + (b >>> 31 << 2) + 16 | 0;
                                                                e = c[f >> 2] | 0;
                                                                if (!e) break;
                                                                if ((c[e + 4 >> 2] & -8 | 0) == (p | 0)) {
                                                                    d = e;
                                                                    break c
                                                                } else b <<= 1, m = e
                                                            }
                                                            if (f >>> 0 < (c[4714] | 0) >>> 0) va();
                                                            else {
                                                                c[f >> 2] = l;
                                                                c[q + (k + 24) >> 2] = m;
                                                                c[q + (k + 12) >> 2] = l;
                                                                c[q + (k + 8) >> 2] = l;
                                                                break b
                                                            }
                                                        } else d = m; while (0);
                                                    e = d + 8 | 0;
                                                    b = c[e >> 2] | 0;
                                                    f = c[4714] | 0;
                                                    d >>> 0 < f >>> 0 && va();
                                                    b >>> 0 < f >>> 0 ? va() : (c[b + 12 >> 2] = l, c[e >> 2] = l, c[q + (k + 8) >> 2] = b, c[q + (k + 12) >> 2] = d, c[q + (k + 24) >> 2] = 0)
                                                } else c[4711] = e | f, c[m >> 2] = l, c[q + (k + 24) >> 2] = m, c[q + (k + 12) >> 2] = l, c[q + (k + 8) >> 2] = l
                                            }
                                    else H = (c[4713] | 0) + p | 0, c[4713] = H, c[4716] = l, c[q + (k + 4) >> 2] = H | 1;
                                    while (0);
                                    H = q + (g | 8) | 0;
                                    r = a;
                                    return H | 0
                                }
                                for (b = 19288;;) {
                                    d = c[b >> 2] | 0;
                                    if (d >>> 0 <= Z >>> 0 && (x = c[b + 4 >> 2] | 0, p = d + x | 0, p >>> 0 > Z >>> 0)) break;
                                    b = c[b + 8 >> 2] | 0
                                }
                                b = d + (x + -39) | 0;
                                b = b & 7 ? 0 - b & 7 : 0;
                                d = d + (x + -47 + b) | 0;
                                d = d >>> 0 < (Z + 16 | 0) >>> 0 ? Z : d;
                                b = d + 8 | 0;
                                e = q + 8 | 0;
                                e = e & 7 ? 0 - e & 7 : 0;
                                H = t + -40 - e | 0;
                                c[4716] = q + e;
                                c[4713] = H;
                                c[q + (e + 4) >> 2] = H | 1;
                                c[q + (t + -36) >> 2] = 40;
                                c[4717] = c[4832];
                                c[d + 4 >> 2] = 27;
                                c[b + 0 >> 2] = c[4822];
                                c[b + 4 >> 2] = c[4823];
                                c[b + 8 >> 2] = c[4824];
                                c[b + 12 >> 2] = c[4825];
                                c[4822] = q;
                                c[4823] = t;
                                c[4825] = 0;
                                c[4824] = b;
                                b = d + 28 | 0;
                                c[b >> 2] = 7;
                                if ((d + 32 | 0) >>> 0 < p >>> 0) {
                                    do H = b, b = b + 4 | 0, c[b >> 2] = 7; while ((H + 8 | 0) >>> 0 < p >>> 0)
                                }
                                if ((d | 0) != (Z | 0))
                                    if (d = d - Z | 0, b = Z + (d + 4) | 0, c[b >> 2] &= -2, c[Z + 4 >> 2] = d | 1, c[Z + d >> 2] = d, b = d >>> 3, 256 > d >>> 0) f = b << 1, d = 18880 + (f << 2) | 0, e = c[4710] | 0, b = 1 << b, e & b ? (e = 18880 + (f + 2 << 2) | 0, b = c[e >> 2] | 0, b >>> 0 >= (c[4714] | 0) >>> 0 ? (l = e, k = b) : va()) : (c[4710] = e | b, l = 18880 + (f + 2 << 2) | 0, k = d), c[l >> 2] = Z, c[k + 12 >> 2] = Z, c[Z + 8 >> 2] = k, c[Z + 12 >> 2] = d;
                                    else if ((b = d >>> 8) ? 16777215 < d >>> 0 ? b = 31 : (C = (b + 1048320 | 0) >>> 16 & 8, H = b << C, M = (H + 520192 | 0) >>> 16 & 4, H <<= M, b = (H + 245760 | 0) >>> 16 & 2, b = 14 - (M | C | b) + (H << b >>> 15) | 0, b = d >>> (b + 7 | 0) & 1 | b << 1) : b = 0, k = 19144 + (b << 2) | 0, c[Z + 28 >> 2] = b, c[Z + 20 >> 2] = 0, c[Z + 16 >> 2] = 0, e = c[4711] | 0, f = 1 << b, e & f) {
                                    e = c[k >> 2] | 0;
                                    b = 31 == (b | 0) ? 0 : 25 - (b >>> 1) | 0;
                                    b: do
                                        if ((c[e + 4 >> 2] & -8 | 0) != (d | 0)) {
                                            for (b = d << b;;) {
                                                k = e + (b >>> 31 << 2) + 16 | 0;
                                                f = c[k >> 2] | 0;
                                                if (!f) break;
                                                if ((c[f + 4 >> 2] & -8 | 0) == (d | 0)) {
                                                    g = f;
                                                    break b
                                                } else b <<= 1, e = f
                                            }
                                            if (k >>> 0 < (c[4714] | 0) >>> 0) va();
                                            else {
                                                c[k >> 2] = Z;
                                                c[Z + 24 >> 2] = e;
                                                c[Z + 12 >> 2] = Z;
                                                c[Z + 8 >> 2] = Z;
                                                break a
                                            }
                                        } else g = e; while (0);
                                    e = g + 8 | 0;
                                    b = c[e >> 2] | 0;
                                    d = c[4714] | 0;
                                    g >>> 0 < d >>> 0 && va();
                                    b >>> 0 < d >>> 0 ? va() : (c[b + 12 >> 2] = Z, c[e >> 2] = Z, c[Z + 8 >> 2] = b, c[Z + 12 >> 2] = g, c[Z + 24 >> 2] = 0)
                                } else c[4711] = e | f, c[k >> 2] = Z, c[Z + 24 >> 2] = k, c[Z + 12 >> 2] = Z, c[Z + 8 >> 2] = Z
                            }
                        } else {
                            H = c[4714] | 0;
                            0 == (H | 0) | q >>> 0 < H >>> 0 && (c[4714] = q);
                            c[4822] = q;
                            c[4823] = t;
                            c[4825] = 0;
                            c[4719] = c[4828];
                            c[4718] = -1;
                            d = 0;
                            do H = d << 1, C = 18880 + (H << 2) | 0, c[18880 + (H + 3 << 2) >> 2] = C, c[18880 + (H + 2 << 2) >> 2] = C, d = d + 1 | 0; while (32 != (d | 0));
                            d = q + 8 | 0;
                            d = d & 7 ? 0 - d & 7 : 0;
                            H = t + -40 - d | 0;
                            c[4716] = q + d;
                            c[4713] = H;
                            c[q + (d + 4) >> 2] = H | 1;
                            c[q + (t + -36) >> 2] = 40;
                            c[4717] = c[4832]
                        }
                    while (0);
                    d = c[4713] | 0;
                    if (d >>> 0 > h >>> 0) return C = d - h | 0, c[4713] = C, H = c[4716] | 0, c[4716] = H + h, c[H + (h + 4) >> 2] = C | 1, c[H + 4 >> 2] = h | 3, H = H + 8 | 0, r = a, H | 0
                }
                c[(Jd() | 0) >> 2] = 12;
                r = a;
                return 0
            }

            function oa(h) {
                h = h | 0;
                var a = 0,
                    d = 0,
                    b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    k = 0,
                    l = 0,
                    m = 0,
                    p = 0,
                    x = 0,
                    n = 0,
                    q = 0,
                    t = 0,
                    y = 0,
                    B = 0,
                    N = 0,
                    G = 0,
                    ba = 0,
                    u = 0,
                    a = r;
                if (h) {
                    t = h + -8 | 0;
                    y = c[4714] | 0;
                    t >>> 0 < y >>> 0 && va();
                    n = c[h + -4 >> 2] | 0;
                    x = n & 3;
                    1 == (x | 0) && va();
                    k = n & -8;
                    g = h + (k + -8) | 0;
                    do
                        if (n & 1) d = t, p = k;
                        else {
                            G = c[t >> 2] | 0;
                            if (!x) {
                                r = a;
                                return
                            }
                            t = -8 - G | 0;
                            n = h + t | 0;
                            x = G + k | 0;
                            n >>> 0 < y >>> 0 && va();
                            if ((n | 0) == (c[4715] | 0)) {
                                d = h + (k + -4) | 0;
                                if (3 != (c[d >> 2] & 3 | 0)) {
                                    d = n;
                                    p = x;
                                    break
                                }
                                c[4712] = x;
                                c[d >> 2] &= -2;
                                c[h + (t + 4) >> 2] = x | 1;
                                c[g >> 2] = x;
                                r = a;
                                return
                            }
                            N = G >>> 3;
                            if (256 > G >>> 0) d = c[h + (t + 8) >> 2] | 0, p = c[h + (t + 12) >> 2] | 0, q = 18880 + (N << 1 << 2) | 0, (d | 0) != (q | 0) && (d >>> 0 < y >>> 0 && va(), (c[d + 12 >> 2] | 0) != (n | 0) && va()), (p | 0) == (d | 0) ? c[4710] &= ~(1 << N) : ((p | 0) != (q | 0) ? (p >>> 0 < y >>> 0 && va(), q = p + 8 | 0, (c[q >> 2] | 0) == (n | 0) ? B = q : va()) : B = p + 8 | 0, c[d + 12 >> 2] = p, c[B >> 2] = d), d = n, p = x;
                            else {
                                B = c[h + (t + 24) >> 2] | 0;
                                N = c[h + (t + 12) >> 2] | 0;
                                do
                                    if ((N | 0) == (n | 0)) {
                                        G = h + (t + 20) | 0;
                                        N = c[G >> 2] | 0;
                                        if (!N && (G = h + (t + 16) | 0, N = c[G >> 2] | 0, !N)) {
                                            q = 0;
                                            break
                                        }
                                        for (;;)
                                            if (u = N + 20 | 0, ba = c[u >> 2] | 0) N = ba, G = u;
                                            else if (ba = N + 16 | 0, u = c[ba >> 2] | 0) N = u, G = ba;
                                        else break;
                                        G >>> 0 < y >>> 0 ? va() : (c[G >> 2] = 0, q = N)
                                    } else G = c[h + (t + 8) >> 2] | 0, G >>> 0 < y >>> 0 && va(), y = G + 12 | 0, (c[y >> 2] | 0) != (n | 0) && va(), ba = N + 8 | 0, (c[ba >> 2] | 0) == (n | 0) ? (c[y >> 2] = N, c[ba >> 2] = G, q = N) : va(); while (0);
                                if (B) {
                                    N = c[h + (t + 28) >> 2] | 0;
                                    y = 19144 + (N << 2) | 0;
                                    if ((n | 0) == (c[y >> 2] | 0)) {
                                        if (c[y >> 2] = q, !q) {
                                            c[4711] &= ~(1 << N);
                                            d = n;
                                            p = x;
                                            break
                                        }
                                    } else if (B >>> 0 < (c[4714] | 0) >>> 0 && va(), y = B + 16 | 0, (c[y >> 2] | 0) == (n | 0) ? c[y >> 2] = q : c[B + 20 >> 2] = q, !q) {
                                        d = n;
                                        p = x;
                                        break
                                    }
                                    q >>> 0 < (c[4714] | 0) >>> 0 && va();
                                    c[q + 24 >> 2] = B;
                                    if (y = c[h + (t + 16) >> 2] | 0) y >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[q + 16 >> 2] = y, c[y + 24 >> 2] = q);
                                    (t = c[h + (t + 20) >> 2] | 0) ? t >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[q + 20 >> 2] = t, c[t + 24 >> 2] = q, d = n, p = x): (d = n, p = x)
                                } else d = n, p = x
                            }
                        }
                    while (0);
                    d >>> 0 >= g >>> 0 && va();
                    x = h + (k + -4) | 0;
                    n = c[x >> 2] | 0;
                    n & 1 || va();
                    if (n & 2) c[x >> 2] = n & -2, c[d + 4 >> 2] = p | 1, c[d + p >> 2] = p;
                    else {
                        if ((g | 0) == (c[4716] | 0)) {
                            u = (c[4713] | 0) + p | 0;
                            c[4713] = u;
                            c[4716] = d;
                            c[d + 4 >> 2] = u | 1;
                            if ((d | 0) != (c[4715] | 0)) {
                                r = a;
                                return
                            }
                            c[4715] = 0;
                            c[4712] = 0;
                            r = a;
                            return
                        }
                        if ((g | 0) == (c[4715] | 0)) {
                            u = (c[4712] | 0) + p | 0;
                            c[4712] = u;
                            c[4715] = d;
                            c[d + 4 >> 2] = u | 1;
                            c[d + u >> 2] = u;
                            r = a;
                            return
                        }
                        p = (n & -8) + p | 0;
                        x = n >>> 3;
                        do
                            if (256 <= n >>> 0) {
                                m = c[h + (k + 16) >> 2] | 0;
                                t = c[h + (k | 4) >> 2] | 0;
                                do
                                    if ((t | 0) == (g | 0)) {
                                        n = h + (k + 12) | 0;
                                        x = c[n >> 2] | 0;
                                        if (!x && (n = h + (k + 8) | 0, x = c[n >> 2] | 0, !x)) {
                                            l = 0;
                                            break
                                        }
                                        for (;;)
                                            if (q = x + 20 | 0, t = c[q >> 2] | 0) x = t, n = q;
                                            else if (q = x + 16 | 0, t = c[q >> 2] | 0) x = t, n = q;
                                        else break;
                                        n >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[n >> 2] = 0, l = x)
                                    } else n = c[h + k >> 2] | 0, n >>> 0 < (c[4714] | 0) >>> 0 && va(), q = n + 12 | 0, (c[q >> 2] | 0) != (g | 0) && va(), x = t + 8 | 0, (c[x >> 2] | 0) == (g | 0) ? (c[q >> 2] = t, c[x >> 2] = n, l = t) : va(); while (0);
                                if (m) {
                                    x = c[h + (k + 20) >> 2] | 0;
                                    n = 19144 + (x << 2) | 0;
                                    if ((g | 0) == (c[n >> 2] | 0)) {
                                        if (c[n >> 2] = l, !l) {
                                            c[4711] &= ~(1 << x);
                                            break
                                        }
                                    } else if (m >>> 0 < (c[4714] | 0) >>> 0 && va(), x = m + 16 | 0, (c[x >> 2] | 0) == (g | 0) ? c[x >> 2] = l : c[m + 20 >> 2] = l, !l) break;
                                    l >>> 0 < (c[4714] | 0) >>> 0 && va();
                                    c[l + 24 >> 2] = m;
                                    if (g = c[h + (k + 8) >> 2] | 0) g >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[l + 16 >> 2] = g, c[g + 24 >> 2] = l);
                                    if (g = c[h + (k + 12) >> 2] | 0) g >>> 0 < (c[4714] | 0) >>> 0 ? va() : (c[l + 20 >> 2] = g, c[g + 24 >> 2] = l)
                                }
                            } else l = c[h + k >> 2] | 0, h = c[h + (k | 4) >> 2] | 0, k = 18880 + (x << 1 << 2) | 0, (l | 0) != (k | 0) && (l >>> 0 < (c[4714] | 0) >>> 0 && va(), (c[l + 12 >> 2] | 0) != (g | 0) && va()), (h | 0) == (l | 0) ? c[4710] &= ~(1 << x) : ((h | 0) != (k | 0) ? (h >>> 0 < (c[4714] | 0) >>> 0 && va(), k = h + 8 | 0, (c[k >> 2] | 0) == (g | 0) ? m = k : va()) : m = h + 8 | 0, c[l + 12 >> 2] = h, c[m >> 2] = l); while (0);
                        c[d + 4 >> 2] = p | 1;
                        c[d + p >> 2] = p;
                        if ((d | 0) == (c[4715] | 0)) {
                            c[4712] = p;
                            r = a;
                            return
                        }
                    }
                    g = p >>> 3;
                    if (256 > p >>> 0) h = g << 1, b = 18880 + (h << 2) | 0, k = c[4710] | 0, g = 1 << g, k & g ? (g = 18880 + (h + 2 << 2) | 0, h = c[g >> 2] | 0, h >>> 0 < (c[4714] | 0) >>> 0 ? va() : (e = g, f = h)) : (c[4710] = k | g, e = 18880 + (h + 2 << 2) | 0, f = b), c[e >> 2] = d, c[f + 12 >> 2] = d, c[d + 8 >> 2] = f, c[d + 12 >> 2] = b;
                    else {
                        (e = p >>> 8) ? 16777215 < p >>> 0 ? e = 31 : (ba = (e + 1048320 | 0) >>> 16 & 8, u = e << ba, G = (u + 520192 | 0) >>> 16 & 4, u <<= G, e = (u + 245760 | 0) >>> 16 & 2, e = 14 - (G | ba | e) + (u << e >>> 15) | 0, e = p >>> (e + 7 | 0) & 1 | e << 1): e = 0;
                        f = 19144 + (e << 2) | 0;
                        c[d + 28 >> 2] = e;
                        c[d + 20 >> 2] = 0;
                        c[d + 16 >> 2] = 0;
                        h = c[4711] | 0;
                        g = 1 << e;
                        a: do
                            if (h & g) {
                                f = c[f >> 2] | 0;
                                e = 31 == (e | 0) ? 0 : 25 - (e >>> 1) | 0;
                                b: do
                                    if ((c[f + 4 >> 2] & -8 | 0) != (p | 0)) {
                                        e = p << e;
                                        for (h = f;;) {
                                            g = h + (e >>> 31 << 2) + 16 | 0;
                                            f = c[g >> 2] | 0;
                                            if (!f) break;
                                            if ((c[f + 4 >> 2] & -8 | 0) == (p | 0)) {
                                                b = f;
                                                break b
                                            } else e <<= 1, h = f
                                        }
                                        if (g >>> 0 < (c[4714] | 0) >>> 0) va();
                                        else {
                                            c[g >> 2] = d;
                                            c[d + 24 >> 2] = h;
                                            c[d + 12 >> 2] = d;
                                            c[d + 8 >> 2] = d;
                                            break a
                                        }
                                    } else b = f; while (0);
                                f = b + 8 | 0;
                                e = c[f >> 2] | 0;
                                g = c[4714] | 0;
                                b >>> 0 < g >>> 0 && va();
                                e >>> 0 < g >>> 0 ? va() : (c[e + 12 >> 2] = d, c[f >> 2] = d, c[d + 8 >> 2] = e, c[d + 12 >> 2] = b, c[d + 24 >> 2] = 0)
                            } else c[4711] = h | g, c[f >> 2] = d, c[d + 24 >> 2] = f, c[d + 12 >> 2] = d, c[d + 8 >> 2] = d; while (0);
                        u = (c[4718] | 0) + -1 | 0;
                        c[4718] = u;
                        if (!u) {
                            for (d = 19296;;)
                                if (d = c[d >> 2] | 0) d = d + 8 | 0;
                                else break;
                            c[4718] = -1
                        }
                    }
                }
                r = a
            }

            function uc(h, a, d) {
                h = h | 0;
                a = a | 0;
                d = d | 0;
                var b = 0,
                    e = 0,
                    f = 0,
                    g = 0,
                    b = h + d | 0;
                if (20 <= (d | 0)) {
                    a &= 255;
                    g = h & 3;
                    f = a | a << 8 | a << 16 | a << 24;
                    e = b & -4;
                    if (g)
                        for (g = h + 4 - g | 0;
                            (h | 0) < (g | 0);) D[h >> 0] = a, h = h + 1 | 0;
                    for (;
                        (h | 0) < (e | 0);) c[h >> 2] = f, h = h + 4 | 0
                }
                for (;
                    (h | 0) < (b | 0);) D[h >> 0] = a, h = h + 1 | 0;
                return h - d | 0
            }

            function kb(h, a, d) {
                h = h | 0;
                a = a | 0;
                d = d | 0;
                var b = 0;
                if (4096 <= (d | 0)) return Hd(h | 0, a | 0, d | 0) | 0;
                b = h | 0;
                if ((h & 3) == (a & 3)) {
                    for (; h & 3;) {
                        if (!d) return b | 0;
                        D[h >> 0] = D[a >> 0] | 0;
                        h = h + 1 | 0;
                        a = a + 1 | 0;
                        d = d - 1 | 0
                    }
                    for (; 4 <= (d | 0);) c[h >> 2] = c[a >> 2], h = h + 4 | 0, a = a + 4 | 0, d = d - 4 | 0
                }
                for (; 0 < (d | 0);) D[h >> 0] = D[a >> 0] | 0, h = h + 1 | 0, a = a + 1 | 0, d = d - 1 | 0;
                return b | 0
            }

            function Fb() {
                Lb(0);
                return 0
            }

            function wb() {
                Lb(1)
            }

            function Ub() {
                Lb(2);
                return 0
            }

            function Wc() {
                Lb(3)
            }

            function xb() {
                Lb(4);
                return 0
            }

            function ob() {
                Lb(5)
            }

            function yb() {
                Lb(6)
            }

            function Jb() {
                Lb(7);
                return 0
            }

            function pb() {
                Lb(8)
            }

            function rb() {
                Lb(9)
            }

            function sb() {
                Lb(10)
            }

            function qc() {
                Lb(11)
            }

            function tb() {
                Lb(12)
            }

            function ub() {
                Lb(13);
                return 0
            }

            function dc() {
                Lb(14);
                return 0
            }

            function Hc() {
                Lb(15)
            }
            "use asm";
            var D = new a.Int8Array(e),
                W = new a.Int16Array(e),
                c = new a.Int32Array(e),
                wc = new a.Uint8Array(e),
                Ra = new a.Uint16Array(e);
            new a.Uint32Array(e);
            var d = new a.Float32Array(e),
                ka = new a.Float64Array(e),
                r = b.sU | 0,
                y = b.Z_ | 0,
                id = b.vV | 0,
                dd = 0,
                ed = 0,
                ud = a.Math.floor,
                ib = a.Math.sqrt,
                Ka = a.Math.cos,
                Ja = a.Math.sin,
                jd = a.Math.atan2,
                Yc = a.Math.Gm,
                Lb = b.abort,
                v = b.IZ,
                pd = b.rV,
                Ua = b.fV,
                rd = b.yV,
                Ob = b.mV,
                Q = b.cV,
                Va = b.gV,
                vd = b.lV,
                hb = b.uV,
                Ad = b.wV,
                Dd = b.qV,
                Ed = b.zV,
                Hd = b.nV,
                Id = b.sV,
                Jd = b.jV,
                Kd = b.tV,
                ac = b.oV,
                db = b.iV,
                va = b.kV,
                Dc = b.xV,
                eb = b.dV,
                bc = b.hV,
                Vc = [Fb, Fb, function(h, c, a) {
                    return v(0, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(1, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(2, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(3, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(4, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(5, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(6, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(7, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(8, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(9, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(10, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(11, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(12, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(13, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(14, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(15, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(16, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(17, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(18, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    return v(19, h | 0, c | 0, a | 0) | 0
                }, Fb, function(h, c, a) {
                    var d = 0,
                        d = r;
                    h = 0 != (Ob(2376, h | 0, c | 0, a | 0) | 0);
                    r = d;
                    return h | 0
                }, function() {
                    return 0
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        b = +d[c + 12 >> 2],
                        k = +d[h + 12 >> 2],
                        g = +d[c + 8 >> 2],
                        e = +d[h + 16 >> 2],
                        f = +d[a >> 2] - (+d[c >> 2] + (b * k - g * e)),
                        e = +d[a + 4 >> 2] - (+d[c + 4 >> 2] + (k * g + b * e)),
                        b = +d[h + 8 >> 2];
                    return f * f + e * e <= b * b | 0
                }, function() {
                    return 0
                }, function(h, a, b) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        e = r,
                        k = +d[b >> 2] - +d[a >> 2],
                        l = +d[b + 4 >> 2] - +d[a + 4 >> 2],
                        m = +d[a + 12 >> 2],
                        g = +d[a + 8 >> 2],
                        f = k * m + l * g,
                        g = m * l - k * g;
                    a = c[h + 276 >> 2] | 0;
                    if (0 < (a | 0)) b = 0;
                    else return r = e, 1;
                    for (;;) {
                        if (0 < (f - +d[h + (b << 3) + 20 >> 2]) * +d[h + (b << 3) + 148 >> 2] + (g - +d[h + (b << 3) + 24 >> 2]) * +d[h + (b << 3) + 152 >> 2]) {
                            a = 0;
                            h = 4;
                            break
                        }
                        b = b + 1 | 0;
                        if ((b | 0) >= (a | 0)) {
                            a = 1;
                            h = 4;
                            break
                        }
                    }
                    return 4 == (h | 0) ? (r = e, a | 0) : 0
                }, function(h, c, a) {
                    c = c | 0;
                    a = a | 0;
                    var d = 0;
                    h = r;
                    d = W[c + 36 >> 1] | 0;
                    if (0 != d << 16 >> 16 && d << 16 >> 16 == (W[a + 36 >> 1] | 0)) return r = h, 0 < d << 16 >> 16 | 0;
                    if (!((W[a + 32 >> 1] & W[c + 34 >> 1]) << 16 >> 16)) return r = h, 0;
                    d = 0 != (W[a + 34 >> 1] & W[c + 32 >> 1]) << 16 >> 16;
                    r = h;
                    return d | 0
                }, gc, Fb, Fb, Fb, Fb, Fb, Fb, Fb, Fb, Fb, Fb, Fb, Fb, Fb, Fb, Fb],
                nd = [wb, wb, function(h, c, a, d, b) {
                    v(0, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(1, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(2, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(3, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(4, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(5, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(6, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(7, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(8, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(9, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(10, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(11, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(12, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(13, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(14, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(15, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(16, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(17, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(18, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, c, a, d, b) {
                    v(19, h | 0, c | 0, a | 0, d | 0, b | 0)
                }, wb, function(h, a, d, b, e) {
                    h = h | 0;
                    a = a | 0;
                    d = d | 0;
                    b = b | 0;
                    var f = 0;
                    e = r;
                    (c[a + 8 >> 2] | 0) == (h | 0) ? (c[a + 4 >> 2] | 0) == (d | 0) && (a = a + 28 | 0, 1 != (c[a >> 2] | 0) && (c[a >> 2] = b)) : (c[a >> 2] | 0) == (h | 0) && ((c[a + 16 >> 2] | 0) != (d | 0) && (f = a + 20 | 0, (c[f >> 2] | 0) != (d | 0)) ? (c[a + 32 >> 2] = b, c[f >> 2] = d, h = a + 40 | 0, c[h >> 2] = (c[h >> 2] | 0) + 1, 1 == (c[a + 36 >> 2] | 0) && 2 == (c[a + 24 >> 2] | 0) && (D[a + 54 >> 0] = 1), c[a + 44 >> 2] = 4) : 1 == (b | 0) && (c[a + 32 >> 2] = 1));
                    r = e
                }, function(h, a, d, b, e) {
                    h = h | 0;
                    a = a | 0;
                    d = d | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        f = r;
                    if ((h | 0) == (c[a + 8 >> 2] | 0))(c[a + 4 >> 2] | 0) == (d | 0) && (g = a + 28 | 0, 1 != (c[g >> 2] | 0) && (c[g >> 2] = b));
                    else if ((h | 0) != (c[a >> 2] | 0)) l = c[h + 8 >> 2] | 0, nd[c[(c[l >> 2] | 0) + 24 >> 2] & 63](l, a, d, b, e);
                    else if ((c[a + 16 >> 2] | 0) != (d | 0) && (k = a + 20 | 0, (c[k >> 2] | 0) != (d | 0))) {
                        if (c[a + 32 >> 2] = b, b = a + 44 | 0, 4 != (c[b >> 2] | 0)) {
                            l = a + 52 | 0;
                            D[l >> 0] = 0;
                            m = a + 53 | 0;
                            D[m >> 0] = 0;
                            h = c[h + 8 >> 2] | 0;
                            sd[c[(c[h >> 2] | 0) + 20 >> 2] & 63](h, a, d, d, 1, e);
                            D[m >> 0] | 0 ? D[l >> 0] | 0 || (h = 1, g = 13) : (h = 0, g = 13);
                            do
                                if (13 == (g | 0)) {
                                    c[k >> 2] = d;
                                    m = a + 40 | 0;
                                    c[m >> 2] = (c[m >> 2] | 0) + 1;
                                    if (1 == (c[a + 36 >> 2] | 0) && 2 == (c[a + 24 >> 2] | 0)) {
                                        if (D[a + 54 >> 0] = 1, h) break
                                    } else g = 16;
                                    if (16 != (g | 0) || !h) {
                                        c[b >> 2] = 4;
                                        r = f;
                                        return
                                    }
                                }
                            while (0);
                            c[b >> 2] = 3
                        }
                    } else 1 == (b | 0) && (c[a + 32 >> 2] = 1);
                    r = f
                }, function(h, a, d, b, e) {
                    h = h | 0;
                    a = a | 0;
                    d = d | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        y = 0,
                        B = 0,
                        N = 0,
                        f = r;
                    if ((h | 0) == (c[a + 8 >> 2] | 0))(c[a + 4 >> 2] | 0) == (d | 0) && (d = a + 28 | 0, 1 != (c[d >> 2] | 0) && (c[d >> 2] = b));
                    else {
                        if ((h | 0) != (c[a >> 2] | 0)) {
                            N = c[h + 12 >> 2] | 0;
                            m = h + (N << 3) + 16 | 0;
                            mc(h + 16 | 0, a, d, b, e);
                            p = h + 24 | 0;
                            if (1 >= (N | 0)) {
                                r = f;
                                return
                            }
                            n = c[h + 8 >> 2] | 0;
                            if (0 == (n & 2 | 0) && (x = a + 36 | 0, 1 != (c[x >> 2] | 0))) {
                                if (!(n & 1)) {
                                    q = a + 54 | 0;
                                    for (n = p;;) {
                                        if (D[q >> 0] | 0) {
                                            n = 43;
                                            break
                                        }
                                        if (1 == (c[x >> 2] | 0)) {
                                            n = 43;
                                            break
                                        }
                                        mc(n, a, d, b, e);
                                        n = n + 8 | 0;
                                        if (n >>> 0 >= m >>> 0) {
                                            n = 43;
                                            break
                                        }
                                    }
                                    if (43 == (n | 0)) {
                                        r = f;
                                        return
                                    }
                                }
                                n = a + 24 | 0;
                                q = a + 54 | 0;
                                for (t = p;;) {
                                    if (D[q >> 0] | 0) {
                                        n = 43;
                                        break
                                    }
                                    if (1 == (c[x >> 2] | 0) && 1 == (c[n >> 2] | 0)) {
                                        n = 43;
                                        break
                                    }
                                    mc(t, a, d, b, e);
                                    t = t + 8 | 0;
                                    if (t >>> 0 >= m >>> 0) {
                                        n = 43;
                                        break
                                    }
                                }
                                if (43 == (n | 0)) {
                                    r = f;
                                    return
                                }
                            }
                            for (x = a + 54 | 0;;) {
                                if (D[x >> 0] | 0) {
                                    n = 43;
                                    break
                                }
                                mc(p, a, d, b, e);
                                p = p + 8 | 0;
                                if (p >>> 0 >= m >>> 0) {
                                    n = 43;
                                    break
                                }
                            }
                            if (43 == (n | 0)) {
                                r = f;
                                return
                            }
                        }
                        if ((c[a +
                                16 >> 2] | 0) != (d | 0) && (g = a + 20 | 0, (c[g >> 2] | 0) != (d | 0))) {
                            c[a + 32 >> 2] = b;
                            m = a + 44 | 0;
                            if (4 == (c[m >> 2] | 0)) {
                                r = f;
                                return
                            }
                            N = c[h + 12 >> 2] | 0;
                            B = h + (N << 3) + 16 | 0;
                            a: do
                                if (0 < (N | 0)) {
                                    x = a + 52 | 0;
                                    p = a + 53 | 0;
                                    t = a + 54 | 0;
                                    q = h + 8 | 0;
                                    n = a + 24 | 0;
                                    y = N = 0;
                                    h = h + 16 | 0;
                                    b: do {
                                        D[x >> 0] = 0;
                                        D[p >> 0] = 0;
                                        qb(h, a, d, d, 1, e);
                                        if (D[t >> 0] | 0) break;
                                        do
                                            if (D[p >> 0] | 0) {
                                                if (!(D[x >> 0] | 0))
                                                    if (c[q >> 2] & 1) {
                                                        y = 1;
                                                        break
                                                    } else {
                                                        y = 1;
                                                        break b
                                                    }
                                                if (1 == (c[n >> 2] | 0)) {
                                                    n = 25;
                                                    break a
                                                }
                                                if (c[q >> 2] & 2) y = N = 1;
                                                else {
                                                    n = 25;
                                                    break a
                                                }
                                            }
                                        while (0);
                                        h = h + 8 | 0
                                    } while (h >>> 0 < B >>> 0);
                                    N ? (l = y, n = 24) : (k = y, n = 21)
                                } else k = 0, n = 21; while (0);
                            21 == (n | 0) && (c[g >> 2] = d, N = a + 40 | 0, c[N >> 2] = (c[N >> 2] | 0) + 1, 1 == (c[a + 36 >> 2] | 0) && 2 == (c[a + 24 >> 2] | 0) ? (D[a + 54 >> 0] = 1, n = k ? 25 : 26) : (l = k, n = 24));
                            24 == (n | 0) && (n = l ? 25 : 26);
                            if (25 == (n | 0)) {
                                c[m >> 2] = 3;
                                r = f;
                                return
                            }
                            if (26 == (n | 0)) {
                                c[m >> 2] = 4;
                                r = f;
                                return
                            }
                        }
                        1 == (b | 0) && (c[a + 32 >> 2] = 1)
                    }
                    r = f
                }, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb, wb],
                Vb = [Ub, Ub, function(h, c) {
                    return +v(0, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(1, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(2, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(3, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(4, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(5, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(6, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(7, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(8, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(9, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(10, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(11, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(12, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(13, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(14, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(15, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(16, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(17, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(18, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +v(19, h | 0, + +c)
                }, Ub, function(h, c) {
                    return +(+d[(h | 0) + 88 >> 2] * +c)
                }, function() {
                    return 0
                }, function(h, c) {
                    return +(+d[(h | 0) + 92 >> 2] * +c)
                }, function(h, c) {
                    h = h | 0;
                    return +(+d[h + 156 >> 2] * +d[h + 256 >> 2] * +c)
                }, function(h, c) {
                    return +(0 * +c)
                }, function(h, c) {
                    return +(+d[(h | 0) + 108 >> 2] * +c)
                }, function() {
                    return 0
                }, function(h, c) {
                    return +(+d[(h | 0) + 92 >> 2] * +c)
                }, function() {
                    return 0
                }, function(h, c) {
                    return +(+d[(h | 0) + 112 >> 2] * +c)
                }, function(h, c) {
                    return +(+d[(h | 0) + 112 >> 2] * +c)
                }, Ub, Ub, Ub, Ub, Ub, Ub, Ub, Ub, Ub, Ub, Ub],
                $a = [Wc, Wc, function(h) {
                    v(0, h | 0)
                }, Wc, function(h) {
                    v(1, h | 0)
                }, Wc, function(h) {
                    v(2, h | 0)
                }, Wc, function(h) {
                    v(3, h | 0)
                }, Wc, function(h) {
                    v(4, h | 0)
                }, Wc, function(h) {
                    v(5, h | 0)
                }, Wc, function(h) {
                    v(6, h | 0)
                }, Wc, function(h) {
                    v(7, h | 0)
                }, Wc, function(h) {
                    v(8, h | 0)
                }, Wc, function(h) {
                    v(9, h | 0)
                }, Wc, function(h) {
                    v(10, h | 0)
                }, Wc, function(h) {
                    v(11, h | 0)
                }, Wc, function(h) {
                    v(12, h | 0)
                }, Wc, function(h) {
                    v(13, h | 0)
                }, Wc, function(h) {
                    v(14, h | 0)
                }, Wc, function(h) {
                    v(15, h | 0)
                }, Wc, function(h) {
                    v(16, h | 0)
                }, Wc, function(h) {
                    v(17, h | 0)
                }, Wc, function(h) {
                    v(18, h | 0)
                }, Wc, function(h) {
                    v(19, h | 0)
                }, Wc, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(4976, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 72 >> 2];
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(5E3, b);
                    ka[y >> 3] = +d[h + 76 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(5048, b);
                    ka[y >> 3] = +d[h + 92 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(14704, b);
                    ka[y >> 3] = +d[h + 96 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(14736, b);
                    ka[y >> 3] = +d[h + 100 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(5080, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        d = 0,
                        a = r;
                    c[h >> 2] = 6488;
                    d = h + 12 | 0;
                    oa(c[d >> 2] | 0);
                    c[d >> 2] = 0;
                    c[h + 16 >> 2] = 0;
                    r = a
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    c[h >> 2] = 6488;
                    oa(c[h + 12 >> 2] | 0);
                    oa(h);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(14352, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 84 >> 2];
                    ka[y >> 3] = +d[h + 80 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17424, b);
                    f = +d[h + 92 >> 2];
                    ka[y >> 3] = +d[h + 88 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17472, b);
                    ka[y >> 3] = +d[h + 104 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(14384, b);
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17656, b);
                    ka[y >> 3] = +d[h + 72 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17688, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(14672, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 72 >> 2];
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17424, b);
                    f = +d[h + 80 >> 2];
                    ka[y >> 3] = +d[h + 76 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e +
                        4 >> 2] = c[y + 4 >> 2];
                    I(17472, b);
                    ka[y >> 3] = +d[h + 96 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(14704, b);
                    ka[y >> 3] = +d[h + 100 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(14736, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    k = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    g = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    f = c[(c[h + 68 >> 2] | 0) + 56 >> 2] | 0;
                    e = c[(c[h + 72 >> 2] | 0) + 56 >> 2] | 0;
                    I(15104, b);
                    c[b >> 2] = k;
                    I(17320, b);
                    c[b >> 2] = g;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    c[b >> 2] = f;
                    I(15128, b);
                    c[b >> 2] = e;
                    I(15160, b);
                    ka[y >> 3] = +d[h + 152 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16584, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = r;
                    r = r + 16 | 0;
                    I(15392, h);
                    r = h
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = r;
                    r = r + 16 | 0;
                    I(15864, h);
                    r = h
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(16016, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 72 >> 2];
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17424, b);
                    f = +d[h + 80 >> 2];
                    ka[y >> 3] = +d[h + 76 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17472, b);
                    f = +d[h + 88 >> 2];
                    ka[y >> 3] = +d[h + 84 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17520, b);
                    ka[y >> 3] = +d[h +
                        100 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17176, b);
                    c[b >> 2] = wc[h + 136 >> 0];
                    I(16816, b);
                    ka[y >> 3] = +d[h + 120 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16048, b);
                    ka[y >> 3] = +d[h + 124 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16088, b);
                    c[b >> 2] = wc[h + 137 >> 0];
                    I(17560, b);
                    ka[y >> 3] = +d[h + 132 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17592, b);
                    ka[y >> 3] = +d[h + 128 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16128, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(16400, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 72 >> 2];
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(16424, b);
                    f = +d[h + 80 >> 2];
                    ka[y >> 3] = +d[h + 76 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(16472, b);
                    f = +d[h + 96 >> 2];
                    ka[y >> 3] = +d[h + 92 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b +
                        4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17424, b);
                    f = +d[h + 104 >> 2];
                    ka[y >> 3] = +d[h + 100 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17472, b);
                    ka[y >> 3] = +d[h + 84 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16520, b);
                    ka[y >> 3] = +d[h + 88 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16552, b);
                    ka[y >> 3] = +d[h + 112 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16584, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(16784, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 72 >> 2];
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17424, b);
                    f = +d[h + 80 >> 2];
                    ka[y >> 3] = +d[h + 76 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17472, b);
                    ka[y >> 3] = +d[h + 116 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17176, b);
                    c[b >> 2] = wc[h + 112 >> 0];
                    I(16816, b);
                    ka[y >> 3] = +d[h + 120 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16848, b);
                    ka[y >> 3] = +d[h + 124 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(16880, b);
                    c[b >> 2] = wc[h + 100 >> 0];
                    I(17560, b);
                    ka[y >> 3] = +d[h + 108 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17592, b);
                    ka[y >> 3] = +d[h + 104 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17624, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(17008, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 72 >> 2];
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17424, b);
                    f = +d[h + 80 >> 2];
                    ka[y >> 3] = +d[h + 76 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17472, b);
                    ka[y >> 3] = +d[h + 84 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17032, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(17152, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 84 >> 2];
                    ka[y >> 3] = +d[h + 80 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17424, b);
                    f = +d[h + 92 >> 2];
                    ka[y >> 3] = +d[h + 88 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17472, b);
                    ka[y >> 3] = +d[h + 96 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17176, b);
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17656, b);
                    ka[y >> 3] = +d[h + 72 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17688, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        f = 0,
                        a = r;
                    r = r + 16 | 0;
                    b = a;
                    f = c[(c[h + 48 >> 2] | 0) + 8 >> 2] | 0;
                    e = c[(c[h + 52 >> 2] | 0) + 8 >> 2] | 0;
                    I(17296, b);
                    c[b >> 2] = f;
                    I(17320, b);
                    c[b >> 2] = e;
                    I(17352, b);
                    c[b >> 2] = wc[h + 61 >> 0];
                    I(17384, b);
                    f = +d[h + 80 >> 2];
                    ka[y >> 3] = +d[h + 76 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17424, b);
                    f = +d[h + 88 >> 2];
                    ka[y >> 3] = +d[h + 84 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17472, b);
                    f = +d[h + 96 >> 2];
                    ka[y >> 3] = +d[h + 92 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    e = b + 8 | 0;
                    ka[y >> 3] = f;
                    c[e >> 2] = c[y >> 2];
                    c[e + 4 >> 2] = c[y + 4 >> 2];
                    I(17520, b);
                    c[b >> 2] = wc[h + 128 >> 0];
                    I(17560, b);
                    ka[y >> 3] = +d[h + 124 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17592, b);
                    ka[y >> 3] = +d[h + 120 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17624, b);
                    ka[y >> 3] = +d[h + 68 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17656, b);
                    ka[y >> 3] = +d[h + 72 >> 2];
                    c[b >> 2] = c[y >> 2];
                    c[b + 4 >> 2] = c[y + 4 >> 2];
                    I(17688, b);
                    c[b >> 2] = c[h + 56 >> 2];
                    I(17720, b);
                    r = a
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function() {}, function() {}, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    var c = 0,
                        c = r;
                    oa(h | 0);
                    r = c
                }, function(h) {
                    var a = 0,
                        a = r;
                    r = r + 16 | 0;
                    oa(h | 0);
                    Kd(c[4494] | 0, 0) | 0 ? Ib(18104, a) : r = a
                }, Wc, Wc, Wc],
                Bd = [xb, xb, function(h, c, a, d, b) {
                    return +v(0, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(1, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(2, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(3, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(4, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(5, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(6, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(7, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(8, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(9, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(10, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(11, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(12, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(13, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(14, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(15, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(16, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(17, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(18, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    return +v(19, h | 0, c | 0, a | 0, d | 0, + +b)
                }, xb, function(h, c, a, d, b) {
                    var e = 0,
                        e = r;
                    b = +vd(3352, h | 0, c | 0, a | 0, d | 0, + +b);
                    r = e;
                    return +b
                }, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb, xb],
                Mb = [ob, ob, function(h, c) {
                    v(0, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(1, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(2, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(3, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(4, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(5, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(6, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(7, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(8, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(9, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(10, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(11, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(12, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(13, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(14, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(15, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(16, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(17, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(18, h | 0, c | 0)
                }, ob, function(h, c) {
                    v(19, h | 0, c | 0)
                }, ob, function(h, c) {
                    var a = 0,
                        a = r;
                    Ob(984, h | 0, c | 0) | 0;
                    r = a
                }, function(h, c) {
                    var a = 0,
                        a = r;
                    Ob(3016, h | 0, c | 0) | 0;
                    r = a
                }, function(h, c) {
                    var a = 0,
                        a = r;
                    Ob(2784, h | 0, c | 0) | 0;
                    r = a
                }, function(h, a) {
                    h = h | 0;
                    var d = 0,
                        d = r;
                    Mb[c[(c[h >> 2] | 0) + 16 >> 2] & 127](h, a | 0);
                    r = d
                }, function(h, a) {
                    h = h | 0;
                    var d = 0,
                        d = r;
                    Mb[c[(c[h >> 2] | 0) + 20 >> 2] & 127](h, a | 0);
                    r = d
                }, function(h, c) {
                    var a = 0,
                        a = r;
                    Ob(4528, h | 0, c | 0) | 0;
                    r = a
                }, function(h, c) {
                    var a = 0,
                        a = r;
                    Ob(4264, h | 0, c | 0) | 0;
                    r = a
                }, function(h, a) {
                    var d = 0,
                        b = 0,
                        b = (c[(a | 0) + 48 >> 2] | 0) + 12 | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = h | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                }, function(h, a) {
                    var d = 0,
                        b = 0,
                        b = (c[(a | 0) + 52 >> 2] | 0) + 12 | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = h | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                }, function() {}, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        ba = 0,
                        w = 0,
                        A = 0,
                        E = 0,
                        z = 0,
                        v = 0,
                        C = 0,
                        F = 0,
                        Ga = 0,
                        S = 0,
                        M = 0,
                        J = 0,
                        H = 0,
                        I = S = 0,
                        v = E = g = t = l = b = G = q = M = H = 0,
                        n = r,
                        p = c[h + 48 >> 2] | 0,
                        E = c[p + 8 >> 2] | 0,
                        m = h + 104 | 0;
                    c[m >> 2] = E;
                    g = c[h + 52 >> 2] | 0;
                    l = c[g + 8 >> 2] | 0;
                    x = h + 108 | 0;
                    c[x >> 2] = l;
                    G = p + 28 | 0;
                    b = c[G >> 2] | 0;
                    G = c[G + 4 >> 2] | 0;
                    M = h + 128 | 0;
                    c[M >> 2] = b;
                    c[M +
                        4 >> 2] = G;
                    M = g + 28 | 0;
                    q = c[M >> 2] | 0;
                    M = c[M + 4 >> 2] | 0;
                    H = h + 136 | 0;
                    c[H >> 2] = q;
                    c[H + 4 >> 2] = M;
                    H = h + 156 | 0;
                    d[H >> 2] = +d[p + 120 >> 2];
                    S = h + 160 | 0;
                    d[S >> 2] = +d[g + 120 >> 2];
                    u = +d[p + 128 >> 2];
                    d[h + 164 >> 2] = u;
                    N = +d[g + 128 >> 2];
                    d[h + 168 >> 2] = N;
                    g = c[a + 24 >> 2] | 0;
                    p = g + (12 * E | 0) | 0;
                    w = +d[p >> 2];
                    z = +d[p + 4 >> 2];
                    C = +d[g + (12 * E | 0) + 8 >> 2];
                    p = a + 28 | 0;
                    t = c[p >> 2] | 0;
                    v = t + (12 * E | 0) | 0;
                    ba = +d[v >> 2];
                    e = +d[v + 4 >> 2];
                    k = +d[t + (12 * E | 0) + 8 >> 2];
                    E = g + (12 * l | 0) | 0;
                    Ga = +d[E >> 2];
                    E = +d[E + 4 >> 2];
                    v = +d[g + (12 * l | 0) + 8 >> 2];
                    g = t + (12 * l | 0) | 0;
                    f = +d[g >> 2];
                    g = +d[g + 4 >> 2];
                    l = +d[t + (12 * l | 0) + 8 >> 2];
                    A = +Ja(+C);
                    F = +Ka(+C);
                    I = +Ja(+v);
                    t = +Ka(+v);
                    b = -(c[y >> 2] = b, +d[y >> 2]);
                    B = -(c[y >> 2] = G, +d[y >> 2]);
                    K = F * b - A * B;
                    B = A * b + F * B;
                    G = h + 112 | 0;
                    d[G >> 2] = +K;
                    d[G + 4 >> 2] = +B;
                    q = -(c[y >> 2] = q, +d[y >> 2]);
                    b = -(c[y >> 2] = M, +d[y >> 2]);
                    G = t * q - I * b;
                    b = I * q + t * b;
                    q = +b;
                    M = h + 120 | 0;
                    d[M >> 2] = +G;
                    d[M + 4 >> 2] = q;
                    q = +d[H >> 2];
                    t = +d[S >> 2];
                    I = q + t;
                    M = I + B * u * B + b * N * b;
                    H = u * K;
                    S = N * G;
                    J = -(B * H) - b * S;
                    S = I + K * H + G * S;
                    H = M * S - J * J;
                    0 != H && (H = 1 / H);
                    I = -(J * H);
                    d[h + 172 >> 2] = S * H;
                    d[h + 176 >> 2] = I;
                    d[h + 180 >> 2] = I;
                    d[h + 184 >> 2] = M * H;
                    S = u + N;
                    0 < S && (S = 1 / S);
                    d[h + 188 >> 2] = S;
                    J = +d[h + 68 >> 2];
                    I = +d[h + 72 >> 2];
                    H = +(Ga + G - w - K - (F * J - A * I));
                    I = +(E + b - z - B - (A * J + F * I));
                    S = h + 144 | 0;
                    d[S >> 2] = H;
                    d[S + 4 >> 2] = I;
                    d[h + 152 >> 2] = v - C - +d[h + 76 >> 2];
                    S = h + 80 | 0;
                    D[a + 20 >> 0] | 0 ? (E = a + 8 | 0, F = +d[E >> 2], I = F * +d[S >> 2], d[S >> 2] = I, v = h + 84 | 0, F *= +d[v >> 2], d[v >> 2] = F, v = h + 88 | 0, C = +d[E >> 2] * +d[v >> 2], d[v >> 2] = C, Ga = ba - q * I, S = e - q * F, J = f + t * I, H = g + t * F, M = k - u * (C + (F * K - I * B)), I = l + N * (C + (F * G - I * b))) : (d[S >> 2] = 0, d[h + 84 >> 2] = 0, d[h + 88 >> 2] = 0, Ga = ba, S = e, J = f, H = g, M = k, I = l);
                    v = c[m >> 2] | 0;
                    E = c[p >> 2] | 0;
                    v = E + (12 * v | 0) | 0;
                    d[v >> 2] = +Ga;
                    d[(v + 4 | 0) >> 2] = +S;
                    v = c[m >> 2] | 0;
                    E = c[p >> 2] | 0;
                    v = E + (12 * v | 0) + 8 | 0;
                    d[v >> 2] = M;
                    v = c[x >> 2] | 0;
                    E = v = E + (12 * v | 0) | 0;
                    d[E >> 2] = +J;
                    v = v + 4 | 0;
                    d[v >> 2] = +H;
                    v = c[x >> 2] | 0;
                    E = c[p >> 2] | 0;
                    v = E + (12 * v | 0) + 8 | 0;
                    d[v >> 2] = I;
                    r = n
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        y = 0,
                        u = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        ba = 0,
                        K = 0,
                        w = 0,
                        E = 0,
                        D = 0,
                        A = 0,
                        z = 0,
                        v = 0,
                        y = b = 0,
                        t = r,
                        l = h + 104 | 0,
                        n = c[l >> 2] | 0,
                        k = a + 28 | 0,
                        b = c[k >> 2] | 0,
                        E = b + (12 * n | 0) | 0,
                        m = +d[E >> 2],
                        g = +d[E + 4 >> 2],
                        w = +d[b + (12 * n | 0) + 8 >> 2],
                        n = h + 108 | 0,
                        E = c[n >> 2] | 0,
                        y = b + (12 * E | 0) | 0,
                        p = +d[y >> 2],
                        x = +d[y + 4 >> 2],
                        K = +d[b + (12 * E | 0) + 8 >> 2],
                        f = +d[h + 156 >> 2],
                        e = +d[h + 160 >> 2],
                        b = +d[h + 164 >> 2],
                        q = +d[h + 168 >> 2],
                        A = +d[a >> 2],
                        z = +d[a + 4 >> 2] * +d[h + 100 >> 2];
                    a = h + 88 | 0;
                    u = +d[a >> 2];
                    ba = A * +d[h + 96 >> 2];
                    B = u - +d[h + 188 >> 2] * (K - w + z * +d[h + 152 >> 2]);
                    G = -ba;
                    ba = B < ba ? B : ba;
                    ba = ba < G ? G : ba;
                    d[a >> 2] = ba;
                    u = ba - u;
                    w -= b * u;
                    u = K + q * u;
                    K = +d[h + 124 >> 2];
                    ba = +d[h + 120 >> 2];
                    G = +d[h + 116 >> 2];
                    B = +d[h + 112 >> 2];
                    v = +d[h + 144 >> 2] * z + (G * w + (p - K * u - m));
                    z = z * +d[h + 148 >> 2] + (x + ba * u - g - B * w);
                    D = +d[h + 176 >> 2] * v + +d[h + 184 >> 2] * z;
                    E = a = h + 80 | 0;
                    N = +d[E >> 2];
                    y = +d[E + 4 >> 2];
                    z = N - (+d[h + 172 >> 2] * v + +d[h + 180 >> 2] * z);
                    d[a >> 2] = z;
                    E = h + 84 | 0;
                    D = +d[E >> 2] - D;
                    d[E >> 2] = D;
                    A *= +d[h + 92 >> 2];
                    v = z * z + D * D;
                    v > A * A && (v = +ib(+v), 1.1920928955078125E-7 > v || (v = 1 / v, z *= v, d[a >> 2] = z, D *= v, d[E >> 2] = D), z *= A, d[a >> 2] = z, D *= A, d[E >> 2] = D);
                    v = z - N;
                    z = D - y;
                    y = (c[k >> 2] | 0) + (12 * (c[l >> 2] | 0) | 0) | 0;
                    d[y >> 2] = +(m - f * v);
                    d[y + 4 >> 2] = +(g - f * z);
                    y = c[k >> 2] | 0;
                    d[y + (12 * (c[l >> 2] | 0) | 0) + 8 >> 2] = w - b * (B * z - v * G);
                    y = y + (12 * (c[n >> 2] | 0) | 0) | 0;
                    d[y >> 2] = +(p + e * v);
                    d[y + 4 >> 2] = +(x + e * z);
                    d[(c[k >> 2] | 0) + (12 * (c[n >> 2] | 0) | 0) + 8 >> 2] = u + q * (z * ba - v * K);
                    r = t
                }, function() {}, function() {}, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 80 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 84 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 88 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 92 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        ba = 0,
                        w = 0,
                        A = 0,
                        E = 0,
                        z = 0,
                        v = 0,
                        C = 0,
                        F = 0,
                        Ga = 0,
                        S = 0,
                        M = t = e = g = v = F = E = w = G = ba = 0,
                        S = 0,
                        p = r,
                        A = c[h + 48 >> 2] | 0,
                        t = c[A + 8 >> 2] | 0,
                        k = h + 108 | 0;
                    c[k >> 2] = t;
                    e = c[h + 52 >> 2] | 0;
                    v = c[e + 8 >> 2] | 0;
                    m = h + 112 | 0;
                    c[m >> 2] = v;
                    E = A + 28 | 0;
                    F = c[E >> 2] | 0;
                    E = c[E + 4 >> 2] | 0;
                    S = h +
                        140 | 0;
                    c[S >> 2] = F;
                    c[S + 4 >> 2] = E;
                    S = e + 28 | 0;
                    w = c[S >> 2] | 0;
                    S = c[S + 4 >> 2] | 0;
                    G = h + 148 | 0;
                    c[G >> 2] = w;
                    c[G + 4 >> 2] = S;
                    G = h + 156 | 0;
                    d[G >> 2] = +d[A + 120 >> 2];
                    S = h + 160 | 0;
                    d[S >> 2] = +d[e + 120 >> 2];
                    ba = h + 164 | 0;
                    d[ba >> 2] = +d[A + 128 >> 2];
                    A = h + 168 | 0;
                    d[A >> 2] = +d[e + 128 >> 2];
                    e = c[a + 24 >> 2] | 0;
                    l = e + (12 * t | 0) | 0;
                    B = +d[l >> 2];
                    N = +d[l + 4 >> 2];
                    b = +d[e + (12 * t | 0) + 8 >> 2];
                    l = a + 28 | 0;
                    g = c[l >> 2] | 0;
                    M = g + (12 * t | 0) | 0;
                    K = +d[M >> 2];
                    u = +d[M + 4 >> 2];
                    f = +d[g + (12 * t | 0) + 8 >> 2];
                    t = e + (12 * v | 0) | 0;
                    z = +d[t >> 2];
                    Ga = +d[t + 4 >> 2];
                    C = +d[e + (12 * v | 0) + 8 >> 2];
                    e = g + (12 * v | 0) | 0;
                    t = +d[e >> 2];
                    e = +d[e + 4 >> 2];
                    g = +d[g + (12 * v | 0) + 8 >> 2];
                    q = +Ja(+b);
                    b = +Ka(+b);
                    v = +Ja(+C);
                    C = +Ka(+C);
                    F = +d[h + 80 >> 2] - (c[y >> 2] = F, +d[y >> 2]);
                    n = +d[h + 84 >> 2] - (c[y >> 2] = E, +d[y >> 2]);
                    x = b * F - q * n;
                    n = q * F + b * n;
                    E = h + 124 | 0;
                    d[E >> 2] = +x;
                    d[E + 4 >> 2] = +n;
                    F = +d[h + 88 >> 2] - (c[y >> 2] = w, +d[y >> 2]);
                    b = +d[h + 92 >> 2] - +d[h + 152 >> 2];
                    q = C * F - v * b;
                    b = v * F + C * b;
                    F = +b;
                    w = h + 132 | 0;
                    d[w >> 2] = +q;
                    d[w + 4 >> 2] = F;
                    w = h + 116 | 0;
                    B = z + q - B - x;
                    N = Ga + b - N - n;
                    E = w;
                    d[E >> 2] = +B;
                    d[E + 4 >> 2] = +N;
                    z = +ib(+(B * B + N * N));
                    .004999999888241291 < z ? (Ga = 1 / z, B *= Ga, d[w >> 2] = B, N *= Ga) : B = N = d[w >> 2] = 0;
                    d[h + 120 >> 2] = N;
                    Ga = N * x - n * B;
                    v = N * q - B * b;
                    G = +d[G >> 2];
                    ba = +d[ba >> 2];
                    w = +d[S >> 2];
                    E = +d[A >> 2];
                    v = w + (G + Ga * Ga * ba) + v * v * E;
                    Ga = 0 != v ? 1 / v : 0;
                    A = h + 172 | 0;
                    d[A >> 2] = Ga;
                    C = +d[h + 68 >> 2];
                    0 < C ? (z -= +d[h + 104 >> 2], S = 6.2831854820251465 * C, F = S * Ga * S, C = +d[a >> 2], Ga = C * (S * Ga * 2 * +d[h + 72 >> 2] + F * C), S = h + 96 | 0, d[S >> 2] = Ga, Ga = 0 != Ga ? 1 / Ga : 0, d[S >> 2] = Ga, d[h + 76 >> 2] = F * z * C * Ga, z = v + Ga, z = 0 != z ? 1 / z : 0, d[A >> 2] = z) : (d[h + 96 >> 2] = 0, d[h + 76 >> 2] = 0);
                    D[a + 20 >> 0] | 0 ? (M = h + 100 | 0, z = +d[a + 8 >> 2] * +d[M >> 2], d[M >> 2] = z, S = B * z, N *= z, z = K - S * G, v = u - N * G, F = t + S * w, Ga = e + N * w, C = f - ba * (N * x - S * n), S = g + E * (N * q - S * b)) : (d[h + 100 >> 2] = 0, z = K, v = u, F = t, Ga = e, C = f, S = g);
                    M = c[k >> 2] | 0;
                    t = c[l >> 2] | 0;
                    M = t + (12 * M | 0) | 0;
                    z = +z;
                    d[M >> 2] = z;
                    d[(M + 4 | 0) >> 2] = +v;
                    M = c[k >> 2] | 0;
                    t = c[l >> 2] | 0;
                    M = t + (12 * M | 0) + 8 | 0;
                    d[M >> 2] = C;
                    M = c[m >> 2] | 0;
                    M = t + (12 * M | 0) | 0;
                    F = +F;
                    Ga = +Ga;
                    t = M;
                    d[t >> 2] = F;
                    M = M + 4 | 0;
                    d[M >> 2] = Ga;
                    M = c[m >> 2] | 0;
                    t = c[l >> 2] | 0;
                    M = t + (12 * M | 0) + 8 | 0;
                    d[M >> 2] = S;
                    r = p
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        y = 0,
                        u = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        K = 0,
                        w = 0,
                        D = 0,
                        m = f = 0,
                        b = r,
                        x = h + 108 | 0,
                        K = c[x >> 2] | 0,
                        e = (a | 0) + 28 | 0,
                        f = c[e >> 2] | 0;
                    a = y = f + (12 * K | 0) | 0;
                    t = +d[a >> 2];
                    u = +d[a + 4 >> 2];
                    G = +d[f + (12 * K | 0) + 8 >> 2];
                    a = h + 112 | 0;
                    K = c[a >> 2] | 0;
                    m = f + (12 * K | 0) | 0;
                    p = +d[m >> 2];
                    m = +d[m + 4 >> 2];
                    N = +d[f + (12 * K | 0) + 8 >> 2];
                    n = +d[h + 128 >> 2];
                    g = +d[h + 124 >> 2];
                    f = +d[h + 136 >> 2];
                    B = +d[h + 132 >> 2];
                    k = +d[h + 116 >> 2];
                    q = +d[h + 120 >> 2];
                    K = h + 100 | 0;
                    D = +d[K >> 2];
                    w = +d[h + 172 >> 2] * (+d[h + 76 >> 2] + (k * (p - N * f - (t - G * n)) + q * (m + N * B - (u + G * g))) + +d[h + 96 >> 2] * D);
                    l = -w;
                    d[K >> 2] = D - w;
                    k *= l;
                    l *= q;
                    q = +d[h + 156 >> 2];
                    n = G - +d[h + 164 >> 2] * (g * l - k * n);
                    g = +d[h + 160 >> 2];
                    f = N + +d[h + 168 >> 2] * (l * B - k * f);
                    t = +(t - q * k);
                    h = y;
                    d[h >> 2] = t;
                    d[h + 4 >> 2] = +(u - q * l);
                    h = c[e >> 2] | 0;
                    d[h + (12 * (c[x >> 2] | 0) | 0) + 8 >> 2] = n;
                    k = +(p + k * g);
                    h = h + (12 * (c[a >> 2] | 0) | 0) | 0;
                    d[h >> 2] = k;
                    d[h + 4 >> 2] = +(m + l * g);
                    d[(c[e >> 2] | 0) + (12 * (c[a >> 2] | 0) | 0) + 8 >> 2] = f;
                    r = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 68 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 72 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 76 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 80 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        ba = 0,
                        w = 0,
                        z = 0,
                        E = 0,
                        A = 0,
                        v = w = 0,
                        C = 0,
                        F = g = G = l = b = E = 0,
                        Ga = 0,
                        F = C = 0,
                        n = r,
                        p = c[h + 48 >> 2] | 0,
                        F = c[p + 8 >> 2] | 0,
                        m = h + 104 | 0;
                    c[m >> 2] = F;
                    g = c[h + 52 >> 2] | 0;
                    l = c[g + 8 >> 2] | 0;
                    x = h + 108 | 0;
                    c[x >> 2] = l;
                    E = p + 28 | 0;
                    b = c[E >> 2] | 0;
                    E = c[E + 4 >> 2] | 0;
                    w = h + 128 | 0;
                    c[w >> 2] = b;
                    c[w + 4 >> 2] = E;
                    w = g + 28 | 0;
                    C = c[w >> 2] | 0;
                    w = c[w + 4 >> 2] | 0;
                    G = h + 136 | 0;
                    c[G >> 2] = C;
                    c[G + 4 >> 2] = w;
                    q = +d[p + 120 >> 2];
                    d[h + 144 >> 2] = q;
                    t = +d[g + 120 >> 2];
                    d[h + 148 >> 2] = t;
                    u = +d[p + 128 >> 2];
                    d[h + 152 >> 2] = u;
                    N = +d[g + 128 >> 2];
                    d[h + 156 >> 2] = N;
                    g = c[a + 24 >> 2] | 0;
                    ba = +d[g + (12 * F | 0) + 8 >> 2];
                    p = a + 28 | 0;
                    G = c[p >> 2] | 0;
                    Ga = G + (12 * F | 0) | 0;
                    K = +d[Ga >> 2];
                    e = +d[Ga +
                        4 >> 2];
                    k = +d[G + (12 * F | 0) + 8 >> 2];
                    z = +d[g + (12 * l | 0) + 8 >> 2];
                    g = G + (12 * l | 0) | 0;
                    f = +d[g >> 2];
                    g = +d[g + 4 >> 2];
                    l = +d[G + (12 * l | 0) + 8 >> 2];
                    G = +Ja(+ba);
                    ba = +Ka(+ba);
                    A = +Ja(+z);
                    z = +Ka(+z);
                    v = +d[h + 68 >> 2] - (c[y >> 2] = b, +d[y >> 2]);
                    B = +d[h + 72 >> 2] - (c[y >> 2] = E, +d[y >> 2]);
                    b = ba * v - G * B;
                    B = G * v + ba * B;
                    E = h + 112 | 0;
                    d[E >> 2] = +b;
                    d[E + 4 >> 2] = +B;
                    v = +d[h + 76 >> 2] - (c[y >> 2] = C, +d[y >> 2]);
                    ba = +d[h + 80 >> 2] - (c[y >> 2] = w, +d[y >> 2]);
                    G = z * v - A * ba;
                    ba = A * v + z * ba;
                    v = +ba;
                    w = h + 120 | 0;
                    d[w >> 2] = +G;
                    d[w + 4 >> 2] = v;
                    v = q + t;
                    z = v + B * u * B + ba * N * ba;
                    A = u * b;
                    w = N * G;
                    E = -(B * A) - ba * w;
                    w = v + b * A + G * w;
                    A = z * w - E * E;
                    0 != A && (A = 1 / A);
                    v = -(E * A);
                    d[h + 160 >> 2] = w * A;
                    d[h + 164 >> 2] = v;
                    d[h + 168 >> 2] = v;
                    d[h + 172 >> 2] = z * A;
                    w = u + N;
                    0 < w && (w = 1 / w);
                    d[h + 176 >> 2] = w;
                    w = h + 84 | 0;
                    D[a + 20 >> 0] | 0 ? (F = a + 8 | 0, C = +d[F >> 2], v = C * +d[w >> 2], d[w >> 2] = v, Ga = h + 88 | 0, C *= +d[Ga >> 2], d[Ga >> 2] = C, Ga = h + 92 | 0, F = +d[F >> 2] * +d[Ga >> 2], d[Ga >> 2] = F, K -= q * v, w = e - q * C, E = f + t * v, A = g + t * C, z = k - u * (F + (C * b - v * B)), v = l + N * (F + (C * G - v * ba))) : (d[w >> 2] = 0, d[h + 88 >> 2] = 0, d[h + 92 >> 2] = 0, w = e, E = f, A = g, z = k, v = l);
                    Ga = c[m >> 2] | 0;
                    F = c[p >> 2] | 0;
                    Ga = F + (12 * Ga | 0) | 0;
                    ba = +K;
                    d[Ga >> 2] = ba;
                    d[(Ga + 4 | 0) >> 2] = +w;
                    Ga = c[m >> 2] | 0;
                    F = c[p >> 2] | 0;
                    Ga = F + (12 * Ga | 0) + 8 | 0;
                    d[Ga >> 2] = z;
                    Ga = c[x >> 2] | 0;
                    F = Ga = F + (12 * Ga | 0) | 0;
                    d[F >> 2] = +E;
                    Ga = Ga + 4 | 0;
                    d[Ga >> 2] = +A;
                    Ga = c[x >> 2] | 0;
                    F = c[p >> 2] | 0;
                    Ga = F + (12 * Ga | 0) + 8 | 0;
                    d[Ga >> 2] = v;
                    r = n
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        y = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        K = 0,
                        w = 0,
                        D = 0,
                        E = 0,
                        z = 0,
                        A = 0,
                        v = 0,
                        C = 0,
                        u = b = 0,
                        t = r,
                        l = h + 104 | 0,
                        n = c[l >> 2] | 0,
                        k = a + 28 | 0,
                        b = c[k >> 2] | 0,
                        E = b + (12 * n | 0) | 0,
                        m = +d[E >> 2],
                        g = +d[E + 4 >> 2],
                        D = +d[b + (12 * n | 0) + 8 >> 2],
                        n = h + 108 | 0,
                        E = c[n >> 2] | 0,
                        u = b + (12 * E | 0) | 0,
                        p = +d[u >> 2],
                        x = +d[u + 4 >> 2],
                        w = +d[b + (12 * E | 0) + 8 >> 2],
                        f = +d[h + 144 >> 2],
                        e = +d[h + 148 >> 2],
                        b = +d[h + 152 >> 2],
                        q = +d[h + 156 >> 2],
                        A = +d[a >> 2];
                    a = h + 92 | 0;
                    y = +d[a >> 2];
                    K = A * +d[h + 100 >> 2];
                    B = y - (w - D) * +d[h + 176 >> 2];
                    G = -K;
                    K = B < K ? B : K;
                    K = K < G ? G : K;
                    d[a >> 2] = K;
                    y = K - y;
                    D -= b * y;
                    y = w + q * y;
                    w = +d[h + 124 >> 2];
                    K = +d[h + 120 >> 2];
                    G = +d[h + 116 >> 2];
                    B = +d[h + 112 >> 2];
                    C = G * D + (p - w * y - m);
                    v = x + K * y - g - B * D;
                    z = +d[h + 164 >> 2] * C + +d[h + 172 >> 2] * v;
                    E = a = h + 84 | 0;
                    N = +d[E >> 2];
                    u = +d[E + 4 >> 2];
                    v = N - (+d[h + 160 >> 2] * C + +d[h + 168 >> 2] * v);
                    d[a >> 2] = v;
                    E = h + 88 | 0;
                    z = +d[E >> 2] - z;
                    d[E >> 2] = z;
                    A *= +d[h + 96 >> 2];
                    C = v * v + z * z;
                    C > A * A && (C = +ib(+C), 1.1920928955078125E-7 > C || (C = 1 / C, v *= C, d[a >> 2] = v, z *= C, d[E >> 2] = z), v *= A, d[a >> 2] = v, z *= A, d[E >> 2] = z);
                    C = v - N;
                    v = z - u;
                    u = (c[k >> 2] | 0) + (12 * (c[l >> 2] | 0) | 0) | 0;
                    d[u >> 2] = +(m - f * C);
                    d[u + 4 >> 2] = +(g - f * v);
                    u = c[k >> 2] | 0;
                    d[u + (12 * (c[l >> 2] | 0) | 0) + 8 >> 2] = D - b * (B * v - C * G);
                    u = u + (12 * (c[n >> 2] | 0) | 0) | 0;
                    d[u >> 2] = +(p + e * C);
                    d[u + 4 >> 2] = +(x + e * v);
                    d[(c[k >> 2] | 0) + (12 * (c[n >> 2] | 0) | 0) + 8 >> 2] = y + q * (v * K - C * w);
                    r = t
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 92 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 96 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 100 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 104 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        w = 0,
                        z = 0,
                        A = 0,
                        E = 0,
                        v = 0,
                        C = 0,
                        F = 0,
                        I = 0,
                        Ga = 0,
                        S = 0,
                        M = 0,
                        J = 0,
                        H = 0,
                        L = 0,
                        X = 0,
                        Q = 0,
                        R = 0,
                        W = 0,
                        V = 0,
                        aa = 0,
                        P = 0,
                        fa = 0,
                        U = P = 0,
                        T = v = e = f = k = aa = m = q = 0,
                        ca = U = 0,
                        ea = 0,
                        ja = fa = 0,
                        ha = R = 0,
                        ga = 0,
                        da = S = 0,
                        G = r,
                        e = c[h + 48 >> 2] | 0,
                        f = c[e + 8 >> 2] | 0,
                        t = h + 160 | 0;
                    c[t >> 2] = f;
                    q = c[h + 52 >> 2] | 0;
                    k = c[q + 8 >> 2] | 0;
                    b = h + 164 | 0;
                    c[b >> 2] = k;
                    u = c[h + 84 >> 2] | 0;
                    aa = c[u + 8 >> 2] | 0;
                    B = h + 168 | 0;
                    c[B >> 2] = aa;
                    m = c[h + 88 >> 2] | 0;
                    S = c[m + 8 >> 2] | 0;
                    N = h + 172 | 0;
                    c[N >> 2] = S;
                    P = h + 176 | 0;
                    v = e + 28 | 0;
                    U = c[v + 4 >> 2] | 0;
                    R = P;
                    c[R >> 2] = c[v >> 2];
                    c[R + 4 >> 2] = U;
                    R = h + 184 | 0;
                    U = q + 28 | 0;
                    v = c[U + 4 >> 2] | 0;
                    fa = R;
                    c[fa >> 2] = c[U >> 2];
                    c[fa + 4 >> 2] = v;
                    fa = h + 192 | 0;
                    v = u + 28 | 0;
                    U = c[v + 4 >> 2] | 0;
                    T = fa;
                    c[T >> 2] = c[v >> 2];
                    c[T + 4 >> 2] = U;
                    T = m + 28 | 0;
                    U = c[T >> 2] | 0;
                    T = c[T + 4 >> 2] | 0;
                    v = h + 200 | 0;
                    c[v >> 2] = U;
                    c[v + 4 >> 2] = T;
                    w = +d[e + 120 >> 2];
                    d[h + 208 >> 2] = w;
                    z = +d[q + 120 >> 2];
                    d[h + 212 >> 2] = z;
                    A = +d[u + 120 >> 2];
                    d[h + 216 >> 2] = A;
                    E = +d[m + 120 >> 2];
                    d[h + 220 >> 2] = E;
                    v = +d[e + 128 >> 2];
                    d[h + 224 >> 2] = v;
                    C = +d[q + 128 >> 2];
                    d[h + 228 >> 2] = C;
                    F = +d[u + 128 >> 2];
                    d[h + 232 >> 2] = F;
                    I = +d[m + 128 >> 2];
                    d[h + 236 >> 2] = I;
                    m = c[a + 24 >> 2] | 0;
                    M = +d[m + (12 * f | 0) + 8 >> 2];
                    u = a + 28 | 0;
                    q = c[u >> 2] | 0;
                    e = q + (12 * f | 0) | 0;
                    Ga = +d[e >> 2];
                    K = +d[e + 4 >> 2];
                    p = +d[q + (12 * f | 0) + 8 >> 2];
                    V = +d[m + (12 * k | 0) + 8 >> 2];
                    f = q + (12 * k | 0) | 0;
                    e = +d[f >> 2];
                    f = +d[f + 4 >> 2];
                    x = +d[q + (12 * k | 0) + 8 >> 2];
                    H = +d[m + (12 * aa | 0) + 8 >> 2];
                    k = q + (12 * aa | 0) | 0;
                    g = +d[k >> 2];
                    k = +d[k + 4 >> 2];
                    n = +d[q + (12 * aa | 0) + 8 >> 2];
                    aa = +d[m + (12 * S | 0) + 8 >> 2];
                    m = q + (12 * S | 0) | 0;
                    l = +d[m >> 2];
                    m = +d[m + 4 >> 2];
                    q = +d[q + (12 * S | 0) + 8 >> 2];
                    L = +Ja(+M);
                    M = +Ka(+M);
                    X = +Ja(+V);
                    V = +Ka(+V);
                    J = +Ja(+H);
                    H = +Ka(+H);
                    Q = +Ja(+aa);
                    aa = +Ka(+aa);
                    S = h + 272 | 0;
                    d[S >> 2] = 0;
                    W = (c[y >> 2] = U, +d[y >> 2]);
                    1 == (c[h + 76 >> 2] | 0) ? (d[h + 240 >> 2] = 0, d[h + 244 >> 2] = 0, d[h + 256 >> 2] = 1, d[h + 264 >> 2] = 1, P = v + F, M = L = 0, J = H = 1) : (ja = +d[h + 124 >> 2], U = +d[h + 128 >> 2], ca = H * ja - J * U, U = J * ja + H * U, ja = +d[h + 108 >> 2] - +d[fa >> 2], fa = +d[h + 112 >> 2] - +d[h + 196 >> 2], ea = +d[h + 92 >> 2] - +d[P >> 2], P = +d[h + 96 >> 2] - +d[h + 180 >> 2], T = h + 240 | 0, d[T >> 2] = +ca, d[T + 4 >> 2] = +U, J = U * (H * ja - J * fa) - ca * (J * ja + H * fa), d[h + 264 >> 2] = J, H = U * (M * ea - L * P) - ca * (L * ea + M * P), d[h + 256 >> 2] = H, P = A + w + J * F * J + H * v * H, L = ca, M = U);
                    P += 0;
                    d[S >> 2] = P;
                    1 == (c[h + 80 >> 2] | 0) ? (d[h + 248 >> 2] = 0, d[h + 252 >> 2] = 0, Q = +d[h + 152 >> 2], d[h + 260 >> 2] = Q, d[h + 268 >> 2] = Q, aa = Q * Q * (C + I), W = X = 0, V = Q) : (ga = +d[h + 132 >> 2], ca = +d[h + 136 >> 2], ea = aa * ga - Q * ca, ca = Q * ga + aa * ca, ga = +d[h + 116 >> 2] - W, U = +d[h + 120 >> 2] - +d[h + 204 >> 2], fa = +d[h + 100 >> 2] - +d[R >> 2], ja = +d[h + 104 >> 2] - +d[h + 188 >> 2], R = +d[h + 152 >> 2], ha = ea * R, W = ca * R, da = +ha, T = h + 248 | 0, d[T >> 2] = da, d[T + 4 >> 2] = +W, Q = (ca * (aa * ga - Q * U) - ea * (Q * ga + aa * U)) * R, d[h + 268 >> 2] = Q, V = R * (ca * (V * fa - X * ja) - ea * (X * fa + V * ja)), d[h + 260 >> 2] = V, aa = R * R * (E + z) + Q * I * Q + V * V * C, X = ha);
                    aa = P + aa;
                    d[S >> 2] = aa;
                    d[S >> 2] = 0 < aa ? 1 / aa : 0;
                    S = h + 156 | 0;
                    D[a + 20 >> 0] | 0 ? (da = +d[S >> 2], P = w * da, ea = da * z, R = da * A, S = da * E, aa = Ga + L * P, P = K + P * M, ca = e + X * ea, ea = f + ea * W, ja = g - L * R, R = k - M * R, ga = l - X * S, S = m - W * S, U = p + da * v * H, fa = x + da * C * V, ha = n - da * F * J, da = q - da * I * Q) : (d[S >> 2] = 0, aa = Ga, P = K, ca = e, ea = f, ja = g, R = k, ga = l, S = m, U = p, fa = x, ha = n, da = q);
                    T = c[t >> 2] | 0;
                    v = c[u >> 2] | 0;
                    T = v + (12 * T | 0) | 0;
                    aa = +aa;
                    d[T >> 2] = aa;
                    d[(T + 4 | 0) >> 2] = +P;
                    T = c[t >> 2] | 0;
                    v = c[u >> 2] | 0;
                    T = v + (12 * T | 0) + 8 | 0;
                    d[T >> 2] = U;
                    T = c[b >> 2] | 0;
                    v = T = v + (12 * T | 0) | 0;
                    d[v >> 2] = +ca;
                    T = T + 4 | 0;
                    d[T >> 2] = +ea;
                    T = c[b >> 2] | 0;
                    v = c[u >> 2] | 0;
                    T = v + (12 * T | 0) +
                        8 | 0;
                    d[T >> 2] = fa;
                    T = c[B >> 2] | 0;
                    T = v + (12 * T | 0) | 0;
                    R = +R;
                    v = T;
                    d[v >> 2] = +ja;
                    T = T + 4 | 0;
                    d[T >> 2] = R;
                    T = c[B >> 2] | 0;
                    v = c[u >> 2] | 0;
                    T = v + (12 * T | 0) + 8 | 0;
                    d[T >> 2] = ha;
                    T = c[N >> 2] | 0;
                    T = v + (12 * T | 0) | 0;
                    S = +S;
                    v = T;
                    d[v >> 2] = +ga;
                    T = T + 4 | 0;
                    d[T >> 2] = S;
                    T = c[N >> 2] | 0;
                    v = c[u >> 2] | 0;
                    T = v + (12 * T | 0) + 8 | 0;
                    d[T >> 2] = da;
                    r = G
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        y = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        K = 0,
                        w = 0,
                        v = 0,
                        E = 0,
                        z = 0,
                        D = 0,
                        A = 0,
                        C = 0,
                        F = 0,
                        S = 0,
                        M = 0,
                        m = f = 0,
                        b = r,
                        E = h + 160 | 0,
                        N = c[E >> 2] | 0,
                        e = (a | 0) + 28 | 0,
                        f = c[e >> 2] | 0,
                        x = f + (12 * N | 0) | 0,
                        A = +d[x >> 2],
                        C = +d[x + 4 >> 2],
                        K = +d[f + (12 * N | 0) + 8 >> 2],
                        N = h + 164 | 0,
                        x = c[N >> 2] | 0;
                    a = f + (12 * x | 0) | 0;
                    w = +d[a >> 2];
                    v = +d[a + 4 >> 2];
                    q = +d[f + (12 * x | 0) + 8 >> 2];
                    x = h + 168 | 0;
                    a = c[x >> 2] | 0;
                    M = f + (12 * a | 0) | 0;
                    B = +d[M >> 2];
                    y = +d[M + 4 >> 2];
                    g = +d[f + (12 * a | 0) + 8 >> 2];
                    a = h + 172 | 0;
                    M = c[a >> 2] | 0;
                    m = f + (12 * M | 0) | 0;
                    p = +d[m >> 2];
                    m = +d[m + 4 >> 2];
                    S = +d[f + (12 * M | 0) + 8 >> 2];
                    t = +d[h + 240 >> 2];
                    u = +d[h + 244 >> 2];
                    k = +d[h + 248 >> 2];
                    l = +d[h + 252 >> 2];
                    z = +d[h + 256 >> 2];
                    n = +d[h + 264 >> 2];
                    G = +d[h + 260 >> 2];
                    f = +d[h + 268 >> 2];
                    D = +d[h + 272 >> 2] * ((A - B) * t + (C - y) * u + ((w - p) * k + (v - m) * l) + (K * z - g * n + (q * G - S * f)));
                    F = -D;
                    M = h + 156 | 0;
                    d[M >> 2] = +d[M >> 2] - D;
                    D = +d[h + 208 >> 2] * F;
                    z = K + +d[h + 224 >> 2] * F * z;
                    K = +d[h + 212 >> 2] * F;
                    G = q + +d[h + 228 >> 2] * F * G;
                    q = +d[h + 216 >> 2] * F;
                    n = g - +d[h + 232 >> 2] * F * n;
                    g = +d[h + 220 >> 2] * F;
                    f = S - +d[h + 236 >> 2] * F * f;
                    A = +(A + t * D);
                    h = (c[e >> 2] | 0) + (12 * (c[E >> 2] | 0) | 0) | 0;
                    d[h >> 2] = A;
                    d[h + 4 >> 2] = +(C + u * D);
                    h = c[e >> 2] | 0;
                    d[h + (12 * (c[E >> 2] | 0) | 0) + 8 >> 2] = z;
                    w = +(w + k * K);
                    h = h + (12 * (c[N >> 2] | 0) | 0) | 0;
                    d[h >> 2] = w;
                    d[h + 4 >> 2] = +(v + K * l);
                    h = c[e >> 2] | 0;
                    d[h + (12 * (c[N >> 2] | 0) | 0) + 8 >> 2] = G;
                    t = +(B - t * q);
                    h = h + (12 * (c[x >> 2] | 0) | 0) | 0;
                    d[h >> 2] = t;
                    d[h + 4 >> 2] = +(y - u * q);
                    h = c[e >> 2] | 0;
                    d[h + (12 * (c[x >> 2] | 0) | 0) + 8 >> 2] = n;
                    k = +(p - k * g);
                    h = h + (12 * (c[a >> 2] | 0) | 0) | 0;
                    d[h >> 2] = k;
                    d[h + 4 >> 2] = +(m - l * g);
                    d[(c[e >> 2] | 0) + (12 * (c[a >> 2] | 0) | 0) + 8 >> 2] = f;
                    r = b
                }, function(h, a) {
                    var d = 0,
                        b = 0,
                        b = (a | 0) + 76 | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = h | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 68 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 72 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, c) {
                    h = h | 0;
                    c = c | 0;
                    var a = 0,
                        a = h + 76 | 0;
                    d[a >> 2] = +d[a >> 2] - +d[c >> 2];
                    h = h + 80 | 0;
                    d[h >> 2] = +d[h >> 2] - +d[c + 4 >> 2]
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        w = 0,
                        v = 0,
                        z = n = w = u = 0,
                        k = r,
                        w = c[h + 52 >> 2] | 0,
                        f = c[w + 8 >> 2] | 0,
                        g = h + 116 | 0;
                    c[g >> 2] = f;
                    v = w + 28 | 0;
                    u = c[v >> 2] | 0;
                    v = c[v + 4 >> 2] | 0;
                    e = h + 128 | 0;
                    c[e >> 2] = u;
                    c[e + 4 >> 2] = v;
                    l = +d[w + 120 >> 2];
                    d[h + 136 >> 2] = l;
                    b = +d[w + 128 >> 2];
                    d[h + 140 >> 2] = b;
                    e = c[a + 24 >> 2] | 0;
                    n = e + (12 * f | 0) | 0;
                    q = +d[n >> 2];
                    x = +d[n + 4 >> 2];
                    K = +d[e + (12 * f | 0) + 8 >> 2];
                    e = a + 28 | 0;
                    n = c[e >> 2] | 0;
                    z = n + (12 * f | 0) | 0;
                    p = +d[z >> 2];
                    m = +d[z + 4 >> 2];
                    n = +d[n + (12 * f | 0) + 8 >> 2];
                    N = +Ja(+K);
                    K = +Ka(+K);
                    w = +d[w + 116 >> 2];
                    G = 6.2831854820251465 * +d[h + 84 >> 2];
                    B = +d[a >> 2];
                    t = B * w * G * G;
                    w = G * w * 2 * +d[h + 88 >> 2] + t;
                    G = (c[y >> 2] = u, +d[y >> 2]);
                    u = (c[y >> 2] = v, +d[y >> 2]);
                    1.1920928955078125E-7 < w || Q(15768, 15520, 125, 15808);
                    B *= w;
                    0 != B && (B = 1 / B);
                    d[h + 108 >> 2] = B;
                    t *= B;
                    d[h + 92 >> 2] = t;
                    G = +d[h + 68 >> 2] - G;
                    w = +d[h + 72 >> 2] - u;
                    u = K * G - N * w;
                    K = N * G + K * w;
                    z = h + 120 | 0;
                    d[z >> 2] = +u;
                    d[z + 4 >> 2] = +K;
                    G = B + (l + K * b * K);
                    w = b * u;
                    N = K * w;
                    B += l + u * w;
                    w = G * B - N * N;
                    0 != w && (w = 1 / w);
                    N *= w;
                    d[h + 144 >> 2] = B * w;
                    d[h + 148 >> 2] = N;
                    d[h + 152 >> 2] = N;
                    d[h + 156 >> 2] = G * w;
                    v = h + 160 | 0;
                    w = q + u - +d[h + 76 >> 2];
                    x = x + K - +d[h + 80 >> 2];
                    N = +w;
                    z = v;
                    d[z >> 2] = N;
                    d[z + 4 >> 2] = +x;
                    d[v >> 2] = t * w;
                    d[h + 164 >> 2] = t * x;
                    x = .9800000190734863 * n;
                    v = h + 96 | 0;
                    D[a + 20 >> 0] | 0 ? (B = +d[a + 8 >> 2], w = B * +d[v >> 2], d[v >> 2] = w, z = h + 100 | 0, B *= +d[z >> 2], d[z >> 2] = B, N = p + l * w, G = m + B * l, w = x + b * (B * u - w * K)) : (d[v >> 2] = 0, d[h + 100 >> 2] = 0, N = p, G = m, w = x);
                    z = c[e >> 2] | 0;
                    z = z + (12 * f | 0) | 0;
                    G = +G;
                    d[z >> 2] = +N;
                    d[(z + 4 | 0) >> 2] = G;
                    z = c[g >> 2] | 0;
                    n = c[e >> 2] | 0;
                    z = n + (12 * z | 0) + 8 | 0;
                    d[z >> 2] = w;
                    r = k
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        y = 0,
                        b = 0,
                        n = r,
                        e = h + 116 | 0,
                        K = c[e >> 2] | 0,
                        f = a + 28 | 0,
                        u = c[f >> 2] | 0,
                        b = g = u + (12 * K | 0) | 0,
                        l = +d[b >> 2],
                        k = +d[b + 4 >> 2],
                        x = +d[u + (12 * K | 0) + 8 >> 2],
                        m = +d[h +
                            124 >> 2],
                        p = +d[h + 120 >> 2],
                        B = +d[h + 108 >> 2],
                        K = h + 96 | 0,
                        y = +d[K >> 2],
                        u = h + 100 | 0,
                        t = +d[u >> 2],
                        N = -(l - x * m + +d[h + 160 >> 2] + B * y),
                        B = -(k + x * p + +d[h + 164 >> 2] + B * t),
                        G = +d[h + 148 >> 2] * N + +d[h + 156 >> 2] * B,
                        b = K,
                        q = +d[b >> 2],
                        b = +d[b + 4 >> 2],
                        B = y + (+d[h + 144 >> 2] * N + +d[h + 152 >> 2] * B);
                    d[K >> 2] = B;
                    t = G + t;
                    d[u >> 2] = t;
                    G = +d[a >> 2] * +d[h + 104 >> 2];
                    N = t * t + B * B;
                    N > G * G && (y = G / +ib(+N), B *= y, d[K >> 2] = B, t *= y, d[u >> 2] = t);
                    N = B - q;
                    B = t - b;
                    G = +d[h + 136 >> 2];
                    y = x + +d[h + 140 >> 2] * (B * p - N * m);
                    N = +(l + N * G);
                    b = g;
                    d[b >> 2] = N;
                    d[b + 4 >> 2] = +(k + B * G);
                    d[(c[f >> 2] | 0) + (12 * (c[e >> 2] | 0) | 0) + 8 >> 2] = y;
                    r = n
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 68 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 72 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 76 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 80 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        w = 0,
                        z = 0,
                        v = 0,
                        E = 0,
                        A = 0,
                        C = 0,
                        F = 0,
                        I = 0,
                        Ga = 0,
                        S = 0,
                        M = 0,
                        J = 0,
                        H = 0,
                        L = 0,
                        X = F = l = p = b = N = E = A = z = S = 0,
                        Q = 0,
                        R = 0,
                        P = 0,
                        t = r,
                        n = c[h + 48 >> 2] | 0,
                        F = c[n + 8 >> 2] | 0,
                        x = h + 144 | 0;
                    c[x >> 2] = F;
                    l = c[h + 52 >> 2] | 0;
                    b = c[l + 8 >> 2] | 0;
                    q = h + 148 | 0;
                    c[q >> 2] = b;
                    E = n + 28 | 0;
                    N = c[E >> 2] | 0;
                    E = c[E + 4 >> 2] | 0;
                    z = h + 152 | 0;
                    c[z >> 2] = N;
                    c[z + 4 >> 2] = E;
                    z = l + 28 | 0;
                    A = c[z >> 2] | 0;
                    z = c[z + 4 >> 2] | 0;
                    S = h + 160 | 0;
                    c[S >> 2] = A;
                    c[S + 4 >> 2] = z;
                    S = h + 168 | 0;
                    d[S >> 2] = +d[n + 120 >> 2];
                    K = +d[l + 120 >> 2];
                    d[h + 172 >> 2] = K;
                    B = +d[n + 128 >> 2];
                    d[h + 176 >> 2] = B;
                    G = +d[l + 128 >> 2];
                    d[h + 180 >> 2] = G;
                    l = c[a + 24 >> 2] | 0;
                    n = l + (12 * F | 0) | 0;
                    C = +d[n >> 2];
                    Ga = +d[n + 4 >> 2];
                    L = +d[l + (12 * F | 0) + 8 >> 2];
                    n = a + 28 | 0;
                    p = c[n >> 2] | 0;
                    X = p + (12 * F | 0) | 0;
                    f = +d[X >> 2];
                    g = +d[X + 4 >> 2];
                    m = +d[p + (12 * F | 0) + 8 >> 2];
                    F = l + (12 * b | 0) | 0;
                    w = +d[F >> 2];
                    u = +d[F + 4 >> 2];
                    e = +d[l + (12 * b | 0) + 8 >> 2];
                    l = p + (12 * b | 0) | 0;
                    k = +d[l >> 2];
                    l = +d[l + 4 >> 2];
                    p = +d[p + (12 * b | 0) + 8 >> 2];
                    v = +Ja(+L);
                    L = +Ka(+L);
                    b = +Ja(+e);
                    e = +Ka(+e);
                    N = +d[h + 68 >> 2] - (c[y >> 2] = N, +d[y >> 2]);
                    H = +d[h + 72 >> 2] - (c[y >> 2] = E, +d[y >> 2]);
                    E = L * N - v * H;
                    H = v * N + L * H;
                    N = +d[h + 76 >> 2] - (c[y >> 2] = A, +d[y >> 2]);
                    A = +d[h + 80 >> 2] - (c[y >> 2] = z, +d[y >> 2]);
                    J = e * N - b * A;
                    A = b * N + e * A;
                    C = w - C + J - E;
                    Ga = u - Ga + A - H;
                    u = +d[S >> 2];
                    w = +d[h + 84 >> 2];
                    e = +d[h + 88 >> 2];
                    N = L * w - v * e;
                    e = v * w + L * e;
                    S = h + 184 | 0;
                    d[S >> 2] = +N;
                    d[S + 4 >> 2] = +e;
                    E += C;
                    H += Ga;
                    b = E * e - H * N;
                    d[h + 208 >> 2] = b;
                    w = J * e - A * N;
                    d[h + 212 >> 2] = w;
                    M = u + K;
                    F = B * b;
                    I = G * w;
                    S = M + b * F + w * I;
                    d[h + 252 >> 2] = 0 < S ? 1 / S : S;
                    P = +d[h + 92 >> 2];
                    R = +d[h + 96 >> 2];
                    z = L * P - v * R;
                    v = v * P + L * R;
                    R = +z;
                    X = h + 192 | 0;
                    d[X >> 2] = R;
                    d[X + 4 >> 2] = +v;
                    E = E * v - H * z;
                    d[h + 200 >> 2] = E;
                    A = J * v - A * z;
                    d[h + 204 >> 2] = A;
                    P = B * E;
                    R = G * A;
                    Q = P + R;
                    H = P * b + R * w;
                    J = G + B;
                    L = F + I;
                    d[h + 216 >> 2] = M + E * P + A * R;
                    d[h + 220 >> 2] = Q;
                    d[h + 224 >> 2] = H;
                    d[h + 228 >> 2] = Q;
                    d[h + 232 >> 2] = 0 == J ? 1 : J;
                    d[h + 236 >> 2] = L;
                    d[h + 240 >> 2] = H;
                    d[h + 244 >> 2] = L;
                    d[h + 248 >> 2] = S;
                    D[h + 136 >> 0] | 0 ? (C = C * N + Ga * e, F = +d[h + 124 >> 2], I = +d[h + 120 >> 2], Ga = F - I, 0 < Ga || (Ga = -Ga), .009999999776482582 > Ga) ? c[h + 140 >> 2] = 3 : C <= I ? (S = h + 140 | 0, 1 != (c[S >> 2] | 0) && (c[S >> 2] = 1, d[h + 112 >> 2] = 0)) : (S = h + 140 | 0, C >= F) ? 2 != (c[S >> 2] | 0) && (c[S >> 2] = 2, d[h + 112 >> 2] = 0) : (c[S >> 2] = 0, d[h + 112 >> 2] = 0) : (c[h + 140 >> 2] = 0, d[h + 112 >> 2] = 0);
                    D[h + 137 >> 0] | 0 || (d[h + 116 >> 2] = 0);
                    S = h + 104 | 0;
                    D[a + 20 >> 0] | 0 ? (F = a + 8 | 0, P = +d[F >> 2], M = P * +d[S >> 2], d[S >> 2] = M, X = h + 108 | 0, S = P * +d[X >> 2], d[X >> 2] = S, X = h + 112 | 0, P *= +d[X >> 2], d[X >> 2] = P, X = h + 116 | 0, Q = +d[F >> 2] * +d[X >> 2], d[X >> 2] = Q, P = Q + P, Q = M * z + N * P, R = M * v + P * e, J = f - u * Q, H = g - u * R, Q = k + K * Q, R = l + K * R, L = m -
                        B * (M * E + S + P * b), P = p + G * (S + M * A + P * w)) : (c[S + 0 >> 2] = 0, c[S + 4 >> 2] = 0, c[S + 8 >> 2] = 0, c[S + 12 >> 2] = 0, J = f, H = g, Q = k, R = l, L = m, P = p);
                    X = c[x >> 2] | 0;
                    F = c[n >> 2] | 0;
                    X = F + (12 * X | 0) | 0;
                    d[X >> 2] = +J;
                    d[(X + 4 | 0) >> 2] = +H;
                    X = c[x >> 2] | 0;
                    F = c[n >> 2] | 0;
                    X = F + (12 * X | 0) + 8 | 0;
                    d[X >> 2] = L;
                    X = c[q >> 2] | 0;
                    F = X = F + (12 * X | 0) | 0;
                    d[F >> 2] = +Q;
                    X = X + 4 | 0;
                    d[X >> 2] = +R;
                    X = c[q >> 2] | 0;
                    F = c[n >> 2] | 0;
                    X = F + (12 * X | 0) + 8 | 0;
                    d[X >> 2] = P;
                    r = t
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        y = 0,
                        w = 0,
                        z = 0,
                        E = 0,
                        v = 0,
                        A = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        S = 0,
                        M = 0,
                        I = 0,
                        H = 0,
                        L = 0,
                        X = 0,
                        Q = 0,
                        R = 0,
                        P = 0,
                        V = 0,
                        aa = 0,
                        w = 0,
                        b = r;
                    r = r + 48 | 0;
                    x = b + 28 | 0;
                    B = b + 16 | 0;
                    n = b + 8 | 0;
                    v = b;
                    l = h + 144 | 0;
                    p = c[l >> 2] | 0;
                    m = a + 28 | 0;
                    X = c[m >> 2] | 0;
                    aa = X + (12 * p | 0) | 0;
                    N = +d[aa >> 2];
                    u = +d[aa + 4 >> 2];
                    G = +d[X + (12 * p | 0) + 8 >> 2];
                    p = h + 148 | 0;
                    aa = c[p >> 2] | 0;
                    L = X + (12 * aa | 0) | 0;
                    K = +d[L >> 2];
                    q = +d[L + 4 >> 2];
                    z = +d[X + (12 * aa | 0) + 8 >> 2];
                    e = +d[h + 168 >> 2];
                    f = +d[h + 172 >> 2];
                    g = +d[h + 176 >> 2];
                    k = +d[h + 180 >> 2];
                    0 != (D[h + 137 >> 0] | 0) && 3 != (c[h + 140 >> 2] | 0) && (Q = +d[h + 184 >> 2], S = +d[h + 188 >> 2], P = +d[h + 212 >> 2], R = +d[h + 208 >> 2], aa = h + 116 | 0, V = +d[aa >> 2], C = +d[a >> 2] * +d[h + 128 >> 2], w = V + +d[h + 252 >> 2] * (+d[h + 132 >> 2] - ((K -
                        N) * Q + (q - u) * S + z * P - G * R)), A = -C, C = w < C ? w : C, C = C < A ? A : C, d[aa >> 2] = C, V = C - V, Q *= V, S *= V, q += f * S, u -= e * S, K += f * Q, N -= e * Q, G -= g * R * V, z += k * P * V);
                    P = K - N;
                    V = q - u;
                    y = h + 192 | 0;
                    E = h + 196 | 0;
                    w = h + 204 | 0;
                    a = h + 200 | 0;
                    Q = P * +d[y >> 2] + V * +d[E >> 2] + z * +d[w >> 2] - G * +d[a >> 2];
                    R = z - G;
                    0 != (D[h + 136 >> 0] | 0) && (t = h + 140 | 0, 0 != (c[t >> 2] | 0)) ? (H = h + 184 | 0, X = h + 188 | 0, v = h + 212 | 0, L = h + 208 | 0, M = h + 104 | 0, A = +d[M >> 2], I = h + 108 | 0, C = +d[I >> 2], J = h + 112 | 0, S = +d[J >> 2], F = h + 216 | 0, Q = -Q, R = -R, P = -(P * +d[H >> 2] + V * +d[X >> 2] + z * +d[v >> 2] - G * +d[L >> 2]), d[B >> 2] = Q, d[B + 4 >> 2] = R, d[B + 8 >> 2] = P, pa(x, F, B), d[M >> 2] = +d[x >> 2] + +d[M >> 2], aa = x + 4 | 0, d[I >> 2] = +d[aa >> 2] + +d[I >> 2], B = x + 8 | 0, P = +d[B >> 2] + +d[J >> 2], d[J >> 2] = P, t = c[t >> 2] | 0, 2 == (t | 0) ? (P = 0 > P ? P : 0, d[J >> 2] = P) : 1 == (t | 0) && (P = 0 < P ? P : 0, d[J >> 2] = P), V = P - S, ea(n, F, Q - +d[h + 240 >> 2] * V, R - V * +d[h + 244 >> 2]), Q = A + +d[n >> 2], R = C + +d[n + 4 >> 2], d[M >> 2] = Q, d[I >> 2] = R, Q -= A, R -= C, V = +d[J >> 2] - S, d[x >> 2] = Q, d[aa >> 2] = R, d[B >> 2] = V, w = R + Q * +d[w >> 2] + V * +d[v >> 2], P = Q * +d[y >> 2] + V * +d[H >> 2], R = Q * +d[a >> 2] + R + V * +d[L >> 2], V = Q * +d[E >> 2] + V * +d[X >> 2]) : (ea(v, h + 216 | 0, -Q, -R), V = +d[v >> 2], aa = h + 104 | 0, d[aa >> 2] = V + +d[aa >> 2], R = +d[v + 4 >> 2], aa = h + 108 | 0, d[aa >> 2] = R + +d[aa >> 2], w = R + V * +d[w >> 2], P = V * +d[y >> 2], R = V * +d[a >> 2] + R, V *= +d[E >> 2]);
                    S = N - e * P;
                    Q = u - e * V;
                    P = K + f * P;
                    V = q + f * V;
                    R = G - g * R;
                    w = z + k * w;
                    aa = c[l >> 2] | 0;
                    X = c[m >> 2] | 0;
                    aa = X + (12 * aa | 0) | 0;
                    S = +S;
                    Q = +Q;
                    d[aa >> 2] = S;
                    d[(aa + 4 | 0) >> 2] = Q;
                    aa = c[l >> 2] | 0;
                    X = c[m >> 2] | 0;
                    aa = X + (12 * aa | 0) + 8 | 0;
                    d[aa >> 2] = R;
                    aa = c[p >> 2] | 0;
                    aa = X + (12 * aa | 0) | 0;
                    P = +P;
                    V = +V;
                    X = aa;
                    d[X >> 2] = P;
                    aa = aa + 4 | 0;
                    d[aa >> 2] = V;
                    aa = c[p >> 2] | 0;
                    X = c[m >> 2] | 0;
                    aa = X + (12 * aa | 0) + 8 | 0;
                    d[aa >> 2] = w;
                    r = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 92 >> 2],
                        f = +d[l +
                            20 >> 2],
                        e = +d[a + 96 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 100 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 104 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, c) {
                    h = h | 0;
                    c = c | 0;
                    var a = 0,
                        b = 0,
                        a = h + 68 | 0;
                    d[a >> 2] = +d[a >> 2] - +d[c >> 2];
                    a = c + 4 | 0;
                    b = h + 72 | 0;
                    d[b >> 2] = +d[b >> 2] - +d[a >> 2];
                    b = h + 76 | 0;
                    d[b >> 2] = +d[b >> 2] - +d[c >> 2];
                    c = h + 80 | 0;
                    d[c >> 2] = +d[c >> 2] - +d[a >> 2]
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        w = 0,
                        z = 0,
                        v = 0,
                        E = 0,
                        A = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        S = z = B = w = 0,
                        M = E = f = b = S = N = 0,
                        C = 0,
                        x = r,
                        B = c[h + 48 >> 2] | 0,
                        E = c[B + 8 >> 2] | 0,
                        l = h + 120 | 0;
                    c[l >> 2] = E;
                    f = c[h + 52 >> 2] | 0;
                    S = c[f + 8 >> 2] | 0;
                    p = h + 124 | 0;
                    c[p >> 2] = S;
                    C = B + 28 | 0;
                    N = c[C >> 2] | 0;
                    C = c[C + 4 >> 2] | 0;
                    w = h + 160 | 0;
                    c[w >> 2] = N;
                    c[w + 4 >> 2] = C;
                    w = f + 28 | 0;
                    I = c[w >> 2] | 0;
                    w = c[w + 4 >> 2] | 0;
                    v = h + 168 | 0;
                    c[v >> 2] = I;
                    c[v + 4 >> 2] = w;
                    v = h + 176 | 0;
                    d[v >> 2] = +d[B + 120 >> 2];
                    w = h + 180 | 0;
                    d[w >> 2] = +d[f + 120 >> 2];
                    z = h + 184 | 0;
                    d[z >> 2] = +d[B + 128 >> 2];
                    B = h + 188 | 0;
                    d[B >> 2] = +d[f + 128 >> 2];
                    f = c[a + 24 >> 2] | 0;
                    m = f + (12 * E | 0) | 0;
                    G = +d[m >> 2];
                    J = +d[m + 4 >> 2];
                    u = +d[f + (12 * E | 0) + 8 >> 2];
                    m = a + 28 | 0;
                    b = c[m >> 2] | 0;
                    M = b + (12 * E | 0) | 0;
                    K = +d[M >> 2];
                    t = +d[M + 4 >> 2];
                    g = +d[b + (12 * E | 0) + 8 >> 2];
                    E = f + (12 * S | 0) | 0;
                    A = +d[E >> 2];
                    F = +d[E + 4 >> 2];
                    E = +d[f + (12 * S | 0) + 8 >> 2];
                    f = b + (12 * S | 0) | 0;
                    e = +d[f >> 2];
                    f = +d[f + 4 >> 2];
                    k = +d[b + (12 * S | 0) + 8 >> 2];
                    b = +Ja(+u);
                    u = +Ka(+u);
                    S = +Ja(+E);
                    E = +Ka(+E);
                    N = +d[h + 92 >> 2] - (c[y >> 2] = N, +d[y >> 2]);
                    q = +d[h + 96 >> 2] - (c[y >> 2] = C, +d[y >> 2]);
                    n = u * N - b * q;
                    q = b * N + u * q;
                    C = h + 144 | 0;
                    d[C >> 2] = +n;
                    d[C + 4 >> 2] = +q;
                    N = +d[h + 100 >> 2] - (c[y >> 2] = I, +d[y >> 2]);
                    u = +d[h + 104 >> 2] - +d[h + 172 >> 2];
                    b = E * N -
                        S * u;
                    u = S * N + E * u;
                    N = +u;
                    I = h + 152 | 0;
                    d[I >> 2] = +b;
                    d[I + 4 >> 2] = N;
                    I = h + 128 | 0;
                    G = G + n - +d[h + 68 >> 2];
                    J = J + q - +d[h + 72 >> 2];
                    C = I;
                    d[C >> 2] = +G;
                    d[C + 4 >> 2] = +J;
                    C = h + 136 | 0;
                    A = A + b - +d[h + 76 >> 2];
                    F = F + u - +d[h + 80 >> 2];
                    N = C;
                    d[N >> 2] = +A;
                    d[N + 4 >> 2] = +F;
                    N = +ib(+(G * G + J * J));
                    E = +ib(+(A * A + F * F));
                    .04999999701976776 < N ? (N = 1 / N, G *= N, d[I >> 2] = G, N *= J) : G = N = d[I >> 2] = 0;
                    d[h + 132 >> 2] = N;
                    .04999999701976776 < E ? (E = 1 / E, A *= E, d[C >> 2] = A, E *= F) : A = E = d[C >> 2] = 0;
                    d[h + 140 >> 2] = E;
                    C = n * N - q * G;
                    S = b * E - u * A;
                    F = +d[v >> 2];
                    J = +d[z >> 2];
                    w = +d[w >> 2];
                    z = +d[B >> 2];
                    B = +d[h + 112 >> 2];
                    S = F + C * C * J + B * B * (w + S * S * z);
                    0 < S && (S = 1 / S);
                    d[h + 192 >> 2] = S;
                    D[a + 20 >> 0] | 0 ? (M = h + 116 | 0, C = +d[a + 8 >> 2] * +d[M >> 2], d[M >> 2] = C, S = -C, G *= S, N *= S, B = -(C * B), C = A * B, E *= B, A = K + G * F, F = t + N * F, B = e + C * w, S = f + E * w, w = g + J * (N * n - G * q), C = k + z * (E * b - C * u), M = c[l >> 2] | 0, E = c[m >> 2] | 0, M = E + (12 * M | 0) | 0, d[M >> 2] = +A, d[(M + 4 | 0) >> 2] = +F, M = c[l >> 2] | 0, E = c[m >> 2] | 0, M = E + (12 * M | 0) + 8 | 0, d[M >> 2] = w, M = c[p >> 2] | 0, M = E + (12 * M | 0) | 0, z = +B) : (d[h + 116 >> 2] = 0, S = f, C = k, M = c[l >> 2] | 0, E = c[m >> 2] | 0, M = E + (12 * M | 0) | 0, J = +K, w = +t, E = M, d[E >> 2] = J, M = M + 4 | 0, d[M >> 2] = w, M = c[l >> 2] | 0, E = c[m >> 2] | 0, M = E + (12 * M | 0) + 8 | 0, d[M >> 2] = g, M = c[p >> 2] | 0, M = E + (12 * M | 0) | 0, z = +e);
                    E = M;
                    d[E >> 2] = z;
                    M = M + 4 | 0;
                    d[M >> 2] = +S;
                    M = c[p >> 2] | 0;
                    E = c[m >> 2] | 0;
                    M = E + (12 * M | 0) + 8 | 0;
                    d[M >> 2] = C;
                    r = x
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        w = 0,
                        y = 0,
                        z = 0,
                        E = 0,
                        m = f = 0,
                        b = r,
                        x = h + 120 | 0,
                        E = c[x >> 2] | 0,
                        e = (a | 0) + 28 | 0,
                        f = c[e >> 2] | 0;
                    a = u = f + (12 * E | 0) | 0;
                    N = +d[a >> 2];
                    B = +d[a + 4 >> 2];
                    y = +d[f + (12 * E | 0) + 8 >> 2];
                    a = h + 124 | 0;
                    E = c[a >> 2] | 0;
                    m = f + (12 * E | 0) | 0;
                    p = +d[m >> 2];
                    m = +d[m + 4 >> 2];
                    w = +d[f + (12 * E | 0) + 8 >> 2];
                    n = +d[h + 148 >> 2];
                    g = +d[h + 144 >> 2];
                    f = +d[h + 156 >> 2];
                    G = +d[h + 152 >> 2];
                    t = +d[h + 128 >> 2];
                    K = +d[h + 132 >> 2];
                    z = +d[h + 112 >> 2];
                    k = +d[h + 136 >> 2];
                    l = +d[h + 140 >> 2];
                    q = +d[h + 192 >> 2] * (-((N - y * n) * t + (B + y * g) * K) - z * ((p - w * f) * k + (m + w * G) * l));
                    E = h + 116 | 0;
                    d[E >> 2] = +d[E >> 2] - q;
                    t *= q;
                    K *= q;
                    q *= z;
                    k *= q;
                    l *= q;
                    q = +d[h + 176 >> 2];
                    n = y + +d[h + 184 >> 2] * (K * g - t * n);
                    g = +d[h + 180 >> 2];
                    f = w + +d[h + 188 >> 2] * (l * G - k * f);
                    t = +(N + t * q);
                    h = u;
                    d[h >> 2] = t;
                    d[h + 4 >> 2] = +(B + K * q);
                    h = c[e >> 2] | 0;
                    d[h + (12 * (c[x >> 2] | 0) | 0) + 8 >> 2] = n;
                    k = +(p + k * g);
                    h = h + (12 * (c[a >> 2] | 0) | 0) | 0;
                    d[h >> 2] = k;
                    d[h + 4 >> 2] = +(m + l * g);
                    d[(c[e >> 2] | 0) + (12 * (c[a >> 2] | 0) | 0) + 8 >> 2] = f;
                    r = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 68 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 72 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 76 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 80 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        w = 0,
                        z = 0,
                        v = 0,
                        E = 0,
                        A = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = F = 0,
                        S = g = G = l = K = 0,
                        M = 0,
                        I = S = A = 0,
                        n = r,
                        p = c[h + 48 >> 2] | 0,
                        S = c[p + 8 >> 2] | 0,
                        m = h + 128 | 0;
                    c[m >> 2] = S;
                    g = c[h + 52 >> 2] | 0;
                    l = c[g + 8 >> 2] | 0;
                    x = h + 132 | 0;
                    c[x >> 2] = l;
                    I = p + 28 | 0;
                    K = c[I >> 2] | 0;
                    I = c[I + 4 >> 2] | 0;
                    A = h + 152 | 0;
                    c[A >> 2] = K;
                    c[A + 4 >> 2] = I;
                    A = g + 28 | 0;
                    F = c[A >> 2] | 0;
                    A = c[A + 4 >> 2] | 0;
                    G = h + 160 | 0;
                    c[G >> 2] = F;
                    c[G + 4 >> 2] = A;
                    q = +d[p + 120 >> 2];
                    d[h + 168 >> 2] = q;
                    t = +d[g + 120 >> 2];
                    d[h + 172 >> 2] = t;
                    u = +d[p + 128 >> 2];
                    d[h + 176 >> 2] = u;
                    b = +d[g + 128 >> 2];
                    d[h + 180 >> 2] = b;
                    g = c[a + 24 >> 2] | 0;
                    v = +d[g + (12 * S | 0) + 8 >> 2];
                    p = a + 28 | 0;
                    G = c[p >> 2] | 0;
                    M = G + (12 * S | 0) | 0;
                    N = +d[M >> 2];
                    e = +d[M + 4 >> 2];
                    k = +d[G + (12 * S | 0) + 8 >> 2];
                    z = +d[g + (12 * l | 0) + 8 >> 2];
                    g = G + (12 * l | 0) | 0;
                    f = +d[g >> 2];
                    g = +d[g + 4 >> 2];
                    l = +d[G + (12 * l | 0) + 8 >> 2];
                    G = +Ja(+v);
                    w = +Ka(+v);
                    J = +Ja(+z);
                    C = +Ka(+z);
                    E = +d[h + 68 >> 2] - (c[y >> 2] = K, +d[y >> 2]);
                    B = +d[h + 72 >> 2] - (c[y >> 2] = I, +d[y >> 2]);
                    K = w * E - G * B;
                    B = G * E + w * B;
                    I = h + 136 | 0;
                    d[I >> 2] = +K;
                    d[I + 4 >> 2] = +B;
                    E = +d[h + 76 >> 2] - (c[y >> 2] = F, +d[y >> 2]);
                    w = +d[h + 80 >> 2] - (c[y >> 2] = A, +d[y >> 2]);
                    G = C * E - J * w;
                    w = J * E + C * w;
                    E = +w;
                    A = h + 144 | 0;
                    d[A >> 2] = +G;
                    d[A + 4 >> 2] = E;
                    E = u + b;
                    A = 0 == E;
                    C = q + t;
                    d[h + 184 >> 2] = C + u * B * B + b * w * w;
                    J = -(u * B * K) - b * w * G;
                    d[h + 196 >> 2] = J;
                    F = -(u * B) - b * w;
                    d[h + 208 >> 2] = F;
                    d[h + 188 >> 2] = J;
                    d[h + 200 >> 2] = C + u * K * K + b * G * G;
                    C = u * K + b * G;
                    d[h + 212 >> 2] = C;
                    d[h +
                        192 >> 2] = F;
                    d[h + 204 >> 2] = C;
                    d[h + 216 >> 2] = E;
                    0 < E && (E = 1 / E);
                    d[h + 220 >> 2] = E;
                    0 == (D[h + 100 >> 0] | 0) | A && (d[h + 96 >> 2] = 0);
                    0 == (D[h + 112 >> 0] | 0) | A ? c[h + 224 >> 2] = 0 : (z = z - v - +d[h + 116 >> 2], v = +d[h + 124 >> 2], E = +d[h + 120 >> 2], C = v - E, 0 < C || (C = -C), .06981317698955536 > C ? c[h + 224 >> 2] = 3 : z <= E ? (A = h + 224 | 0, 1 != (c[A >> 2] | 0) && (d[h + 92 >> 2] = 0), c[A >> 2] = 1) : (A = h + 224 | 0, z >= v ? (2 != (c[A >> 2] | 0) && (d[h + 92 >> 2] = 0), c[A >> 2] = 2) : (c[A >> 2] = 0, d[h + 92 >> 2] = 0)));
                    A = h + 84 | 0;
                    D[a + 20 >> 0] | 0 ? (S = a + 8 | 0, I = +d[S >> 2], J = I * +d[A >> 2], d[A >> 2] = J, M = h + 88 | 0, A = I * +d[M >> 2], d[M >> 2] = A, M = h + 92 | 0, I *= +d[M >> 2], d[M >> 2] = I, M = h + 96 | 0, S = +d[S >> 2] * +d[M >> 2], d[M >> 2] = S, z = N - q * J, v = e - q * A, C = f + t * J, F = g + t * A, E = k - u * (I + (S + (A * K - J * B))), J = l + b * (I + (S + (A * G - J * w)))) : (c[A + 0 >> 2] = 0, c[A + 4 >> 2] = 0, c[A + 8 >> 2] = 0, c[A + 12 >> 2] = 0, z = N, v = e, C = f, F = g, E = k, J = l);
                    M = c[m >> 2] | 0;
                    S = c[p >> 2] | 0;
                    M = S + (12 * M | 0) | 0;
                    d[M >> 2] = +z;
                    d[(M + 4 | 0) >> 2] = +v;
                    M = c[m >> 2] | 0;
                    S = c[p >> 2] | 0;
                    M = S + (12 * M | 0) + 8 | 0;
                    d[M >> 2] = E;
                    M = c[x >> 2] | 0;
                    M = S + (12 * M | 0) | 0;
                    C = +C;
                    S = M;
                    d[S >> 2] = C;
                    M = M + 4 | 0;
                    d[M >> 2] = +F;
                    M = c[x >> 2] | 0;
                    S = c[p >> 2] | 0;
                    M = S + (12 * M | 0) + 8 | 0;
                    d[M >> 2] = J;
                    r = n
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        w = 0,
                        G = 0,
                        y = 0,
                        z = 0,
                        A = 0,
                        E = 0,
                        v = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        S = 0,
                        M = 0,
                        L = 0,
                        H = v = 0,
                        X = 0,
                        q = r;
                    r = r + 48 | 0;
                    X = q + 36 | 0;
                    v = q + 24 | 0;
                    z = q + 16 | 0;
                    y = q + 8 | 0;
                    B = q;
                    p = h + 128 | 0;
                    n = c[p >> 2] | 0;
                    x = a + 28 | 0;
                    F = c[x >> 2] | 0;
                    w = F + (12 * n | 0) | 0;
                    g = +d[w >> 2];
                    k = +d[w + 4 >> 2];
                    u = +d[F + (12 * n | 0) + 8 >> 2];
                    n = h + 132 | 0;
                    w = c[n >> 2] | 0;
                    G = F + (12 * w | 0) | 0;
                    m = +d[G >> 2];
                    f = +d[G + 4 >> 2];
                    K = +d[F + (12 * w | 0) + 8 >> 2];
                    b = +d[h + 168 >> 2];
                    t = +d[h + 172 >> 2];
                    l = +d[h + 176 >> 2];
                    e = +d[h + 180 >> 2];
                    w = 0 == l + e;
                    0 == (D[h + 100 >> 0] | 0) || 3 == (c[h + 224 >> 2] | 0) | w || (F = h + 96 | 0, H = +d[F >> 2], L = +d[a >> 2] * +d[h + 104 >> 2], I = H - +d[h +
                        220 >> 2] * (K - u - +d[h + 108 >> 2]), S = -L, L = I < L ? I : L, L = L < S ? S : L, d[F >> 2] = L, H = L - H, u -= l * H, K += e * H);
                    0 == (D[h + 112 >> 0] | 0) || (M = h + 224 | 0, 0 == (c[M >> 2] | 0) | w) ? (M = h + 148 | 0, F = h + 144 | 0, X = h + 140 | 0, v = h + 136 | 0, ea(B, h + 184 | 0, -(m - K * +d[M >> 2] - g + u * +d[X >> 2]), -(f + K * +d[F >> 2] - k - u * +d[v >> 2])), C = +d[B >> 2], z = h + 84 | 0, d[z >> 2] = C + +d[z >> 2], J = +d[B + 4 >> 2], z = h + 88 | 0, d[z >> 2] = J + +d[z >> 2], H = J * +d[F >> 2] - C * +d[M >> 2], I = J * +d[v >> 2] - C * +d[X >> 2]) : (G = h + 148 | 0, a = h + 144 | 0, w = h + 140 | 0, B = h + 136 | 0, A = m - K * +d[G >> 2] - g + u * +d[w >> 2], C = f + K * +d[a >> 2] - k - u * +d[B >> 2], d[X >> 2] = A, d[X + 4 >> 2] = C, d[X + 8 >> 2] = K - u, F = h + 184 | 0, pa(v, F, X), I = +d[v >> 2], E = -I, S = +d[v + 4 >> 2], J = -S, L = +d[v + 8 >> 2], v = -L, M = c[M >> 2] | 0, 1 == (M | 0) ? (y = h + 84 | 0, M = h + 92 | 0, H = +d[M >> 2], L = H - L, 0 > L ? (ea(z, F, H * +d[h + 208 >> 2] - A, H * +d[h + 212 >> 2] - C), E = +d[z >> 2], J = +d[z + 4 >> 2], v = - +d[M >> 2], d[y >> 2] = E + +d[y >> 2], X = h + 88 | 0, d[X >> 2] = J + +d[X >> 2], d[M >> 2] = 0) : (d[y >> 2] = +d[y >> 2] - I, X = h + 88 | 0, d[X >> 2] = +d[X >> 2] - S, d[M >> 2] = L)) : 3 == (M | 0) ? (X = h + 84 | 0, d[X >> 2] = +d[X >> 2] - I, X = h + 88 | 0, d[X >> 2] = +d[X >> 2] - S, X = h + 92 | 0, d[X >> 2] = +d[X >> 2] - L) : 2 == (M | 0) && (M = h + 84 | 0, z = h + 92 | 0, H = +d[z >> 2], L = H - L, 0 < L ? (ea(y, F, H * +d[h + 208 >> 2] - A, H * +d[h + 212 >> 2] - C), E = +d[y >> 2], J = +d[y + 4 >> 2], v = - +d[z >> 2], d[M >> 2] = E + +d[M >> 2], X = h + 88 | 0, d[X >> 2] = J + +d[X >> 2], d[z >> 2] = 0) : (d[M >> 2] = +d[M >> 2] - I, X = h + 88 | 0, d[X >> 2] = +d[X >> 2] - S, d[z >> 2] = L)), H = v + (J * +d[a >> 2] - E * +d[G >> 2]), I = v + (J * +d[B >> 2] - E * +d[w >> 2]), C = E);
                    S = t * C;
                    L = t * J;
                    C = g - b * C;
                    J = k - b * J;
                    I = u - l * I;
                    H = K + e * H;
                    X = c[p >> 2] | 0;
                    v = c[x >> 2] | 0;
                    X = v + (12 * X | 0) | 0;
                    C = +C;
                    J = +J;
                    d[X >> 2] = C;
                    d[(X + 4 | 0) >> 2] = J;
                    X = c[p >> 2] | 0;
                    v = c[x >> 2] | 0;
                    X = v + (12 * X | 0) + 8 | 0;
                    d[X >> 2] = I;
                    X = c[n >> 2] | 0;
                    X = v + (12 * X | 0) | 0;
                    S = +(m + S);
                    L = +(f + L);
                    v = X;
                    d[v >> 2] = S;
                    X = X + 4 | 0;
                    d[X >> 2] = L;
                    X = c[n >> 2] | 0;
                    v = c[x >> 2] | 0;
                    X = v + (12 * X | 0) + 8 | 0;
                    d[X >> 2] = H;
                    r = q
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 68 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 72 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 76 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 80 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        G = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        X = 0,
                        S = 0,
                        M = t = q = m = l = x = 0,
                        J = 0,
                        b = r,
                        K = c[h + 48 >> 2] | 0,
                        t = c[K + 8 >> 2] | 0,
                        e = h + 96 | 0;
                    c[e >> 2] = t;
                    q = c[h + 52 >> 2] | 0;
                    l = c[q + 8 >> 2] | 0;
                    f = h + 100 | 0;
                    c[f >> 2] = l;
                    J = K + 28 | 0;
                    x = c[J >> 2] | 0;
                    J = c[J + 4 >> 2] | 0;
                    z = h + 128 | 0;
                    c[z >> 2] = x;
                    c[z + 4 >> 2] = J;
                    z = q + 28 | 0;
                    X = c[z >> 2] | 0;
                    z = c[z + 4 >> 2] | 0;
                    I = h + 136 | 0;
                    c[I >> 2] = X;
                    c[I + 4 >> 2] = z;
                    I = h + 144 | 0;
                    d[I >> 2] = +d[K + 120 >> 2];
                    z = h + 148 | 0;
                    d[z >> 2] = +d[q + 120 >> 2];
                    E = h + 152 | 0;
                    d[E >> 2] = +d[K + 128 >> 2];
                    K = h + 156 | 0;
                    d[K >> 2] = +d[q + 128 >> 2];
                    q = c[a + 24 >> 2] | 0;
                    g = q + (12 * t | 0) | 0;
                    B = +d[g >> 2];
                    G = +d[g + 4 >> 2];
                    k = +d[q + (12 * t | 0) + 8 >> 2];
                    g = a + 28 | 0;
                    m = c[g >> 2] | 0;
                    M = m + (12 * t | 0) | 0;
                    w = +d[M >> 2];
                    u = +d[M + 4 >> 2];
                    p = +d[m + (12 * t | 0) + 8 >> 2];
                    t = q + (12 * l | 0) | 0;
                    v = +d[t >> 2];
                    S = +d[t + 4 >> 2];
                    C = +d[q + (12 * l | 0) + 8 >> 2];
                    q = m + (12 * l | 0) | 0;
                    t = +d[q >> 2];
                    q = +d[q + 4 >> 2];
                    l = +d[m + (12 * l | 0) + 8 >> 2];
                    m = +Ja(+k);
                    k = +Ka(+k);
                    A = +Ja(+C);
                    C = +Ka(+C);
                    F = +d[h + 68 >> 2] - (c[y >> 2] = x, +d[y >> 2]);
                    n = +d[h + 72 >> 2] - (c[y >> 2] = J, +d[y >> 2]);
                    x = k * F - m * n;
                    n = m * F + k * n;
                    J = h + 112 | 0;
                    d[J >> 2] = +x;
                    d[J + 4 >> 2] = +n;
                    F = +d[h + 76 >> 2] - (c[y >> 2] = X, +d[y >> 2]);
                    k = +d[h + 80 >> 2] - +d[h + 140 >> 2];
                    m = C * F - A * k;
                    k = A * F + C * k;
                    F = +k;
                    X = h + 120 | 0;
                    d[X >> 2] = +m;
                    d[X + 4 >> 2] = F;
                    X = h + 104 | 0;
                    B = v + m - B - x;
                    G = S + k - G - n;
                    J = X;
                    d[J >> 2] = +B;
                    d[J + 4 >> 2] = +G;
                    J = h + 108 | 0;
                    v = +ib(+(B * B + G * G));
                    d[h + 88 >> 2] = v;
                    c[h + 164 >> 2] = 0 < v - +d[h + 84 >> 2] ? 2 : 0;
                    .004999999888241291 < v ? (A = 1 / v, B *= A, d[X >> 2] = B, A *= G, d[J >> 2] = A, J = x * A - n * B, S = A * m - B * k, C = +d[I >> 2], G = +d[E >> 2], F = +d[z >> 2], v = +d[K >> 2], S = F + (C + J * J * G) + S * S * v, S = 0 != S ? 1 / S : 0, d[h + 160 >> 2] = S, D[a + 20 >> 0] | 0 ? (M = h + 92 | 0, S = +d[a + 8 >> 2] * +d[M >> 2], d[M >> 2] = S, J = B * S, S *= A, w -= J * C, u -= S * C, t += J * F, q += S * F, p -= G * (S * x - J * n), l += v * (S * m - J * k)) : d[h + 92 >> 2] = 0, M = (c[g >> 2] | 0) + (12 * (c[e >> 2] | 0) | 0) | 0, d[M >> 2] = +w, d[M + 4 >> 2] = +u, M = c[g >> 2] | 0, d[M + (12 * (c[e >> 2] | 0) | 0) + 8 >> 2] = p, M = M + (12 * (c[f >> 2] | 0) | 0) | 0, d[M >> 2] = +t, d[M + 4 >> 2] = +q, d[(c[g >> 2] | 0) + (12 * (c[f >> 2] | 0) | 0) + 8 >> 2] = l) : (d[X >> 2] = 0, d[J >> 2] = 0, d[h + 160 >> 2] = 0, d[h + 92 >> 2] = 0);
                    r = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        w = 0,
                        G = 0,
                        y = 0,
                        z = 0,
                        v = n = b = 0,
                        E = 0,
                        q = r,
                        l = h + 96 | 0,
                        e = c[l >> 2] | 0,
                        f = a + 28 | 0,
                        n = c[f >> 2] | 0,
                        b = m = n + (12 * e | 0) | 0,
                        x = +d[b >> 2],
                        p = +d[b + 4 >> 2],
                        B = +d[n + (12 * e | 0) + 8 >> 2],
                        e = h + 100 | 0,
                        b = c[e >> 2] | 0,
                        v = n + (12 * b | 0) | 0,
                        k = +d[v >> 2],
                        g = +d[v + 4 >> 2],
                        t = +d[n + (12 * b | 0) + 8 >> 2],
                        u = +d[h + 116 >> 2],
                        K = +d[h + 112 >> 2],
                        n = +d[h + 124 >> 2],
                        b = +d[h + 120 >> 2],
                        y = +d[h + 88 >> 2] - +d[h + 84 >> 2],
                        G = +d[h + 104 >> 2],
                        w = +d[h + 108 >> 2],
                        z = (k - t * n - (x - B * u)) * G + (g + t * b - (p + B * K)) * w;
                    0 > y && (z += y * +d[a + 4 >> 2]);
                    v = h + 92 | 0;
                    E = +d[v >> 2];
                    y = E - z * +d[h + 160 >> 2];
                    y = 0 < y ? 0 : y;
                    d[v >> 2] = y;
                    E = y - E;
                    G *= E;
                    w *= E;
                    E = +d[h + 144 >> 2];
                    B -= +d[h + 152 >> 2] * (K * w - G * u);
                    y = +d[h + 148 >> 2];
                    z = t + +d[h + 156 >> 2] * (w * b - G * n);
                    v = m;
                    d[v >> 2] = +(x - E * G);
                    d[v + 4 >> 2] = +(p - E * w);
                    v = c[f >> 2] | 0;
                    d[v + (12 * (c[l >> 2] | 0) | 0) + 8 >> 2] = B;
                    G = +(k + G * y);
                    v = v + (12 * (c[e >> 2] | 0) | 0) | 0;
                    d[v >> 2] = G;
                    d[v + 4 >> 2] = +(g + w * y);
                    d[(c[f >> 2] | 0) + (12 * (c[e >> 2] | 0) | 0) + 8 >> 2] = z;
                    r = q
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 80 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 84 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 88 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 92 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        G = 0,
                        v = 0,
                        z = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        X = J = 0,
                        S = 0,
                        M = 0,
                        z = f = g = C = 0,
                        n = r;
                    r = r + 48 | 0;
                    I = n;
                    p = c[h + 48 >> 2] | 0;
                    f = c[p + 8 >> 2] | 0;
                    m = h + 116 | 0;
                    c[m >> 2] = f;
                    g = c[h + 52 >> 2] | 0;
                    w = c[g + 8 >> 2] | 0;
                    x = h + 120 | 0;
                    c[x >> 2] = w;
                    G = p + 28 | 0;
                    J = c[G >> 2] | 0;
                    G = c[G + 4 >> 2] | 0;
                    B = h + 140 | 0;
                    c[B >> 2] = J;
                    c[B + 4 >> 2] = G;
                    B = g + 28 | 0;
                    b = c[B >> 2] | 0;
                    B = c[B + 4 >> 2] | 0;
                    C = h + 148 | 0;
                    c[C >> 2] = b;
                    c[C + 4 >> 2] = B;
                    q = +d[p + 120 >> 2];
                    d[h + 156 >> 2] = q;
                    t = +d[g + 120 >> 2];
                    d[h + 160 >> 2] = t;
                    u = +d[p + 128 >> 2];
                    d[h + 164 >> 2] = u;
                    K = +d[g + 128 >> 2];
                    d[h + 168 >> 2] = K;
                    g = c[a + 24 >> 2] | 0;
                    E = +d[g + (12 * f | 0) + 8 >> 2];
                    p = a + 28 | 0;
                    C = c[p >> 2] | 0;
                    z = C + (12 * f | 0) | 0;
                    v = +d[z >> 2];
                    e = +d[z + 4 >> 2];
                    k = +d[C + (12 * f | 0) + 8 >> 2];
                    A = +d[g + (12 * w | 0) + 8 >> 2];
                    g = C + (12 * w | 0) | 0;
                    f = +d[g >> 2];
                    g = +d[g + 4 >> 2];
                    l = +d[C + (12 * w | 0) + 8 >> 2];
                    z = +Ja(+E);
                    F = +Ka(+E);
                    M = +Ja(+A);
                    X = +Ka(+A);
                    w = h + 124 | 0;
                    J = +d[h + 80 >> 2] - (c[y >> 2] = J, +d[y >> 2]);
                    S = +d[h + 84 >> 2] - (c[y >> 2] = G, +d[y >> 2]);
                    C = F * J - z * S;
                    S = z * J + F * S;
                    G = w;
                    d[G >> 2] = +C;
                    d[G + 4 >> 2] = +S;
                    G = h + 132 | 0;
                    J = +d[h + 88 >> 2] - (c[y >> 2] = b, +d[y >> 2]);
                    F = +d[h + 92 >> 2] - (c[y >> 2] = B, +d[y >> 2]);
                    z = X * J - M * F;
                    F = M * J + X * F;
                    J = +F;
                    B = G;
                    d[B >> 2] = +z;
                    d[B + 4 >> 2] = J;
                    J = q + t;
                    B = h + 128 | 0;
                    b = h + 136 | 0;
                    d[I >> 2] = J + u * S * S + K * F * F;
                    X = -(u * S * C) - K * F * z;
                    d[I + 12 >> 2] = X;
                    F = -(u * S) -
                        K * F;
                    d[I + 24 >> 2] = F;
                    d[I + 4 >> 2] = X;
                    d[I + 16 >> 2] = J + u * C * C + K * z * z;
                    z = u * C + K * z;
                    d[I + 28 >> 2] = z;
                    d[I + 8 >> 2] = F;
                    d[I + 20 >> 2] = z;
                    z = u + K;
                    d[I + 32 >> 2] = z;
                    J = h + 68 | 0;
                    0 < +d[J >> 2] ? (ua(I, h + 172 | 0), F = 0 < z ? 1 / z : 0, A = A - E - +d[h + 96 >> 2], M = 6.2831854820251465 * +d[J >> 2], E = M * F * M, C = +d[a >> 2], F = C * (M * F * 2 * +d[h + 72 >> 2] + C * E), J = h + 100 | 0, d[J >> 2] = F, F = 0 != F ? 1 / F : 0, d[J >> 2] = F, d[h + 76 >> 2] = A * C * E * F, z += F, d[h + 204 >> 2] = 0 != z ? 1 / z : 0) : (J = h + 172 | 0, 0 == z ? ua(I, J) : ya(I, J), d[h + 100 >> 2] = 0, d[h + 76 >> 2] = 0);
                    J = h + 104 | 0;
                    D[a + 20 >> 0] | 0 ? (A = +d[a + 8 >> 2], M = A * +d[J >> 2], d[J >> 2] = M, z = h + 108 | 0, E = A * +d[z >> 2], d[z >> 2] = E, z = h + 112 | 0, A *= +d[z >> 2], d[z >> 2] = A, C = v - q * M, F = e - q * E, X = f + t * M, S = g + t * E, J = k - u * (A + (E * +d[w >> 2] - M * +d[B >> 2])), M = l + K * (A + (E * +d[G >> 2] - M * +d[b >> 2]))) : (d[J >> 2] = 0, d[h + 108 >> 2] = 0, d[h + 112 >> 2] = 0, C = v, F = e, X = f, S = g, J = k, M = l);
                    z = c[m >> 2] | 0;
                    f = c[p >> 2] | 0;
                    z = f + (12 * z | 0) | 0;
                    F = +F;
                    d[z >> 2] = +C;
                    d[(z + 4 | 0) >> 2] = F;
                    z = c[m >> 2] | 0;
                    f = c[p >> 2] | 0;
                    z = f + (12 * z | 0) + 8 | 0;
                    d[z >> 2] = J;
                    z = c[x >> 2] | 0;
                    z = f + (12 * z | 0) | 0;
                    X = +X;
                    f = z;
                    d[f >> 2] = X;
                    z = z + 4 | 0;
                    d[z >> 2] = +S;
                    z = c[x >> 2] | 0;
                    f = c[p >> 2] | 0;
                    z = f + (12 * z | 0) + 8 | 0;
                    d[z >> 2] = M;
                    r = n
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = x = t = 0,
                        K = 0,
                        G = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        E = 0,
                        A = 0,
                        C = 0,
                        D = 0,
                        e = r,
                        b = h + 116 | 0,
                        t = c[b >> 2] | 0,
                        m = (a | 0) + 28 | 0,
                        x = c[m >> 2] | 0;
                    a = g = x + (12 * t | 0) | 0;
                    l = +d[a >> 2];
                    k = +d[a + 4 >> 2];
                    w = +d[x + (12 * t | 0) + 8 >> 2];
                    a = h + 120 | 0;
                    t = c[a >> 2] | 0;
                    B = x + (12 * t | 0) | 0;
                    p = +d[B >> 2];
                    f = +d[B + 4 >> 2];
                    u = +d[x + (12 * t | 0) + 8 >> 2];
                    x = +d[h + 156 >> 2];
                    n = +d[h + 160 >> 2];
                    t = +d[h + 164 >> 2];
                    q = +d[h + 168 >> 2];
                    0 < +d[h + 68 >> 2] ? (B = h + 112 | 0, v = +d[B >> 2], C = +d[h + 204 >> 2] * (u - w + +d[h + 76 >> 2] + +d[h + 100 >> 2] * v), E = -C, d[B >> 2] = v - C, C = w - t * E, E = u + q * E, u = +d[h + 136 >> 2], v = +d[h + 132 >> 2], K = +d[h + 128 >> 2], A = +d[h + 124 >> 2], w = K * C + (p - u * E - l), G = f + v * E - k - A * C, y = +d[h + 172 >> 2] * w + +d[h + 184 >> 2] * G, G = +d[h + 176 >> 2] * w + +d[h + 188 >> 2] * G, w = -y, z = -G, B = h + 104 | 0, d[B >> 2] = +d[B >> 2] - y, B = h + 108 | 0, d[B >> 2] = +d[B >> 2] - G, G = z, y = w, K = C - t * (A * z - K * w), w = E + q * (v * z - u * w), t = n * y, u = n * G, n = l - x * y, q = k - x * G, n = +n, q = +q, B = g, d[B >> 2] = n, d[(B + 4 | 0) >> 2] = q, B = c[b >> 2] | 0, x = c[m >> 2] | 0, B = x + (12 * B | 0) + 8 | 0, d[B >> 2] = K, B = c[a >> 2] | 0, B = x + (12 * B | 0) | 0, t = +(p + t), u = +(f + u), x = B, d[x >> 2] = t, B = B + 4 | 0, d[B >> 2] = u, B = c[a >> 2] | 0, x = c[m >> 2] | 0, B = x + (12 * B | 0) + 8 | 0, d[B >> 2] = w) : (A = +d[h + 136 >> 2], K = +d[h + 132 >> 2], v = +d[h + 128 >> 2], D = +d[h + 124 >> 2], G = p - u * A - l + w * v, E = f + u * K - k - w * D, C = u - w, y = G * +d[h + 172 >> 2] + E * +d[h + 184 >> 2] + C * +d[h + 196 >> 2], z = G * +d[h + 176 >> 2] + E * +d[h + 188 >> 2] + C * +d[h + 200 >> 2], C = G * +d[h + 180 >> 2] + E * +d[h + 192 >> 2] + C * +d[h + 204 >> 2], E = -y, G = -z, B = h + 104 | 0, d[B >> 2] = +d[B >> 2] - y, B = h + 108 | 0, d[B >> 2] = +d[B >> 2] - z, B = h + 112 | 0, d[B >> 2] = +d[B >> 2] - C, z = G, y = E, v = w - t * (D * G - v * E - C), C = u + q * (K * G - A * E - C), E = n * y, A = n * z, y = l - x * y, z = k - x * z, y = +y, z = +z, x = B = g, d[x >> 2] = y, B = B + 4 | 0, d[B >> 2] = z, B = c[b >> 2] | 0, x = c[m >> 2] | 0, B = x + (12 * B | 0) + 8 | 0, d[B >> 2] = v, B = c[a >> 2] | 0, B = x + (12 * B | 0) | 0, E = +(p + E), A = +(f + A), x = B, d[x >> 2] = E, B = B + 4 | 0, d[B >> 2] = A, B = c[a >> 2] | 0, x = c[m >> 2] | 0, B = x + (12 * B | 0) + 8 | 0, d[B >> 2] = C);
                    r = e
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 48 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 76 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 80 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        l = c[a + 52 >> 2] | 0,
                        k = +d[l + 24 >> 2],
                        g = +d[a + 84 >> 2],
                        f = +d[l + 20 >> 2],
                        e = +d[a + 88 >> 2],
                        b = g * f + k * e + +d[l + 16 >> 2];
                    d[h >> 2] = +d[l + 12 >> 2] + (k * g - f * e);
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        G = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        X = 0,
                        S = 0,
                        M = 0,
                        L = 0,
                        H = 0,
                        Q = 0,
                        P = 0,
                        W = 0,
                        R = 0,
                        U = M = w = W = K = k = 0,
                        V = 0,
                        aa = 0,
                        x = r,
                        g = c[h + 48 >> 2] | 0,
                        M = c[g + 8 >> 2] | 0,
                        G = h + 132 | 0;
                    c[G >> 2] = M;
                    e = c[h + 52 >> 2] | 0;
                    K = c[e + 8 >> 2] | 0;
                    n = h + 136 | 0;
                    c[n >> 2] = K;
                    F = g + 28 | 0;
                    k = c[F >> 2] | 0;
                    F = c[F + 4 >> 2] | 0;
                    X = h + 140 | 0;
                    c[X >> 2] = k;
                    c[X + 4 >> 2] = F;
                    X = e + 28 | 0;
                    I = c[X >> 2] | 0;
                    X = c[X + 4 >> 2] | 0;
                    m = h + 148 | 0;
                    c[m >> 2] = I;
                    c[m + 4 >> 2] = X;
                    J = +d[g + 120 >> 2];
                    m = h + 156 | 0;
                    d[m >> 2] = J;
                    H = +d[e + 120 >> 2];
                    l = h + 160 | 0;
                    d[l >> 2] = H;
                    A = +d[g + 128 >> 2];
                    g = h + 164 | 0;
                    d[g >> 2] = A;
                    v = +d[e +
                        128 >> 2];
                    e = h + 168 | 0;
                    d[e >> 2] = v;
                    w = c[a + 24 >> 2] | 0;
                    z = w + (12 * M | 0) | 0;
                    C = +d[z >> 2];
                    E = +d[z + 4 >> 2];
                    S = +d[w + (12 * M | 0) + 8 >> 2];
                    z = a + 28 | 0;
                    W = c[z >> 2] | 0;
                    U = W + (12 * M | 0) | 0;
                    q = +d[U >> 2];
                    t = +d[U + 4 >> 2];
                    B = +d[W + (12 * M | 0) + 8 >> 2];
                    M = w + (12 * K | 0) | 0;
                    b = +d[M >> 2];
                    f = +d[M + 4 >> 2];
                    p = +d[w + (12 * K | 0) + 8 >> 2];
                    w = W + (12 * K | 0) | 0;
                    u = +d[w >> 2];
                    w = +d[w + 4 >> 2];
                    K = +d[W + (12 * K | 0) + 8 >> 2];
                    R = +Ja(+S);
                    S = +Ka(+S);
                    W = +Ja(+p);
                    p = +Ka(+p);
                    k = +d[h + 76 >> 2] - (c[y >> 2] = k, +d[y >> 2]);
                    Q = +d[h + 80 >> 2] - (c[y >> 2] = F, +d[y >> 2]);
                    M = S * k - R * Q;
                    Q = R * k + S * Q;
                    k = +d[h + 84 >> 2] - (c[y >> 2] = I, +d[y >> 2]);
                    P = +d[h + 88 >> 2] - (c[y >> 2] = X, +d[y >> 2]);
                    L = p * k - W * P;
                    P = W * k + p * P;
                    C = b + L - C - M;
                    E = f + P - E - Q;
                    f = +d[h + 100 >> 2];
                    b = +d[h + 104 >> 2];
                    p = S * f - R * b;
                    b = R * f + S * b;
                    X = h + 180 | 0;
                    d[X >> 2] = +p;
                    d[X + 4 >> 2] = +b;
                    M += C;
                    Q += E;
                    k = b * M - p * Q;
                    d[h + 196 >> 2] = k;
                    f = L * b - P * p;
                    d[h + 200 >> 2] = f;
                    H = J + H;
                    J = H + k * A * k + f * v * f;
                    0 < J && (J = 1 / J);
                    d[h + 204 >> 2] = J;
                    F = h + 212 | 0;
                    d[F >> 2] = 0;
                    I = h + 216 | 0;
                    d[I >> 2] = 0;
                    X = h + 220 | 0;
                    d[X >> 2] = 0;
                    W = +d[h + 68 >> 2];
                    0 < W ? (aa = +d[h + 92 >> 2], V = +d[h + 96 >> 2], J = S * aa - R * V, S = R * aa + S * V, U = h + 172 | 0, d[U >> 2] = +J, d[U + 4 >> 2] = +S, R = M * S - Q * J, d[h + 188 >> 2] = R, M = L * S - P * J, d[h + 192 >> 2] = M, M = H + R * A * R + M * v * M, 0 < M && (Q = 1 / M, d[F >> 2] = Q, aa = 6.2831854820251465 * W, H = aa * Q * aa, L = +d[a >> 2], Q = L * (aa * Q * 2 * +d[h + 72 >> 2] + L * H), 0 < Q && (Q = 1 / Q), d[X >> 2] = Q, d[I >> 2] = (C * J + E * S) * L * H * Q, E = M + Q, d[F >> 2] = E, 0 < E && (d[F >> 2] = 1 / E))) : d[h + 116 >> 2] = 0;
                    D[h + 128 >> 0] | 0 ? (v += A, F = h + 208 | 0, d[F >> 2] = v, 0 < v && (d[F >> 2] = 1 / v)) : (d[h + 208 >> 2] = 0, d[h + 112 >> 2] = 0);
                    D[a + 20 >> 0] | 0 ? (M = a + 8 | 0, U = h + 108 | 0, H = +d[M >> 2] * +d[U >> 2], d[U >> 2] = H, U = h + 116 | 0, aa = +d[M >> 2] * +d[U >> 2], d[U >> 2] = aa, U = h + 112 | 0, L = +d[M >> 2] * +d[U >> 2], d[U >> 2] = L, R = H * p + aa * +d[h + 172 >> 2], W = H * b + aa * +d[h + 176 >> 2], P = +d[m >> 2], V = +d[l >> 2], Q = q - R * P, P = t - W * P, R = u + R * V, V = w + W * V, W = B - (L + (H * k + aa * +d[h +
                        188 >> 2])) * +d[g >> 2], aa = K + (L + (H * f + aa * +d[h + 192 >> 2])) * +d[e >> 2]) : (d[h + 108 >> 2] = 0, d[h + 116 >> 2] = 0, d[h + 112 >> 2] = 0, Q = q, P = t, R = u, V = w, W = B, aa = K);
                    U = c[G >> 2] | 0;
                    M = c[z >> 2] | 0;
                    U = M + (12 * U | 0) | 0;
                    d[U >> 2] = +Q;
                    d[(U + 4 | 0) >> 2] = +P;
                    U = c[G >> 2] | 0;
                    M = c[z >> 2] | 0;
                    U = M + (12 * U | 0) + 8 | 0;
                    d[U >> 2] = W;
                    U = c[n >> 2] | 0;
                    U = M + (12 * U | 0) | 0;
                    R = +R;
                    V = +V;
                    M = U;
                    d[M >> 2] = R;
                    U = U + 4 | 0;
                    d[U >> 2] = V;
                    U = c[n >> 2] | 0;
                    M = c[z >> 2] | 0;
                    U = M + (12 * U | 0) + 8 | 0;
                    d[U >> 2] = aa;
                    r = x
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        w = g = 0,
                        b = r,
                        y = +d[h + 156 >> 2],
                        n = +d[h + 160 >> 2],
                        B = +d[h + 164 >> 2],
                        l = +d[h + 168 >> 2],
                        u = h + 132 | 0,
                        e = c[u >> 2] | 0,
                        f = a + 28 | 0,
                        g = c[f >> 2] | 0,
                        E = g + (12 * e | 0) | 0,
                        z = +d[E >> 2],
                        v = +d[E + 4 >> 2],
                        A = +d[g + (12 * e | 0) + 8 >> 2],
                        e = h + 136 | 0,
                        E = c[e >> 2] | 0,
                        w = g + (12 * E | 0) | 0,
                        k = +d[w >> 2],
                        w = +d[w + 4 >> 2],
                        p = +d[g + (12 * E | 0) + 8 >> 2],
                        t = +d[h + 172 >> 2],
                        q = +d[h + 176 >> 2],
                        m = +d[h + 192 >> 2],
                        K = +d[h + 188 >> 2],
                        E = h + 116 | 0,
                        C = +d[E >> 2],
                        g = +d[h + 212 >> 2] * (+d[h + 216 >> 2] + (p * m + (t * (k - z) + q * (w - v)) - A * K) + +d[h + 220 >> 2] * C),
                        x = -g;
                    d[E >> 2] = C - g;
                    t *= x;
                    q *= x;
                    z -= y * t;
                    v -= y * q;
                    K = A - B * K * x;
                    t = k + n * t;
                    q = w + n * q;
                    x = p + l * m * x;
                    E = h + 112 | 0;
                    m = +d[E >> 2];
                    p = +d[a >> 2] * +d[h + 120 >> 2];
                    w = m - +d[h + 208 >> 2] * (x - K - +d[h + 124 >> 2]);
                    k = -p;
                    p = w < p ? w : p;
                    p = p < k ? k : p;
                    d[E >> 2] = p;
                    m = p - m;
                    K -= B * m;
                    m = x + l * m;
                    x = +d[h + 180 >> 2];
                    p = +d[h + 184 >> 2];
                    k = +d[h + 200 >> 2];
                    w = +d[h + 196 >> 2];
                    A = +d[h + 204 >> 2] * ((t - z) * x + (q - v) * p + k * m - w * K);
                    g = -A;
                    a = h + 108 | 0;
                    d[a >> 2] = +d[a >> 2] - A;
                    x *= g;
                    p *= g;
                    z = +(z - y * x);
                    a = (c[f >> 2] | 0) + (12 * (c[u >> 2] | 0) | 0) | 0;
                    d[a >> 2] = z;
                    d[a + 4 >> 2] = +(v - y * p);
                    a = c[f >> 2] | 0;
                    d[a + (12 * (c[u >> 2] | 0) | 0) + 8 >> 2] = K - B * w * g;
                    a = a + (12 * (c[e >> 2] | 0) | 0) | 0;
                    d[a >> 2] = +(t + n * x);
                    d[a + 4 >> 2] = +(q + n * p);
                    d[(c[f >> 2] | 0) + (12 * (c[e >> 2] | 0) | 0) + 8 >> 2] = m + l * k * g;
                    r = b
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        d = r;
                    $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    da(a, h, 148);
                    r = d
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        d = r;
                    $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    da(a, h, 148);
                    r = d
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        d = r;
                    $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    da(a, h, 148);
                    r = d
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        d = r;
                    $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    da(a, h, 148);
                    r = d
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        d = r;
                    $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    da(a, h, 148);
                    r = d
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        d = r;
                    $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    da(a, h, 148);
                    r = d
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        d = r;
                    $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    da(a, h, 148);
                    r = d
                }, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob, ob],
                Cd = [yb, yb, function(h, c, a, d, b) {
                    v(0, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(1, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(2, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(3, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(4, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(5, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(6, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(7, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(8, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(9, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(10, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(11, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(12, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(13, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(14, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(15, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(16, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(17, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(18, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    v(19, h | 0, c | 0, + +a, d | 0, b | 0)
                }, yb, function(h, c, a, d, b) {
                    var e = 0,
                        e = r;
                    Ob(1416, h | 0, c | 0, + +a, d | 0, b | 0) | 0;
                    r = e
                }, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb, yb],
                jc = [Jb, Jb, function(h) {
                    return v(0, h | 0) | 0
                }, Jb, function(h) {
                    return v(1, h | 0) | 0
                }, Jb, function(h) {
                    return v(2, h | 0) | 0
                }, Jb, function(h) {
                    return v(3, h | 0) | 0
                }, Jb, function(h) {
                    return v(4, h | 0) | 0
                }, Jb, function(h) {
                    return v(5, h | 0) | 0
                }, Jb, function(h) {
                    return v(6, h | 0) | 0
                }, Jb, function(h) {
                    return v(7, h | 0) | 0
                }, Jb, function(h) {
                    return v(8, h | 0) | 0
                }, Jb, function(h) {
                    return v(9, h | 0) | 0
                }, Jb, function(h) {
                    return v(10, h | 0) | 0
                }, Jb, function(h) {
                    return v(11, h | 0) | 0
                }, Jb, function(h) {
                    return v(12, h | 0) | 0
                }, Jb, function(h) {
                    return v(13, h | 0) | 0
                }, Jb, function(h) {
                    return v(14, h | 0) | 0
                }, Jb, function(h) {
                    return v(15, h | 0) | 0
                }, Jb, function(h) {
                    return v(16, h | 0) | 0
                }, Jb, function(h) {
                    return v(17, h | 0) | 0
                }, Jb, function(h) {
                    return v(18, h | 0) | 0
                }, Jb, function(h) {
                    return v(19, h | 0) | 0
                }, Jb, function(h) {
                    return (c[(h | 0) + 16 >> 2] | 0) + -1 | 0
                }, function() {
                    return 1
                }, function() {
                    return 1
                }, function() {
                    return 1
                }, function() {
                    return 18184
                }, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb, Jb],
                Fd = [pb, pb, function(h, c, a, d) {
                    v(0, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(1, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(2, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(3, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(4, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(5, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(6, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(7, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(8, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(9, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(10, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(11, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(12, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(13, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(14, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(15, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(16, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(17, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(18, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    v(19, h | 0, c | 0, + +a, d | 0)
                }, pb, function(h, c, a, d) {
                    var b = 0,
                        b = r;
                    Ob(1648, h | 0, c | 0, + +a, d | 0) | 0;
                    r = b
                }, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb, pb],
                Gd = [rb, rb, function(h, c, a) {
                    v(0, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(1, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(2, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(3, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(4, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(5, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(6, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(7, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(8, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(9, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(10, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(11, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(12, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(13, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(14, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(15, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(16, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(17, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(18, h | 0, c | 0, a | 0)
                }, rb, function(h, c, a) {
                    v(19, h | 0, c | 0, a | 0)
                }, rb, function() {}, function() {}, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb, rb],
                ab = [sb, sb, function() {
                    v(0)
                }, sb, function() {
                    v(1)
                }, sb, function() {
                    v(2)
                }, sb, function() {
                    v(3)
                }, sb, function() {
                    v(4)
                }, sb, function() {
                    v(5)
                }, sb, function() {
                    v(6)
                }, sb, function() {
                    v(7)
                }, sb, function() {
                    v(8)
                }, sb, function() {
                    v(9)
                }, sb, function() {
                    v(10)
                }, sb, function() {
                    v(11)
                }, sb, function() {
                    v(12)
                }, sb, function() {
                    v(13)
                }, sb, function() {
                    v(14)
                }, sb, function() {
                    v(15)
                }, sb, function() {
                    v(16)
                }, sb, function() {
                    v(17)
                }, sb, function() {
                    v(18)
                }, sb, function() {
                    v(19)
                }, sb, function() {
                    bc()
                }, function() {
                    var h = 0,
                        a = 0,
                        d = 0,
                        b = 0,
                        e = 0,
                        h = r;
                    r = r + 16 | 0;
                    a = h;
                    h = h + 12 | 0;
                    Id(17984, 44) | 0 && Ib(17992, a);
                    (d = Dd(c[4494] | 0) | 0) || Ib(17960, a);
                    (d = c[d >> 2] | 0) || Ib(17960, a);
                    e = d + 48 | 0;
                    b = c[e >> 2] | 0;
                    e = c[e + 4 >> 2] | 0;
                    1126902528 == (b & -256 | 0) & 1129074247 == (e | 0) || (c[a >> 2] = 17808, Ib(17920, a));
                    b = 1126902529 == (b | 0) & 1129074247 == (e | 0) ? c[d + 44 >> 2] | 0 : d + 80 | 0;
                    c[h >> 2] = b;
                    e = c[d >> 2] | 0;
                    d = c[e + 4 >> 2] | 0;
                    gc(18352, e, h) | 0 ? (e = c[h >> 2] | 0, e = jc[c[(c[e >> 2] | 0) + 8 >> 2] & 63](e) | 0, c[a >> 2] = 17808, c[a + 4 >> 2] = d, c[a + 8 >> 2] = e, Ib(17824, a)) : (c[a >> 2] = 17808, c[a + 4 >> 2] = d, Ib(17872, a))
                }, function() {
                    var h = 0,
                        h = r;
                    r = r + 16 | 0;
                    pd(17976, 124) | 0 ? Ib(18048, h) : r = h
                }, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb, sb],
                wd = [qc, qc, function(h, c, a) {
                    v(0, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(1, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(2, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(3, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(4, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(5, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(6, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(7, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(8, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(9, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(10, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(11, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(12, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(13, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(14, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(15, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(16, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(17, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(18, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    v(19, h | 0, c | 0, + +a)
                }, qc, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        b = +d[c + 84 >> 2] * a;
                    d[h >> 2] = +d[c + 80 >> 2] * a;
                    d[h + 4 >> 2] = b
                }, function(h, a) {
                    a = a | 0;
                    h = r;
                    c[a + 0 >> 2] = 0;
                    c[a + 4 >> 2] = 0;
                    c[a + 8 >> 2] = 0;
                    c[a + 12 >> 2] = 0;
                    r = h
                }, function(h, a, b) {
                    h = h | 0;
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = f = e = 0,
                        l = 0,
                        m = 0,
                        f = h + 8 | 0,
                        g = +d[f >> 2],
                        g = g * +b * 3.1415927410125732 * g;
                    d[a >> 2] = g;
                    m = e = h + 12 | 0;
                    l = c[m + 4 >> 2] | 0;
                    k = a + 4 | 0;
                    c[k >> 2] = c[m >> 2];
                    c[k + 4 >> 2] = l;
                    f = +d[f >> 2];
                    e = +d[e >> 2];
                    b = +d[h + 16 >> 2];
                    d[a + 12 >> 2] = g * (f * f * .5 + (e * e + b * b))
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    var b = 0,
                        e = 0,
                        b = r;
                    d[c >> 2] = 0;
                    e = +(.5 * (+d[h + 12 >> 2] + +d[h + 20 >> 2]));
                    a = +(.5 * (+d[h + 16 >> 2] + +d[h + 24 >> 2]));
                    h = c + 4 | 0;
                    d[h >> 2] = e;
                    d[h + 4 >> 2] = a;
                    d[c + 12 >> 2] = 0;
                    r = b
                }, function(h, a, b) {
                    h = h | 0;
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        y = 0,
                        z = t = u = 0,
                        v = 0,
                        e = r,
                        f = c[h + 276 >> 2] | 0;
                    2 < (f | 0) ? n = g = k = 0 : Q(7296, 7104, 385, 7312);
                    do g += +d[h + (n << 3) + 20 >> 2], k += +d[h + (n << 3) + 24 >> 2], n = n + 1 | 0; while ((n | 0) < (f | 0));
                    x = 1 / +(f | 0);
                    g *= x;
                    x *= k;
                    w = h + 20 | 0;
                    y = h + 24 | 0;
                    B = l = k = p = m = 0;
                    do K = +d[h + (B << 3) + 20 >> 2] - g, q = +d[h + (B << 3) + 24 >> 2] - x, B = B + 1 | 0, (n = (B | 0) < (f | 0)) ? (t = h + (B << 3) + 20 | 0, u = h + (B << 3) + 24 | 0) : (t = w, u = y), t = +d[t >> 2] - g, u = +d[u >> 2] - x, z = K * u - q * t, v = .5 * z, l += v, v *= .3333333432674408, m += (K + t) * v, p += (q + u) * v, k += .0833333358168602 * z * (t * t + (K * K + K * t) + (u * u + (q * q + q * u))); while (n);
                    q = l * b;
                    d[a >> 2] = q;
                    1.1920928955078125E-7 < l ? (v = 1 / l, z = m * v, v *= p, u = g + z, t = x + v, y = a + 4 | 0, d[y >> 2] = +u, d[y + 4 >> 2] = +t, d[a + 12 >> 2] = k * b + q * (u * u + t * t - (z * z + v * v)), r = e) : Q(7328, 7104, 431, 7312)
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    var b = 0,
                        b = +d[c + 100 >> 2] * +a;
                    a = b * +d[c + 120 >> 2];
                    d[h >> 2] = +d[c + 116 >> 2] * b;
                    d[h + 4 >> 2] = a
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        b = +d[c + 88 >> 2] * a;
                    d[h >> 2] = +d[c + 84 >> 2] * a;
                    d[h + 4 >> 2] = b
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        e = 0,
                        e = +d[c + 156 >> 2],
                        b = e * +d[c + 244 >> 2] * a;
                    d[h >> 2] = e * +d[c + 240 >> 2] * a;
                    d[h + 4 >> 2] = b
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        b = +d[c + 100 >> 2] * a;
                    d[h >> 2] = +d[c + 96 >> 2] * a;
                    d[h + 4 >> 2] = b
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        e = 0,
                        f = 0,
                        f = +d[c + 104 >> 2],
                        e = +d[c + 116 >> 2] + +d[c + 112 >> 2],
                        b = (f * +d[c + 196 >> 2] + e * +d[c + 188 >> 2]) * a;
                    d[h >> 2] = (f * +d[c + 192 >> 2] + +d[c + 184 >> 2] * e) * a;
                    d[h + 4 >> 2] = b
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        e = 0,
                        e = +d[c + 116 >> 2],
                        b = e * +d[c + 140 >> 2] * a;
                    d[h >> 2] = e * +d[c + 136 >> 2] * a;
                    d[h + 4 >> 2] = b
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        b = +d[c + 88 >> 2] * a;
                    d[h >> 2] = +d[c + 84 >> 2] * a;
                    d[h + 4 >> 2] = b
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    var b = 0,
                        b = +d[c + 92 >> 2] * +a;
                    a = b * +d[c + 108 >> 2];
                    d[h >> 2] = +d[c + 104 >> 2] * b;
                    d[h + 4 >> 2] = a
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        b = +d[c + 108 >> 2] * a;
                    d[h >> 2] = +d[c + 104 >> 2] * a;
                    d[h + 4 >> 2] = b
                }, function(h, c, a) {
                    h = h | 0;
                    c = c | 0;
                    a = +a;
                    var b = 0,
                        e = 0,
                        f = 0,
                        f = +d[c + 108 >> 2],
                        e = +d[c + 116 >> 2],
                        b = (f * +d[c + 184 >> 2] + e * +d[c + 176 >> 2]) * a;
                    d[h >> 2] = (f * +d[c + 180 >> 2] + e * +d[c + 172 >> 2]) * a;
                    d[h + 4 >> 2] = b
                }, qc, qc, qc, qc, qc, qc, qc],
                sd = [tb, tb, function(h, c, a, d, b, e) {
                    v(0, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(1, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(2, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(3, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(4, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(5, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(6, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(7, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(8, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(9, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(10, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(11, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(12, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(13, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(14, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(15, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(16, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(17, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(18, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, c, a, d, b, e) {
                    v(19, h | 0, c | 0, a | 0, d | 0, b | 0, e | 0)
                }, tb, function(h, a, d, b, e, f) {
                    a = a | 0;
                    f = r;
                    (c[a + 8 >> 2] | 0) == (h | 0) && $b(a, d | 0, b | 0, e | 0);
                    r = f
                }, function(h, a, d, b, e, f) {
                    h = h | 0;
                    a = a | 0;
                    d = d | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    var g = 0,
                        g = r;
                    (h | 0) == (c[a + 8 >> 2] | 0) ? $b(a, d, b, e): (h = c[h + 8 >> 2] | 0, sd[c[(c[h >> 2] | 0) + 20 >> 2] & 63](h, a, d, b, e, f));
                    r = g
                }, function(h, a, d, b, e, f) {
                    h = h | 0;
                    a = a | 0;
                    d = d | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        m = r;
                    if ((h | 0) == (c[a + 8 >> 2] | 0)) $b(a, d, b, e);
                    else {
                        g = a + 52 | 0;
                        l = D[g >> 0] | 0;
                        x = a + 53 | 0;
                        p = D[x >> 0] | 0;
                        t = c[h + 12 >> 2] | 0;
                        n = h + (t << 3) + 16 | 0;
                        D[g >> 0] = 0;
                        D[x >> 0] = 0;
                        qb(h + 16 | 0, a, d, b, e, f);
                        a: do
                            if (1 < (t | 0)) {
                                k = a + 24 | 0;
                                q = h +
                                    8 | 0;
                                t = a + 54 | 0;
                                h = h + 24 | 0;
                                do {
                                    if (D[t >> 0] | 0) break a;
                                    if (D[g >> 0] | 0) {
                                        if (1 == (c[k >> 2] | 0)) break a;
                                        if (!(c[q >> 2] & 2)) break a
                                    } else if (0 != (D[x >> 0] | 0) && 0 == (c[q >> 2] & 1 | 0)) break a;
                                    D[g >> 0] = 0;
                                    D[x >> 0] = 0;
                                    qb(h, a, d, b, e, f);
                                    h = h + 8 | 0
                                } while (h >>> 0 < n >>> 0)
                            }
                        while (0);
                        D[g >> 0] = l;
                        D[x >> 0] = p
                    }
                    r = m
                }, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb, tb],
                Jc = [ub, ub, function(h, c) {
                    return v(0, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(1, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(2, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(3, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(4, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(5, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(6, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(7, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(8, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(9, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(10, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(11, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(12, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(13, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(14, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(15, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(16, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(17, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(18, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    return v(19, h | 0, c | 0) | 0
                }, ub, function(h, c) {
                    var a = 0,
                        a = r;
                    h = 0 != (Ob(3704, h | 0, c | 0) | 0);
                    r = a;
                    return h | 0
                }, function() {
                    return 1
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        b = r;
                    (a = ja(a | 0, 40) | 0) ? (c[a >> 2] = 6488, c[a + 4 >> 2] = 3, d[a + 8 >> 2] = .009999999776482582, c[a + 12 >> 2] = 0, c[a + 16 >> 2] = 0, D[a + 36 >> 0] = 0, D[a + 37 >> 0] = 0) : a = 0;
                    ca(a, c[h + 12 >> 2] | 0, c[h + 16 >> 2] | 0);
                    e = h + 20 | 0;
                    f = c[e + 4 >> 2] | 0;
                    g = a + 20 | 0;
                    c[g >> 2] = c[e >> 2];
                    c[g + 4 >> 2] = f;
                    g = h + 28 | 0;
                    f = c[g + 4 >> 2] | 0;
                    e = a + 28 | 0;
                    c[e >> 2] = c[g >> 2];
                    c[e + 4 >> 2] = f;
                    D[a + 36 >> 0] = D[h + 36 >> 0] | 0;
                    D[a + 37 >> 0] = D[h + 37 >> 0] | 0;
                    r = b;
                    return a | 0
                }, function(h, a) {
                    h = h | 0;
                    var d = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        d = r;
                    (a = ja(a | 0, 20) | 0) ? (c[a >> 2] = 6936, b = a + 4 | 0, c[b + 0 >> 2] = 0, c[b + 4 >> 2] = 0, c[b + 8 >> 2] = 0, c[b + 12 >> 2] = 0) : a = 0;
                    f = h + 4 | 0;
                    b = c[f + 4 >> 2] | 0;
                    e = a + 4 | 0;
                    c[e >> 2] = c[f >> 2];
                    c[e + 4 >> 2] = b;
                    e = h + 12 | 0;
                    h = c[e + 4 >> 2] | 0;
                    b = a + 12 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = h;
                    r = d;
                    return a | 0
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        b = r;
                    (a = ja(a | 0, 48) | 0) ? (c[a >> 2] = 7008, c[a + 4 >> 2] = 1, d[a + 8 >> 2] = .009999999776482582, e = a + 28 | 0, c[e +
                        0 >> 2] = 0, c[e + 4 >> 2] = 0, c[e + 8 >> 2] = 0, c[e + 12 >> 2] = 0, W[e + 16 >> 1] = 0) : a = 0;
                    g = h + 4 | 0;
                    f = c[g + 4 >> 2] | 0;
                    e = a + 4 | 0;
                    c[e >> 2] = c[g >> 2];
                    c[e + 4 >> 2] = f;
                    e = a + 12 | 0;
                    h = h + 12 | 0;
                    c[e + 0 >> 2] = c[h + 0 >> 2];
                    c[e + 4 >> 2] = c[h + 4 >> 2];
                    c[e + 8 >> 2] = c[h + 8 >> 2];
                    c[e + 12 >> 2] = c[h + 12 >> 2];
                    c[e + 16 >> 2] = c[h + 16 >> 2];
                    c[e + 20 >> 2] = c[h + 20 >> 2];
                    c[e + 24 >> 2] = c[h + 24 >> 2];
                    c[e + 28 >> 2] = c[h + 28 >> 2];
                    W[e + 32 >> 1] = W[h + 32 >> 1] | 0;
                    r = b;
                    return a | 0
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        b = r;
                    (a = ja(a | 0, 280) | 0) ? (c[a >> 2] = 7368, c[a + 4 >> 2] = 2, d[a + 8 >> 2] = .009999999776482582, c[a + 276 >> 2] = 0, d[a + 12 >> 2] = 0, d[a + 16 >> 2] = 0) : a = 0;
                    g = h + 4 | 0;
                    f = c[g + 4 >> 2] | 0;
                    e = a + 4 | 0;
                    c[e >> 2] = c[g >> 2];
                    c[e + 4 >> 2] = f;
                    kb(a + 12 | 0, h + 12 | 0, 268) | 0;
                    r = b;
                    return a | 0
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        y = 0,
                        z = g = B = k = 0,
                        v = 0,
                        A = 0,
                        b = r;
                    if (0 < +d[h + 68 >> 2]) return r = b, 1;
                    e = h + 108 | 0;
                    t = c[e >> 2] | 0;
                    q = (a | 0) + 24 | 0;
                    B = c[q >> 2] | 0;
                    k = a = B + (12 * t | 0) | 0;
                    x = +d[k >> 2];
                    n = +d[k + 4 >> 2];
                    f = +d[B + (12 * t | 0) + 8 >> 2];
                    t = h + 112 | 0;
                    k = c[t >> 2] | 0;
                    g = B + (12 * k | 0) | 0;
                    u = +d[g >> 2];
                    w = +d[g + 4 >> 2];
                    l = +d[B + (12 * k | 0) + 8 >> 2];
                    m = +Ja(+f);
                    B = +Ka(+f);
                    y = +Ja(+l);
                    K = +Ka(+l);
                    p = +d[h + 80 >> 2] - +d[h +
                        140 >> 2];
                    k = +d[h + 84 >> 2] - +d[h + 144 >> 2];
                    g = B * p - m * k;
                    k = m * p + B * k;
                    B = +d[h + 88 >> 2] - +d[h + 148 >> 2];
                    p = +d[h + 92 >> 2] - +d[h + 152 >> 2];
                    m = K * B - y * p;
                    p = y * B + K * p;
                    K = u + m - x - g;
                    B = w + p - n - k;
                    y = +ib(+(K * K + B * B));
                    1.1920928955078125E-7 > y ? y = 0 : (z = 1 / y, K *= z, B *= z);
                    y -= +d[h + 104 >> 2];
                    y = .20000000298023224 > y ? y : .20000000298023224;
                    y = -.20000000298023224 > y ? -.20000000298023224 : y;
                    A = -(+d[h + 172 >> 2] * y);
                    v = K * A;
                    K = B * A;
                    A = +d[h + 156 >> 2];
                    B = f - +d[h + 164 >> 2] * (g * K - k * v);
                    k = +d[h + 160 >> 2];
                    z = l + +d[h + 168 >> 2] * (m * K - p * v);
                    g = a;
                    d[g >> 2] = +(x - A * v);
                    d[g + 4 >> 2] = +(n - A * K);
                    g = c[q >> 2] | 0;
                    d[g + (12 * (c[e >> 2] | 0) | 0) + 8 >> 2] = B;
                    g = g + (12 * (c[t >> 2] | 0) | 0) | 0;
                    d[g >> 2] = +(u + k * v);
                    d[g + 4 >> 2] = +(w + k * K);
                    d[(c[q >> 2] | 0) + (12 * (c[t >> 2] | 0) | 0) + 8 >> 2] = z;
                    0 < y || (y = -y);
                    r = b;
                    return .004999999888241291 > y | 0
                }, function() {
                    return 1
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        D = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        X = 0,
                        M = 0,
                        L = 0,
                        H = 0,
                        Q = 0,
                        P = 0,
                        U = 0,
                        R = 0,
                        W = 0,
                        V = 0,
                        aa = I = v = w = 0,
                        fa = 0,
                        ca = 0,
                        ea = 0,
                        T = 0,
                        ja = 0,
                        ha = 0,
                        e = r,
                        b = h + 160 | 0,
                        x = c[b >> 2] | 0,
                        t = (a | 0) + 24 | 0,
                        v = c[t >> 2] | 0;
                    a = K = v + (12 * x | 0) | 0;
                    z = +d[a >> 2];
                    y = +d[a + 4 >> 2];
                    B = +d[v + (12 * x | 0) +
                        8 >> 2];
                    a = h + 164 | 0;
                    x = c[a >> 2] | 0;
                    u = v + (12 * x | 0) | 0;
                    g = +d[u >> 2];
                    k = +d[u + 4 >> 2];
                    l = +d[v + (12 * x | 0) + 8 >> 2];
                    x = h + 168 | 0;
                    u = c[x >> 2] | 0;
                    w = v + (12 * u | 0) | 0;
                    m = +d[w >> 2];
                    p = +d[w + 4 >> 2];
                    n = +d[v + (12 * u | 0) + 8 >> 2];
                    u = h + 172 | 0;
                    w = c[u >> 2] | 0;
                    I = v + (12 * w | 0) | 0;
                    q = +d[I >> 2];
                    f = +d[I + 4 >> 2];
                    w = +d[v + (12 * w | 0) + 8 >> 2];
                    v = +Ja(+B);
                    A = +Ka(+B);
                    M = +Ja(+l);
                    L = +Ka(+l);
                    X = +Ja(+n);
                    H = +Ka(+n);
                    I = +Ja(+w);
                    J = +Ka(+w);
                    1 == (c[h + 76 >> 2] | 0) ? (V = +d[h + 224 >> 2], H = +d[h + 232 >> 2], F = D = 0, E = V, v = H, A = C = 1, X = B - n - +d[h + 140 >> 2], H = V + H) : (ea = +d[h + 124 >> 2], fa = +d[h + 128 >> 2], D = H * ea - X * fa, F = X * ea + H * fa, ca = +d[h + 108 >> 2] -
                        +d[h + 192 >> 2], P = +d[h + 112 >> 2] - +d[h + 196 >> 2], U = +d[h + 92 >> 2] - +d[h + 176 >> 2], aa = +d[h + 96 >> 2] - +d[h + 180 >> 2], Q = A * U - v * aa, aa = v * U + A * aa, U = F * (H * ca - X * P) - D * (X * ca + H * P), V = F * Q - D * aa, R = +d[h + 232 >> 2], W = +d[h + 224 >> 2], Q = z - m + Q, aa = y - p + aa, E = W, v = R, C = V, A = U, X = ea * (H * Q + X * aa - ca) + fa * (H * aa - X * Q - P), H = +d[h + 216 >> 2] + +d[h + 208 >> 2] + U * U * R + V * W * V);
                    1 == (c[h + 80 >> 2] | 0) ? (M = +d[h + 152 >> 2], R = +d[h + 228 >> 2], L = +d[h + 236 >> 2], V = M * M * (R + L), W = M, P = Q = 0, U = M, J = l - w - +d[h + 144 >> 2]) : (ja = +d[h + 132 >> 2], aa = +d[h + 136 >> 2], Q = J * ja - I * aa, ha = I * ja + J * aa, T = +d[h + 116 >> 2] - +d[h + 200 >> 2], ea = +d[h +
                        120 >> 2] - +d[h + 204 >> 2], P = +d[h + 100 >> 2] - +d[h + 184 >> 2], fa = +d[h + 104 >> 2] - +d[h + 188 >> 2], ca = L * P - M * fa, fa = M * P + L * fa, P = +d[h + 152 >> 2], M = P * (ha * (J * T - I * ea) - Q * (I * T + J * ea)), U = P * (ha * ca - Q * fa), L = +d[h + 236 >> 2], R = +d[h + 228 >> 2], ca = g - q + ca, fa = k - f + fa, V = P * P * (+d[h + 220 >> 2] + +d[h + 212 >> 2]) + M * M * L + U * R * U, W = P, Q *= P, P *= ha, J = ja * (J * ca + I * fa - T) + aa * (J * fa - I * ca - ea));
                    I = H + 0 + V;
                    J = 0 < I ? -(X + J * W - +d[h + 148 >> 2]) / I : 0;
                    ea = J * +d[h + 208 >> 2];
                    T = J * +d[h + 212 >> 2];
                    ja = J * +d[h + 216 >> 2];
                    ha = J * +d[h + 220 >> 2];
                    ca = +(z + D * ea);
                    I = K;
                    d[I >> 2] = ca;
                    d[I + 4 >> 2] = +(y + F * ea);
                    I = c[t >> 2] | 0;
                    d[I + (12 * (c[b >> 2] | 0) | 0) + 8 >> 2] = B + C * J * E;
                    ea = +(g + Q * T);
                    I = I + (12 * (c[a >> 2] | 0) | 0) | 0;
                    d[I >> 2] = ea;
                    d[I + 4 >> 2] = +(k + P * T);
                    I = c[t >> 2] | 0;
                    d[I + (12 * (c[a >> 2] | 0) | 0) + 8 >> 2] = l + U * J * R;
                    T = +(m - D * ja);
                    I = I + (12 * (c[x >> 2] | 0) | 0) | 0;
                    d[I >> 2] = T;
                    d[I + 4 >> 2] = +(p - F * ja);
                    I = c[t >> 2] | 0;
                    d[I + (12 * (c[x >> 2] | 0) | 0) + 8 >> 2] = n - A * J * v;
                    ja = +(q - Q * ha);
                    I = I + (12 * (c[u >> 2] | 0) | 0) | 0;
                    d[I >> 2] = ja;
                    d[I + 4 >> 2] = +(f - P * ha);
                    d[(c[t >> 2] | 0) + (12 * (c[u >> 2] | 0) | 0) + 8 >> 2] = w - M * J * L;
                    r = e;
                    return 1
                }, function() {
                    return 1
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        X = 0,
                        L = 0,
                        M = 0,
                        Q = 0,
                        H = 0,
                        P = 0,
                        U = 0,
                        W = 0,
                        R = 0,
                        fa = t = g = f = 0,
                        V = 0,
                        aa = 0,
                        e = r;
                    r = r + 64 | 0;
                    L = e + 24 | 0;
                    F = e + 12 | 0;
                    I = e;
                    b = h + 144 | 0;
                    f = c[b >> 2] | 0;
                    z = (a | 0) + 24 | 0;
                    g = c[z >> 2] | 0;
                    a = g + (12 * f | 0) | 0;
                    K = +d[a >> 2];
                    y = +d[a + 4 >> 2];
                    A = +d[g + (12 * f | 0) + 8 >> 2];
                    a = h + 148 | 0;
                    f = c[a >> 2] | 0;
                    t = g + (12 * f | 0) | 0;
                    E = +d[t >> 2];
                    C = +d[t + 4 >> 2];
                    l = +d[g + (12 * f | 0) + 8 >> 2];
                    U = +Ja(+A);
                    R = +Ka(+A);
                    m = +Ja(+l);
                    Q = +Ka(+l);
                    p = +d[h + 168 >> 2];
                    x = +d[h + 172 >> 2];
                    v = +d[h + 176 >> 2];
                    f = +d[h + 180 >> 2];
                    H = +d[h + 68 >> 2] - +d[h + 152 >> 2];
                    n = +d[h + 72 >> 2] - +d[h + 156 >> 2];
                    J = R * H - U * n;
                    n = U * H + R * n;
                    H = +d[h + 76 >> 2] - +d[h +
                        160 >> 2];
                    q = +d[h + 80 >> 2] - +d[h + 164 >> 2];
                    X = Q * H - m * q;
                    q = m * H + Q * q;
                    Q = E + X - K - J;
                    H = C + q - y - n;
                    m = +d[h + 84 >> 2];
                    w = +d[h + 88 >> 2];
                    t = R * m - U * w;
                    w = U * m + R * w;
                    J += Q;
                    n += H;
                    m = w * J - t * n;
                    k = X * w - q * t;
                    W = +d[h + 92 >> 2];
                    B = +d[h + 96 >> 2];
                    u = R * W - U * B;
                    B = U * W + R * B;
                    n = B * J - u * n;
                    q = X * B - q * u;
                    X = u * Q + B * H;
                    J = l - A - +d[h + 100 >> 2];
                    M = 0 < X ? X : -X;
                    g = 0 < J ? J : -J;
                    D[h + 136 >> 0] | 0 ? (Q = t * Q + w * H, H = +d[h + 124 >> 2], P = +d[h + 120 >> 2], U = H - P, 0 < U || (U = -U), .009999999776482582 > U ? (H = .20000000298023224 > Q ? Q : .20000000298023224, 0 < Q || (Q = -Q), P = -.20000000298023224 > H ? -.20000000298023224 : H, h = 1, M = M > Q ? M : Q) : Q <= P ? (W = Q - P + .004999999888241291, W = 0 > W ? W : 0, R = P - Q, P = -.20000000298023224 > W ? -.20000000298023224 : W, h = 1, M = M > R ? M : R) : Q >= H ? (R = Q - H, P = R + -.004999999888241291, P = .20000000298023224 > P ? P : .20000000298023224, P = 0 > P ? 0 : P, h = 1, M = M > R ? M : R) : h = P = 0) : h = P = 0;
                    U = p + x;
                    W = v * n;
                    R = f * q;
                    Q = q * R + (U + n * W);
                    H = R + W;
                    h ? (V = k * R + m * W, aa = v + f, R = v * m, W = f * k, fa = W + R, d[L >> 2] = Q, d[L + 4 >> 2] = H, d[L + 8 >> 2] = V, d[L + 12 >> 2] = H, d[L + 16 >> 2] = 0 == aa ? 1 : aa, d[L + 20 >> 2] = fa, d[L + 24 >> 2] = V, d[L + 28 >> 2] = fa, d[L + 32 >> 2] = k * W + (U + m * R), d[I >> 2] = -X, d[I + 4 >> 2] = -J, d[I + 8 >> 2] = -P, pa(F, L, I), J = +d[F >> 2], P = +d[F + 8 >> 2], X = +d[F + 4 >> 2]) : (P = v + f, P = 0 == P ? 1 : P, X = -X, U = -J, W = P * Q - H * H, 0 != W && (W = 1 / W), J = (P * X - H * U) * W, P = 0, X = (Q * U - H * X) * W);
                    V = t * P + u * J;
                    aa = w * P + B * J;
                    t = (c[z >> 2] | 0) + (12 * (c[b >> 2] | 0) | 0) | 0;
                    d[t >> 2] = +(K - p * V);
                    d[t + 4 >> 2] = +(y - p * aa);
                    t = c[z >> 2] | 0;
                    d[t + (12 * (c[b >> 2] | 0) | 0) + 8 >> 2] = A - v * (m * P + (X + n * J));
                    t = t + (12 * (c[a >> 2] | 0) | 0) | 0;
                    d[t >> 2] = +(E + x * V);
                    d[t + 4 >> 2] = +(C + x * aa);
                    d[(c[z >> 2] | 0) + (12 * (c[a >> 2] | 0) | 0) + 8 >> 2] = l + f * (k * P + (X + q * J));
                    if (!(.004999999888241291 >= M)) return r = e, 0;
                    r = e;
                    return .03490658849477768 >= g | 0
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        D = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        X = B = k = g = 0,
                        b = r,
                        e = h + 120 | 0,
                        x = c[e >> 2] | 0;
                    a = (a | 0) + 24 | 0;
                    k = c[a >> 2] | 0;
                    g = m = k + (12 * x | 0) | 0;
                    l = +d[g >> 2];
                    u = +d[g + 4 >> 2];
                    f = +d[k + (12 * x | 0) + 8 >> 2];
                    x = h + 124 | 0;
                    g = c[x >> 2] | 0;
                    B = k + (12 * g | 0) | 0;
                    w = +d[B >> 2];
                    p = +d[B + 4 >> 2];
                    n = +d[k + (12 * g | 0) + 8 >> 2];
                    q = +Ja(+f);
                    B = +Ka(+f);
                    A = +Ja(+n);
                    y = +Ka(+n);
                    t = +d[h + 92 >> 2] - +d[h + 160 >> 2];
                    k = +d[h + 96 >> 2] - +d[h + 164 >> 2];
                    g = B * t - q * k;
                    k = q * t + B * k;
                    B = +d[h + 100 >> 2] - +d[h + 168 >> 2];
                    t = +d[h + 104 >> 2] - +d[h + 172 >> 2];
                    q = y * B - A * t;
                    t = A * B + y * t;
                    y = l + g - +d[h + 68 >> 2];
                    B = u + k - +d[h + 72 >> 2];
                    A = w + q - +d[h + 76 >> 2];
                    v = p + t - +d[h + 80 >> 2];
                    z = +ib(+(y * y + B * B));
                    K = +ib(+(A * A + v * v));
                    .04999999701976776 < z ? (I = 1 / z, B *= I, y *= I) : y = B = 0;
                    .04999999701976776 < K ? (J = 1 / K, v *= J, J *= A) : J = v = 0;
                    X = g * B - k * y;
                    I = q * v - t * J;
                    C = +d[h + 176 >> 2];
                    E = +d[h + 184 >> 2];
                    A = +d[h + 180 >> 2];
                    D = +d[h + 188 >> 2];
                    F = +d[h + 112 >> 2];
                    I = C + X * X * E + F * F * (A + I * I * D);
                    0 < I && (I = 1 / I);
                    K = +d[h + 108 >> 2] - z - K * F;
                    z = 0 < K ? K : -K;
                    I *= K;
                    y *= I;
                    K = B * I;
                    I *= F;
                    X = J * I;
                    I *= v;
                    B = m;
                    d[B >> 2] = +(l + y * C);
                    d[B + 4 >> 2] = +(u + K * C);
                    B = c[a >> 2] | 0;
                    d[B + (12 * (c[e >> 2] | 0) | 0) + 8 >> 2] = f + (g * K - k * y) * E;
                    B = B + (12 * (c[x >> 2] | 0) | 0) | 0;
                    d[B >> 2] = +(w + X * A);
                    d[B + 4 >> 2] = +(p + I * A);
                    d[(c[a >> 2] | 0) + (12 * (c[x >> 2] | 0) | 0) + 8 >> 2] = n + D * (q * I - t * X);
                    r = b;
                    return .004999999888241291 > z | 0
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        w = 0,
                        B = 0,
                        K = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        X = 0,
                        L = z = x = n = 0,
                        e = r,
                        b = h + 128 | 0,
                        p = c[b >> 2] | 0,
                        k = (a | 0) + 24 | 0,
                        n = c[k >> 2] | 0,
                        x = a = n + (12 * p | 0) | 0,
                        l = +d[x >> 2],
                        g = +d[x + 4 >> 2],
                        q = +d[n + (12 * p | 0) + 8 >> 2],
                        p = h + 132 | 0,
                        x = c[p >> 2] | 0,
                        z = n + (12 * x | 0) | 0,
                        f = +d[z >> 2],
                        m = +d[z + 4 >> 2],
                        t = +d[n + (12 * x | 0) + 8 >> 2],
                        x = h + 176 | 0,
                        n = h + 180 | 0;
                    D[h + 112 >> 0] | 0 ? (u = +d[n >> 2], w = +d[x >> 2], n = c[h + 224 >> 2] | 0, 0 == (n | 0) | 0 == u +
                        w ? (x = w, n = u, B = 0) : (x = t - q - +d[h + 116 >> 2], 2 == (n | 0) ? (B = x - +d[h + 124 >> 2], K = B + -.03490658849477768, K = .13962635397911072 > K ? K : .13962635397911072, K = -(+d[h + 220 >> 2] * (0 > K ? 0 : K))) : 3 == (n | 0) ? (B = x - +d[h + 120 >> 2], B = .13962635397911072 > B ? B : .13962635397911072, B = -.13962635397911072 > B ? -.13962635397911072 : B, K = -(+d[h + 220 >> 2] * B), 0 < B || (B = -B)) : 1 == (n | 0) ? (B = x - +d[h + 120 >> 2], K = B + .03490658849477768, K = 0 > K ? K : 0, B = -B, K = -(+d[h + 220 >> 2] * (-.13962635397911072 > K ? -.13962635397911072 : K))) : K = B = 0, x = w, n = u, q -= K * w, t += K * u)) : (x = +d[x >> 2], n = +d[n >> 2], B = 0);
                    y = +Ja(+q);
                    z = +Ka(+q);
                    v = +Ja(+t);
                    A = +Ka(+t);
                    K = +d[h + 68 >> 2] - +d[h + 152 >> 2];
                    u = +d[h + 72 >> 2] - +d[h + 156 >> 2];
                    E = z * K - y * u;
                    u = y * K + z * u;
                    z = +d[h + 76 >> 2] - +d[h + 160 >> 2];
                    K = +d[h + 80 >> 2] - +d[h + 164 >> 2];
                    y = A * z - v * K;
                    K = v * z + A * K;
                    A = f + y - l - E;
                    z = m + K - g - u;
                    v = +ib(+(A * A + z * z));
                    w = +d[h + 168 >> 2];
                    F = +d[h + 172 >> 2];
                    L = w + F;
                    I = L + u * u * x + K * K * n;
                    X = E * x;
                    C = y * n;
                    J = -(u * X) - K * C;
                    C = L + E * X + y * C;
                    X = I * C - J * J;
                    0 != X && (X = 1 / X);
                    L = -((A * C - z * J) * X);
                    X = -((z * I - A * J) * X);
                    z = a;
                    d[z >> 2] = +(l - w * L);
                    d[z + 4 >> 2] = +(g - w * X);
                    z = c[k >> 2] | 0;
                    d[z + (12 * (c[b >> 2] | 0) | 0) + 8 >> 2] = q - x * (E * X - u * L);
                    z = z + (12 * (c[p >> 2] | 0) | 0) | 0;
                    d[z >> 2] = +(f + F * L);
                    d[z +
                        4 >> 2] = +(m + F * X);
                    d[(c[k >> 2] | 0) + (12 * (c[p >> 2] | 0) | 0) + 8 >> 2] = t + n * (y * X - K * L);
                    if (!(.004999999888241291 >= v)) return r = e, 0;
                    r = e;
                    return .03490658849477768 >= B | 0
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        w = 0,
                        y = 0,
                        z = k = B = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        e = r,
                        b = h + 96 | 0,
                        n = c[b >> 2] | 0;
                    a = (a | 0) + 24 | 0;
                    k = c[a >> 2] | 0;
                    B = l = k + (12 * n | 0) | 0;
                    p = +d[B >> 2];
                    m = +d[B + 4 >> 2];
                    K = +d[k + (12 * n | 0) + 8 >> 2];
                    n = h + 100 | 0;
                    B = c[n >> 2] | 0;
                    z = k + (12 * B | 0) | 0;
                    g = +d[z >> 2];
                    f = +d[z + 4 >> 2];
                    q = +d[k + (12 * B | 0) + 8 >> 2];
                    k = +Ja(+K);
                    B = +Ka(+K);
                    w = +Ja(+q);
                    y = +Ka(+q);
                    x = +d[h + 68 >> 2] - +d[h + 128 >> 2];
                    t = +d[h + 72 >> 2] - +d[h + 132 >> 2];
                    u = B * x - k * t;
                    t = k * x + B * t;
                    B = +d[h + 76 >> 2] - +d[h + 136 >> 2];
                    x = +d[h + 80 >> 2] - +d[h + 140 >> 2];
                    k = y * B - w * x;
                    x = w * B + y * x;
                    y = g + k - p - u;
                    B = f + x - m - t;
                    w = +ib(+(y * y + B * B));
                    1.1920928955078125E-7 > w ? w = 0 : (v = 1 / w, y *= v, B *= v);
                    z = h + 84 | 0;
                    E = w - +d[z >> 2];
                    E = .20000000298023224 > E ? E : .20000000298023224;
                    E = -(+d[h + 160 >> 2] * (0 > E ? 0 : E));
                    A = y * E;
                    y = B * E;
                    E = +d[h + 144 >> 2];
                    B = K - +d[h + 152 >> 2] * (u * y - t * A);
                    K = +d[h + 148 >> 2];
                    v = q + +d[h + 156 >> 2] * (k * y - x * A);
                    k = l;
                    d[k >> 2] = +(p - E * A);
                    d[k + 4 >> 2] = +(m - E * y);
                    k = c[a >> 2] | 0;
                    d[k + (12 * (c[b >> 2] | 0) | 0) + 8 >> 2] = B;
                    k = k + (12 * (c[n >> 2] | 0) | 0) | 0;
                    d[k >> 2] = +(g + K * A);
                    d[k + 4 >> 2] = +(f + K * y);
                    d[(c[a >> 2] | 0) + (12 * (c[n >> 2] | 0) | 0) + 8 >> 2] = v;
                    r = e;
                    return .004999999888241291 > w - +d[z >> 2] | 0
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        w = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        D = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        X = 0,
                        M = 0,
                        L = 0,
                        B = x = k = 0,
                        b = r;
                    r = r + 64 | 0;
                    I = b + 24 | 0;
                    X = b + 12 | 0;
                    J = b;
                    e = h + 116 | 0;
                    f = c[e >> 2] | 0;
                    a = (a | 0) + 24 | 0;
                    x = c[a >> 2] | 0;
                    k = x + (12 * f | 0) | 0;
                    t = +d[k >> 2];
                    m = +d[k + 4 >> 2];
                    g = +d[x + (12 * f | 0) + 8 >> 2];
                    f = h + 120 | 0;
                    k = c[f >> 2] | 0;
                    B = x + (12 * k | 0) | 0;
                    l = +d[B >> 2];
                    p = +d[B + 4 >> 2];
                    n = +d[x + (12 * k | 0) + 8 >> 2];
                    y = +Ja(+g);
                    F = +Ka(+g);
                    D = +Ja(+n);
                    E = +Ka(+n);
                    x = +d[h + 156 >> 2];
                    u = +d[h + 160 >> 2];
                    k = +d[h + 164 >> 2];
                    q = +d[h + 168 >> 2];
                    z = +d[h + 80 >> 2] - +d[h + 140 >> 2];
                    B = +d[h + 84 >> 2] - +d[h + 144 >> 2];
                    K = F * z - y * B;
                    B = y * z + F * B;
                    F = +d[h + 88 >> 2] - +d[h + 148 >> 2];
                    z = +d[h + 92 >> 2] - +d[h + 152 >> 2];
                    y = E * F - D * z;
                    z = D * F + E * z;
                    E = x + u;
                    F = E + k * B * B + q * z * z;
                    d[I >> 2] = F;
                    D = -(k * B * K) - q * z * y;
                    d[I + 12 >> 2] = D;
                    C = -(k * B) - q * z;
                    d[I + 24 >> 2] = C;
                    d[I + 4 >> 2] = D;
                    E = E + k * K * K + q * y * y;
                    d[I + 16 >> 2] = E;
                    M = k * K + q * y;
                    d[I + 28 >> 2] = M;
                    d[I + 8 >> 2] = C;
                    d[I + 20 >> 2] = M;
                    M = k + q;
                    d[I + 32 >> 2] = M;
                    C = l + y - t - K;
                    A = p + z - m - B;
                    0 < +d[h + 68 >> 2] ? (w = +ib(+(A * A +
                        C * C)), v = F * E - D * D, 0 != v && (v = 1 / v), L = -(v * (E * C - D * A)), v = -(v * (F * A - D * C)), y = y * v - z * L, z = v, A = L, K = K * v - B * L, v = 0) : (L = n - g - +d[h + 96 >> 2], w = +ib(+(A * A + C * C)), v = 0 < L ? L : -L, d[X >> 2] = C, d[X + 4 >> 2] = A, d[X + 8 >> 2] = L, 0 < M ? (pa(J, I, X), F = +d[J + 4 >> 2], A = +d[J >> 2], E = - +d[J + 8 >> 2]) : (M = F * E - D * D, 0 != M && (M = 1 / M), F = M * (F * A - D * C), A = M * (E * C - D * A), E = 0), L = -A, M = -F, y = E + (y * M - z * L), z = M, A = L, K = E + (K * M - B * L));
                    B = (c[a >> 2] | 0) + (12 * (c[e >> 2] | 0) | 0) | 0;
                    d[B >> 2] = +(t - x * A);
                    d[B + 4 >> 2] = +(m - x * z);
                    B = c[a >> 2] | 0;
                    d[B + (12 * (c[e >> 2] | 0) | 0) + 8 >> 2] = g - k * K;
                    B = B + (12 * (c[f >> 2] | 0) | 0) | 0;
                    d[B >> 2] = +(l + u * A);
                    d[B +
                        4 >> 2] = +(p + u * z);
                    d[(c[a >> 2] | 0) + (12 * (c[f >> 2] | 0) | 0) + 8 >> 2] = n + q * y;
                    if (!(.004999999888241291 >= w)) return r = b, 0;
                    r = b;
                    return .03490658849477768 >= v | 0
                }, function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        B = 0,
                        w = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        E = 0,
                        C = 0,
                        D = 0,
                        F = 0,
                        J = g = f = 0,
                        I = 0,
                        e = r,
                        b = h + 132 | 0,
                        z = c[b >> 2] | 0;
                    a = (a | 0) + 24 | 0;
                    g = c[a >> 2] | 0;
                    f = g + (12 * z | 0) | 0;
                    k = +d[f >> 2];
                    m = +d[f + 4 >> 2];
                    x = +d[g + (12 * z | 0) + 8 >> 2];
                    z = h + 136 | 0;
                    f = c[z >> 2] | 0;
                    J = g + (12 * f | 0) | 0;
                    B = +d[J >> 2];
                    y = +d[J + 4 >> 2];
                    v = +d[g + (12 * f | 0) + 8 >> 2];
                    w = +Ja(+x);
                    t = +Ka(+x);
                    l = +Ja(+v);
                    f = +Ka(+v);
                    u = +d[h + 76 >> 2] - +d[h + 140 >> 2];
                    p = +d[h + 80 >> 2] - +d[h + 144 >> 2];
                    n = t * u - w * p;
                    p = w * u + t * p;
                    u = +d[h + 84 >> 2] - +d[h + 148 >> 2];
                    E = +d[h + 88 >> 2] - +d[h + 152 >> 2];
                    A = f * u - l * E;
                    E = l * u + f * E;
                    f = B - k + A - n;
                    u = y - m + E - p;
                    l = +d[h + 100 >> 2];
                    g = +d[h + 104 >> 2];
                    q = t * l - w * g;
                    g = w * l + t * g;
                    t = q * f + g * u;
                    l = +d[h + 156 >> 2];
                    w = +d[h + 160 >> 2];
                    K = +d[h + 164 >> 2];
                    F = +d[h + 196 >> 2];
                    C = +d[h + 168 >> 2];
                    D = +d[h + 200 >> 2];
                    D = l + w + F * K * F + D * C * D;
                    D = 0 != D ? -t / D : 0;
                    I = q * D;
                    F = g * D;
                    J = (c[a >> 2] | 0) + (12 * (c[b >> 2] | 0) | 0) | 0;
                    d[J >> 2] = +(k - I * l);
                    d[J + 4 >> 2] = +(m - F * l);
                    J = c[a >> 2] | 0;
                    d[J + (12 * (c[b >> 2] | 0) | 0) + 8 >> 2] = x - (g * (n + f) - q * (p + u)) * D * K;
                    J = J +
                        (12 * (c[z >> 2] | 0) | 0) | 0;
                    d[J >> 2] = +(B + I * w);
                    d[J + 4 >> 2] = +(y + F * w);
                    d[(c[a >> 2] | 0) + (12 * (c[z >> 2] | 0) | 0) + 8 >> 2] = v + (A * g - E * q) * D * C;
                    if (0 < t) return J = .004999999888241291 >= t, r = e, J | 0;
                    J = .004999999888241291 >= -t;
                    r = e;
                    return J | 0
                }, function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        b = 0,
                        e = 0,
                        d = r,
                        e = c[h >> 2] | 0,
                        b = c[a >> 2] | 0;
                    (e | 0) >= (b | 0) ? (e | 0) == (b | 0) ? h = (c[h + 4 >> 2] | 0) < (c[a + 4 >> 2] | 0): h = 0: h = 1;
                    r = d;
                    return h | 0
                }, ub, ub, ub, ub, ub],
                Mc = [dc, dc, function(h, c, a, d, b) {
                    return v(0, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(1, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(2, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(3, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(4, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(5, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(6, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(7, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(8, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(9, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(10, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(11, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(12, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(13, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(14, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(15, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(16, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(17, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(18, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, c, a, d, b) {
                    return v(19, h | 0, c | 0, a | 0, d | 0, b | 0) | 0
                }, dc, function(h, a, b, e, f) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        g = r;
                    r = r + 48 | 0;
                    k = g;
                    l = c[h + 16 >> 2] | 0;
                    if ((l | 0) > (f | 0)) return c[k >> 2] = 7008, c[k + 4 >> 2] = 1, d[k + 8 >> 2] = .009999999776482582, m = k + 28 | 0, c[m + 0 >> 2] = 0, c[m + 4 >> 2] = 0, c[m + 8 >> 2] = 0, c[m + 12 >> 2] = 0, W[m + 16 >> 1] = 0, m = f + 1 | 0, h = c[h + 12 >> 2] | 0, x = h + (f << 3) | 0, p = c[x + 4 >> 2] | 0, f = k + 12 | 0, c[f >> 2] = c[x >> 2], c[f + 4 >> 2] = p, l = h + (((m | 0) == (l | 0) ? 0 : m) << 3) | 0, f = c[l + 4 >> 2] | 0, h = k + 20 | 0, c[h >> 2] = c[l >> 2], c[h + 4 >> 2] = f, h = ha(k, a, b, e, 0) | 0, r = g, h | 0;
                    Q(6832, 6560, 152, 11784);
                    return 0
                }, function(h, c, a, b, e) {
                    h = h | 0;
                    c = c | 0;
                    a = a | 0;
                    b = b | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0;
                    e = r;
                    p = +d[b + 12 >> 2];
                    l = +d[h + 12 >> 2];
                    x = +d[b + 8 >> 2];
                    g = +d[h + 16 >> 2];
                    m = +d[a >> 2];
                    f = m - (+d[b >> 2] + (p * l - x * g));
                    k = +d[a + 4 >> 2];
                    g = k - (+d[b + 4 >> 2] + (l * x + p * g));
                    p = +d[h + 8 >> 2];
                    m = +d[a + 8 >> 2] - m;
                    k = +d[a + 12 >> 2] - k;
                    x = f * m + g * k;
                    l = m * m + k * k;
                    p = x * x - (f * f + g * g - p * p) * l;
                    if (0 > p | 1.1920928955078125E-7 > l) return r = e, 0;
                    x += +ib(+p);
                    p = -x;
                    if (!(-0 >= x && l * +d[a + 16 >> 2] >= p)) return r = e, 0;
                    x = p / l;
                    d[c + 8 >> 2] = x;
                    f += m * x;
                    k = g + k * x;
                    b = c;
                    d[b >> 2] = +f;
                    d[b + 4 >> 2] = +k;
                    g = +ib(+(f * f + k * k));
                    if (1.1920928955078125E-7 > g) return r = e, 1;
                    x = 1 / g;
                    d[c >> 2] = f * x;
                    d[c + 4 >> 2] = k * x;
                    r = e;
                    return 1
                }, ha, function(h, a, b, e, f) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        w = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0;
                    f = r;
                    x = +d[e >> 2];
                    p = +d[b >> 2] - x;
                    v = +d[e + 4 >> 2];
                    u = +d[b + 4 >> 2] - v;
                    m = e + 12 | 0;
                    z = +d[m >> 2];
                    e = e + 8 | 0;
                    t = +d[e >> 2];
                    n = p * z + u * t;
                    p = z * u - p * t;
                    x = +d[b + 8 >> 2] - x;
                    v = +d[b + 12 >> 2] - v;
                    u = z * x + t * v - n;
                    x = z * v - t * x - p;
                    q = c[h + 276 >> 2] | 0;
                    t = +d[b + 16 >> 2];
                    do
                        if (0 < (q | 0)) {
                            w = 0;
                            b = -1;
                            K = 0;
                            y = t;
                            a: for (;;) {
                                A = +d[h + (w << 3) + 148 >> 2];
                                v = +d[h + (w << 3) + 152 >> 2];
                                z = (+d[h + (w << 3) + 20 >> 2] - n) * A + (+d[h + (w << 3) +
                                    24 >> 2] - p) * v;
                                v = u * A + x * v;
                                do
                                    if (0 == v) {
                                        if (0 > z) {
                                            g = 0;
                                            q = 17;
                                            break a
                                        }
                                    } else 0 > v && z < K * v ? (b = w, K = z / v) : 0 < v && z < y * v && (y = z / v); while (0);
                                w = w + 1 | 0;
                                if (y < K) {
                                    g = 0;
                                    q = 17;
                                    break
                                }
                                if ((w | 0) >= (q | 0)) {
                                    q = 12;
                                    break
                                }
                            }
                            if (12 == (q | 0)) 0 <= K ? (k = t, g = b, l = K) : Q(7248, 7104, 328, 11784);
                            else if (17 == (q | 0)) return r = f, g | 0
                        } else k = t, g = -1, l = 0; while (0);
                    l <= k || Q(7248, 7104, 328, 11784);
                    if (-1 >= (g | 0)) return r = f, 0;
                    d[a + 8 >> 2] = l;
                    z = +d[m >> 2];
                    K = +d[h + (g << 3) + 148 >> 2];
                    y = +d[e >> 2];
                    A = +d[h + (g << 3) + 152 >> 2];
                    v = +(z * K - y * A);
                    w = a;
                    d[w >> 2] = v;
                    d[w + 4 >> 2] = +(K * y + z * A);
                    r = f;
                    return 1
                }, function(h, a, b, e, f) {
                    h = h | 0;
                    b = b | 0;
                    var g = 0,
                        g = e = 0;
                    a = r;
                    f = ja(f | 0, 148) | 0;
                    if (!f) return r = a, 0;
                    c[f + 4 >> 2] = 4;
                    c[f + 48 >> 2] = h;
                    c[f + 52 >> 2] = b;
                    c[f + 56 >> 2] = 0;
                    c[f + 60 >> 2] = 0;
                    c[f + 124 >> 2] = 0;
                    c[f + 128 >> 2] = 0;
                    g = f + 8 | 0;
                    e = g + 40 | 0;
                    do c[g >> 2] = 0, g = g + 4 | 0; while ((g | 0) < (e | 0));
                    d[f + 136 >> 2] = +ib(+(+d[(h + 16 | 0) >> 2] * +d[b + 16 >> 2]));
                    g = +d[h + 20 >> 2];
                    e = +d[b + 20 >> 2];
                    d[f + 140 >> 2] = g > e ? g : e;
                    d[f + 144 >> 2] = 0;
                    c[f >> 2] = 12552;
                    c[(c[h + 12 >> 2] | 0) + 4 >> 2] | 0 && Q(12568, 12616, 43, 12680);
                    if (c[(c[b + 12 >> 2] | 0) + 4 >> 2] | 0) Q(13952, 12616, 44, 12680);
                    else return g = f, r = a, g | 0;
                    return 0
                }, function(h, a, b, e, f) {
                    h = h | 0;
                    b = b | 0;
                    var g = 0,
                        g = e = 0;
                    a = r;
                    f = ja(f | 0, 148) | 0;
                    if (!f) return r = a, 0;
                    c[f + 4 >> 2] = 4;
                    c[f + 48 >> 2] = h;
                    c[f + 52 >> 2] = b;
                    c[f + 56 >> 2] = 0;
                    c[f + 60 >> 2] = 0;
                    c[f + 124 >> 2] = 0;
                    c[f + 128 >> 2] = 0;
                    g = f + 8 | 0;
                    e = g + 40 | 0;
                    do c[g >> 2] = 0, g = g + 4 | 0; while ((g | 0) < (e | 0));
                    d[f + 136 >> 2] = +ib(+(+d[(h + 16 | 0) >> 2] * +d[b + 16 >> 2]));
                    g = +d[h + 20 >> 2];
                    e = +d[b + 20 >> 2];
                    d[f + 140 >> 2] = g > e ? g : e;
                    d[f + 144 >> 2] = 0;
                    c[f >> 2] = 13832;
                    2 != (c[(c[h + 12 >> 2] | 0) + 4 >> 2] | 0) && Q(14072, 13848, 40, 13920);
                    if (c[(c[b + 12 >> 2] | 0) + 4 >> 2] | 0) Q(13952, 13848, 41, 13920);
                    else return g = f, r = a, g | 0;
                    return 0
                }, function(h, a, b, e, f) {
                    h = h | 0;
                    b = b | 0;
                    var g = 0,
                        g = e = 0;
                    a = r;
                    f = ja(f | 0, 148) | 0;
                    if (!f) return r = a, 0;
                    c[f + 4 >> 2] = 4;
                    c[f + 48 >> 2] = h;
                    c[f + 52 >> 2] = b;
                    c[f + 56 >> 2] = 0;
                    c[f + 60 >> 2] = 0;
                    c[f + 124 >> 2] = 0;
                    c[f + 128 >> 2] = 0;
                    g = f + 8 | 0;
                    e = g + 40 | 0;
                    do c[g >> 2] = 0, g = g + 4 | 0; while ((g | 0) < (e | 0));
                    d[f + 136 >> 2] = +ib(+(+d[(h + 16 | 0) >> 2] * +d[b + 16 >> 2]));
                    g = +d[h + 20 >> 2];
                    e = +d[b + 20 >> 2];
                    d[f + 140 >> 2] = g > e ? g : e;
                    d[f + 144 >> 2] = 0;
                    c[f >> 2] = 14056;
                    2 != (c[(c[h + 12 >> 2] | 0) + 4 >> 2] | 0) && Q(14072, 14120, 43, 14184);
                    if (2 == (c[(c[b + 12 >> 2] | 0) + 4 >> 2] | 0)) return g = f, r = a, g | 0;
                    Q(14208, 14120, 44, 14184);
                    return 0
                }, function(h, a, b, e, f) {
                    h = h | 0;
                    b = b | 0;
                    var g = 0,
                        g = e = 0;
                    a = r;
                    f = ja(f | 0, 148) | 0;
                    if (!f) return r = a, 0;
                    c[f + 4 >> 2] = 4;
                    c[f + 48 >> 2] = h;
                    c[f + 52 >> 2] = b;
                    c[f + 56 >> 2] = 0;
                    c[f + 60 >> 2] = 0;
                    c[f + 124 >> 2] = 0;
                    c[f + 128 >> 2] = 0;
                    g = f + 8 | 0;
                    e = g + 40 | 0;
                    do c[g >> 2] = 0, g = g + 4 | 0; while ((g | 0) < (e | 0));
                    d[f + 136 >> 2] = +ib(+(+d[(h + 16 | 0) >> 2] * +d[b + 16 >> 2]));
                    g = +d[h + 20 >> 2];
                    e = +d[b + 20 >> 2];
                    d[f + 140 >> 2] = g > e ? g : e;
                    d[f + 144 >> 2] = 0;
                    c[f >> 2] = 13456;
                    1 != (c[(c[h + 12 >> 2] | 0) + 4 >> 2] | 0) && Q(13632, 13472, 40, 13536);
                    if (c[(c[b + 12 >> 2] | 0) + 4 >> 2] | 0) Q(13952, 13472, 41, 13536);
                    else return g = f, r = a, g | 0;
                    return 0
                }, function(h, a, b, e, f) {
                    h = h | 0;
                    b = b | 0;
                    var g = 0,
                        g = e = 0;
                    a = r;
                    f = ja(f | 0, 148) | 0;
                    if (!f) return r = a, 0;
                    c[f + 4 >> 2] = 4;
                    c[f + 48 >> 2] = h;
                    c[f + 52 >> 2] = b;
                    c[f + 56 >> 2] = 0;
                    c[f + 60 >> 2] = 0;
                    c[f + 124 >> 2] = 0;
                    c[f + 128 >> 2] = 0;
                    g = f + 8 | 0;
                    e = g + 40 | 0;
                    do c[g >> 2] = 0, g = g + 4 | 0; while ((g | 0) < (e | 0));
                    d[f + 136 >> 2] = +ib(+(+d[(h + 16 | 0) >> 2] * +d[b + 16 >> 2]));
                    g = +d[h + 20 >> 2];
                    e = +d[b + 20 >> 2];
                    d[f + 140 >> 2] = g > e ? g : e;
                    d[f + 144 >> 2] = 0;
                    c[f >> 2] = 13616;
                    1 != (c[(c[h + 12 >> 2] | 0) + 4 >> 2] | 0) && Q(13632, 13680, 40, 13752);
                    if (2 == (c[(c[b + 12 >> 2] | 0) + 4 >> 2] | 0)) return g = f, r = a, g | 0;
                    Q(14208, 13680, 41, 13752);
                    return 0
                }, function(h, a, b, e, f) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var g = 0,
                        k = 0,
                        l = k = 0,
                        g = r;
                    f = ja(f | 0, 148) | 0;
                    if (!f) return r = g, 0;
                    c[f + 4 >> 2] = 4;
                    c[f + 48 >> 2] = h;
                    c[f + 52 >> 2] = b;
                    c[f + 56 >> 2] = a;
                    c[f + 60 >> 2] = e;
                    c[f + 124 >> 2] = 0;
                    c[f + 128 >> 2] = 0;
                    k = f + 8 | 0;
                    a = k + 40 | 0;
                    do c[k >> 2] = 0, k = k + 4 | 0; while ((k | 0) < (a | 0));
                    d[f + 136 >> 2] = +ib(+(+d[(h + 16 | 0) >> 2] * +d[b + 16 >> 2]));
                    l = +d[h + 20 >> 2];
                    k = +d[b + 20 >> 2];
                    d[f + 140 >> 2] = l > k ? l : k;
                    d[f + 144 >> 2] = 0;
                    c[f >> 2] = 12136;
                    3 != (c[(c[h + 12 >> 2] | 0) + 4 >> 2] | 0) && Q(12344, 12152, 42, 12224);
                    if (c[(c[b + 12 >> 2] | 0) + 4 >> 2] | 0) Q(13952, 12152, 43, 12224);
                    else return k = f, r = g, k | 0;
                    return 0
                }, function(h, a, b, e, f) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var g = 0,
                        k = 0,
                        l = k = 0,
                        g = r;
                    f = ja(f | 0, 148) | 0;
                    if (!f) return r = g, 0;
                    c[f + 4 >> 2] = 4;
                    c[f + 48 >> 2] = h;
                    c[f + 52 >> 2] = b;
                    c[f + 56 >> 2] = a;
                    c[f + 60 >> 2] = e;
                    c[f + 124 >> 2] = 0;
                    c[f + 128 >> 2] = 0;
                    k = f + 8 | 0;
                    a = k + 40 | 0;
                    do c[k >> 2] = 0, k = k + 4 | 0; while ((k | 0) < (a | 0));
                    d[f + 136 >> 2] = +ib(+(+d[(h + 16 | 0) >> 2] * +d[b + 16 >> 2]));
                    l = +d[h + 20 >> 2];
                    k = +d[b + 20 >> 2];
                    d[f + 140 >> 2] = l > k ? l : k;
                    d[f + 144 >> 2] = 0;
                    c[f >> 2] = 12328;
                    3 != (c[(c[h + 12 >> 2] | 0) + 4 >> 2] | 0) && Q(12344, 12392, 42, 12464);
                    if (2 == (c[(c[b + 12 >> 2] | 0) + 4 >> 2] | 0)) return k = f, r = g, k | 0;
                    Q(14208, 12392, 43, 12464);
                    return 0
                }, dc, dc, dc, dc, dc, dc, dc, dc, dc, dc, dc],
                cc = [Hc, Hc, function(h, c, a, d) {
                    v(0, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(1, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(2, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(3, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(4, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(5, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(6, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(7, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(8, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(9, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(10, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(11, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(12, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(13, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(14, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(15, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(16, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(17, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(18, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    v(19, h | 0, c | 0, a | 0, d | 0)
                }, Hc, function(h, c, a, d) {
                    var b = 0,
                        b = r;
                    Ob(2096, h | 0, c | 0, a | 0, d | 0) | 0;
                    r = b
                }, function(h, c, a, d) {
                    var b = 0,
                        b = r;
                    Ob(1864, h | 0, c | 0, a | 0, d | 0) | 0;
                    r = b
                }, function(h, c, a, d) {
                    var b = 0,
                        b = r;
                    Ob(1200, h | 0, c | 0, a | 0, d | 0) | 0;
                    r = b
                }, function(h, a, b, e) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = g = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        k = 0,
                        f = r,
                        g = c[h + 16 >> 2] | 0;
                    (g | 0) > (e | 0) ? (k = e + 1 | 0, g = (k | 0) == (g | 0) ? 0 : k, h = c[h + 12 >> 2] | 0, x = +d[b + 12 >> 2], p = +d[h + (e << 3) >> 2], n = +d[b + 8 >> 2], l = +d[h + (e << 3) + 4 >> 2], k = +d[b >> 2], m = k + (x * p - n * l), q = +d[b + 4 >> 2], l = p * n + x * l + q, p = +d[h + (g << 3) >> 2], g = +d[h + (g << 3) + 4 >> 2], k += x * p - n * g, g = q + (n * p + x * g), h = a, d[h >> 2] = +(m < k ? m : k), d[h + 4 >> 2] = +(l < g ? l : g), h = a + 8 | 0, d[h >> 2] = +(m > k ? m : k), d[h + 4 >> 2] = +(l > g ? l : g), r = f) : Q(6832, 6560, 171, 6856)
                }, function(h, c, a, b) {
                    h = h | 0;
                    c = c | 0;
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = b = 0,
                        e = +d[a + 12 >> 2],
                        k = +d[h + 12 >> 2];
                    b = +d[a + 8 >> 2];
                    f = +d[h + 16 >> 2];
                    g = +d[a >> 2] + (e * k - b * f);
                    f = +d[a + 4 >> 2] + (k * b + e * f);
                    b = h + 8 | 0;
                    e = +d[b >> 2];
                    d[c >> 2] = g - e;
                    d[c + 4 >> 2] = f - e;
                    e = +d[b >> 2];
                    d[c + 8 >> 2] = g + e;
                    d[c + 12 >> 2] = f + e
                }, function(c, a, b, e) {
                    c = c | 0;
                    a = a | 0;
                    b = b | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0;
                    e = r;
                    l = +d[b + 12 >> 2];
                    x = +d[c + 12 >> 2];
                    p = +d[b + 8 >> 2];
                    k = +d[c + 16 >> 2];
                    g = +d[b >> 2];
                    m = g + (l * x - p * k);
                    n = +d[b + 4 >> 2];
                    k = x * p + l * k + n;
                    x = +d[c + 20 >> 2];
                    f = +d[c + 24 >> 2];
                    g += l * x - p * f;
                    f = n + (p * x + l * f);
                    l = +d[c + 8 >> 2];
                    b = a;
                    d[b >> 2] = +((m < g ? m : g) - l);
                    d[b + 4 >> 2] = +((k < f ? k : f) - l);
                    b = a + 8 | 0;
                    d[b >> 2] = +(l + (m > g ? m : g));
                    d[b + 4 >> 2] = +(l + (k > f ? k : f));
                    r = e
                }, function(h, a, b, e) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0;
                    e = r;
                    f = +d[b + 12 >> 2];
                    x = +d[h + 20 >> 2];
                    g = +d[b + 8 >> 2];
                    n = +d[h + 24 >> 2];
                    k = +d[b >> 2];
                    m = k + (f * x - g * n);
                    l = +d[b + 4 >> 2];
                    n = x * g + f * n + l;
                    b = c[h + 276 >> 2] | 0;
                    if (1 < (b | 0)) {
                        p = m;
                        x = n;
                        q = 1;
                        do K = +d[h + (q << 3) + 20 >> 2], t = +d[h + (q << 3) + 24 >> 2], u = k + (f * K - g * t), t = K * g + f * t + l, p = p < u ? p : u, x = x < t ? x : t, m = m > u ? m : u, n = n > t ? n : t, q = q + 1 | 0; while ((q | 0) < (b | 0))
                    } else x = n, p = m;
                    K = +d[h + 8 >> 2];
                    q = a;
                    d[q >> 2] = +(p - K);
                    d[q + 4 >> 2] = +(x - K);
                    u = +(m + K);
                    q = a + 8 | 0;
                    d[q >> 2] = u;
                    d[q + 4 >> 2] = +(n + K);
                    r = e
                }, function(h, a, b, e) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        f = r;
                    r = r + 48 | 0;
                    g = f;
                    k = c[(c[h + 48 >> 2] | 0) + 12 >> 2] | 0;
                    c[g >> 2] = 7008;
                    c[g + 4 >> 2] = 1;
                    d[g + 8 >> 2] = .009999999776482582;
                    l = g + 28 | 0;
                    c[l + 0 >> 2] = 0;
                    c[l + 4 >> 2] = 0;
                    c[l + 8 >> 2] = 0;
                    c[l + 12 >> 2] = 0;
                    W[l + 16 >> 1] = 0;
                    na(k, g, c[h + 56 >> 2] | 0);
                    q(a, g, b, c[(c[h + 52 >> 2] | 0) + 12 >> 2] | 0, e);
                    r = f
                }, function(h, a, b, e) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        f = r;
                    r = r + 48 | 0;
                    g = f;
                    k = c[(c[h + 48 >> 2] | 0) + 12 >> 2] | 0;
                    c[g >> 2] = 7008;
                    c[g + 4 >> 2] = 1;
                    d[g + 8 >> 2] = .009999999776482582;
                    l = g + 28 | 0;
                    c[l + 0 >> 2] = 0;
                    c[l + 4 >> 2] = 0;
                    c[l + 8 >> 2] = 0;
                    c[l + 12 >> 2] = 0;
                    W[l + 16 >> 1] = 0;
                    na(k, g, c[h + 56 >> 2] | 0);
                    t(a, g, b, c[(c[h + 52 >> 2] | 0) + 12 >> 2] | 0, e);
                    r = f
                }, function(h, a, b, e) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        w = 0,
                        y = 0,
                        f = r,
                        n = c[(c[h + 48 >> 2] | 0) + 12 >> 2] | 0,
                        x = c[(c[h + 52 >> 2] | 0) + 12 >> 2] | 0,
                        g = a + 60 | 0;
                    c[g >> 2] = 0;
                    h = n + 12 | 0;
                    l = +d[b + 12 >> 2];
                    t = +d[h >> 2];
                    q = +d[b + 8 >> 2];
                    m = +d[n + 16 >> 2];
                    k = x + 12 | 0;
                    K = +d[e + 12 >> 2];
                    y = +d[k >> 2];
                    w = +d[e + 8 >> 2];
                    u = +d[x + 16 >> 2];
                    p = +d[e >> 2] + (K * y - w * u) - (+d[b >> 2] + (l * t - q * m));
                    m = y * w + K * u + +d[e + 4 >> 2] - (t * q + l * m + +d[b + 4 >> 2]);
                    l = +d[n + 8 >> 2] + +d[x + 8 >> 2];
                    p * p + m * m > l * l || (c[a + 56 >> 2] = 0, n = c[h + 4 >> 2] | 0, x = a + 48 | 0, c[x >> 2] = c[h >> 2], c[x + 4 >> 2] = n, d[a + 40 >> 2] = 0, d[a + 44 >> 2] = 0, c[g >> 2] = 1, x = c[k + 4 >> 2] | 0, n = a, c[n >> 2] = c[k >> 2], c[n + 4 >> 2] = x, c[a + 16 >> 2] = 0);
                    r = f
                }, function(h, a, d, b) {
                    h = h | 0;
                    var e = 0,
                        e = r;
                    q(a | 0, c[(c[h + 48 >> 2] | 0) + 12 >> 2] | 0, d | 0, c[(c[h + 52 >> 2] | 0) + 12 >> 2] | 0, b | 0);
                    r = e
                }, function(h, a, d, b) {
                    h = h | 0;
                    var e = 0,
                        e = r;
                    t(a | 0, c[(c[h + 48 >> 2] | 0) + 12 >> 2] | 0, d | 0, c[(c[h +
                        52 >> 2] | 0) + 12 >> 2] | 0, b | 0);
                    r = e
                }, function(h, a, b, e) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        w = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        C = 0,
                        D = 0,
                        f = r,
                        k = c[(c[h + 48 >> 2] | 0) + 12 >> 2] | 0,
                        n = c[(c[h + 52 >> 2] | 0) + 12 >> 2] | 0,
                        g = a + 60 | 0;
                    c[g >> 2] = 0;
                    h = n + 12 | 0;
                    A = +d[e + 12 >> 2];
                    m = +d[h >> 2];
                    p = +d[e + 8 >> 2];
                    C = +d[n + 16 >> 2];
                    l = +d[e >> 2] + (A * m - p * C) - +d[b >> 2];
                    C = m * p + A * C + +d[e + 4 >> 2] - +d[b + 4 >> 2];
                    A = +d[b + 12 >> 2];
                    p = +d[b + 8 >> 2];
                    m = l * A + C * p;
                    p = A * C - l * p;
                    l = +d[k + 8 >> 2] + +d[n + 8 >> 2];
                    n = c[k + 276 >> 2] | 0;
                    do
                        if (0 < (n | 0)) {
                            e = b = 0;
                            for (t = -3.4028234663852886E38;;) {
                                u = (m - +d[k +
                                    (b << 3) + 20 >> 2]) * +d[k + (b << 3) + 148 >> 2] + (p - +d[k + (b << 3) + 24 >> 2]) * +d[k + (b << 3) + 152 >> 2];
                                if (u > l) {
                                    b = 19;
                                    break
                                }
                                t = (D = u > t) ? u : t;
                                e = D ? b : e;
                                b = b + 1 | 0;
                                if ((b | 0) >= (n | 0)) {
                                    b = 4;
                                    break
                                }
                            }
                            if (4 == (b | 0)) D = 1.1920928955078125E-7 > t;
                            else if (19 == (b | 0)) {
                                r = f;
                                return
                            }
                        } else e = 0, D = 1; while (0);
                    q = e + 1 | 0;
                    x = k + (e << 3) + 20 | 0;
                    b = c[x >> 2] | 0;
                    x = c[x + 4 >> 2] | 0;
                    A = (c[y >> 2] = b, +d[y >> 2]);
                    K = (c[y >> 2] = x, +d[y >> 2]);
                    q = k + (((q | 0) < (n | 0) ? q : 0) << 3) + 20 | 0;
                    n = c[q >> 2] | 0;
                    q = c[q + 4 >> 2] | 0;
                    C = (c[y >> 2] = n, +d[y >> 2]);
                    v = (c[y >> 2] = q, +d[y >> 2]);
                    D ? (c[g >> 2] = 1, c[a + 56 >> 2] = 1, D = k + (e << 3) + 148 | 0, q = c[D + 4 >> 2] | 0, n = a + 40 | 0, c[n >> 2] = c[D >> 2], c[n + 4 >> 2] = q, A = +(.5 * (A + C)), n = a + 48 | 0, d[n >> 2] = A, d[n + 4 >> 2] = +(.5 * (K + v)), n = h, q = c[n + 4 >> 2] | 0, D = a, c[D >> 2] = c[n >> 2], c[D + 4 >> 2] = q, c[a + 16 >> 2] = 0) : (u = m - A, w = p - K, t = m - C, z = p - v, 0 >= u * (C - A) + w * (v - K) ? (m = u * u + w * w, m > l * l || (c[g >> 2] = 1, c[a + 56 >> 2] = 1, D = g = a + 40 | 0, d[D >> 2] = +u, d[D + 4 >> 2] = +w, l = +ib(+m), 1.1920928955078125E-7 > l || (C = 1 / l, d[g >> 2] = u * C, d[a + 44 >> 2] = w * C), n = a + 48 | 0, c[n >> 2] = b, c[n + 4 >> 2] = x, n = h, q = c[n + 4 >> 2] | 0, D = a, c[D >> 2] = c[n >> 2], c[D + 4 >> 2] = q, c[a + 16 >> 2] = 0)) : 0 >= t * (A - C) + z * (K - v) ? (m = t * t + z * z, m > l * l || (c[g >> 2] = 1, c[a + 56 >> 2] = 1, D = g = a + 40 | 0, d[D >> 2] = +t, d[D + 4 >> 2] = +z, l = +ib(+m), 1.1920928955078125E-7 > l || (C = 1 / l, d[g >> 2] = t * C, d[a + 44 >> 2] = z * C), D = a + 48 | 0, c[D >> 2] = n, c[D + 4 >> 2] = q, n = h, q = c[n + 4 >> 2] | 0, D = a, c[D >> 2] = c[n >> 2], c[D + 4 >> 2] = q, c[a + 16 >> 2] = 0)) : (t = .5 * (A + C), u = .5 * (K + v), b = k + (e << 3) + 148 | 0, (m - t) * +d[b >> 2] + (p - u) * +d[k + (e << 3) + 152 >> 2] > l || (c[g >> 2] = 1, c[a + 56 >> 2] = 1, D = b, q = c[D + 4 >> 2] | 0, n = a + 40 | 0, c[n >> 2] = c[D >> 2], c[n + 4 >> 2] = q, n = a + 48 | 0, d[n >> 2] = +t, d[n + 4 >> 2] = +u, n = h, q = c[n + 4 >> 2] | 0, D = a, c[D >> 2] = c[n >> 2], c[D + 4 >> 2] = q, c[a + 16 >> 2] = 0)));
                    r = f
                }, function(h, a, b, e) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        K = 0,
                        y = 0,
                        B = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        C = 0,
                        F = 0,
                        E = 0,
                        J = 0,
                        I = 0,
                        X = 0,
                        L = I = J = 0,
                        P = 0,
                        S = L = 0,
                        M = P = S = 0,
                        U = 0,
                        f = r;
                    r = r + 80 | 0;
                    I = f + 76 | 0;
                    t = f + 72 | 0;
                    n = f;
                    q = f + 48 | 0;
                    g = f + 24 | 0;
                    E = c[(c[h + 48 >> 2] | 0) + 12 >> 2] | 0;
                    J = c[(c[h + 52 >> 2] | 0) + 12 >> 2] | 0;
                    h = a + 60 | 0;
                    c[h >> 2] = 0;
                    k = +d[E + 8 >> 2] + +d[J + 8 >> 2];
                    c[I >> 2] = 0;
                    l = +u(I, E, b, J, e);
                    if (!(l > k || (c[t >> 2] = 0, m = +u(t, J, e, E, b), m > k))) {
                        m > l + 5.000000237487257E-4 ? (K = +d[e >> 2], z = +d[e + 4 >> 2], B = +d[e + 8 >> 2], y = +d[e + 12 >> 2], x = +d[b >> 2], l = +d[b + 4 >> 2], m = +d[b + 8 >> 2], p = +d[b + 12 >> 2], t = c[t >> 2] | 0, c[a +
                            56 >> 2] = 2, e = 1, b = J) : (K = +d[b >> 2], z = +d[b + 4 >> 2], B = +d[b + 8 >> 2], y = +d[b + 12 >> 2], x = +d[e >> 2], l = +d[e + 4 >> 2], m = +d[e + 8 >> 2], p = +d[e + 12 >> 2], t = c[I >> 2] | 0, c[a + 56 >> 2] = 1, e = 0, b = E, E = J);
                        J = c[E + 276 >> 2] | 0; - 1 >= (t | 0) && Q(5264, 5304, 74, 5360);
                        I = c[b + 276 >> 2] | 0;
                        (I | 0) <= (t | 0) && Q(5264, 5304, 74, 5360);
                        v = +d[b + (t << 3) + 148 >> 2];
                        P = +d[b + (t << 3) + 152 >> 2];
                        A = y * v - B * P;
                        P = B * v + y * P;
                        v = p * A + m * P;
                        A = p * P - m * A;
                        if (0 < (J | 0))
                            for (S = P = 0, C = 3.4028234663852886E38; F = v * +d[E + (P << 3) + 148 >> 2] + A * +d[E + (P << 3) + 152 >> 2], S = (L = F < C) ? P : S, P = P + 1 | 0, (P | 0) != (J | 0);) C = L ? F : C;
                        else S = 0;
                        L = S + 1 | 0;
                        L = (L | 0) < (J | 0) ? L : 0;
                        F = +d[E + (S << 3) + 20 >> 2];
                        X = +d[E + (S << 3) + 24 >> 2];
                        J = +(x + (p * F - m * X));
                        P = n;
                        d[P >> 2] = J;
                        d[P + 4 >> 2] = +(l + (m * F + p * X));
                        P = t & 255;
                        J = n + 8 | 0;
                        D[J >> 0] = P;
                        D[J + 1 >> 0] = S;
                        D[J + 2 >> 0] = 1;
                        D[J + 3 >> 0] = 0;
                        X = +d[E + (L << 3) + 20 >> 2];
                        J = +d[E + (L << 3) + 24 >> 2];
                        F = +(x + (p * X - m * J));
                        J = +(l + (m * X + p * J));
                        E = n + 12 | 0;
                        d[E >> 2] = F;
                        d[E + 4 >> 2] = J;
                        E = n + 20 | 0;
                        D[E >> 0] = P;
                        D[E + 1 >> 0] = L;
                        D[E + 2 >> 0] = 1;
                        D[E + 3 >> 0] = 0;
                        E = t + 1 | 0;
                        E = (E | 0) < (I | 0) ? E : 0;
                        S = b + (t << 3) + 20 | 0;
                        J = +d[S >> 2];
                        F = +d[S + 4 >> 2];
                        S = b + (E << 3) + 20 | 0;
                        X = +d[S >> 2];
                        I = +d[S + 4 >> 2];
                        L = X - J;
                        P = I - F;
                        v = +ib(+(L * L + P * P));
                        1.1920928955078125E-7 > v || (S = 1 / v, L *= S, P *= S);
                        S = y * L - B * P;
                        A = y * P + B * L;
                        C = -S;
                        U = K + (y * J - B * F);
                        M = z + (B * J + y * F);
                        v = U * A + M * C;
                        if (!(2 > (w(q, n, C, -A, k - (U * S + M * A), t) | 0) || 2 > (w(g, q, S, A, k + ((K + (y * X - B * I)) * S + (z + (B * X + y * I)) * A), E) | 0))) {
                            n = a + 40 | 0;
                            d[n >> 2] = +P;
                            d[n + 4 >> 2] = + -L;
                            M = +(.5 * (J + X));
                            n = a + 48 | 0;
                            d[n >> 2] = M;
                            d[n + 4 >> 2] = +(.5 * (F + I));
                            n = 0 == e << 24 >> 24;
                            t = q = 0;
                            do K = +d[g + (12 * q | 0) >> 2], y = +d[g + (12 * q | 0) + 4 >> 2], A * K + y * C - v <= k && (U = K - x, P = y - l, M = +(p * U + m * P), U = +(p * P - m * U), b = a + (20 * t | 0) | 0, d[b >> 2] = M, d[b + 4 >> 2] = U, b = a + (20 * t | 0) + 16 | 0, e = c[g + (12 * q | 0) + 8 >> 2] | 0, c[b >> 2] = e, n || (D[b >> 0] = e >>> 8, D[b + 1 >> 0] = e, D[b + 2 >> 0] = e >>> 24, D[b + 3 >> 0] = e >>> 16), t = t + 1 | 0), q = q + 1 | 0; while (2 != (q | 0));
                            c[h >> 2] = t
                        }
                    }
                    r = f
                }, function(h, a, d, b) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    (c[a + 8 >> 2] | 0) == (h | 0) && pc(a, d | 0, b | 0);
                    r = e
                }, function(h, a, d, b) {
                    h = h | 0;
                    a = a | 0;
                    d = d | 0;
                    b = b | 0;
                    var e = 0,
                        e = r;
                    (h | 0) == (c[a + 8 >> 2] | 0) ? pc(a, d, b): (h = c[h + 8 >> 2] | 0, cc[c[(c[h >> 2] | 0) + 28 >> 2] & 63](h, a, d, b));
                    r = e
                }, function(h, a, d, b) {
                    h = h | 0;
                    a = a | 0;
                    d = d | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        e = r;
                    if ((h | 0) == (c[a + 8 >> 2] | 0)) pc(a, d, b), r = e;
                    else if (g = c[h + 12 >> 2] | 0, f = h + (g << 3) + 16 | 0, tc(h + 16 | 0, a, d, b), 1 >= (g | 0)) r = e;
                    else {
                        g = a + 54 | 0;
                        for (h = h + 24 | 0;;) {
                            tc(h, a, d, b);
                            if (D[g >> 0] | 0) {
                                b = 7;
                                break
                            }
                            h = h + 8 | 0;
                            if (h >>> 0 >= f >>> 0) {
                                b = 7;
                                break
                            }
                        }
                        7 == (b | 0) && (r = e)
                    }
                }, Hc, Hc, Hc, Hc, Hc];
            return {
                nN: function(c) {
                    return + +d[(c | 0) + 72 >> 2]
                },
                Ax: function(h, a) {
                    c[(h | 0) + 12 >> 2] = a | 0
                },
                zw: function(h) {
                    return c[(h | 0) + 16 >> 2] | 0
                },
                DA: function(c, a) {
                    d[(c | 0) + 16 >> 2] = +a
                },
                GK: function(h, a, d, b) {
                    h = h | 0;
                    var e = 0,
                        e = r;
                    cc[c[(c[h >> 2] | 0) + 24 >> 2] & 63](h, a | 0, d | 0, b | 0);
                    r = e
                },
                cB: function(h, a) {
                    c[(h | 0) + 4 >> 2] = a | 0
                },
                xL: function(c) {
                    return + +d[(c | 0) + 8 >> 2]
                },
                XN: function(h) {
                    return 0 != (c[(h | 0) + 102868 >> 2] & 2 | 0) | 0
                },
                mz: function(h) {
                    return c[(h | 0) +
                        4 >> 2] | 0
                },
                rB: function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    if (!(W[(c[h + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = a, 0;
                    h = 0 != (W[(c[h + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = a;
                    return h | 0
                },
                ox: function(c, a) {
                    d[(c | 0) + 4 >> 2] = +a
                },
                CM: function(c) {
                    return + +d[(c | 0) + 56 >> 2]
                },
                YJ: function(h, a) {
                    var d = 0,
                        b = 0,
                        b = a | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = (h | 0) + 20 | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                },
                DF: function(h, a, d, b, e) {
                    h = h | 0;
                    var f = 0,
                        f = r;
                    h = Mc[c[(c[h >> 2] | 0) + 20 >> 2] & 63](h, a | 0, d | 0, b | 0, e | 0) | 0;
                    r = f;
                    return h | 0
                },
                TN: function(h) {
                    h = h | 0;
                    var a = 0,
                        d = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        a = r,
                        d = c[h + 102884 >> 2] | 0;
                    if (0 >= (d | 0)) return r = a, 0;
                    h = c[h + 102876 >> 2] | 0;
                    for (e = b = 0;;) {
                        if (2 <= (c[h + (36 * b | 0) + 32 >> 2] | 0)) {
                            f = c[h + (36 * b | 0) + 24 >> 2] | 0;
                            if (-1 == (f | 0)) {
                                d = 5;
                                break
                            }
                            f = (c[h + (36 * (c[h + (36 * b | 0) + 28 >> 2] | 0) | 0) + 32 >> 2] | 0) - (c[h + (36 * f | 0) + 32 >> 2] | 0) | 0;
                            f = 0 < (f | 0) ? f : 0 - f | 0;
                            e = (e | 0) > (f | 0) ? e : f
                        }
                        b = b + 1 | 0;
                        if ((b | 0) >= (d | 0)) {
                            d = 8;
                            break
                        }
                    }
                    if (5 == (d | 0)) Q(6152, 5624, 683, 6176);
                    else if (8 == (d | 0)) return r = a, e | 0;
                    return 0
                },
                hG: function(c) {
                    return + +d[(c | 0) + 56 >> 2]
                },
                $t: function(h, a, d, b, e) {
                    h = h | 0;
                    var f = 0,
                        f = r;
                    Cd[c[(c[h >> 2] | 0) + 20 >> 2] & 63](h, a | 0, +d, b | 0, e | 0);
                    r = f
                },
                qJ: function(c) {
                    return (c | 0) + 68 | 0
                },
                $z: function(c) {
                    return (c | 0) + 22 | 0
                },
                TA: function(h) {
                    return c[(h | 0) >> 2] | 0
                },
                vJ: function(c, a) {
                    return +(+d[(c | 0) + 96 >> 2] * +a)
                },
                kE: function(h, a) {
                    c[(h | 0) >> 2] = a | 0
                },
                rI: function(c) {
                    return c | 0
                },
                Iz: function(c, a) {
                    D[(c | 0) + 45 >> 0] = (a | 0) & 1
                },
                xC: function(h, a) {
                    c[(h | 0) + 4 >> 2] = a | 0
                },
                SO: function() {
                    return 2
                },
                IA: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                lI: function(h, a) {
                    c[(h | 0) + 64 >> 2] = a | 0
                },
                iO: function(c, a) {
                    D[(c | 0) + 102992 >> 0] = (a | 0) & 1
                },
                Xt: function(h, a, d, b) {
                    h = h | 0;
                    var e = 0,
                        e = r;
                    Fd[c[(c[h >> 2] | 0) + 16 >> 2] & 63](h, a | 0, +d, b | 0);
                    r = e
                },
                pM: function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    if (!(W[(c[h + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = a, 0;
                    h = 0 != (W[(c[h + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = a;
                    return h | 0
                },
                qy: function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    if (h) $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    r = a
                },
                av: function(h, a) {
                    c[(h | 0) >> 2] = a | 0
                },
                kw: function(h, a, d, b) {
                    h = h | 0;
                    var e = 0,
                        e = r;
                    cc[c[(c[h >> 2] | 0) + 24 >> 2] & 63](h, a | 0, d | 0, b | 0);
                    r = e
                },
                aF: function(h, a) {
                    c[(h | 0) >> 2] = a | 0
                },
                wC: function(h) {
                    return c[(h | 0) + 8 >> 2] | 0
                },
                mM: function(h, a) {
                    h = h | 0;
                    var d = 0,
                        d = r;
                    a = +Vb[c[(c[h >> 2] | 0) + 12 >> 2] & 63](h, +a);
                    r = d;
                    return +a
                },
                ZD: function(c) {
                    return + +d[(c | 0) + 32 >> 2]
                },
                Fy: function(h) {
                    return c[(h | 0) + 4 >> 2] | 0
                },
                Mu: function(c) {
                    return (c | 0) + 4 | 0
                },
                RJ: function(c) {
                    return (c | 0) + 28 | 0
                },
                gJ: function(h, a) {
                    c[(h | 0) + 4 >> 2] = a | 0
                },
                JI: function(c) {
                    return (c | 0) + 20 | 0
                },
                bO: function(h, a) {
                    c[(h | 0) + 102940 >> 2] = a | 0
                },
                zM: function(c) {
                    return 0 != (D[(c | 0) + 16 >> 0] | 0) | 0
                },
                bF: function(h, a) {
                    c[(h | 0) + 4 >> 2] = a | 0
                },
                Zt: function(h, a, d, b) {
                    h = h | 0;
                    var e = 0,
                        e = r;
                    cc[c[(c[h >> 2] | 0) + 24 >> 2] & 63](h, a | 0, d | 0, b | 0);
                    r = e
                },
                jA: function(c, a) {
                    d[(c | 0) + 12 >> 2] = +a
                },
                QD: function(h, a, b) {
                    h = h | 0;
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        e = r;
                    c[h + 8 >> 2] = a;
                    c[h + 12 >> 2] = b;
                    f = b + 12 | 0;
                    l = +d[f >> 2];
                    l -= +d[a + 12 >> 2];
                    m = +d[f + 4 >> 2] - +d[a + 16 >> 2];
                    p = +d[a + 24 >> 2];
                    g = +d[a + 20 >> 2];
                    k = +(l * p + m * g);
                    f = h + 20 | 0;
                    d[f >> 2] = k;
                    d[f + 4 >> 2] = +(p * m - l * g);
                    d[h + 28 >> 2] = +d[b + 56 >> 2] - +d[a + 56 >> 2];
                    r = e
                },
                rz: function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    h = jc[c[(c[h >> 2] | 0) + 12 >> 2] & 63](h) | 0;
                    r = a;
                    return h | 0
                },
                LD: function(c) {
                    return (c | 0) + 12 | 0
                },
                qF: function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    if (!(W[(c[h + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = a, 0;
                    h = 0 != (W[(c[h + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = a;
                    return h | 0
                },
                NN: function(h) {
                    h = h | 0;
                    var a = 0,
                        d = 0,
                        b = 0,
                        a = r;
                    0 == (D[280] | 0) && 0 != (Ua(280) | 0) && Va(280);
                    b = h + 102968 | 0;
                    d = c[b + 4 >> 2] | 0;
                    h = 272;
                    c[h >> 2] = c[b >> 2];
                    c[h + 4 >> 2] = d;
                    r = a;
                    return 272
                },
                EN: function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        w = 0,
                        y = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        C = 0,
                        D = 0,
                        E = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        L = 0,
                        P = 0,
                        S = 0,
                        M = 0,
                        U = 0,
                        H = 0,
                        fa = 0,
                        ca = 0,
                        ea = 0,
                        R = 0,
                        ja = 0,
                        V = 0,
                        aa = 0,
                        ha = 0,
                        da = 0,
                        ga = 0,
                        T = 0,
                        I = J = F = v = 0,
                        a = r;
                    r = r + 208 | 0;
                    n = a + 40 | 0;
                    x = a + 24 | 0;
                    u = a + 80 | 0;
                    w = a + 104 | 0;
                    t = a + 48 | 0;
                    q = a + 32 | 0;
                    K = a;
                    A = a + 160 | 0;
                    v = a + 64 | 0;
                    z = a + 176 | 0;
                    C = a + 192 | 0;
                    D = a + 88 | 0;
                    g = a + 144 | 0;
                    m = a + 112 | 0;
                    e = a + 8 | 0;
                    b = h + 102984 | 0;
                    if (k = c[b >> 2] | 0) {
                        k = c[k + 4 >> 2] | 0;
                        if (0 != (k & 1 | 0) && (V = c[h + 102952 >> 2] | 0, 0 != (V | 0))) {
                            ja = A + 4 | 0;
                            E = A + 8 | 0;
                            F = A + 12 | 0;
                            P = C + 4 | 0;
                            S = C + 8 | 0;
                            M = C + 12 | 0;
                            U = D + 4 | 0;
                            H = D + 8 | 0;
                            fa = D + 12 | 0;
                            ca = v + 4 | 0;
                            ea = v + 8 | 0;
                            R = v + 12 | 0;
                            J = z + 4 | 0;
                            I = z + 8 | 0;
                            L = z + 12 | 0;
                            do {
                                aa = V + 12 | 0;
                                if (da = c[V + 100 >> 2] | 0) {
                                    ha = V + 4 | 0;
                                    do ga = W[ha >> 1] | 0, ga & 32 ? (T = c[V >> 2] | 0, 1 == (T | 0) ? (d[z >> 2] = .5, d[J >> 2] = .5, d[I >> 2] = .8999999761581421, d[L >> 2] = 1, f(h, c[da + 12 >> 2] | 0, aa, z)) : T ? ga & 2 ? (d[D >> 2] = .8999999761581421, d[U >> 2] = .699999988079071, d[H >> 2] = .699999988079071, d[fa >> 2] = 1, f(h, c[da + 12 >> 2] | 0, aa, D)) : (d[C >> 2] = .6000000238418579, d[P >> 2] = .6000000238418579, d[S >> 2] = .6000000238418579, d[M >> 2] = 1, f(h, c[da + 12 >> 2] | 0, aa, C)) : (d[v >> 2] = .5, d[ca >> 2] = .8999999761581421, d[ea >> 2] = .5, d[R >> 2] = 1, f(h, c[da + 12 >> 2] | 0, aa, v))) : (d[A >> 2] = .5, d[ja >> 2] = .5, d[E >> 2] = .30000001192092896, d[F >> 2] = 1, f(h, c[da + 12 >> 2] | 0, aa, A)), da = c[da + 4 >> 2] | 0; while (0 != (da | 0))
                                }
                                V = c[V + 96 >> 2] | 0
                            } while (0 != (V | 0))
                        }
                        if (0 != (k & 2 | 0) && (y = c[h + 102956 >> 2] | 0, 0 != (y | 0))) {
                            z = t + 4 | 0;
                            v = t + 8 | 0;
                            A = t + 12 | 0;
                            do ga = (c[y + 52 >> 2] | 0) + 12 | 0, da = (c[y + 48 >> 2] | 0) + 12 | 0, C = c[da + 4 >> 2] | 0, T = n, c[T >> 2] = c[da >> 2], c[T + 4 >> 2] = C, T = c[ga + 4 >> 2] | 0, C = x, c[C >> 2] = c[ga >> 2], c[C + 4 >> 2] = T, Mb[c[c[y >> 2] >> 2] & 127](u, y), Mb[c[(c[y >> 2] | 0) + 4 >> 2] & 127](w, y), d[t >> 2] = .5, d[z >> 2] = .800000011920929, d[v >> 2] = .800000011920929, d[A >> 2] = 1, C = c[y + 4 >> 2] | 0, 3 == (C | 0) ? (T = c[b >> 2] | 0, cc[c[(c[T >> 2] | 0) + 24 >> 2] & 63](T, u, w, t)) : 4 == (C | 0) ? (T = y + 68 | 0, ga = c[T + 4 >> 2] | 0, da = q, c[da >> 2] = c[T >> 2], c[da + 4 >> 2] = ga, da = y + 76 | 0, ga = c[da + 4 >> 2] | 0, T = K, c[T >> 2] = c[da >> 2], c[T + 4 >> 2] = ga, T = c[b >> 2] | 0, cc[c[(c[T >> 2] | 0) + 24 >> 2] & 63](T, q, u, t), T = c[b >> 2] | 0, cc[c[(c[T >> 2] | 0) + 24 >> 2] & 63](T, K, w, t), T = c[b >> 2] | 0, cc[c[(c[T >> 2] | 0) + 24 >> 2] & 63](T, q, K, t)) : 5 != (C | 0) && (T = c[b >> 2] | 0, cc[c[(c[T >> 2] | 0) + 24 >> 2] & 63](T, n, u, t), T = c[b >> 2] | 0, cc[c[(c[T >> 2] | 0) + 24 >> 2] & 63](T, u, w, t), T = c[b >> 2] | 0, cc[c[(c[T >> 2] | 0) + 24 >> 2] & 63](T, x, w, t)), y = c[y + 12 >> 2] | 0; while (0 != (y | 0))
                        }
                        if (k & 8)
                            for (x = h + 102932 | 0;;)
                                if (x = c[x >> 2] | 0) x = x + 12 | 0;
                                else break;
                        a: do
                            if (0 != (k & 4 | 0) && (d[g >> 2] = .8999999761581421, d[g + 4 >> 2] = .30000001192092896, d[g + 8 >> 2] = .8999999761581421, d[g + 12 >> 2] = 1, p = c[h + 102952 >> 2] | 0, 0 != (p | 0))) {
                                n = h + 102884 | 0;
                                z = h + 102876 | 0;
                                x = m + 4 | 0;
                                y = m + 8 | 0;
                                w = m + 12 | 0;
                                K = m + 16 | 0;
                                u = m + 20 | 0;
                                t = m + 24 | 0;
                                q = m + 28 | 0;
                                b: for (;;) {
                                    if (0 != (W[p + 4 >> 1] & 32) && (l = c[p + 100 >> 2] | 0, 0 != (l | 0))) {
                                        E = l;
                                        do {
                                            D = E + 28 | 0;
                                            if (0 < (c[D >> 2] | 0)) {
                                                C = E + 24 | 0;
                                                A = 0;
                                                do {
                                                    v = c[(c[C >> 2] | 0) + (28 * A | 0) + 24 >> 2] | 0;
                                                    if (-1 >= (v | 0)) {
                                                        g = 37;
                                                        break b
                                                    }
                                                    if ((c[n >> 2] | 0) <= (v | 0)) {
                                                        g = 37;
                                                        break b
                                                    }
                                                    T = c[z >> 2] | 0;
                                                    F = +d[T + (36 * v | 0) >> 2];
                                                    I = +d[T + (36 * v | 0) + 4 >> 2];
                                                    J = +d[T + (36 * v | 0) + 8 >> 2];
                                                    v = +d[T + (36 * v | 0) + 12 >> 2];
                                                    d[m >> 2] = F;
                                                    d[x >> 2] = I;
                                                    d[y >> 2] = J;
                                                    d[w >> 2] = I;
                                                    d[K >> 2] = J;
                                                    d[u >> 2] = v;
                                                    d[t >> 2] = F;
                                                    d[q >> 2] = v;
                                                    T = c[b >> 2] | 0;
                                                    cc[c[(c[T >> 2] | 0) + 8 >> 2] & 63](T, m, 4, g);
                                                    A = A + 1 | 0
                                                } while ((A | 0) < (c[D >> 2] | 0))
                                            }
                                            E = c[E + 4 >> 2] | 0
                                        } while (0 != (E | 0))
                                    }
                                    p = c[p + 96 >> 2] | 0;
                                    if (!p) break a
                                }
                                37 == (g | 0) && Q(11792, 11736, 164, 11856)
                            }
                        while (0);
                        if (k & 16 && (h = c[h + 102952 >> 2] | 0)) {
                            do da = h + 12 | 0, c[e + 0 >> 2] = c[da + 0 >> 2], c[e + 4 >> 2] = c[da + 4 >> 2], c[e + 8 >> 2] = c[da + 8 >> 2], c[e + 12 >> 2] = c[da + 12 >> 2], da = h + 44 | 0, ga = c[da + 4 >> 2] | 0, T = e, c[T >> 2] = c[da >> 2], c[T + 4 >> 2] = ga, T = c[b >> 2] | 0, Mb[c[(c[T >> 2] | 0) + 28 >> 2] & 127](T, e), h = c[h + 96 >> 2] | 0; while (0 != (h | 0))
                        }
                    }
                    r = a
                },
                dH: function(c) {
                    return + +d[(c | 0) + 24 >> 2]
                },
                wH: function(h) {
                    return c[(h | 0) + 8 >> 2] | 0
                },
                YG: function(h, a, b) {
                    h = h | 0;
                    a = +a;
                    b = +b;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        f = r;
                    a <= b || Q(16696, 15960, 567, 16768);
                    e = h + 120 | 0;
                    if (+d[e >> 2] != a || +d[h + 124 >> 2] != b) l = c[h + 48 >> 2] | 0, g = l + 4 | 0, k = Ra[g >> 1] | 0, k & 2 || (W[g >> 1] = k | 2, d[l + 144 >> 2] = 0), k = c[h + 52 >> 2] | 0, l = k + 4 | 0, g = Ra[l >> 1] | 0, g & 2 || (W[l >> 1] = g | 2, d[k + 144 >> 2] = 0), d[e >> 2] = a, d[h + 124 >> 2] = b, d[h + 112 >> 2] = 0;
                    r = f
                },
                DH: function(c) {
                    return (c | 0) + 36 | 0
                },
                Qy: function(h) {
                    h = h | 0;
                    var a = 0,
                        d = 0,
                        b = 0,
                        d = r;
                    r = r + 16 | 0;
                    a = d;
                    0 == (D[16] | 0) && 0 != (Ua(16) | 0) && Va(16);
                    Mb[c[c[h >> 2] >> 2] & 127](a, h);
                    b = a;
                    h = c[b + 4 >> 2] | 0;
                    a = 8;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = h;
                    r = d;
                    return 8
                },
                XC: function(c, a) {
                    d[(c | 0) + 12 >> 2] = +a
                },
                LF: function(h) {
                    return c[(h | 0) + 276 >> 2] | 0
                },
                XJ: function(c, a) {
                    D[(c | 0) + 16 >> 0] = (a | 0) & 1
                },
                $w: function(h, a) {
                    var d = 0,
                        b = 0,
                        b = a | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = (h | 0) + 12 | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                },
                Qt: function(h, a) {
                    h = h | 0;
                    var d = 0,
                        d = r;
                    Mb[c[(c[h >> 2] | 0) + 12 >> 2] & 127](h, a | 0);
                    r = d
                },
                oD: function(c, a) {
                    d[(c | 0) >> 2] = +a
                },
                vL: function(c) {
                    return + +d[(c | 0) >> 2]
                },
                mw: function(c, a, d) {
                    var b = 0,
                        b = r;
                    ca(c | 0, a | 0, d | 0);
                    r = b
                },
                mx: function(c) {
                    return + +d[(c | 0) >> 2]
                },
                CN: function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var d = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        d = r,
                        b = h + 102960 | 0;
                    0 >= (c[b >> 2] | 0) && Q(11144, 11088, 133, 11160);
                    c[h + 102868 >> 2] & 2 && Q(11064, 11088, 134, 11160);
                    g = a + 108 | 0;
                    if (k = c[g >> 2] | 0) {
                        f = h + 102980 | 0;
                        do m = k, k = c[k + 12 >> 2] | 0, (l = c[f >> 2] | 0) ? (x = m + 4 | 0, Mb[c[(c[l >> 2] | 0) + 8 >> 2] & 127](l, c[x >> 2] | 0), l = x) : l = m + 4 | 0, Sb(h, c[l >> 2] | 0), c[g >> 2] = k; while (0 != (k | 0))
                    }
                    c[g >> 2] = 0;
                    f = a + 112 | 0;
                    if (k = c[f >> 2] | 0) {
                        g = h + 102872 | 0;
                        do x = k, k = c[k + 12 >> 2] | 0, Sa(g, c[x + 4 >> 2] | 0); while (0 != (k | 0))
                    }
                    c[f >> 2] = 0;
                    f = a + 100 | 0;
                    m = c[f >> 2] | 0;
                    a: do
                        if (m) {
                            l = h + 102980 | 0;
                            g = h + 102872 | 0;
                            for (k = a + 104 | 0;;) {
                                p = m;
                                m = c[m + 4 >> 2] | 0;
                                if (x = c[l >> 2] | 0) Mb[c[(c[x >> 2] | 0) + 12 >> 2] & 127](x, p);
                                Bb(p, g);
                                jb(p, h);
                                x = D[7572] | 0;
                                if (14 <= (x & 255)) break;
                                x = h +
                                    ((x & 255) << 2) + 12 | 0;
                                c[p >> 2] = c[x >> 2];
                                c[x >> 2] = p;
                                c[f >> 2] = m;
                                c[k >> 2] = (c[k >> 2] | 0) + -1;
                                if (!m) {
                                    e = k;
                                    break a
                                }
                            }
                            Q(8296, 8208, 171, 8568)
                        } else e = a + 104 | 0; while (0);
                    c[f >> 2] = 0;
                    c[e >> 2] = 0;
                    f = a + 92 | 0;
                    g = c[f >> 2] | 0;
                    e = a + 96 | 0;
                    g && (c[g + 96 >> 2] = c[e >> 2]);
                    (g = c[e >> 2] | 0) && (c[g + 92 >> 2] = c[f >> 2]);
                    f = h + 102952 | 0;
                    (c[f >> 2] | 0) == (a | 0) && (c[f >> 2] = c[e >> 2]);
                    c[b >> 2] = (c[b >> 2] | 0) + -1;
                    b = D[7680] | 0;
                    14 > (b & 255) ? (x = h + ((b & 255) << 2) + 12 | 0, c[a >> 2] = c[x >> 2], c[x >> 2] = a, r = d) : Q(8296, 8208, 171, 8568)
                },
                gH: function(c) {
                    return + +d[(c | 0) + 20 >> 2]
                },
                KK: function(h, a, d, b, e) {
                    h = h | 0;
                    var f = 0,
                        f = r;
                    h = Mc[c[(c[h >> 2] | 0) + 20 >> 2] & 63](h, a | 0, d | 0, b | 0, e | 0) | 0;
                    r = f;
                    return h | 0
                },
                aI: function(h) {
                    h = h | 0;
                    var a = 0,
                        d = 0,
                        b = 0,
                        a = r;
                    0 == (D[624] | 0) && 0 != (Ua(624) | 0) && Va(624);
                    b = h + 68 | 0;
                    d = c[b + 4 >> 2] | 0;
                    h = 616;
                    c[h >> 2] = c[b >> 2];
                    c[h + 4 >> 2] = d;
                    r = a;
                    return 616
                },
                HD: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                ZB: function(h, a) {
                    h = h | 0;
                    var d = 0,
                        d = r;
                    a = +Vb[c[(c[h >> 2] | 0) + 12 >> 2] & 63](h, +a);
                    r = d;
                    return +a
                },
                TL: function(c, a) {
                    D[(c | 0) + 16 >> 0] = (a | 0) & 1
                },
                cD: function(h) {
                    return c[(h | 0) + 56 >> 2] | 0
                },
                KJ: function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    if (h) $a[c[(c[h >> 2] | 0) + 28 >> 2] & 127](h);
                    r = a
                },
                vH: function() {
                    var h = 0,
                        a = 0,
                        h = r,
                        a = ma(64) | 0;
                    a: do
                        if (!a) {
                            for (;;) {
                                a = c[4582] | 0;
                                c[4582] = a + 0;
                                if (!a) break;
                                ab[a & 63]();
                                if (a = ma(64) | 0) break a
                            }
                            a = eb(4) | 0;
                            c[a >> 2] = 18168;
                            db(a | 0, 18216, 116)
                        }
                    while (0);
                    c[a + 0 >> 2] = 0;
                    c[a + 4 >> 2] = 0;
                    c[a + 8 >> 2] = 0;
                    c[a + 12 >> 2] = 0;
                    c[a >> 2] = 4;
                    d[a + 20 >> 2] = -1;
                    d[a + 24 >> 2] = 1;
                    d[a + 28 >> 2] = 1;
                    d[a + 32 >> 2] = 1;
                    d[a + 36 >> 2] = -1;
                    d[a + 40 >> 2] = 0;
                    d[a + 44 >> 2] = 1;
                    d[a + 48 >> 2] = 0;
                    d[a + 52 >> 2] = 0;
                    d[a + 56 >> 2] = 0;
                    d[a + 60 >> 2] = 1;
                    D[a + 16 >> 0] = 1;
                    r = h;
                    return a | 0
                },
                aO: function(h, a) {
                    var d = 0;
                    h = (h | 0) + 102868 | 0;
                    d = c[h >> 2] | 0;
                    c[h >> 2] = a | 0 ? d | 4 : d & -5
                },
                rG: function(c, a) {
                    d[(c | 0) + 52 >> 2] = +a
                },
                $u: function(h, a) {
                    var d = 0,
                        b = 0,
                        b = a | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = (h | 0) + 4 | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                },
                XK: function(c) {
                    return (c | 0) + 8 | 0
                },
                kB: function(c) {
                    return + +d[(c | 0) + 96 >> 2]
                },
                PF: function(h, a) {
                    c[(h | 0) + 276 >> 2] = a | 0
                },
                by: function(h) {
                    return c[(h | 0) + 12 >> 2] | 0
                },
                lE: function(h, a) {
                    c[(h | 0) + 4 >> 2] = a | 0
                },
                Cz: function(h) {
                    return c[(h | 0) + 4 >> 2] | 0
                },
                UB: function(h) {
                    return c[(h | 0) + 68 >> 2] | 0
                },
                hN: function(c) {
                    return + +d[(c | 0) + 120 >> 2]
                },
                GE: function(h, a) {
                    h = h | 0;
                    a = +a;
                    var b = 0,
                        b = r;
                    2139095040 != ((d[y >> 2] = a, c[y >> 2] | 0) & 2139095040 | 0) & 0 <= a ? (d[h + 96 >> 2] = a, r = b) : Q(14616, 4840, 239, 14656)
                },
                PB: function(h) {
                    h = h | 0;
                    var a = 0,
                        d = 0,
                        b = 0,
                        d = r;
                    r = r + 16 | 0;
                    a = d;
                    0 == (D[432] | 0) && 0 != (Ua(432) | 0) && Va(432);
                    Mb[c[c[h >> 2] >> 2] & 127](a, h);
                    b = a;
                    h = c[b + 4 >> 2] | 0;
                    a = 424;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = h;
                    r = d;
                    return 424
                },
                AO: function() {
                    return 5
                },
                UE: function(h, a) {
                    c[(h | 0) + 8 >> 2] = a | 0
                },
                DO: function() {
                    return 1
                },
                cO: function(h, a) {
                    c[(h | 0) + 102944 >> 2] = a | 0
                },
                Qv: function(c) {
                    return 0 != (W[(c | 0) + 4 >> 1] & 2) | 0
                },
                zC: function(h, a) {
                    c[(h | 0) >> 2] = a | 0
                },
                FJ: function(c) {
                    return 0 != (D[(c | 0) + 100 >> 0] | 0) | 0
                },
                $E: function(h, a) {
                    var d = 0,
                        b = 0,
                        b = a | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = (h | 0) + 20 | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                },
                DE: function(h, a) {
                    h = h | 0;
                    a = +a;
                    var b = 0,
                        b = r;
                    2139095040 != ((d[y >> 2] = a, c[y >> 2] | 0) & 2139095040 | 0) & 0 <= a & 1 >= a ? (d[h + 100 >> 2] = a, r = b) : Q(4896, 4840, 250, 4952)
                },
                Zz: function(c) {
                    return + +d[(c | 0) + 16 >> 2]
                },
                Ow: function(h, a) {
                    c[(h | 0) + 12 >> 2] = a | 0
                },
                Gw: function(h) {
                    return c[(h | 0) + 12 >> 2] | 0
                },
                FK: function(c, a) {
                    d[(c | 0) >> 2] = +a
                },
                WD: function(c) {
                    return 0 != (D[(c | 0) + 16 >> 0] | 0) | 0
                },
                BJ: function(c) {
                    return + +d[(c | 0) + 124 >> 2]
                },
                LM: function(h, a) {
                    c[(h | 0) + 12 >> 2] = a | 0
                },
                OM: function(c, a) {
                    D[(c | 0) + 44 >> 0] = (a | 0) & 1
                },
                eA: function(h) {
                    return c[(h | 0) + 4 >> 2] | 0
                },
                XA: function(c, a) {
                    D[(c | 0) + 16 >> 0] = (a | 0) & 1
                },
                cG: function(c) {
                    return + +d[(c | 0) + 52 >> 2]
                },
                TB: function(c) {
                    return 0 != (D[(c | 0) + 61 >> 0] | 0) | 0
                },
                RI: function(c) {
                    return + +d[(c | 0) + 48 >> 2]
                },
                cv: function(h, a, b) {
                    h = h | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r;
                    2 == (c[h >> 2] | 0) && (g = h + 4 | 0, k = W[g >> 1] | 0, b | 0 && 0 == (k & 2) && (f = k & 65535, 0 == (f & 2 | 0)) && (k = (f | 2) & 65535, W[g >> 1] = k, d[h + 144 >> 2] = 0), k & 2 && (k = h + 72 | 0, d[k >> 2] = +d[k >> 2] + +d[h + 128 >> 2] * +a));
                    r = e
                },
                xO: function() {
                    return 9
                },
                zI: function(c, a) {
                    d[(c | 0) + 8 >> 2] = +a
                },
                qx: function(c, a) {
                    d[(c | 0) >> 2] = +a
                },
                By: function(c) {
                    return + +d[(c | 0) + 36 >> 2]
                },
                XH: function(h) {
                    return c[(h | 0) + 52 >> 2] | 0
                },
                VM: function(h, a) {
                    c[(h | 0) >> 2] = a | 0
                },
                VN: function(h) {
                    h = h | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        a = r,
                        f = c[h + 102872 >> 2] | 0;
                    if (-1 == (f | 0)) return r = a, 0;
                    e = c[h + 102876 >> 2] | 0;
                    b = 2 * (+d[e + (36 * f | 0) + 8 >> 2] - +d[e + (36 * f | 0) >> 2] + (+d[e + (36 * f | 0) + 12 >> 2] - +d[e + (36 * f | 0) + 4 >> 2]));
                    h = c[h + 102884 >> 2] | 0;
                    if (0 < (h | 0)) {
                        g = f = 0;
                        do 0 <= (c[e + (36 * f | 0) + 32 >> 2] | 0) && (g += 2 * (+d[e + (36 * f | 0) + 8 >> 2] - +d[e + (36 * f | 0) >> 2] + (+d[e +
                            (36 * f | 0) + 12 >> 2] - +d[e + (36 * f | 0) + 4 >> 2]))), f = f + 1 | 0; while ((f | 0) < (h | 0))
                    } else g = 0;
                    r = a;
                    return +(g / b)
                },
                Xu: function(c, a) {
                    d[(c | 0) + 48 >> 2] = +a
                },
                WJ: function(h, a) {
                    c[(h | 0) + 12 >> 2] = a | 0
                },
                KG: function(c) {
                    return + +d[(c | 0) + 120 >> 2]
                },
                vu: function(c) {
                    return c | 0
                },
                uN: function(h, a) {
                    h = h | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        b = r,
                        e = c[h + 48 >> 2] | 0,
                        f = e + 4 | 0,
                        g = Ra[f >> 1] | 0;
                    g & 2 || (W[f >> 1] = g | 2, d[e + 144 >> 2] = 0);
                    g = c[h + 52 >> 2] | 0;
                    f = g + 4 | 0;
                    e = Ra[f >> 1] | 0;
                    e & 2 || (W[f >> 1] = e | 2, d[g + 144 >> 2] = 0);
                    d[(h + 124 | 0) >> 2] = +a;
                    r = b
                },
                fG: function(c) {
                    return + +d[(c | 0) + 44 >> 2]
                },
                ew: function(h, a) {
                    h = h | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = f = 0,
                        e = 0,
                        b = r;
                    c[(c[h + 88 >> 2] | 0) + 102868 >> 2] & 2 && Q(8888, 8624, 355, 9080);
                    2 == (c[h >> 2] | 0) && (l = h + 120 | 0, d[l >> 2] = 0, f = h + 124 | 0, d[f >> 2] = 0, e = h + 128 | 0, d[e >> 2] = 0, g = +d[a >> 2], g = 0 >= g ? 1 : g, d[h + 116 >> 2] = g, d[l >> 2] = 1 / g, k = +d[a + 12 >> 2], 0 < k && 0 == (W[h + 4 >> 1] & 16) && (p = +d[a + 4 >> 2], m = +d[a + 8 >> 2], g = k - g * (p * p + m * m), d[f >> 2] = g, 0 < g ? d[e >> 2] = 1 / g : Q(9064, 8624, 381, 9080)), f = l = h + 44 | 0, p = +d[f >> 2], g = +d[f + 4 >> 2], f = a + 4 | 0, e = c[f >> 2] | 0, f = c[f + 4 >> 2] | 0, a = h + 28 | 0, c[a >> 2] = e, c[a + 4 >> 2] = f, x = +d[h + 24 >> 2], e = (c[y >> 2] = e, +d[y >> 2]), k = +d[h + 20 >> 2], f = (c[y >> 2] = f, +d[y >> 2]), m = +d[h + 12 >> 2] + (x * e - k * f), f = e * k + x * f + +d[h + 16 >> 2], x = +m, k = +f, d[l >> 2] = x, d[l + 4 >> 2] = k, l = h + 36 | 0, d[l >> 2] = x, d[l + 4 >> 2] = k, k = +d[h + 72 >> 2], l = h + 64 | 0, d[l >> 2] = +d[l >> 2] - k * (f - g), l = h + 68 | 0, d[l >> 2] = k * (m - p) + +d[l >> 2]);
                    r = b
                },
                Fu: function(c) {
                    return + +d[(c | 0) + 24 >> 2]
                },
                qM: function(c, a) {
                    d[(c | 0) + 72 >> 2] = +a
                },
                TF: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                gy: function(h) {
                    return 0 != (c[(h | 0) + 4 >> 2] & 2 | 0) | 0
                },
                nz: function(h, a) {
                    c[(h | 0) + 4 >> 2] = a | 0
                },
                nu: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    var b = 0,
                        b = r; + d[c >> 2] <= +d[a >> 2] && +d[c + 4 >> 2] <= +d[a + 4 >> 2] && +d[a + 8 >> 2] <= +d[c + 8 >> 2] ? a = +d[a + 12 >> 2] <= +d[c + 12 >> 2] : a = 0;
                    r = b;
                    return a | 0
                },
                $y: function(h) {
                    return c[(h | 0) + 12 >> 2] | 0
                },
                YB: function(h, a) {
                    h = h | 0;
                    a = +a;
                    var d = 0,
                        b = 0,
                        e = 0,
                        b = r;
                    r = r + 16 | 0;
                    d = b;
                    0 == (D[464] | 0) && 0 != (Ua(464) | 0) && Va(464);
                    wd[c[(c[h >> 2] | 0) + 8 >> 2] & 63](d, h, a);
                    e = d;
                    h = c[e + 4 >> 2] | 0;
                    d = 456;
                    c[d >> 2] = c[e >> 2];
                    c[d + 4 >> 2] = h;
                    r = b;
                    return 456
                },
                OG: function(h) {
                    return c[(h | 0) + 12 >> 2] | 0
                },
                Sz: function(c) {
                    return W[(c | 0) + 4 >> 1] | 0
                },
                SG: function(h) {
                    return c[(h | 0) + 4 >> 2] | 0
                },
                uA: function(c) {
                    return + +d[(c | 0) + 20 >> 2]
                },
                ZK: function(h, a) {
                    var d = 0,
                        b = 0,
                        b = a | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = (h | 0) + 8 | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                },
                IF: function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    if (h) $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    r = a
                },
                wu: function(c) {
                    return (c | 0) + 8 | 0
                },
                TK: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                XL: function(h, a) {
                    var d = 0,
                        b = 0,
                        b = a | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = (h | 0) + 28 | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                },
                ax: function(c, a) {
                    d[(c | 0) + 8 >> 2] = +a
                },
                Hz: function(c, a) {
                    D[(c | 0) + 44 >> 0] = (a | 0) & 1
                },
                kK: function(c) {
                    return + +d[(c | 0) + 84 >> 2]
                },
                aC: function(h) {
                    return c[(h | 0) + 64 >> 2] | 0
                },
                rE: function(c) {
                    return 0 != (D[(c | 0) + 61 >> 0] | 0) | 0
                },
                NB: function(h, a) {
                    c[(h | 0) >> 2] = a | 0
                },
                fz: function(c, a) {
                    d[(c | 0) + 72 >> 2] = +a
                },
                Yx: function(h) {
                    return c[(h | 0) + 48 >> 2] | 0
                },
                nI: function(h) {
                    h = h | 0;
                    var a = 0,
                        a = r;
                    if (h) $a[c[(c[h >> 2] | 0) + 4 >> 2] & 127](h);
                    r = a
                },
                FH: function(c) {
                    return + +d[(c | 0) + 60 >> 2]
                },
                aG: function(c) {
                    return (c | 0) + 28 | 0
                },
                bx: function(h, a) {
                    c[(h | 0) + 4 >> 2] = a | 0
                },
                TO: function() {
                    return 4
                },
                gw: function(h, a, b) {
                    h = h | 0;
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        k = l = 0,
                        e = r,
                        g = c[h + 88 >> 2] | 0;
                    c[g + 102868 >> 2] & 2 && Q(8888, 8624, 419, 9096);
                    f = h + 12 | 0;
                    p = +Ja(+b);
                    d[h + 20 >> 2] = p;
                    m = +Ka(+b);
                    d[h + 24 >> 2] = m;
                    l = c[a >> 2] | 0;
                    a = c[a + 4 >> 2] | 0;
                    k = f;
                    c[k >> 2] = l;
                    c[k + 4 >> 2] = a;
                    x = +d[h + 28 >> 2];
                    k = +d[h + 32 >> 2];
                    l = (c[y >> 2] = l, +d[y >> 2]) + (m * x - p * k);
                    k = x * p + m * k + (c[y >> 2] = a, +d[y >> 2]);
                    l = +l;
                    k = +k;
                    a = h + 44 | 0;
                    d[a >> 2] = l;
                    d[a + 4 >> 2] = k;
                    d[h + 56 >> 2] = b;
                    a = h + 36 | 0;
                    d[a >> 2] = l;
                    d[a + 4 >> 2] = k;
                    d[h + 52 >> 2] = b;
                    g = g + 102872 | 0;
                    if (h = c[h + 100 >> 2] | 0) {
                        do Eb(h, g, f, f), h = c[h + 4 >> 2] | 0; while (0 != (h | 0))
                    }
                    r = e
                },
                dK: function(h) {
                    h = h | 0;
                    var a = 0,
                        d = 0,
                        b = 0,
                        d = r;
                    r = r + 16 | 0;
                    a = d;
                    0 == (D[544] | 0) && 0 != (Ua(544) | 0) && Va(544);
                    Mb[c[(c[h >> 2] | 0) + 4 >> 2] & 127](a, h);
                    b = a;
                    h = c[b + 4 >> 2] | 0;
                    a = 536;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = h;
                    r = d;
                    return 536
                },
                yu: function(h, a) {
                    var d = 0,
                        b = 0,
                        b = a | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = (h | 0) + 8 | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                },
                NE: function(c) {
                    return 0 != (D[(c | 0) + 16 >> 0] | 0) | 0
                },
                Sx: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                UF: function() {
                    var h = 0,
                        a = 0,
                        b = 0,
                        h = r,
                        a = ma(72) | 0;
                    a: do
                        if (!a) {
                            for (;;) {
                                a = c[4582] | 0;
                                c[4582] = a + 0;
                                if (!a) break;
                                ab[a & 63]();
                                if (a = ma(72) | 0) break a
                            }
                            a = eb(4) | 0;
                            c[a >> 2] = 18168;
                            db(a | 0, 18216, 116)
                        }
                    while (0);
                    c[a + 0 >> 2] = 0;
                    c[a + 4 >> 2] = 0;
                    c[a + 8 >> 2] = 0;
                    c[a + 12 >> 2] = 0;
                    D[a + 16 >> 0] = 0;
                    c[a >> 2] = 2;
                    b = a + 20 | 0;
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    d[(a + 36 | 0) >> 2] = 1;
                    d[a + 40 >> 2] = 0;
                    d[a + 44 >> 2] = 0;
                    D[a + 48 >> 0] = 0;
                    d[a + 52 >> 2] = 0;
                    d[a + 56 >> 2] = 0;
                    D[a + 60 >> 0] = 0;
                    d[a + 64 >> 2] = 0;
                    d[a + 68 >> 2] = 0;
                    r = h;
                    return a | 0
                },
                oL: function(c, a) {
                    d[(c | 0) >> 2] = +a
                },
                pI: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                dv: function(h, a, b) {
                    h = h | 0;
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r;
                    2 == (c[h >> 2] | 0) && (g = h + 4 | 0, k = W[g >> 1] | 0, b | 0 && 0 == (k & 2) && (f = k & 65535, 0 == (f & 2 | 0)) && (k = (f | 2) & 65535, W[g >> 1] = k, d[h + 144 >> 2] = 0), k & 2 && (k = h + 76 | 0, d[k >> 2] = +d[a >> 2] + +d[k >> 2], k = h + 80 | 0, d[k >> 2] = +d[a + 4 >> 2] + +d[k >> 2]));
                    r = e
                },
                Tt: function() {
                    var h = 0,
                        a = 0,
                        d = 0,
                        h = r;
                    if (a = ma(4) | 0) return d = a, c[d >> 2] = 4112, r = h, d | 0;
                    for (;;) {
                        a = c[4582] | 0;
                        c[4582] = a + 0;
                        if (!a) {
                            a = 4;
                            break
                        }
                        ab[a & 63]();
                        if (d = ma(4) | 0) {
                            a = 5;
                            break
                        }
                    }
                    if (4 == (a | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (a | 0)) return c[d >> 2] = 4112, r = h, d | 0;
                    return 0
                },
                QM: function(h, a) {
                    var d = 0,
                        b = 0,
                        b = a | 0,
                        d = c[b + 4 >> 2] | 0;
                    a = (h | 0) + 20 | 0;
                    c[a >> 2] = c[b >> 2];
                    c[a + 4 >> 2] = d
                },
                gB: function(h) {
                    return c[(h | 0) + 52 >> 2] | 0
                },
                wy: function(h) {
                    return c[(h | 0) + 8 >> 2] | 0
                },
                RL: function(h, a) {
                    c[(h | 0) + 8 >> 2] = a | 0
                },
                fO: function(h, a) {
                    c[(h | 0) + 102980 >> 2] = a | 0
                },
                pJ: function(h) {
                    h = h | 0;
                    return +(+d[(c[h + 52 >> 2] | 0) + 72 >> 2] - +d[(c[h + 48 >> 2] | 0) + 72 >> 2])
                },
                fN: function(c) {
                    return (c | 0) + 84 | 0
                },
                fC: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                SF: function(a, b, e, f, g) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    g = g | 0;
                    var k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        k = r;
                    c[a + 8 >> 2] = b;
                    c[a + 12 >> 2] = e;
                    m = +d[f >> 2] - +d[b + 12 >> 2];
                    u = f + 4 | 0;
                    n = +d[u >> 2] - +d[b + 16 >> 2];
                    t = b + 24 | 0;
                    p = +d[t >> 2];
                    q = b + 20 | 0;
                    l = +d[q >> 2];
                    x = +(m * p + n * l);
                    K = a + 20 | 0;
                    d[K >> 2] = x;
                    d[K + 4 >> 2] = +(p * n - m * l);
                    l = +d[f >> 2] - +d[e + 12 >> 2];
                    x = +d[u >> 2] - +d[e + 16 >> 2];
                    m = +d[e + 24 >> 2];
                    n = +d[e + 20 >> 2];
                    p = +(l * m + x * n);
                    n = +(m * x - l * n);
                    f = a + 28 | 0;
                    d[f >> 2] = p;
                    d[f + 4 >> 2] = n;
                    n = +d[t >> 2];
                    p = +d[g >> 2];
                    l = +d[q >> 2];
                    x = +d[g + 4 >> 2];
                    m = +(n * p + l * x);
                    l = +(n * x - p * l);
                    f = a + 36 | 0;
                    d[f >> 2] = m;
                    d[f + 4 >> 2] = l;
                    d[a + 44 >> 2] = +d[e + 56 >> 2] - +d[b + 56 >> 2];
                    r = k
                },
                PA: function(c) {
                    return (c | 0) + 20 | 0
                },
                Rw: function(a) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    a = jc[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a) | 0;
                    r = d;
                    return a | 0
                },
                Hu: function(c) {
                    return 0 != (D[(c | 0) + 39 >> 0] | 0) | 0
                },
                RC: function(c) {
                    return c | 0
                },
                gG: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                kD: function(c) {
                    return (c | 0) + 4 | 0
                },
                lO: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        b = r,
                        e = ma(103028) | 0;
                    a: do
                        if (!e) {
                            for (;;) {
                                e = c[4582] | 0;
                                c[4582] = e + 0;
                                if (!e) break;
                                ab[e & 63]();
                                if (e = ma(103028) | 0) break a
                            }
                            l = eb(4) | 0;
                            c[l >> 2] = 18168;
                            db(l | 0, 18216, 116)
                        }
                    while (0);
                    g = e + 8 | 0;
                    c[g >> 2] = 128;
                    c[e + 4 >> 2] = 0;
                    f = ma(1024) | 0;
                    c[e >> 2] = f;
                    uc(f | 0, 0, c[g >> 2] << 3 | 0) | 0;
                    g = e + 12 | 0;
                    f = g + 56 | 0;
                    do c[g >> 2] = 0, g = g + 4 | 0; while ((g | 0) < (f | 0));
                    do
                        if (!(D[8176] | 0)) {
                            f = 1;
                            for (g = 0;;) {
                                if (14 <= (g | 0)) {
                                    f = 7;
                                    break
                                }(f | 0) > (c[7472 + (g << 2) >> 2] | 0) && (g = g + 1 | 0);
                                D[7528 + f >> 0] = g;
                                f = f + 1 | 0;
                                if (641 <= (f | 0)) {
                                    f = 12;
                                    break
                                }
                            }
                            7 == (f | 0) ? Q(8184, 8208, 71, 8256) : 12 == (f | 0) && (D[8176] = 1)
                        }
                    while (0);
                    c[e + 102468 >> 2] = 0;
                    c[e + 102472 >> 2] = 0;
                    c[e + 102476 >> 2] = 0;
                    c[e + 102864 >> 2] = 0;
                    c[e + 102872 >> 2] = -1;
                    f = e + 102884 | 0;
                    c[f >> 2] = 16;
                    c[e + 102880 >> 2] = 0;
                    k = ma(576) | 0;
                    g = e + 102876 | 0;
                    c[g >> 2] = k;
                    uc(k | 0, 0, 36 * (c[f >> 2] | 0) | 0) | 0;
                    k = (c[f >> 2] | 0) + -1 | 0;
                    g = c[g >> 2] | 0;
                    if (0 < (k | 0)) {
                        l = 0;
                        do k = l, l = l + 1 | 0, c[g + (36 * k | 0) + 20 >> 2] = l, c[g + (36 * k | 0) + 32 >> 2] = -1, k = (c[f >> 2] | 0) + -1 | 0; while ((l | 0) < (k | 0))
                    }
                    c[g + (36 * k | 0) + 20 >> 2] = -1;
                    c[g + (36 * ((c[f >> 2] | 0) + -1 | 0) | 0) + 32 >> 2] = -1;
                    k = e + 102888 | 0;
                    c[k + 0 >> 2] = 0;
                    c[k + 4 >> 2] = 0;
                    c[k + 8 >> 2] = 0;
                    c[k + 12 >> 2] = 0;
                    c[(e + 102920 | 0) >> 2] = 16;
                    c[e + 102924 >> 2] = 0;
                    c[e + 102916 >> 2] = ma(128) | 0;
                    c[e + 102908 >> 2] = 16;
                    c[e + 102912 >> 2] = 0;
                    c[e + 102904 >> 2] = ma(64) | 0;
                    c[e + 102932 >> 2] = 0;
                    c[e + 102936 >> 2] = 0;
                    c[e + 102940 >> 2] = 9648;
                    c[e + 102944 >> 2] = 9656;
                    l = e + 102948 | 0;
                    k = e + 102968 | 0;
                    c[e + 102980 >> 2] = 0;
                    c[e + 102984 >> 2] = 0;
                    c[l + 0 >> 2] = 0;
                    c[l + 4 >> 2] = 0;
                    c[l + 8 >> 2] = 0;
                    c[l + 12 >> 2] = 0;
                    c[l + 16 >> 2] = 0;
                    D[(e + 102992 | 0) >> 0] = 1;
                    D[e + 102993 >> 0] = 1;
                    D[e + 102994 >> 0] = 0;
                    D[e + 102995 >> 0] = 1;
                    D[e + 102976 >> 0] = 1;
                    f = a;
                    g = c[f + 4 >> 2] | 0;
                    c[k >> 2] = c[f >> 2];
                    c[k + 4 >> 2] = g;
                    c[e + 102868 >> 2] = 4;
                    d[e + 102988 >> 2] = 0;
                    c[l >> 2] = e;
                    l = e +
                        102996 | 0;
                    c[l + 0 >> 2] = 0;
                    c[l + 4 >> 2] = 0;
                    c[l + 8 >> 2] = 0;
                    c[l + 12 >> 2] = 0;
                    c[l + 16 >> 2] = 0;
                    c[l + 20 >> 2] = 0;
                    c[l + 24 >> 2] = 0;
                    c[l + 28 >> 2] = 0;
                    r = b;
                    return e | 0
                },
                lN: function(a, d) {
                    a = a | 0;
                    d = +d;
                    var b = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    b = e;
                    0 == (D[608] | 0) && 0 != (Ua(608) | 0) && Va(608);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](b, a, d);
                    f = b;
                    a = c[f + 4 >> 2] | 0;
                    b = 600;
                    c[b >> 2] = c[f >> 2];
                    c[b + 4 >> 2] = a;
                    r = e;
                    return 600
                },
                hO: function(c, a) {
                    D[(c | 0) + 102994 >> 0] = (a | 0) & 1
                },
                lL: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    d[c >> 2] = +d[a >> 2] + +d[c >> 2];
                    c = c + 4 | 0;
                    d[c >> 2] = +d[a + 4 >> 2] + +d[c >> 2]
                },
                EC: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                GC: function(c) {
                    return 0 != (D[(c | 0) + 61 >> 0] | 0) | 0
                },
                yE: function(a, d) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    d = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +d);
                    r = b;
                    return +d
                },
                sN: function(c) {
                    return 0 != (D[(c | 0) + 128 >> 0] | 0) | 0
                },
                vM: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                qL: function(c) {
                    c = c | 0;
                    d[c >> 2] = 0;
                    d[c + 4 >> 2] = 0;
                    d[c + 8 >> 2] = 0
                },
                CO: function() {
                    return 4
                },
                Cw: function(c) {
                    return (c | 0) + 28 | 0
                },
                jy: function(a, d) {
                    var b = 0;
                    a = (a | 0) + 4 | 0;
                    b = c[a >> 2] | 0;
                    c[a >> 2] = d | 0 ? b | 4 : b & -5
                },
                PK: function(c, a) {
                    d[(c | 0) + 8 >> 2] = +a
                },
                CB: function(a) {
                    return c[(a | 0) + 24 >> 2] | 0
                },
                eO: function(a, d) {
                    c[(a | 0) + 102984 >> 2] = d | 0
                },
                Rx: function(a, d) {
                    c[(a | 0) >> 2] = d | 0
                },
                WI: function(c, a) {
                    D[(c | 0) + 16 >> 0] = (a | 0) & 1
                },
                Zo: ma,
                RN: function(a) {
                    return c[(a | 0) + 102900 >> 2] | 0
                },
                cL: function(c) {
                    c = c | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        a = r,
                        e = +d[c >> 2],
                        g = c + 4 | 0,
                        f = +d[g >> 2],
                        b = +ib(+(e * e + f * f));
                    if (1.1920928955078125E-7 > b) return r = a, 0;
                    k = 1 / b;
                    d[c >> 2] = e * k;
                    d[g >> 2] = f * k;
                    r = a;
                    return +b
                },
                cN: function(a) {
                    a = a | 0;
                    return +(+d[(c[a + 52 >> 2] | 0) + 72 >> 2] - +d[(c[a + 48 >> 2] | 0) + 72 >> 2])
                },
                YA: function(a, d) {
                    var b = 0,
                        e = 0,
                        e = d | 0,
                        b = c[e + 4 >> 2] | 0;
                    d = (a | 0) + 20 | 0;
                    c[d >> 2] = c[e >> 2];
                    c[d + 4 >> 2] = b
                },
                XB: function(c) {
                    return + +d[(c | 0) + 152 >> 2]
                },
                hu: function() {
                    var a = 0,
                        d = 0,
                        b = 0,
                        a = r;
                    if (d = ma(4) | 0) return b = d, c[b >> 2] = 3264, r = a, b | 0;
                    for (;;) {
                        d = c[4582] | 0;
                        c[4582] = d + 0;
                        if (!d) {
                            d = 4;
                            break
                        }
                        ab[d & 63]();
                        if (b = ma(4) | 0) {
                            d = 5;
                            break
                        }
                    }
                    if (4 == (d | 0)) b = eb(4) | 0, c[b >> 2] = 18168, db(b | 0, 18216, 116);
                    else if (5 == (d | 0)) return c[b >> 2] = 3264, r = a, b | 0;
                    return 0
                },
                vI: function(a, d) {
                    var b = 0,
                        e = 0,
                        e = d | 0,
                        b = c[e + 4 >> 2] | 0;
                    d = (a | 0) + 8 | 0;
                    c[d >> 2] = c[e >> 2];
                    c[d + 4 >> 2] = b
                },
                NI: function(c) {
                    return + +d[(c | 0) + 56 >> 2]
                },
                yI: function(c) {
                    return c | 0
                },
                dM: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                iE: function(c, a) {
                    d[(c | 0) + 32 >> 2] = +a
                },
                tO: function() {
                    return 2
                },
                bA: function(c) {
                    return 0 != (D[(c | 0) + 20 >> 0] | 0) | 0
                },
                JH: function(a, d) {
                    c[(a | 0) + 12 >> 2] = d | 0
                },
                XM: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = c[a + 48 >> 2] | 0,
                        g = f + 4 | 0,
                        k = Ra[g >> 1] | 0;
                    k & 2 || (W[g >> 1] = k | 2, d[f + 144 >> 2] = 0);
                    k = c[a + 52 >> 2] | 0;
                    g = k + 4 | 0;
                    f = Ra[g >> 1] | 0;
                    f & 2 || (W[g >> 1] = f | 2, d[k + 144 >> 2] = 0);
                    g = (b | 0) & 1;
                    D[(a + 128 | 0) >> 0] = g;
                    r = e
                },
                eN: function(c) {
                    return (c | 0) + 76 | 0
                },
                au: function(a, d, b, e) {
                    a = a | 0;
                    var f = 0,
                        f = r;
                    cc[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, d | 0, b | 0, e | 0);
                    r = f
                },
                yK: function(c, a) {
                    c = c | 0;
                    a = +a;
                    d[c >> 2] = +Ja(+a);
                    d[c + 4 >> 2] = +Ka(+a)
                },
                Lx: function(c, a) {
                    D[(c | 0) + 3 >> 0] = a | 0
                },
                du: function(a) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = d
                },
                JE: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                FD: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        b = r;
                    0 == (D[88] | 0) && 0 != (Ua(88) | 0) && Va(88);
                    f = +d[c >> 2];
                    g = +d[c + 12 >> 2];
                    e = +d[c + 4 >> 2];
                    k = +d[c + 16 >> 2];
                    l = f * k - g * e;
                    0 != l && (l = 1 / l);
                    m = +d[a >> 2];
                    p = +d[a + 4 >> 2];
                    k = +(l * (k * m - g * p));
                    c = 80;
                    d[c >> 2] = k;
                    d[c + 4 >> 2] = +(l * (f * p - e * m));
                    r = b;
                    return 80
                },
                oH: function(c, a) {
                    d[(c | 0) + 20 >> 2] = +a
                },
                Mx: function(a) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = d
                },
                EH: function(c) {
                    return (c | 0) + 44 | 0
                },
                Jw: function(c, a) {
                    D[(c | 0) + 36 >> 0] = (a | 0) & 1
                },
                bH: function(a) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = d
                },
                BN: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        w = 0,
                        z = 0,
                        v = 0,
                        A = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        E = 0,
                        I = 0,
                        X = 0,
                        L = 0,
                        P = u = z = 0,
                        U = 0,
                        S = 0,
                        M = 0,
                        W = 0,
                        e = r;
                    c[a + 102868 >> 2] & 2 && Q(11064, 11088, 214, 11176);
                    do switch (c[b >> 2] | 0) {
                        case 7:
                            (g = ja(a, 224) | 0) ? (c[g >> 2] = 15304, f = b + 8 | 0, k = b + 12 | 0, (c[f >> 2] | 0) == (c[k >> 2] | 0) ? Q(15352, 15232, 185, 15384) : (c[g + 4 >> 2] = c[b >> 2], c[g + 8 >> 2] = 0, c[g + 12 >> 2] = 0, c[g + 48 >> 2] = c[f >> 2], c[g + 52 >> 2] = c[k >> 2], c[g + 56 >> 2] = 0, D[g + 61 >> 0] = D[b + 16 >> 0] | 0, D[g + 60 >> 0] = 0, c[g + 64 >> 2] = c[b + 4 >> 2], v = g + 16 | 0, c[v + 0 >> 2] = 0, c[v + 4 >> 2] = 0, c[v + 8 >> 2] = 0, c[v + 12 >> 2] = 0, c[v + 16 >> 2] = 0, c[v + 20 >> 2] = 0, c[v + 24 >> 2] = 0, c[v + 28 >> 2] = 0, c[g >> 2] = 17248, v = b + 20 | 0, E = c[v + 4 >> 2] | 0, q = g + 76 | 0, c[q >> 2] = c[v >> 2], c[q + 4 >> 2] = E, q = b + 28 | 0, E = c[q + 4 >> 2] | 0, v = g + 84 | 0, c[v >> 2] = c[q >> 2], c[v + 4 >> 2] = E, v = b + 36 | 0, E = c[v >> 2] | 0, v = c[v + 4 >> 2] | 0, q = g + 92 | 0, c[q >> 2] = E, c[q + 4 >> 2] = v, q = g + 100 | 0, d[q >> 2] = -(c[y >> 2] = v, +d[y >> 2]), c[q + 4 >> 2] = E, d[g + 204 >> 2] = 0, d[g + 108 >> 2] = 0, d[g + 208 >> 2] = 0, d[g + 112 >> 2] = 0, d[g + 212 >> 2] = 0, d[g + 116 >> 2] = 0, d[g + 120 >> 2] = +d[b + 48 >> 2], d[g + 124 >> 2] = +d[b + 52 >> 2], D[g + 128 >> 0] = D[b + 44 >> 0] | 0, d[g + 68 >> 2] = +d[b + 56 >> 2], d[g + 72 >> 2] = +d[b + 60 >> 2], d[g + 216 >> 2] = 0, d[g + 220 >> 2] = 0, q = g + 172 | 0, c[q + 0 >> 2] = 0, c[q + 4 >> 2] = 0, c[q + 8 >> 2] = 0, c[q + 12 >> 2] = 0, q = g)) : q = 0;
                            f = q;
                            break;
                        case 2:
                            (f = ja(a, 256) | 0) ? (c[f >> 2] = 15304, g = b + 8 | 0, k = b + 12 | 0, (c[g >> 2] | 0) == (c[k >> 2] | 0) && Q(15352, 15232, 185, 15384), c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, c[f + 48 >> 2] = c[g >> 2], c[f + 52 >> 2] = c[k >> 2], c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b + 4 >> 2], g = f + 16 | 0, c[g + 0 >> 2] = 0, c[g + 4 >> 2] = 0, c[g + 8 >> 2] = 0, c[g + 12 >> 2] = 0, c[g + 16 >> 2] = 0, c[g + 20 >> 2] = 0, c[g + 24 >> 2] = 0, c[g + 28 >> 2] = 0, c[f >> 2] = 15912, g = f + 84 | 0, E = b + 20 | 0, v = c[E + 4 >> 2] | 0, z = f + 68 | 0, c[z >> 2] = c[E >> 2], c[z + 4 >> 2] = v, z = b + 28 | 0, v = c[z + 4 >> 2] | 0, E = f + 76 | 0, c[E >> 2] = c[z >> 2], c[E + 4 >> 2] = v, E = b + 36 | 0, v = c[E >> 2] | 0, E = c[E + 4 >> 2] | 0, z = g, c[z >> 2] = v, c[z + 4 >> 2] = E, A = (c[y >> 2] = v, +d[y >> 2]), C = (c[y >> 2] = E, +d[y >> 2]), F = +ib(+(A * A + C * C)), 1.1920928955078125E-7 > F || (I = 1 / F, A *= I, d[g >> 2] = A, C *= I, d[f + 88 >> 2] = C), J = + -C, I = +A, v = f + 92 | 0, d[v >> 2] = J, d[v + 4 >> 2] = I, d[f + 100 >> 2] = +d[b + 44 >> 2], v = f + 104 | 0, d[f + 252 >> 2] = 0, E = b + 52 | 0, c[v + 0 >> 2] = 0, c[v + 4 >> 2] = 0, c[v + 8 >> 2] = 0, c[v + 12 >> 2] = 0, d[f + 120 >> 2] = +d[E >> 2], d[f + 124 >> 2] = +d[b + 56 >> 2], d[f + 128 >> 2] = +d[b + 64 >> 2], d[f + 132 >> 2] = +d[b + 68 >> 2], D[f + 136 >> 0] = D[b + 48 >> 0] | 0, D[f + 137 >> 0] = D[b + 60 >> 0] | 0, c[f + 140 >> 2] = 0, E = f + 184 | 0, c[E + 0 >> 2] = 0, c[E + 4 >> 2] = 0, c[E + 8 >> 2] = 0, c[E + 12 >> 2] = 0) : f = 0;
                            break;
                        case 9:
                            (f = ja(a, 180) | 0) ? (c[f >> 2] = 15304, k = b + 8 | 0, g = b + 12 | 0, (c[k >> 2] | 0) == (c[g >> 2] | 0) ? Q(15352, 15232, 185, 15384) : (c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, c[f + 48 >> 2] = c[k >> 2], c[f + 52 >> 2] = c[g >> 2], c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b + 4 >> 2], n = f + 16 | 0, c[n + 0 >> 2] = 0, c[n + 4 >> 2] = 0, c[n + 8 >> 2] = 0, c[n + 12 >> 2] = 0, c[n + 16 >> 2] = 0, c[n + 20 >> 2] = 0, c[n + 24 >> 2] = 0, c[n + 28 >> 2] = 0, c[f >> 2] = 14456, n = b + 20 | 0, E = c[n + 4 >> 2] | 0, v = f + 68 | 0, c[v >> 2] = c[n >> 2], c[v + 4 >> 2] = E, v = b + 28 | 0, E = c[v + 4 >> 2] | 0, n = f + 76 | 0, c[n >> 2] = c[v >> 2], c[n + 4 >> 2] = E, d[f + 84 >> 2] = 0, d[f + 88 >> 2] = 0, d[f + 92 >> 2] = 0, d[f + 96 >> 2] = +d[b +
                                36 >> 2], d[f + 100 >> 2] = +d[b + 40 >> 2], n = f)) : n = 0;
                            f = n;
                            break;
                        case 8:
                            (k = ja(a, 208) | 0) ? (c[k >> 2] = 15304, g = b + 8 | 0, f = b + 12 | 0, (c[g >> 2] | 0) == (c[f >> 2] | 0) ? Q(15352, 15232, 185, 15384) : (c[k + 4 >> 2] = c[b >> 2], c[k + 8 >> 2] = 0, c[k + 12 >> 2] = 0, c[k + 48 >> 2] = c[g >> 2], c[k + 52 >> 2] = c[f >> 2], c[k + 56 >> 2] = 0, D[k + 61 >> 0] = D[b + 16 >> 0] | 0, D[k + 60 >> 0] = 0, c[k + 64 >> 2] = c[b + 4 >> 2], l = k + 16 | 0, c[l + 0 >> 2] = 0, c[l + 4 >> 2] = 0, c[l + 8 >> 2] = 0, c[l + 12 >> 2] = 0, c[l + 16 >> 2] = 0, c[l + 20 >> 2] = 0, c[l + 24 >> 2] = 0, c[l + 28 >> 2] = 0, c[k >> 2] = 17104, l = b + 20 | 0, E = c[l + 4 >> 2] | 0, v = k + 80 | 0, c[v >> 2] = c[l >> 2], c[v + 4 >> 2] = E, v = b + 28 | 0, E = c[v + 4 >> 2] | 0, l = k + 88 | 0, c[l >> 2] = c[v >> 2], c[l + 4 >> 2] = E, d[k + 96 >> 2] = +d[b + 36 >> 2], d[k + 68 >> 2] = +d[b + 40 >> 2], d[k + 72 >> 2] = +d[b + 44 >> 2], d[k + 104 >> 2] = 0, d[k + 108 >> 2] = 0, d[k + 112 >> 2] = 0, l = k)) : l = 0;
                            f = l;
                            break;
                        case 1:
                            (f = ja(a, 228) | 0) ? (c[f >> 2] = 15304, k = b + 8 | 0, g = b + 12 | 0, (c[k >> 2] | 0) == (c[g >> 2] | 0) ? Q(15352, 15232, 185, 15384) : (c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, c[f + 48 >> 2] = c[k >> 2], c[f + 52 >> 2] = c[g >> 2], c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b + 4 >> 2], E = f + 16 | 0, c[E + 0 >> 2] = 0, c[E + 4 >> 2] = 0, c[E + 8 >> 2] = 0, c[E + 12 >> 2] = 0, c[E +
                                16 >> 2] = 0, c[E + 20 >> 2] = 0, c[E + 24 >> 2] = 0, c[E + 28 >> 2] = 0, c[f >> 2] = 16648, E = b + 20 | 0, m = c[E + 4 >> 2] | 0, v = f + 68 | 0, c[v >> 2] = c[E >> 2], c[v + 4 >> 2] = m, v = b + 28 | 0, m = c[v + 4 >> 2] | 0, E = f + 76 | 0, c[E >> 2] = c[v >> 2], c[E + 4 >> 2] = m, d[f + 116 >> 2] = +d[b + 36 >> 2], E = f + 84 | 0, m = b + 44 | 0, c[E + 0 >> 2] = 0, c[E + 4 >> 2] = 0, c[E + 8 >> 2] = 0, c[E + 12 >> 2] = 0, d[f + 120 >> 2] = +d[m >> 2], d[f + 124 >> 2] = +d[b + 48 >> 2], d[f + 104 >> 2] = +d[b + 60 >> 2], d[f + 108 >> 2] = +d[b + 56 >> 2], D[f + 112 >> 0] = D[b + 40 >> 0] | 0, D[f + 100 >> 0] = D[b + 52 >> 0] | 0, c[f + 224 >> 2] = 0, m = f)) : m = 0;
                            f = m;
                            break;
                        case 6:
                            (f = ja(a, 276) | 0) ? (c[f >> 2] = 15304, k = b + 8 | 0, g = b + 12 | 0, (c[k >> 2] | 0) == (c[g >> 2] | 0) && Q(15352, 15232, 185, 15384), c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, E = f + 48 | 0, c[E >> 2] = c[k >> 2], x = f + 52 | 0, c[x >> 2] = c[g >> 2], c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b + 4 >> 2], w = f + 16 | 0, c[w + 0 >> 2] = 0, c[w + 4 >> 2] = 0, c[w + 8 >> 2] = 0, c[w + 12 >> 2] = 0, c[w + 16 >> 2] = 0, c[w + 20 >> 2] = 0, c[w + 24 >> 2] = 0, c[w + 28 >> 2] = 0, c[f >> 2] = 14816, w = f + 92 | 0, l = f + 100 | 0, t = f + 108 | 0, m = f + 116 | 0, K = f + 124 | 0, k = f + 132 | 0, v = b + 20 | 0, z = c[v >> 2] | 0, c[f + 68 >> 2] = z, p = b + 24 | 0, n = c[p >> 2] | 0, c[f + 72 >> 2] = n, u = c[z + 4 >> 2] | 0, c[f + 76 >> 2] = u, g = c[n +
                                4 >> 2] | 0, c[f + 80 >> 2] = g, 2 <= (u + -1 | 0) >>> 0 && Q(14864, 14928, 53, 14984), 2 <= (g + -1 | 0) >>> 0 && Q(15E3, 14928, 54, 14984), q = c[z + 48 >> 2] | 0, c[f + 84 >> 2] = q, z = c[z + 52 >> 2] | 0, c[E >> 2] = z, A = +d[z + 20 >> 2], C = +d[z + 24 >> 2], J = +d[q + 20 >> 2], F = +d[q + 24 >> 2], v = c[v >> 2] | 0, 1 == (u | 0) ? (J = +d[z + 56 >> 2], I = +d[q + 56 >> 2], E = v + 68 | 0, z = c[E + 4 >> 2] | 0, u = t, c[u >> 2] = c[E >> 2], c[u + 4 >> 2] = z, u = v + 76 | 0, z = c[u + 4 >> 2] | 0, E = w, c[E >> 2] = c[u >> 2], c[E + 4 >> 2] = z, A = +d[v + 116 >> 2], d[f + 140 >> 2] = A, d[K >> 2] = 0, d[f + 128 >> 2] = 0, A = J - I - A) : (P = +d[q + 16 >> 2], X = +d[q + 12 >> 2], U = +d[z + 16 >> 2], S = +d[z + 12 >> 2], q = v + 68 | 0, M = c[q >> 2] | 0, q = c[q + 4 >> 2] | 0, z = t, c[z >> 2] = M, c[z + 4 >> 2] = q, z = v + 76 | 0, u = c[z >> 2] | 0, z = c[z + 4 >> 2] | 0, E = w, c[E >> 2] = u, c[E + 4 >> 2] = z, d[f + 140 >> 2] = +d[v + 100 >> 2], E = v + 84 | 0, v = c[E >> 2] | 0, E = c[E + 4 >> 2] | 0, w = K, c[w >> 2] = v, c[w + 4 >> 2] = E, L = (c[y >> 2] = M, +d[y >> 2]), I = (c[y >> 2] = q, +d[y >> 2]), u = (c[y >> 2] = u, +d[y >> 2]), z = (c[y >> 2] = z, +d[y >> 2]), X = S - X + (C * u - A * z), A = U - P + (A * u + C * z), C = (c[y >> 2] = v, +d[y >> 2]) * (F * X + J * A - L), A = C + (c[y >> 2] = E, +d[y >> 2]) * (F * A - J * X - I)), q = c[n + 48 >> 2] | 0, c[f + 88 >> 2] = q, n = c[n + 52 >> 2] | 0, c[x >> 2] = n, J = +d[n + 20 >> 2], C = +d[n + 24 >> 2], I = +d[q + 20 >> 2], F = +d[q + 24 >> 2], p = c[p >> 2] | 0, 1 == (g | 0) ? (U = +d[n + 56 >> 2], S = +d[q + 56 >> 2], M = p + 68 | 0, E = c[M + 4 >> 2] | 0, v = m, c[v >> 2] = c[M >> 2], c[v + 4 >> 2] = E, v = p + 76 | 0, E = c[v + 4 >> 2] | 0, M = l, c[M >> 2] = c[v >> 2], c[M + 4 >> 2] = E, C = +d[p + 116 >> 2], d[f + 144 >> 2] = C, d[k >> 2] = 0, d[f + 136 >> 2] = 0, C = U - S - C) : (L = +d[q + 16 >> 2], U = +d[q + 12 >> 2], X = +d[n + 16 >> 2], W = +d[n + 12 >> 2], w = p + 68 | 0, K = c[w >> 2] | 0, w = c[w + 4 >> 2] | 0, v = m, c[v >> 2] = K, c[v + 4 >> 2] = w, v = p + 76 | 0, z = c[v >> 2] | 0, v = c[v + 4 >> 2] | 0, M = l, c[M >> 2] = z, c[M + 4 >> 2] = v, d[f + 144 >> 2] = +d[p + 100 >> 2], M = p + 84 | 0, E = c[M >> 2] | 0, M = c[M + 4 >> 2] | 0, u = k, c[u >> 2] = E, c[u + 4 >> 2] = M, P = (c[y >> 2] = K, +d[y >> 2]), S = (c[y >> 2] = w, +d[y >> 2]), z = (c[y >> 2] = z, +d[y >> 2]), u = (c[y >> 2] = v, +d[y >> 2]), U = W - U + (C * z - J * u), C = X - L + (J * z + C * u), P = (c[y >> 2] = E, +d[y >> 2]) * (F * U + I * C - P), C = P + (c[y >> 2] = M, +d[y >> 2]) * (F * C - I * U - S)), W = +d[b + 28 >> 2], d[f + 152 >> 2] = W, d[f + 148 >> 2] = A + C * W, d[f + 156 >> 2] = 0) : f = 0;
                            break;
                        case 4:
                            (f = ja(a, 196) | 0) ? (c[f >> 2] = 15304, g = b + 8 | 0, l = b + 12 | 0, (c[g >> 2] | 0) == (c[l >> 2] | 0) && Q(15352, 15232, 185, 15384), c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, c[f + 48 >> 2] = c[g >> 2], c[f + 52 >> 2] = c[l >> 2], c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b +
                                4 >> 2], l = f + 16 | 0, c[l + 0 >> 2] = 0, c[l + 4 >> 2] = 0, c[l + 8 >> 2] = 0, c[l + 12 >> 2] = 0, c[l + 16 >> 2] = 0, c[l + 20 >> 2] = 0, c[l + 24 >> 2] = 0, c[l + 28 >> 2] = 0, c[f >> 2] = 16312, l = b + 20 | 0, g = c[l + 4 >> 2] | 0, M = f + 68 | 0, c[M >> 2] = c[l >> 2], c[M + 4 >> 2] = g, M = b + 28 | 0, g = c[M + 4 >> 2] | 0, l = f + 76 | 0, c[l >> 2] = c[M >> 2], c[l + 4 >> 2] = g, l = b + 36 | 0, g = c[l + 4 >> 2] | 0, M = f + 92 | 0, c[M >> 2] = c[l >> 2], c[M + 4 >> 2] = g, M = b + 44 | 0, g = c[M + 4 >> 2] | 0, l = f + 100 | 0, c[l >> 2] = c[M >> 2], c[l + 4 >> 2] = g, l = b + 52 | 0, d[f + 84 >> 2] = +d[l >> 2], g = b + 56 | 0, d[f + 88 >> 2] = +d[g >> 2], A = +d[b + 60 >> 2], 0 != A ? (d[f + 112 >> 2] = A, d[f + 108 >> 2] = +d[l >> 2] + A * +d[g >> 2], d[f + 116 >> 2] = 0, k = f) : Q(16360, 16232, 65, 16384)) : k = 0;
                            f = k;
                            break;
                        case 3:
                            (f = ja(a, 176) | 0) ? (c[f >> 2] = 15304, k = b + 8 | 0, g = b + 12 | 0, (c[k >> 2] | 0) == (c[g >> 2] | 0) ? Q(15352, 15232, 185, 15384) : (c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, c[f + 48 >> 2] = c[k >> 2], c[f + 52 >> 2] = c[g >> 2], c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b + 4 >> 2], p = f + 16 | 0, c[p + 0 >> 2] = 0, c[p + 4 >> 2] = 0, c[p + 8 >> 2] = 0, c[p + 12 >> 2] = 0, c[p + 16 >> 2] = 0, c[p + 20 >> 2] = 0, c[p + 24 >> 2] = 0, c[p + 28 >> 2] = 0, c[f >> 2] = 14304, p = b + 20 | 0, M = c[p + 4 >> 2] | 0, E = f + 80 | 0, c[E >> 2] = c[p >> 2], c[E + 4 >> 2] = M, E = b + 28 | 0, M = c[E + 4 >> 2] | 0, p = f + 88 | 0, c[p >> 2] = c[E >> 2], c[p + 4 >> 2] = M, d[f + 104 >> 2] = +d[b + 36 >> 2], d[f + 68 >> 2] = +d[b + 40 >> 2], d[f + 72 >> 2] = +d[b + 44 >> 2], d[f + 100 >> 2] = 0, d[f + 96 >> 2] = 0, d[f + 76 >> 2] = 0, p = f)) : p = 0;
                            f = p;
                            break;
                        case 5:
                            (f = ja(a, 168) | 0) ? (c[f >> 2] = 15304, k = b + 8 | 0, l = b + 12 | 0, (c[k >> 2] | 0) == (c[l >> 2] | 0) && Q(15352, 15232, 185, 15384), c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, c[f + 48 >> 2] = c[k >> 2], p = c[l >> 2] | 0, c[f + 52 >> 2] = p, c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b + 4 >> 2], x = f + 16 | 0, c[x + 0 >> 2] = 0, c[x + 4 >> 2] = 0, c[x + 8 >> 2] = 0, c[x + 12 >> 2] = 0, c[x + 16 >> 2] = 0, c[x + 20 >> 2] = 0, c[x + 24 >> 2] = 0, c[x + 28 >> 2] = 0, c[f >> 2] = 15448, x = b + 20 | 0, 2139095040 == ((d[y >> 2] = +d[x >> 2], c[y >> 2] | 0) & 2139095040 | 0) && Q(15496, 15520, 34, 15576), 2139095040 == ((d[y >> 2] = +d[b + 24 >> 2], c[y >> 2] | 0) & 2139095040 | 0) && Q(15496, 15520, 34, 15576), m = b + 28 | 0, W = +d[m >> 2], 2139095040 == ((d[y >> 2] = W, c[y >> 2] | 0) & 2139095040 | 0) | !(0 <= W) && Q(15592, 15520, 35, 15576), l = b + 32 | 0, W = +d[l >> 2], 2139095040 == ((d[y >> 2] = W, c[y >> 2] | 0) & 2139095040 | 0) | !(0 <= W) && Q(15648, 15520, 36, 15576), k = b + 36 | 0, W = +d[k >> 2], 2139095040 == ((d[y >> 2] = W, c[y >> 2] | 0) & 2139095040 | 0) | !(0 <= W) ? Q(15704, 15520, 37, 15576) : (g = x, M = c[g >> 2] | 0, g = c[g + 4 >> 2] | 0, E = f + 76 | 0, c[E >> 2] = M, c[E + 4 >> 2] = g, U = (c[y >> 2] = M, +d[y >> 2]) - +d[p + 12 >> 2], P = (c[y >> 2] = g, +d[y >> 2]) - +d[p + 16 >> 2], u = +d[p + 24 >> 2], W = +d[p + 20 >> 2], S = +(U * u + P * W), W = +(u * P - U * W), g = f + 68 | 0, d[g >> 2] = S, d[g + 4 >> 2] = W, d[f + 104 >> 2] = +d[m >> 2], d[f + 96 >> 2] = 0, d[f + 100 >> 2] = 0, d[f + 84 >> 2] = +d[l >> 2], d[f + 88 >> 2] = +d[k >> 2], d[f + 92 >> 2] = 0, d[f + 108 >> 2] = 0, g = f)) : g = 0;
                            f = g;
                            break;
                        case 10:
                            (f = ja(a, 168) | 0) ? (c[f >> 2] = 15304, k = b + 8 | 0, g = b + 12 | 0, (c[k >> 2] | 0) == (c[g >> 2] | 0) ? Q(15352, 15232, 185, 15384) : (c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, c[f + 48 >> 2] = c[k >> 2], c[f + 52 >> 2] = c[g >> 2], c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b + 4 >> 2], t = f + 16 | 0, c[t + 0 >> 2] = 0, c[t + 4 >> 2] = 0, c[t + 8 >> 2] = 0, c[t + 12 >> 2] = 0, c[t + 16 >> 2] = 0, c[t + 20 >> 2] = 0, c[t + 24 >> 2] = 0, c[t + 28 >> 2] = 0, c[f >> 2] = 16960, t = b + 20 | 0, M = c[t + 4 >> 2] | 0, E = f + 68 | 0, c[E >> 2] = c[t >> 2], c[E + 4 >> 2] = M, E = b + 28 | 0, M = c[E + 4 >> 2] | 0, t = f + 76 | 0, c[t >> 2] = c[E >> 2], c[t + 4 >> 2] = M, d[f + 84 >> 2] = +d[b + 36 >> 2], d[f + 160 >> 2] = 0, d[f + 92 >> 2] = 0, c[f + 164 >> 2] = 0, d[f + 88 >> 2] = 0, t = f)) : t = 0;
                            f = t;
                            break;
                        case 11:
                            (f = ja(a, 192) | 0) ? (c[f >> 2] = 15304, k = b + 8 | 0, g = b + 12 | 0, (c[k >> 2] | 0) == (c[g >> 2] | 0) ? Q(15352, 15232, 185, 15384) : (c[f + 4 >> 2] = c[b >> 2], c[f + 8 >> 2] = 0, c[f + 12 >> 2] = 0, c[f + 48 >> 2] = c[k >> 2], c[f + 52 >> 2] = c[g >> 2], c[f + 56 >> 2] = 0, D[f + 61 >> 0] = D[b + 16 >> 0] | 0, D[f + 60 >> 0] = 0, c[f + 64 >> 2] = c[b + 4 >> 2], E = f + 16 | 0, c[E + 0 >> 2] = 0, c[E + 4 >> 2] = 0, c[E + 8 >> 2] = 0, c[E + 12 >> 2] = 0, c[E + 16 >> 2] = 0, c[E + 20 >> 2] = 0, c[E + 24 >> 2] = 0, c[E + 28 >> 2] = 0, c[f >> 2] = 4792, E = b + 20 | 0, M = c[E + 4 >> 2] | 0, x = f + 68 | 0, c[x >> 2] = c[E >> 2], c[x + 4 >> 2] = M, d[f + 76 >> 2] = +d[b + 28 >> 2], d[f + 80 >> 2] = 0, d[f + 84 >> 2] = 0, d[f + 88 >> 2] = 0, d[f + 92 >> 2] = +d[b +
                                32 >> 2], d[f + 96 >> 2] = +d[b + 36 >> 2], d[f + 100 >> 2] = +d[b + 40 >> 2], x = f)) : x = 0;
                            f = x;
                            break;
                        default:
                            Q(15224, 15232, 121, 15280)
                    }
                    while (0);
                    c[f + 8 >> 2] = 0;
                    k = a + 102956 | 0;
                    c[f + 12 >> 2] = c[k >> 2];
                    (g = c[k >> 2] | 0) && (c[g + 8 >> 2] = f);
                    c[k >> 2] = f;
                    k = a + 102964 | 0;
                    c[k >> 2] = (c[k >> 2] | 0) + 1;
                    k = f + 16 | 0;
                    c[f + 20 >> 2] = f;
                    a = f + 52 | 0;
                    c[k >> 2] = c[a >> 2];
                    c[f + 24 >> 2] = 0;
                    g = f + 48 | 0;
                    m = c[g >> 2] | 0;
                    l = m + 108 | 0;
                    c[f + 28 >> 2] = c[l >> 2];
                    if (l = c[l >> 2] | 0) c[l + 8 >> 2] = k, m = c[g >> 2] | 0;
                    c[m + 108 >> 2] = k;
                    k = f + 32 | 0;
                    c[f + 36 >> 2] = f;
                    c[k >> 2] = c[g >> 2];
                    c[f + 40 >> 2] = 0;
                    l = c[a >> 2] | 0;
                    g = l + 108 | 0;
                    c[f + 44 >> 2] = c[g >> 2];
                    if (g = c[g >> 2] | 0) c[g + 8 >> 2] = k, l = c[a >> 2] | 0;
                    c[l + 108 >> 2] = k;
                    a = c[b + 8 >> 2] | 0;
                    if (D[b + 16 >> 0] | 0) return r = e, f | 0;
                    b = c[(c[b + 12 >> 2] | 0) + 112 >> 2] | 0;
                    if (!b) return r = e, f | 0;
                    do(c[b >> 2] | 0) == (a | 0) && (M = (c[b + 4 >> 2] | 0) + 4 | 0, c[M >> 2] |= 8), b = c[b + 12 >> 2] | 0; while (0 != (b | 0));
                    r = e;
                    return f | 0
                },
                hH: function(c) {
                    return + +d[(c | 0) + 28 >> 2]
                },
                QC: function(c) {
                    return (c | 0) + 16 | 0
                },
                fD: function(a, b) {
                    c[(a | 0) + 60 >> 2] = b | 0
                },
                NG: function(c) {
                    return + +d[(c | 0) + 132 >> 2]
                },
                fw: function(c, a) {
                    c = c | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        b = r,
                        e = c + 4 | 0,
                        f = Ra[e >> 1] | 0;
                    a | 0 ? W[e >> 1] = f | 4 : (a = f & 65531, W[e >> 1] = a, f & 2 || (W[e >> 1] = a | 2, d[c + 144 >> 2] = 0));
                    r = b
                },
                xK: function(c) {
                    c = c | 0;
                    d[c >> 2] = 0;
                    d[c + 4 >> 2] = 1
                },
                bI: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        b = r;
                    0 == (D[640] | 0) && 0 != (Ua(640) | 0) && Va(640);
                    e = a + 76 | 0;
                    d = c[e + 4 >> 2] | 0;
                    a = 632;
                    c[a >> 2] = c[e >> 2];
                    c[a + 4 >> 2] = d;
                    r = b;
                    return 632
                },
                yL: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    var b = 0;
                    d[c >> 2] = +d[a >> 2] + +d[c >> 2];
                    b = c + 4 | 0;
                    d[b >> 2] = +d[a + 4 >> 2] + +d[b >> 2];
                    c = c + 8 | 0;
                    d[c >> 2] = +d[a + 8 >> 2] + +d[c >> 2]
                },
                pB: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                Jy: function(c, a) {
                    d[(c | 0) + 44 >> 2] = +a
                },
                pE: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                OE: function(c) {
                    return + +d[(c | 0) + 36 >> 2]
                },
                uJ: function(c) {
                    return + +d[(c | 0) + 108 >> 2]
                },
                Nw: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                VI: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                uv: function(c) {
                    return + +d[(c | 0) + 140 >> 2]
                },
                zB: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                ID: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(36) | 0) return r = a, b | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(36) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return r = a, d | 0;
                    return 0
                },
                ME: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                LK: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    a = Vc[c[(c[a >> 2] | 0) + 16 >> 2] & 63](a, b | 0, d | 0) | 0;
                    r = e;
                    return a | 0
                },
                Nv: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        b = r;
                    0 == (D[736] | 0) && 0 != (Ua(736) | 0) && Va(736);
                    g = +d[c + 24 >> 2];
                    l = +d[a >> 2];
                    k = +d[c + 20 >> 2];
                    e = +d[a + 4 >> 2];
                    f = +(g * l - k * e);
                    a = 728;
                    d[a >> 2] = f;
                    d[a + 4 >> 2] = +(l * k + g * e);
                    r = b;
                    return 728
                },
                LL: function(c) {
                    return + +d[(c | 0) + 40 >> 2]
                },
                GF: function(a, b, e) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        w = 0,
                        v = 0,
                        z = 0,
                        y = 0,
                        A = 0,
                        C = 0,
                        D = 0,
                        E = 0,
                        F = 0,
                        f = r;
                    r = r + 192 | 0;
                    q = f + 64 | 0;
                    n = f;
                    14 <= (e + -3 | 0) >>> 0 && Q(7072, 7104, 122, 7160);
                    y = ~e;
                    y = -17 < (y | 0) ? y : -17;
                    t = ~y;
                    kb(q | 0, b | 0, -8 - (y << 3) | 0) | 0; - 4 < (y | 0) && Q(15224, 7104, 159, 7160);
                    u = 0;
                    b = 1;
                    A = +d[q >> 2];
                    do C = +d[q + (b << 3) >> 2], C > A ? p = 9 : C == A && +d[q + (b << 3) + 4 >> 2] < +d[q + (u << 3) + 4 >> 2] && (p = 9), 9 == (p | 0) && (p = 0, u = b, A = C), b = b + 1 | 0; while ((b | 0) != (t | 0));
                    K = u;
                    w = 1;
                    for (b = 0;;) {
                        c[n + (b << 2) >> 2] = K;
                        z = q + (K << 3) | 0;
                        e = q + (K << 3) + 4 | 0;
                        y = 0;
                        v = 1;
                        do(y | 0) != (K | 0) ? (E = +d[z >> 2], C = +d[q + (y << 3) >> 2] - E, A = +d[e >> 2], D = +d[q + (y << 3) + 4 >> 2] - A, E = +d[q + (v << 3) >> 2] - E, A = +d[q + (v << 3) + 4 >> 2] - A, F = C * A - D * E, y = 0 > F ? v : y, 0 == F && E * E + A * A > C * C + D * D && (y = v)) : y = v, v = v + 1 | 0; while ((v | 0) != (t | 0));
                        e = b + 1 | 0;
                        if ((y | 0) == (u | 0)) break;
                        else K = y, w = w + 1 | 0, b = e
                    }
                    3 > (e | 0) && Q(15224, 7104, 224, 7160);
                    c[a + 276 >> 2] = e; - 1 < (b | 0) ? x = 0 : Q(7440, 7104, 76, 7456);
                    do v = q + (c[n + (x << 2) >> 2] << 3) | 0, z = c[v + 4 >> 2] | 0, y = a + (x << 3) + 20 | 0, c[y >> 2] = c[v >> 2], c[y + 4 >> 2] = z, x = x + 1 | 0; while ((x | 0) != (w | 0));
                    q = 0;
                    do {
                        t = q;
                        q = q + 1 | 0;
                        y = (n = (q | 0) < (e | 0)) ? q : 0;
                        D = +d[a + (y << 3) + 20 >> 2] - +d[a + (t << 3) + 20 >> 2];
                        A = +d[a + (y << 3) + 24 >> 2] - +d[a + (t << 3) + 24 >> 2];
                        C = A * A;
                        if (!(1.4210854715202004E-14 < D * D + C)) {
                            p = 24;
                            break
                        }
                        x = a + (t << 3) + 148 | 0;
                        F = +A;
                        D = + -D;
                        y = x;
                        d[y >> 2] = F;
                        d[y + 4 >> 2] = D;
                        t = a + (t << 3) + 152 | 0;
                        D = +d[t >> 2];
                        C = +ib(+(C + D * D));
                        1.1920928955078125E-7 > C || (F = 1 / C, d[x >> 2] = A * F, d[t >> 2] = D * F)
                    } while (n);
                    24 == (p | 0) && Q(7168, 7104, 243, 7160);
                    p = a + 12 | 0;
                    x = a + 20 | 0;
                    1 < (b | 0) ? m = g = l = k = 0 : Q(7440, 7104, 76, 7456);
                    do y = a + (m << 3) + 20 | 0, A = +d[y >> 2], C = +d[y + 4 >> 2], m = m + 1 | 0, y = b = (m | 0) < (e | 0) ? a + (m << 3) + 20 | 0 : x, D = +d[y >> 2], E = +d[y + 4 >> 2], F = .5 * (A * E - C * D), g += F, F *= .3333333432674408, k += (A + 0 + D) * F, l += (C + 0 + E) * F; while ((m | 0) != (e | 0));
                    1.1920928955078125E-7 < g ? (F = 1 / g, E = +(k * F), y = p, d[y >> 2] = E, d[y + 4 >> 2] = +(l * F), r = f) : Q(7328, 7104, 115, 7456)
                },
                YC: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                NH: function(c, a) {
                    d[(c | 0) + 52 >> 2] = +a
                },
                ZI: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                eC: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                oJ: function(a) {
                    a = a | 0;
                    return +(+d[(c[a + 52 >> 2] | 0) + 56 >> 2] - +d[(c[a + 48 >> 2] | 0) + 56 >> 2] - +d[a + 116 >> 2])
                },
                RH: function(c, a) {
                    d[(c | 0) + 60 >> 2] = +a
                },
                AC: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                QG: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                Cv: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        b = r;
                    0 == (D[752] | 0) && 0 != (Ua(752) | 0) && Va(752);
                    g = +d[a >> 2] - +d[c + 12 >> 2];
                    k = +d[a + 4 >> 2] - +d[c + 16 >> 2];
                    l = +d[c + 24 >> 2];
                    e = +d[c + 20 >> 2];
                    f = +(g * l + k * e);
                    c = 744;
                    d[c >> 2] = f;
                    d[c + 4 >> 2] = +(l * k - g * e);
                    r = b;
                    return 744
                },
                EG: function(c) {
                    return 0 != (D[(c | 0) + 61 >> 0] | 0) | 0
                },
                UJ: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                ez: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                cE: function(c, a) {
                    d[(c | 0) + 28 >> 2] = +a
                },
                iL: function(a, b) {
                    a = +a;
                    b = +b;
                    var e = 0,
                        f = 0,
                        e = r,
                        f = ma(8) | 0;
                    a: do
                        if (!f) {
                            for (;;) {
                                f = c[4582] | 0;
                                c[4582] = f + 0;
                                if (!f) break;
                                ab[f & 63]();
                                if (f = ma(8) | 0) break a
                            }
                            f = eb(4) | 0;
                            c[f >> 2] = 18168;
                            db(f | 0, 18216, 116)
                        }
                    while (0);
                    d[f >> 2] = a;
                    d[f + 4 >> 2] = b;
                    r = e;
                    return f | 0
                },
                GG: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        r = 0,
                        k = c[a + 48 >> 2] | 0,
                        e = +d[k + 24 >> 2],
                        m = +d[a + 68 >> 2],
                        g = +d[k + 20 >> 2],
                        l = +d[a + 72 >> 2],
                        p = c[a + 52 >> 2] | 0,
                        n = +d[p + 24 >> 2],
                        r = +d[a + 76 >> 2],
                        q = +d[p + 20 >> 2],
                        x = +d[a + 80 >> 2],
                        f = +d[a + 84 >> 2],
                        b = +d[a + 88 >> 2];
                    return +((+d[p + 12 >> 2] + (n * r - q * x) - (+d[k + 12 >> 2] +
                        (e * m - g * l))) * (e * f - g * b) + (r * q + n * x + +d[p + 16 >> 2] - (m * g + e * l + +d[k + 16 >> 2])) * (g * f + e * b))
                },
                hL: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(8) | 0) return r = a, b | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(8) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return r = a, d | 0;
                    return 0
                },
                Ry: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[32] | 0) && 0 != (Ua(32) | 0) && Va(32);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 24;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 24
                },
                GM: function(c) {
                    return + +d[(c | 0) + 48 >> 2]
                },
                nL: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    d[c >> 2] = +d[c >> 2] - +d[a >> 2];
                    c = c + 4 | 0;
                    d[c >> 2] = +d[c >> 2] - +d[a + 4 >> 2]
                },
                Xw: function(c) {
                    return (c | 0) + 12 | 0
                },
                Ex: function(c) {
                    return D[(c | 0) >> 0] | 0
                },
                SD: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(44) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(44) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 11;
                    d[b + 20 >> 2] = 0;
                    d[b + 24 >> 2] = 0;
                    d[b + 28 >> 2] = 0;
                    d[b + 32 >> 2] = 1;
                    d[b + 36 >> 2] = 1;
                    d[b + 40 >> 2] = .30000001192092896;
                    r = a;
                    return b | 0
                },
                Kw: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                YH: function(c) {
                    return 0 != (D[(c | 0) + 61 >> 0] | 0) | 0
                },
                VH: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[672] | 0) && 0 != (Ua(672) | 0) && Va(672);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 664;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 664
                },
                KD: function(c) {
                    return c | 0
                },
                Hv: function(c) {
                    return (c | 0) + 12 | 0
                },
                cH: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                yx: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                gz: function(c, a) {
                    d[(c | 0) + 68 >> 2] = +a
                },
                PO: function() {
                    return 3
                },
                qO: function() {
                    return 0
                },
                oA: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                Ux: function(a, b) {
                    c[(a | 0) + 16 >> 2] = b | 0
                },
                xH: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                EK: function(c, a) {
                    d[(c | 0) + 4 >> 2] = +a
                },
                yJ: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                BA: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        e = r;
                    2139095040 != ((d[y >> 2] = b, c[y >> 2] | 0) & 2139095040 | 0) & 0 <= b ? (d[a >> 2] = b, r = e) : Q(4048, 4E3, 295, 4088)
                },
                Dw: function(c) {
                    return (c | 0) + 20 | 0
                },
                zN: function(a) {
                    var b = 0,
                        b = r;
                    if (a = c[(a | 0) + 102952 >> 2] | 0) {
                        do d[a + 76 >> 2] = 0, d[a + 80 >> 2] = 0, d[a + 84 >> 2] = 0, a = c[a + 96 >> 2] | 0; while (0 != (a | 0))
                    }
                    r = b
                },
                sL: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                WM: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                rM: function(c, a) {
                    d[(c | 0) + 68 >> 2] = +a
                },
                wN: function(c, a) {
                    d[(c | 0) + 68 >> 2] = +a
                },
                $v: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        b = r,
                        f = c + 4 | 0,
                        e = Ra[f >> 1] | 0;
                    0 != (e & 16 | 0) ^ a && (W[f >> 1] = a ? e | 16 : e & 65519, d[c + 72 >> 2] = 0, Ea(c));
                    r = b
                },
                AI: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = a | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                Vy: function(c) {
                    return + +d[(c | 0) + 72 >> 2]
                },
                $L: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                Ev: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = a + 116 | 0;
                    d[b >> 2] = +d[e >> 2];
                    f = a + 28 | 0;
                    k = +d[f >> 2];
                    g = +d[a + 32 >> 2];
                    d[b + 12 >> 2] = +d[a + 124 >> 2] + +d[e >> 2] * (k * k + g * g);
                    e = c[f + 4 >> 2] | 0;
                    a = b + 4 | 0;
                    c[a >> 2] = c[f >> 2];
                    c[a + 4 >> 2] = e
                },
                VE: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                Sw: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                AF: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                uG: function(c, a) {
                    d[(c | 0) + 44 >> 2] = +a
                },
                PJ: function(c) {
                    return 0 != (D[(c | 0) +
                        16 >> 0] | 0) | 0
                },
                gA: function(c, a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    c = (c | 0) + 22 | 0;
                    W[c + 0 >> 1] = W[a + 0 >> 1] | 0;
                    W[c + 2 >> 1] = W[a + 2 >> 1] | 0;
                    W[c + 4 >> 1] = W[a + 4 >> 1] | 0;
                    r = b
                },
                zH: function(c) {
                    return (c | 0) + 20 | 0
                },
                CA: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        d = r,
                        m = a + 32 | 0;
                    W[m + 0 >> 1] = W[b + 0 >> 1] | 0;
                    W[m + 2 >> 1] = W[b + 2 >> 1] | 0;
                    W[m + 4 >> 1] = W[b + 4 >> 1] | 0;
                    if (b = c[a + 8 >> 2] | 0) {
                        if (f = c[b + 112 >> 2] | 0) {
                            do {
                                e = c[f + 4 >> 2] | 0;
                                if ((c[e + 48 >> 2] | 0) == (a | 0) || (c[e + 52 >> 2] | 0) == (a | 0)) m = e + 4 | 0, c[m >> 2] |= 8;
                                f = c[f + 12 >> 2] | 0
                            } while (0 != (f | 0))
                        }
                        if (g = c[b + 88 >> 2] | 0)
                            if (b = a + 28 | 0, !(0 >= (c[b >> 2] | 0))) {
                                a = a + 24 | 0;
                                f = g + 102912 | 0;
                                e = g + 102908 | 0;
                                l = g + 102904 | 0;
                                m = c[f >> 2] | 0;
                                k = 0;
                                do g = c[(c[a >> 2] | 0) + (28 * k | 0) + 24 >> 2] | 0, (m | 0) == (c[e >> 2] | 0) && (p = c[l >> 2] | 0, c[e >> 2] = m << 1, m = ma(m << 3) | 0, c[l >> 2] = m, kb(m | 0, p | 0, c[f >> 2] << 2 | 0) | 0, oa(p), m = c[f >> 2] | 0), c[(c[l >> 2] | 0) + (m << 2) >> 2] = g, m = (c[f >> 2] | 0) + 1 | 0, c[f >> 2] = m, k = k + 1 | 0; while ((k | 0) < (c[b >> 2] | 0))
                            }
                    }
                    r = d
                },
                UA: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                oI: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                PH: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 36 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                HE: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                JG: function(c) {
                    return (c | 0) + 84 | 0
                },
                qE: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                SK: function(a, b, e) {
                    a = a | 0;
                    e = +e;
                    var f = 0,
                        g = 0,
                        g = b | 0,
                        f = c[g + 4 >> 2] | 0;
                    b = a;
                    c[b >> 2] = c[g >> 2];
                    c[b + 4 >> 2] = f;
                    d[a + 8 >> 2] = +Ja(+e);
                    d[a + 12 >> 2] = +Ka(+e)
                },
                uF: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        e = r,
                        g = c[a + 52 >> 2] | 0,
                        f = g + 4 | 0,
                        k = W[f >> 1] | 0;
                    0 == (k & 2) && (l = k & 65535, 0 == (l & 2 | 0)) && (W[f >> 1] = l | 2, d[g + 144 >> 2] = 0);
                    g = b | 0;
                    k = c[g + 4 >> 2] | 0;
                    l = a + 76 | 0;
                    c[l >> 2] = c[g >> 2];
                    c[l + 4 >> 2] = k;
                    r = e
                },
                QJ: function(c) {
                    return (c | 0) + 20 | 0
                },
                zx: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                HI: function(c) {
                    return 0 != (D[(c | 0) + 40 >> 0] | 0) | 0
                },
                Yw: function(c) {
                    return + +d[(c | 0) + 8 >> 2]
                },
                CJ: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                pH: function(c, a) {
                    d[(c | 0) + 28 >> 2] = +a
                },
                vG: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                GB: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                kJ: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[880] | 0) && 0 != (Ua(880) | 0) && Va(880);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 872;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 872
                },
                KA: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                PG: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[328] | 0) && 0 != (Ua(328) | 0) && Va(328);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 320;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 320
                },
                UK: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(16) | 0) return r = a, b | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(16) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return r = a, d | 0;
                    return 0
                },
                gF: function(c) {
                    return 0 != (D[(c | 0) + 61 >> 0] | 0) | 0
                },
                KO: function() {
                    return 3
                },
                WC: function(c, a) {
                    d[(c | 0) + 8 >> 2] = +a
                },
                sv: function(a) {
                    return c[(a | 0) + 112 >> 2] | 0
                },
                Sv: function(c) {
                    return 0 != (W[(c | 0) + 4 >> 1] & 16) | 0
                },
                vO: function() {
                    return 1
                },
                $x: function(c) {
                    return + +d[(c | 0) + 136 >> 2]
                },
                ZM: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[592] | 0) && 0 != (Ua(592) | 0) && Va(592);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 584;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 584
                },
                Ly: function(c, a) {
                    d[(c | 0) + 36 >> 2] = +a
                },
                Zy: function(c) {
                    return (c | 0) + 88 | 0
                },
                jB: function(c) {
                    return (c | 0) + 76 | 0
                },
                OD: function(a, b) {
                    b = b | 0;
                    var d = 0,
                        d = r;
                    a = (a | 0) + 12 | 0;
                    c[a + 0 >> 2] = c[b + 0 >> 2];
                    c[a + 4 >> 2] = c[b + 4 >> 2];
                    c[a + 8 >> 2] = c[b + 8 >> 2];
                    r = d
                },
                Ey: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                lz: function(a, b) {
                    a = (a | 0) + 4 | 0;
                    c[a >> 2] &= ~(b | 0)
                },
                Pv: function(c) {
                    return 0 != (W[(c | 0) + 4 >> 1] & 32) | 0
                },
                iy: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        e = +d[(c[a + 48 >> 2] | 0) + 20 >> 2],
                        b = +d[(c[a + 52 >> 2] | 0) + 20 >> 2];
                    d[a + 140 >> 2] = e > b ? e : b
                },
                GN: function(c) {
                    return 0 != (D[(c | 0) + 102976 >> 0] | 0) | 0
                },
                PC: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(20) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(20) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    c[b + 16 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                sG: function(c, a) {
                    d[(c | 0) + 64 >> 2] = +a
                },
                HB: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                YI: function(c, a) {
                    D[(c | 0) + 52 >> 0] = (a | 0) & 1
                },
                kI: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                kF: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                YK: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = a | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                Lz: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                CH: function(c) {
                    return + +d[(c | 0) + 56 >> 2]
                },
                sM: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                FA: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = a + 38 | 0;
                    (b & 1 | 0) != (wc[f >> 0] | 0) && (a = c[a + 8 >> 2] | 0, g = a + 4 | 0, k = Ra[g >> 1] | 0, k & 2 || (W[g >> 1] = k | 2, d[a + 144 >> 2] = 0), D[f >> 0] = b & 1);
                    r = e
                },
                BB: function(a) {
                    return c[(a | 0) + 20 >> 2] | 0
                },
                MG: function(c, a) {
                    return +(+d[(c | 0) + 116 >> 2] * +a)
                },
                Sy: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                bC: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                Dz: function(c) {
                    return (c | 0) + 28 | 0
                },
                IN: function(a) {
                    return c[(a | 0) + 102960 >> 2] | 0
                },
                sA: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        e = r,
                        f = c[a + 12 >> 2] | 0;
                    wd[c[(c[f >> 2] | 0) + 28 >> 2] & 63](f, b | 0, +d[a >> 2]);
                    r = e
                },
                JL: function(c) {
                    return 0 != (D[(c | 0) + 16 >> 0] | 0) | 0
                },
                lB: function(c) {
                    return + +d[(c | 0) + 100 >> 2]
                },
                uz: function(a, b, d, e, f) {
                    a = a | 0;
                    var g = 0,
                        g = r;
                    a = Mc[c[(c[a >> 2] | 0) + 20 >> 2] & 63](a, b | 0, d | 0, e | 0, f | 0) | 0;
                    r = g;
                    return a | 0
                },
                Qu: function(c, a) {
                    D[(c | 0) + 36 >> 0] = (a | 0) & 1
                },
                iI: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                WL: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                sH: function(c, a) {
                    d[(c | 0) >> 2] = +a
                },
                Bx: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                $H: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        e = r,
                        g = c[a + 52 >> 2] | 0,
                        k = +d[g + 24 >> 2],
                        m = +d[a + 100 >> 2],
                        l = +d[g + 20 >> 2],
                        b = +d[a + 104 >> 2];
                    a = a + 76 | 0;
                    f = +d[a >> 2];
                    f = +d[g + 12 >> 2] + (k * m - l * b) - f;
                    b = m * l + k * b + +d[g + 16 >> 2] - +d[a + 4 >> 2];
                    b = +ib(+(f * f + b * b));
                    r = e;
                    return +b
                },
                mL: function(c, a) {
                    c = c | 0;
                    a = +a;
                    d[c >> 2] = +d[c >> 2] * a;
                    c = c + 4 | 0;
                    d[c >> 2] = +d[c >> 2] * a
                },
                $F: function(c) {
                    return (c | 0) + 20 | 0
                },
                xz: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                cK: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[528] | 0) && 0 != (Ua(528) | 0) && Va(528);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 520;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 520
                },
                KN: function(a) {
                    return c[(a | 0) + 102936 >> 2] | 0
                },
                gE: function(c, a) {
                    d[(c | 0) + 40 >> 2] = +a
                },
                Py: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                xx: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                jK: function(c) {
                    return (c | 0) + 76 | 0
                },
                uH: function(c) {
                    c = c | 0;
                    var a = 0,
                        a = r;
                    c && oa(c);
                    r = a
                },
                fF: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                HF: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    a = Vc[c[(c[a >> 2] | 0) + 16 >> 2] & 63](a, b | 0, d | 0) | 0;
                    r = e;
                    return a | 0
                },
                Oz: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 36 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                JF: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(280) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(280) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b >> 2] = 7368;
                    c[b + 4 >> 2] = 2;
                    d[b + 8 >> 2] = .009999999776482582;
                    c[b + 276 >> 2] = 0;
                    d[b + 12 >> 2] = 0;
                    d[b + 16 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                MB: function(c, a) {
                    d[(c | 0) + 28 >> 2] = +a
                },
                tN: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = c[a + 48 >> 2] | 0,
                        g = f + 4 | 0,
                        k = Ra[g >> 1] | 0;
                    k & 2 || (W[g >> 1] = k | 2, d[f + 144 >> 2] = 0);
                    k = c[a + 52 >> 2] | 0;
                    g = k + 4 | 0;
                    f = Ra[g >> 1] | 0;
                    f & 2 || (W[g >> 1] = f | 2, d[k + 144 >> 2] = 0);
                    d[(a + 120 | 0) >> 2] = +b;
                    r = e
                },
                FM: function(c) {
                    return (c | 0) + 36 | 0
                },
                Cy: function(c) {
                    return (c | 0) + 20 | 0
                },
                nD: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 4 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                ny: function(c, a) {
                    d[(c | 0) +
                        144 >> 2] = +a
                },
                QA: function(c) {
                    return (c | 0) + 28 | 0
                },
                Bu: function(c) {
                    return 0 != (D[(c | 0) + 40 >> 0] | 0) | 0
                },
                rv: function(c) {
                    return + +d[(c | 0) + 72 >> 2]
                },
                eM: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                oz: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                uM: function(a, b, e, f, g) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    g = g | 0;
                    var k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        k = r;
                    c[a + 8 >> 2] = b;
                    c[a + 12 >> 2] = e;
                    m = +d[f >> 2] - +d[b + 12 >> 2];
                    t = f + 4 | 0;
                    n = +d[t >> 2] - +d[b + 16 >> 2];
                    q = b + 24 | 0;
                    p = +d[q >> 2];
                    b = b + 20 | 0;
                    l = +d[b >> 2];
                    x = +(m * p + n * l);
                    u = a + 20 | 0;
                    d[u >> 2] = x;
                    d[u + 4 >> 2] = +(p * n - m * l);
                    l = +d[f >> 2] - +d[e + 12 >> 2];
                    x = +d[t >> 2] - +d[e + 16 >> 2];
                    m = +d[e + 24 >> 2];
                    n = +d[e + 20 >> 2];
                    p = +(l * m + x * n);
                    n = +(m * x - l * n);
                    f = a + 28 | 0;
                    d[f >> 2] = p;
                    d[f + 4 >> 2] = n;
                    n = +d[q >> 2];
                    p = +d[g >> 2];
                    l = +d[b >> 2];
                    x = +d[g + 4 >> 2];
                    m = +(n * p + l * x);
                    l = +(n * x - p * l);
                    b = a + 36 | 0;
                    d[b >> 2] = m;
                    d[b + 4 >> 2] = l;
                    r = k
                },
                UL: function(c, a) {
                    d[(c | 0) + 44 >> 2] = +a
                },
                fy: function(a) {
                    return 0 != (c[(a | 0) + 4 >> 2] & 4 | 0) | 0
                },
                DC: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[400] | 0) && 0 != (Ua(400) | 0) && Va(400);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 392;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 392
                },
                iG: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                uE: function(c) {
                    return + +d[(c | 0) + 92 >> 2]
                },
                lJ: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                Qx: function(c, a) {
                    c = c | 0;
                    a = a | 0;
                    a = wc[a >> 0] | wc[a + 1 >> 0] << 8 | wc[a + 2 >> 0] << 16 | wc[a + 3 >> 0] << 24;
                    D[c >> 0] = a;
                    D[c + 1 >> 0] = a >> 8;
                    D[c + 2 >> 0] = a >> 16;
                    D[c + 3 >> 0] = a >> 24
                },
                vK: function(c) {
                    c = c | 0;
                    var a = 0,
                        b = 0,
                        e = 0,
                        a = r;
                    0 == (D[152] | 0) && 0 != (Ua(152) | 0) && Va(152);
                    e = + +d[c + 4 >> 2];
                    b = + +d[c >> 2];
                    c = 144;
                    d[c >> 2] = e;
                    d[c + 4 >> 2] = b;
                    r = a;
                    return 144
                },
                Cx: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                rL: function(c, a, b, e) {
                    c = c | 0;
                    d[c >> 2] = +a;
                    d[c + 4 >> 2] = +b;
                    d[c + 8 >> 2] = +e
                },
                tA: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                ZA: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                eI: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                Fw: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                yB: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                Ky: function(c, a) {
                    d[(c | 0) + 40 >> 2] = +a
                },
                KI: function(c) {
                    return (c | 0) + 28 | 0
                },
                OI: function(c) {
                    return + +d[(c | 0) + 36 >> 2]
                },
                Ot: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                bp: uc,
                MF: function(c) {
                    return + +d[(c | 0) + 8 >> 2]
                },
                pK: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                NJ: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                zy: function(c) {
                    return + +d[(c | 0) + 44 >> 2]
                },
                NO: function() {
                    return 1
                },
                OO: function() {
                    return 2
                },
                FI: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                Yz: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(28) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(28) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    W[b + 22 >> 1] = 1;
                    W[b + 24 >> 1] = -1;
                    W[b + 26 >> 1] = 0;
                    c[b >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    d[b + 8 >> 2] = .20000000298023224;
                    d[b + 12 >> 2] = 0;
                    d[b + 16 >> 2] = 0;
                    D[b + 20 >> 0] = 0;
                    r = a;
                    return b | 0
                },
                aH: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                Az: function(a) {
                    return 0 != (D[(a | 0) + 45 >> 0] | 0) | 0
                },
                RO: function() {
                    return 1
                },
                tJ: function(a) {
                    return + +d[(a | 0) + 104 >> 2]
                },
                Pu: function(a, c) {
                    D[(a | 0) + 40 >> 0] = (c | 0) & 1
                },
                Ny: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                Mv: function(a, c) {
                    a = a | 0;
                    c = c | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        b = r;
                    0 == (D[720] | 0) && 0 != (Ua(720) | 0) && Va(720);
                    g = +d[a + 24 >> 2];
                    l = +d[c >> 2];
                    k = +d[a + 20 >> 2];
                    e = +d[c + 4 >> 2];
                    f = +(+d[a + 12 >> 2] + (g * l - k * e));
                    e = +(l * k + g * e + +d[a + 16 >> 2]);
                    c = 712;
                    d[c >> 2] = f;
                    d[c + 4 >> 2] = e;
                    r = b;
                    return 712
                },
                SC: function(a) {
                    return + +d[(a | 0) + 8 >> 2]
                },
                Nt: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    a = Vc[c[(c[a >> 2] | 0) + 8 >> 2] & 63](a, b | 0, d | 0) | 0;
                    r = e;
                    return a | 0
                },
                JC: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                eJ: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                MJ: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(40) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(40) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 10;
                    d[b + 20 >> 2] = -1;
                    d[b + 24 >> 2] = 0;
                    d[b + 28 >> 2] = 1;
                    d[b + 32 >> 2] = 0;
                    d[b + 36 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                Ku: function(a) {
                    return + +d[(a | 0) + 28 >> 2]
                },
                VD: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                jO: function(a, b, e, f) {
                    a = a | 0;
                    b = +b;
                    e = e | 0;
                    f = f | 0;
                    var p = 0,
                        p = r,
                        x = a,
                        q = b,
                        t = e,
                        u = f,
                        x = x | 0,
                        q = +q,
                        t = t | 0,
                        u = u | 0,
                        K = 0,
                        w = 0,
                        v = 0,
                        C = 0,
                        F = 0,
                        J = 0,
                        I = 0,
                        B = 0,
                        N = 0,
                        G = 0,
                        X = 0,
                        L = 0,
                        P = 0,
                        E = 0,
                        fa = 0,
                        ca = 0,
                        ea = 0,
                        ja = 0,
                        da = 0,
                        S = 0,
                        M = 0,
                        ha = 0,
                        H = 0,
                        ga = 0,
                        ma = 0,
                        ka = 0,
                        R = 0,
                        na = 0,
                        V = 0,
                        aa = 0,
                        pa = 0,
                        oa = 0,
                        ua = 0,
                        T = 0,
                        va = 0,
                        ya = 0,
                        Ea = 0,
                        Fa = 0,
                        Ma = 0,
                        Ua = 0,
                        Va = 0,
                        Ya = 0,
                        Za = 0,
                        fb = 0,
                        gb = 0,
                        ab = 0,
                        db = 0,
                        eb = 0,
                        $a = 0,
                        ob = 0,
                        vb = 0,
                        xb = 0,
                        yb = 0,
                        pb = 0,
                        jb = 0,
                        zb = 0,
                        rb = 0,
                        Bb = 0,
                        wb = 0,
                        sb = 0,
                        tb = 0,
                        nb = 0,
                        kb = 0,
                        Jb = 0,
                        Eb = 0,
                        Fb = 0,
                        Lb = 0,
                        Nb = 0,
                        Ib = 0,
                        Ub = 0,
                        dc = 0,
                        Sb = 0,
                        Ob = 0,
                        Vb = 0,
                        pc = 0,
                        qc = 0,
                        gc = 0,
                        mc = 0,
                        uc = 0,
                        $b = 0,
                        Kc = 0,
                        rc = 0,
                        bb = 0,
                        lb = 0,
                        xc = 0,
                        Ta = 0,
                        sc = 0,
                        hc = 0,
                        Nc = 0,
                        Oc = 0,
                        qb = 0,
                        hb = 0,
                        cc = 0,
                        ub = 0,
                        Hc = 0,
                        tc = 0,
                        oc = 0,
                        jc = 0,
                        Mc = 0,
                        Wc = 0,
                        Yc = 0,
                        dd = 0,
                        ed = 0,
                        id = 0,
                        jd = 0,
                        nd = 0,
                        pd = 0,
                        rd = 0,
                        sd = 0,
                        vd = 0,
                        wd = 0,
                        Ad = 0,
                        Bd = 0,
                        Cd = 0,
                        Dd = 0,
                        Ed = 0,
                        Fd = 0,
                        Gd = 0,
                        Hd = 0,
                        Id = 0,
                        Jd = 0,
                        Kd = 0,
                        Wb = 0,
                        Pb = 0,
                        xd = 0,
                        ec = 0,
                        Ha = 0,
                        fc = 0,
                        ra = 0,
                        Ld = 0,
                        Pc = 0,
                        Lc = 0,
                        $c = 0,
                        Qb = 0,
                        ac = 0,
                        Dc = 0,
                        bc = 0,
                        od = 0,
                        yd = 0,
                        $d = 0,
                        ae = 0,
                        Wd = 0,
                        fe = 0,
                        hd = 0,
                        kd = 0,
                        Zc = 0,
                        Ic = 0,
                        ad = 0,
                        bd = 0,
                        Xb = 0,
                        sa = 0,
                        Yb = 0,
                        mb = 0,
                        yc = 0,
                        Qc = 0,
                        Ec = 0,
                        Gb = 0,
                        Kb = 0,
                        Qd = 0,
                        Zb = 0,
                        za = 0,
                        Aa = 0,
                        Ia = 0,
                        Cb = 0,
                        zc = 0,
                        Ac = 0,
                        ge = 0,
                        Rc = 0,
                        md = 0,
                        fd = 0,
                        Bc = 0,
                        cd = 0,
                        kc = 0,
                        Db = 0,
                        Tc = 0,
                        Pd = 0,
                        Na = 0,
                        Ca = 0,
                        td = 0,
                        qa = 0,
                        la = 0,
                        Uc = 0,
                        gd = 0,
                        Rd = 0,
                        Sd = 0,
                        ic = 0,
                        Y = 0,
                        xa = 0,
                        K = r;
                    r = r + 608 | 0;
                    C = K;
                    F = K + 16 | 0;
                    J = K + 112 | 0;
                    L = K + 236 | 0;
                    P = K + 404 | 0;
                    v = K + 136 | 0;
                    E = K + 536 | 0;
                    B = K + 456 | 0;
                    N = K + 492 | 0;
                    I = K + 528 | 0;
                    G = K + 368 | 0;
                    X = K + 591 | 0;
                    ga = K + 588 | 0;
                    w = x + 102868 | 0;
                    ea = c[w >> 2] | 0;
                    ea & 1 && (cb(x + 102872 | 0), ea = c[w >> 2] & -2, c[w >> 2] = ea);
                    c[w >> 2] = ea | 2;
                    ja = (ea = 0 < q) ? 1 / q : 0;
                    M = x + 102988 | 0;
                    xd = +d[M >> 2] * q;
                    ma = D[x + 102992 >> 0] | 0;
                    da = x + 102872 | 0;
                    S = x + 102932 | 0;
                    V = c[S >> 2] | 0;
                    a: do
                        if (V) {
                            ha = x + 102884 | 0;
                            ka = x + 102876 | 0;
                            na = x + 102944 | 0;
                            R = x + 102940 | 0;
                            b: for (;;) {
                                ua = c[V + 48 >> 2] | 0;
                                pa = c[V + 52 >> 2] | 0;
                                oa = c[V + 56 >> 2] | 0;
                                aa = c[V + 60 >> 2] | 0;
                                ya = c[ua + 8 >> 2] | 0;
                                T = c[pa + 8 >> 2] | 0;
                                va = V + 4 | 0;
                                Fa = c[va >> 2] | 0;
                                c: do
                                    if (Fa & 8)
                                        if (Qa(T, ya) | 0) {
                                            Ea = c[R >> 2] | 0;
                                            do
                                                if (Ea)
                                                    if (Vc[c[(c[Ea >> 2] | 0) + 8 >> 2] & 63](Ea, ua, pa) | 0) Fa = c[va >> 2] | 0;
                                                    else {
                                                        Y = c[V + 12 >> 2] | 0;
                                                        Sa(da, V);
                                                        V = Y;
                                                        break c
                                                    }
                                            while (0);
                                            c[va >> 2] = Fa & -9;
                                            ca = 16
                                        } else Y = c[V + 12 >> 2] | 0, Sa(da, V), V = Y;
                                else ca = 16;
                                while (0);
                                do
                                    if (16 == (ca | 0))
                                        if (ca = 0, W[ya + 4 >> 1] & 2 ? va = 0 != (c[ya >> 2] | 0) : va = 0, W[T + 4 >> 1] & 2 ? T = 0 != (c[T >> 2] | 0) : T = 0, va | T) {
                                            oa = c[(c[ua + 24 >> 2] | 0) + (28 * oa | 0) + 24 >> 2] | 0;
                                            pa = c[(c[pa + 24 >> 2] | 0) + (28 * aa | 0) + 24 >> 2] | 0;
                                            if (-1 >= (oa | 0)) {
                                                ca = 24;
                                                break b
                                            }
                                            ua = c[ha >> 2] | 0;
                                            if ((ua | 0) <= (oa | 0)) {
                                                ca = 24;
                                                break b
                                            }
                                            aa = c[ka >> 2] | 0;
                                            if (!(-1 < (pa | 0) & (ua | 0) > (pa | 0))) {
                                                ca = 26;
                                                break b
                                            }(0 < +d[aa + (36 * pa | 0) >> 2] - +d[aa + (36 * oa | 0) + 8 >> 2] ? 1 : 0 < +d[aa + (36 * pa | 0) + 4 >> 2] - +d[aa + (36 * oa | 0) + 12 >> 2]) | 0 < +d[aa + (36 * oa | 0) >> 2] - +d[aa + (36 * pa | 0) + 8 >> 2] | 0 < +d[aa + (36 * oa | 0) + 4 >> 2] - +d[aa + (36 * pa | 0) + 12 >> 2] ? (Y = c[V + 12 >> 2] | 0, Sa(da, V), V = Y) : (g(V, c[na >> 2] | 0), V = c[V + 12 >> 2] | 0)
                                        } else V = c[V + 12 >> 2] | 0; while (0);
                                if (!V) break a
                            }
                            24 == (ca | 0) ? Q(11792, 11736, 164, 11856) : 26 == (ca | 0) && Q(11792, 11736, 164, 11856)
                        }
                    while (0);
                    d[x + 103E3 >> 2] = 0;
                    ha = x + 102995 | 0;
                    if (!(0 == (D[ha >> 0] | 0) | ea ^ 1)) {
                        ka = x + 103008 | 0;
                        d[ka >> 2] = 0;
                        R = x + 103012 | 0;
                        d[R >> 2] = 0;
                        na = x + 103016 | 0;
                        d[na >> 2] = 0;
                        pa = x + 102960 | 0;
                        V = x + 68 | 0;
                        vc(E, c[pa >> 2] | 0, c[x + 102936 >> 2] | 0, c[x + 102964 >> 2] | 0, V, c[x + 102944 >> 2] | 0);
                        aa = x + 102952 | 0;
                        if (oa = c[aa >> 2] | 0) {
                            do Y = oa + 4 | 0, W[Y >> 1] = Ra[Y >> 1] & 65534, oa = c[oa + 96 >> 2] | 0; while (0 != (oa | 0))
                        }
                        if (oa = c[S >> 2] | 0) {
                            do Y = oa + 4 | 0, c[Y >> 2] &= -2, oa = c[oa + 12 >> 2] | 0; while (0 != (oa | 0))
                        }
                        if (oa = c[x + 102956 >> 2] | 0) {
                            do D[oa + 60 >> 0] = 0, oa = c[oa + 12 >> 2] | 0; while (0 != (oa | 0))
                        }
                        mc = c[pa >> 2] | 0;
                        gc = Ba(V, mc << 2) | 0;
                        $b = c[aa >> 2] | 0;
                        a: do
                            if ($b) {
                                Vb = E + 28 | 0;
                                va = E + 36 | 0;
                                Ob = E + 32 | 0;
                                pc = x + 102976 | 0;
                                Ub = E + 8 | 0;
                                dc = E + 48 | 0;
                                Sb = E + 16 | 0;
                                Va = x + 102968 | 0;
                                Ya = x + 102972 | 0;
                                tb = E + 20 | 0;
                                Ib = E + 24 | 0;
                                Bb = L + 4 | 0;
                                jb = L + 8 | 0;
                                xb = L + 12 | 0;
                                vb = L + 16 | 0;
                                ob = L + 20 | 0;
                                $a = L + 21 | 0;
                                eb = L + 24 | 0;
                                Za = L + 28 | 0;
                                wb = P + 4 | 0;
                                gb = P + 8 | 0;
                                Lb = P + 12 | 0;
                                Nb = P + 16 | 0;
                                qc = P + 20 | 0;
                                oa = P + 21 | 0;
                                ua = E + 12 | 0;
                                T = P + 24 | 0;
                                ya = P + 28 | 0;
                                Ea = P + 32 | 0;
                                Fa = P + 36 | 0;
                                Ma = P + 40 | 0;
                                Ua = 0 == ma << 24 >> 24;
                                db = 0 < (t | 0);
                                uc = v + 48 | 0;
                                ab = v + 40 | 0;
                                yb = v + 44 | 0;
                                pb = 0 < (u | 0);
                                rb = v + 36 | 0;
                                zb = v + 24 | 0;
                                pa = C + 8 | 0;
                                sb = C + 12 | 0;
                                nb = F + 8 | 0;
                                kb = F + 12 | 0;
                                Jb = J + 8 | 0;
                                Eb = J + 16 | 0;
                                Fb = v + 32 | 0;
                                fb = v + 28 | 0;
                                b: for (;;) {
                                    Kc = $b + 4 | 0;
                                    rc = W[Kc >> 1] | 0;
                                    do
                                        if (34 == (rc & 35) && 0 != (c[$b >> 2] | 0)) {
                                            c[Vb >> 2] = 0;
                                            c[va >> 2] = 0;
                                            c[Ob >> 2] = 0;
                                            c[gc >> 2] = $b;
                                            W[Kc >> 1] = rc & 65535 | 1;
                                            bb = 1;
                                            do {
                                                bb = bb + -1 | 0;
                                                Kc = c[gc + (bb << 2) >> 2] | 0;
                                                lb = Kc + 4 | 0;
                                                if (!(W[lb >> 1] & 32)) {
                                                    ca = 43;
                                                    break b
                                                }
                                                Cc(E, Kc);
                                                rc = Ra[lb >> 1] | 0;
                                                rc & 2 || (W[lb >> 1] = rc | 2, d[Kc + 144 >> 2] = 0);
                                                do
                                                    if (c[Kc >> 2] | 0) {
                                                        if (rc = c[Kc + 112 >> 2] | 0) {
                                                            do {
                                                                lb = c[rc + 4 >> 2] | 0;
                                                                xc = lb + 4 | 0;
                                                                do
                                                                    if (!(6 != (c[xc >> 2] & 7 | 0) || D[(c[lb + 48 >> 2] | 0) + 38 >> 0] | 0 || D[(c[lb + 52 >> 2] | 0) + 38 >> 0] | 0 || (Sc(E, lb), c[xc >> 2] |= 1, lb = c[rc >> 2] | 0, xc = lb + 4 | 0, Ta = W[xc >> 1] | 0, Ta & 1))) {
                                                                        if ((bb | 0) >= (mc | 0)) {
                                                                            ca = 54;
                                                                            break b
                                                                        }
                                                                        c[gc + (bb << 2) >> 2] = lb;
                                                                        W[xc >> 1] = Ta & 65535 | 1;
                                                                        bb = bb + 1 | 0
                                                                    }
                                                                while (0);
                                                                rc = c[rc + 12 >> 2] | 0
                                                            } while (0 != (rc | 0))
                                                        }
                                                        if (Kc = c[Kc + 108 >> 2] | 0) {
                                                            do {
                                                                xc = Kc + 4 | 0;
                                                                rc = c[xc >> 2] | 0;
                                                                do
                                                                    if (!(D[rc + 60 >> 0] | 0) && (Ta = c[Kc >> 2] | 0, hc = Ta + 4 | 0, sc = W[hc >> 1] | 0, sc & 32)) {
                                                                        lb = c[Ob >> 2] | 0;
                                                                        if ((lb | 0) >= (c[dc >> 2] | 0)) {
                                                                            ca = 61;
                                                                            break b
                                                                        }
                                                                        c[Ob >> 2] = lb + 1;
                                                                        c[(c[Sb >> 2] | 0) + (lb << 2) >> 2] = rc;
                                                                        D[(c[xc >> 2] | 0) + 60 >> 0] = 1;
                                                                        if (!(sc & 1)) {
                                                                            if ((bb | 0) >= (mc | 0)) {
                                                                                ca = 64;
                                                                                break b
                                                                            }
                                                                            c[gc + (bb << 2) >> 2] = Ta;
                                                                            W[hc >> 1] = sc & 65535 | 1;
                                                                            bb = bb + 1 | 0
                                                                        }
                                                                    }
                                                                while (0);
                                                                Kc = c[Kc + 12 >> 2] | 0
                                                            } while (0 != (Kc | 0))
                                                        }
                                                    }
                                                while (0)
                                            } while (0 < (bb | 0));
                                            Kc = 0 == (D[pc >> 0] | 0);
                                            rc = c[Vb >> 2] | 0;
                                            if (xc = 0 < (rc | 0)) {
                                                Ta = c[Ub >> 2] | 0;
                                                sc = 0;
                                                do bb = c[Ta + (sc << 2) >> 2] | 0, lb = bb + 44 | 0, hc = c[lb >> 2] | 0, lb = c[lb + 4 >> 2] | 0, fc = +d[bb + 56 >> 2], Y = bb + 64 | 0, Ha = +d[Y >> 2], Ld = +d[Y + 4 >> 2], Pc = +d[bb + 72 >> 2], Y = bb + 36 | 0, c[Y >> 2] = hc, c[Y + 4 >> 2] = lb, d[bb + 52 >> 2] = fc, 2 == (c[bb >> 2] | 0) && (Ca = +d[bb + 140 >> 2], qa = +d[bb +
                                                    120 >> 2], la = 1 / (+d[bb + 132 >> 2] * q + 1), Ha = (Ha + (Ca * +d[Va >> 2] + qa * +d[bb + 76 >> 2]) * q) * la, Ld = (Ld + (Ca * +d[Ya >> 2] + qa * +d[bb + 80 >> 2]) * q) * la, Pc = 1 / (+d[bb + 136 >> 2] * q + 1) * (Pc + +d[bb + 128 >> 2] * q * +d[bb + 84 >> 2])), bb = c[tb >> 2] | 0, Y = bb + (12 * sc | 0) | 0, c[Y >> 2] = hc, c[Y + 4 >> 2] = lb, d[bb + (12 * sc | 0) + 8 >> 2] = fc, lb = c[Ib >> 2] | 0, qa = +Ha, la = +Ld, Y = lb + (12 * sc | 0) | 0, d[Y >> 2] = qa, d[Y + 4 >> 2] = la, d[lb + (12 * sc | 0) + 8 >> 2] = Pc, sc = sc + 1 | 0; while ((sc | 0) < (rc | 0))
                                            } else lb = c[Ib >> 2] | 0, bb = c[tb >> 2] | 0;
                                            d[L >> 2] = q;
                                            d[Bb >> 2] = ja;
                                            d[jb >> 2] = xd;
                                            c[xb >> 2] = t;
                                            c[vb >> 2] = u;
                                            D[ob >> 0] = ma;
                                            D[$a + 0 >> 0] = D[ga +
                                                0 >> 0] | 0;
                                            D[$a + 1 >> 0] = D[ga + 1 >> 0] | 0;
                                            D[$a + 2 >> 0] = D[ga + 2 >> 0] | 0;
                                            c[eb >> 2] = bb;
                                            c[Za >> 2] = lb;
                                            d[P >> 2] = q;
                                            d[wb >> 2] = ja;
                                            d[gb >> 2] = xd;
                                            c[Lb >> 2] = t;
                                            c[Nb >> 2] = u;
                                            D[qc >> 0] = ma;
                                            D[oa + 0 >> 0] = D[ga + 0 >> 0] | 0;
                                            D[oa + 1 >> 0] = D[ga + 1 >> 0] | 0;
                                            D[oa + 2 >> 0] = D[ga + 2 >> 0] | 0;
                                            c[T >> 2] = c[ua >> 2];
                                            c[ya >> 2] = c[va >> 2];
                                            c[Ea >> 2] = bb;
                                            c[Fa >> 2] = lb;
                                            c[Ma >> 2] = c[E >> 2];
                                            k(v, P);
                                            l(v);
                                            if (Ua ? 0 : (H = c[uc >> 2] | 0, 0 < (H | 0))) {
                                                qb = c[fb >> 2] | 0;
                                                hb = c[ab >> 2] | 0;
                                                Ta = 0;
                                                do {
                                                    hc = c[hb + (156 * Ta | 0) + 112 >> 2] | 0;
                                                    Oc = c[hb + (156 * Ta | 0) + 116 >> 2] | 0;
                                                    Ha = +d[hb + (156 * Ta | 0) + 120 >> 2];
                                                    $c = +d[hb + (156 * Ta | 0) + 128 >> 2];
                                                    Lc = +d[hb + (156 * Ta | 0) + 124 >> 2];
                                                    Pc = +d[hb + (156 * Ta | 0) + 132 >> 2];
                                                    cc = c[hb + (156 * Ta | 0) + 148 >> 2] | 0;
                                                    sc = Nc = qb + (12 * hc | 0) | 0;
                                                    ac = +d[sc >> 2];
                                                    bc = +d[sc + 4 >> 2];
                                                    hc = qb + (12 * hc | 0) + 8 | 0;
                                                    Dc = +d[hc >> 2];
                                                    Y = sc = qb + (12 * Oc | 0) | 0;
                                                    od = +d[Y >> 2];
                                                    yd = +d[Y + 4 >> 2];
                                                    Oc = qb + (12 * Oc | 0) + 8 | 0;
                                                    Qb = +d[Oc >> 2];
                                                    Y = hb + (156 * Ta | 0) + 72 | 0;
                                                    Ld = +d[Y >> 2];
                                                    fc = +d[Y + 4 >> 2];
                                                    if (0 < (cc | 0)) {
                                                        ub = 0;
                                                        do Ca = +d[hb + (156 * Ta | 0) + (36 * ub | 0) + 16 >> 2], la = +d[hb + (156 * Ta | 0) + (36 * ub | 0) + 20 >> 2], qa = Ld * Ca + fc * la, la = fc * Ca - Ld * la, Dc -= $c * (+d[hb + (156 * Ta | 0) + (36 * ub | 0) >> 2] * la - +d[hb + (156 * Ta | 0) + (36 * ub | 0) + 4 >> 2] * qa), ac -= Ha * qa, bc -= Ha * la, Qb += Pc * (la * +d[hb + (156 * Ta | 0) + (36 * ub | 0) + 8 >> 2] - qa * +d[hb + (156 * Ta | 0) + (36 * ub | 0) + 12 >> 2]), od += Lc * qa, yd += Lc * la, ub = ub + 1 | 0; while ((ub | 0) != (cc | 0))
                                                    }
                                                    la = +ac;
                                                    qa = +bc;
                                                    Y = Nc;
                                                    d[Y >> 2] = la;
                                                    d[Y + 4 >> 2] = qa;
                                                    d[hc >> 2] = Dc;
                                                    qa = +od;
                                                    la = +yd;
                                                    Y = sc;
                                                    d[Y >> 2] = qa;
                                                    d[Y + 4 >> 2] = la;
                                                    d[Oc >> 2] = Qb;
                                                    Ta = Ta + 1 | 0
                                                } while ((Ta | 0) < (H | 0))
                                            }
                                            Ta = c[Ob >> 2] | 0;
                                            if (sc = 0 < (Ta | 0)) {
                                                Nc = c[Sb >> 2] | 0;
                                                hc = 0;
                                                do Y = c[Nc + (hc << 2) >> 2] | 0, Mb[c[(c[Y >> 2] | 0) + 32 >> 2] & 127](Y, L), hc = hc + 1 | 0; while ((hc | 0) < (Ta | 0))
                                            }
                                            if (db) {
                                                Oc = 0;
                                                do {
                                                    if (sc) {
                                                        hc = c[Sb >> 2] | 0;
                                                        Nc = 0;
                                                        do Y = c[hc + (Nc << 2) >> 2] | 0, Mb[c[(c[Y >> 2] | 0) + 36 >> 2] & 127](Y, L), Nc = Nc + 1 | 0; while ((Nc | 0) < (Ta | 0))
                                                    }
                                                    m(v);
                                                    Oc = Oc + 1 | 0
                                                } while ((Oc | 0) < (t | 0))
                                            }
                                            qb = c[uc >> 2] | 0;
                                            if (0 < (qb | 0)) {
                                                Oc = c[ab >> 2] | 0;
                                                Nc = c[yb >> 2] | 0;
                                                hc = 0;
                                                do {
                                                    hb = c[Nc + (c[Oc + (156 * hc | 0) + 152 >> 2] << 2) >> 2] | 0;
                                                    sc = c[Oc + (156 * hc | 0) + 148 >> 2] | 0;
                                                    if (0 < (sc | 0)) {
                                                        Ta = 0;
                                                        do d[hb + (20 * Ta | 0) + 72 >> 2] = +d[Oc + (156 * hc | 0) + (36 * Ta | 0) + 16 >> 2], d[hb + (20 * Ta | 0) + 76 >> 2] = +d[Oc + (156 * hc | 0) + (36 * Ta | 0) + 20 >> 2], Ta = Ta + 1 | 0; while ((Ta | 0) < (sc | 0))
                                                    }
                                                    hc = hc + 1 | 0
                                                } while ((hc | 0) < (qb | 0))
                                            }
                                            if (xc) {
                                                xc = 0;
                                                do Y = rc = bb + (12 * xc | 0) | 0, Ha = +d[Y >> 2], fc = +d[Y + 4 >> 2], Ld = +d[bb + (12 * xc | 0) + 8 >> 2], Y = lb + (12 * xc | 0) | 0, Pc = +d[Y >> 2], $c = +d[Y + 4 >> 2], Lc = +d[lb + (12 * xc | 0) + 8 >> 2], la = Pc * q, Qb = $c * q, Qb = la * la + Qb * Qb, 4 < Qb && (la = 2 / +ib(+Qb), Pc *= la, $c *= la), Qb = Lc * q, 2.4674012660980225 < Qb * Qb && (0 < Qb || (Qb = -Qb), Lc *= 1.5707963705062866 / Qb), la = +(Ha + Pc * q), qa = +(fc + $c * q), bb = rc, d[bb >> 2] = la, d[bb + 4 >> 2] = qa, bb = c[tb >> 2] | 0, d[bb + (12 * xc | 0) + 8 >> 2] = Ld + Lc * q, lb = c[Ib >> 2] | 0, qa = +Pc, la = +$c, rc = lb + (12 * xc | 0) | 0, d[rc >> 2] = qa, d[rc + 4 >> 2] = la, d[lb + (12 * xc | 0) + 8 >> 2] = Lc, xc = xc + 1 | 0, rc = c[Vb >> 2] | 0; while ((xc | 0) < (rc | 0))
                                            }
                                            c: do
                                                if (pb)
                                                    for (Ta = c[uc >> 2] | 0, xc = 0;;) {
                                                        if (0 < (Ta | 0)) {
                                                            sc = c[zb >> 2] | 0;
                                                            Oc = c[rb >> 2] | 0;
                                                            bc = Nc = 0;
                                                            do {
                                                                Hc = Oc + (88 * Nc | 0) | 0;
                                                                cc = c[Oc + (88 * Nc | 0) + 32 >> 2] | 0;
                                                                qb = c[Oc + (88 * Nc | 0) + 36 >> 2] | 0;
                                                                ub = Oc + (88 * Nc | 0) + 48 | 0;
                                                                $c = +d[ub >> 2];
                                                                Qb = +d[ub + 4 >> 2];
                                                                Lc = +d[Oc + (88 * Nc | 0) + 40 >> 2];
                                                                Ha = +d[Oc + (88 * Nc | 0) + 64 >> 2];
                                                                ub = Oc + (88 * Nc | 0) + 56 | 0;
                                                                ac = +d[ub >> 2];
                                                                Dc = +d[ub + 4 >> 2];
                                                                Ld = +d[Oc + (88 * Nc | 0) + 44 >> 2];
                                                                Pc = +d[Oc + (88 * Nc | 0) + 68 >> 2];
                                                                ub = c[Oc + (88 * Nc | 0) + 84 >> 2] | 0;
                                                                hb = hc = sc + (12 * cc | 0) | 0;
                                                                od = +d[hb >> 2];
                                                                yd = +d[hb + 4 >> 2];
                                                                cc = sc + (12 * cc | 0) + 8 | 0;
                                                                fe = +d[cc >> 2];
                                                                Y = hb = sc + (12 * qb | 0) | 0;
                                                                $d = +d[Y >> 2];
                                                                ae = +d[Y + 4 >> 2];
                                                                qb = sc + (12 * qb | 0) + 8 | 0;
                                                                Wd = +d[qb >> 2];
                                                                if (0 < (ub | 0)) {
                                                                    fc = Lc + Ld;
                                                                    tc = 0;
                                                                    do bd = +Ja(+fe), d[pa >> 2] = bd, Xb = +Ka(+fe), d[sb >> 2] = Xb, ad = +Ja(+Wd), d[nb >> 2] = ad, kd = +Ka(+Wd), d[kb >> 2] = kd, hd = +(od - ($c * Xb - Qb * bd)), bd = +(yd - (Qb * Xb + $c * bd)), Y = C, d[Y >> 2] = hd, d[Y + 4 >> 2] = bd, bd = +($d - (ac * kd - Dc * ad)), ad = +(ae - (Dc * kd + ac * ad)), Y = F, d[Y >> 2] = bd, d[Y + 4 >> 2] = ad, n(J, Hc, C, F, tc), Y = J, ad = +d[Y >> 2], bd = +d[Y + 4 >> 2], Y = Jb, kd = +d[Y >> 2], hd = +d[Y + 4 >> 2], Xb = +d[Eb >> 2], Ic = kd - od, Zc = hd - yd, kd -= $d, hd -= ae, bc = bc < Xb ? bc : Xb, Xb = .20000000298023224 * (Xb + .004999999888241291), Xb = 0 > Xb ? Xb : 0, Yb = bd * Ic - ad * Zc, la = bd * kd - ad * hd, Yb = la * Pc * la +
                                                                        (fc + Yb * Ha * Yb), Xb = 0 < Yb ? -(-.20000000298023224 > Xb ? -.20000000298023224 : Xb) / Yb : 0, la = ad * Xb, qa = bd * Xb, od -= Lc * la, yd -= Lc * qa, fe -= Ha * (Ic * qa - Zc * la), $d += Ld * la, ae += Ld * qa, Wd += Pc * (kd * qa - hd * la), tc = tc + 1 | 0; while ((tc | 0) != (ub | 0))
                                                                }
                                                                la = +od;
                                                                qa = +yd;
                                                                Y = hc;
                                                                d[Y >> 2] = la;
                                                                d[Y + 4 >> 2] = qa;
                                                                d[cc >> 2] = fe;
                                                                qa = +$d;
                                                                la = +ae;
                                                                Y = hb;
                                                                d[Y >> 2] = qa;
                                                                d[Y + 4 >> 2] = la;
                                                                d[qb >> 2] = Wd;
                                                                Nc = Nc + 1 | 0
                                                            } while ((Nc | 0) < (Ta | 0))
                                                        } else bc = 0;
                                                        sc = -.014999999664723873 <= bc;
                                                        Nc = c[Ob >> 2] | 0;
                                                        if (0 < (Nc | 0)) {
                                                            Oc = c[Sb >> 2] | 0;
                                                            hc = 0;
                                                            qb = 1;
                                                            do Y = c[Oc + (hc << 2) >> 2] | 0, qb &= Jc[c[(c[Y >> 2] | 0) + 40 >> 2] & 63](Y, L) | 0, hc = hc + 1 | 0; while ((hc | 0) < (Nc | 0))
                                                        } else qb = 1;
                                                        xc = xc + 1 | 0;
                                                        if (sc & qb) {
                                                            xc = 0;
                                                            break c
                                                        }
                                                        if ((xc | 0) >= (u | 0)) {
                                                            xc = 1;
                                                            break
                                                        }
                                                    } else xc = 1; while (0);
                                            if (0 < (rc | 0)) {
                                                sc = c[Ub >> 2] | 0;
                                                Ta = 0;
                                                do Y = c[sc + (Ta << 2) >> 2] | 0, ic = bb + (12 * Ta | 0) | 0, Sd = c[ic >> 2] | 0, ic = c[ic + 4 >> 2] | 0, Uc = Y + 44 | 0, c[Uc >> 2] = Sd, c[Uc + 4 >> 2] = ic, Ca = +d[bb + (12 * Ta | 0) + 8 >> 2], d[Y + 56 >> 2] = Ca, Uc = lb + (12 * Ta | 0) | 0, gd = c[Uc + 4 >> 2] | 0, Rd = Y + 64 | 0, c[Rd >> 2] = c[Uc >> 2], c[Rd + 4 >> 2] = gd, d[Y + 72 >> 2] = +d[lb + (12 * Ta | 0) + 8 >> 2], Db = +Ja(+Ca), d[Y + 20 >> 2] = Db, Ca = +Ka(+Ca), d[Y + 24 >> 2] = Ca, Na = +d[Y + 28 >> 2], la = +d[Y + 32 >> 2], qa = (c[y >> 2] = Sd, +d[y >> 2]) - (Ca * Na - Db * la), la = (c[y >> 2] = ic, +d[y >> 2]) - (Db * Na + Ca * la), qa = +qa, la = +la, Y = Y + 12 | 0, d[Y >> 2] = qa, d[Y + 4 >> 2] = la, Ta = Ta + 1 | 0; while ((Ta | 0) < (rc | 0))
                                            }
                                            rc = c[ab >> 2] | 0;
                                            Gc(E, rc);
                                            do
                                                if (!(Kc || (Kc = c[Vb >> 2] | 0, 0 >= (Kc | 0)))) {
                                                    bb = c[Ub >> 2] | 0;
                                                    lb = 0;
                                                    Ha = 3.4028234663852886E38;
                                                    do {
                                                        Ta = c[bb + (lb << 2) >> 2] | 0;
                                                        c: do
                                                            if (c[Ta >> 2] | 0) {
                                                                do
                                                                    if (W[Ta + 4 >> 1] & 4 && (la = +d[Ta + 72 >> 2], !(.001218469929881394 < la * la || (qa = +d[Ta + 64 >> 2], la = +d[Ta + 68 >> 2], 9.999999747378752E-5 < qa * qa + la * la)))) {
                                                                        Y = Ta + 144 | 0;
                                                                        la = +d[Y >> 2] + q;
                                                                        d[Y >> 2] = la;
                                                                        Ha = Ha < la ? Ha : la;
                                                                        break c
                                                                    }
                                                                while (0);
                                                                Ha = d[Ta + 144 >> 2] = 0
                                                            }
                                                        while (0);
                                                        lb = lb + 1 | 0
                                                    } while ((lb | 0) < (Kc | 0));
                                                    if (!(!(.5 <= Ha) | xc)) {
                                                        lb = 0;
                                                        do Y = c[bb + (lb << 2) >> 2] | 0, ic = Y + 4 | 0, W[ic >> 1] = Ra[ic >> 1] & 65533, d[Y + 144 >> 2] = 0, Y = Y + 64 | 0, c[Y + 0 >> 2] = 0, c[Y + 4 >> 2] = 0, c[Y + 8 >> 2] = 0, c[Y + 12 >> 2] = 0, c[Y + 16 >> 2] = 0, c[Y + 20 >> 2] = 0, lb = lb + 1 | 0; while ((lb | 0) < (Kc | 0))
                                                    }
                                                }
                                            while (0);
                                            Kc = c[Fb >> 2] | 0;
                                            ta(Kc, rc);
                                            ta(Kc, c[rb >> 2] | 0);
                                            d[ka >> 2] = +d[ka >> 2] + 0;
                                            d[R >> 2] = +d[R >> 2] + 0;
                                            d[na >> 2] = +d[na >> 2] + 0;
                                            Kc = c[Vb >> 2] | 0;
                                            if (!(0 >= (Kc | 0))) {
                                                rc = c[Ub >> 2] | 0;
                                                bb = 0;
                                                do lb = c[rc + (bb << 2) >> 2] | 0, c[lb >> 2] | 0 || (Y = lb + 4 | 0, W[Y >> 1] = Ra[Y >> 1] & 65534), bb = bb + 1 | 0; while ((bb | 0) < (Kc | 0))
                                            }
                                        }
                                    while (0);
                                    $b = c[$b + 96 >> 2] | 0;
                                    if (!$b) break a
                                }
                                43 == (ca | 0) ? Q(11232, 11088, 445, 11256) : 54 == (ca | 0) ? Q(11264, 11088, 495, 11256) : 61 == (ca | 0) ? Q(11920, 11952, 68, 11992) : 64 == (ca | 0) && Q(11264, 11088, 524, 11256)
                            }
                        while (0);
                        ta(V, gc);
                        if (H = c[aa >> 2] | 0) {
                            do 0 != (W[H + 4 >> 1] & 1) && 0 != (c[H >> 2] | 0) && Pa(H), H = c[H + 96 >> 2] | 0; while (0 != (H | 0))
                        }
                        cb(da);
                        d[x + 103020 >> 2] = 0;
                        Fc(E);
                        d[x + 103004 >> 2] = 0
                    }
                    if (D[x + 102993 >> 0] | 0) {
                        if (ea) {
                            H = x + 102944 | 0;
                            vc(E, 64, 32, 0, x + 68 | 0, c[H >> 2] | 0);
                            if (D[ha >> 0] | 0) {
                                if (ga = c[x + 102952 >> 2] | 0) {
                                    do Y = ga + 4 | 0, W[Y >> 1] = Ra[Y >> 1] & 65534, d[ga + 60 >> 2] = 0, ga = c[ga + 96 >> 2] | 0; while (0 != (ga | 0))
                                }
                                if (ga = c[S >> 2] | 0) {
                                    do Y = ga + 4 | 0, c[Y >> 2] &= -34, c[ga + 128 >> 2] = 0, d[ga + 132 >> 2] = 1, ga = c[ga + 12 >> 2] | 0; while (0 != (ga | 0))
                                }
                            }
                            jb = E + 28 | 0;
                            pb = E + 36 | 0;
                            yb = E + 32 | 0;
                            xb = I + 4 | 0;
                            vb = E + 40 | 0;
                            ob = E + 44 | 0;
                            ma = x + 102994 | 0;
                            $a = E + 8 | 0;
                            sb = L + 16 | 0;
                            Nb = L + 20 | 0;
                            Yc = L + 24 | 0;
                            Eb = L + 44 | 0;
                            Fb = L + 48 | 0;
                            Wc = L + 52 | 0;
                            jc = L + 28 | 0;
                            zb = L + 56 | 0;
                            Jd = L + 92 | 0;
                            Id = L + 128 | 0;
                            Hd = L + 56 | 0;
                            Gd = L + 60 | 0;
                            Fd = L + 64 | 0;
                            Ed = L + 68 | 0;
                            Dd = L + 72 | 0;
                            Cd = L + 76 | 0;
                            Bd = L + 80 | 0;
                            ed = L + 84 | 0;
                            Ad = L + 88 | 0;
                            wd = L + 92 | 0;
                            vd = L + 96 | 0;
                            sd = L + 100 | 0;
                            rd = L + 104 | 0;
                            pd = L + 108 | 0;
                            nd = L + 112 | 0;
                            jd = L + 116 | 0;
                            dd = L + 120 | 0;
                            id = L + 124 | 0;
                            Mc = C + 4 | 0;
                            oc = F + 28 | 0;
                            tc = F + 88 | 0;
                            Hc = F + 56 | 0;
                            ub = F + 64 | 0;
                            cc = F + 68 | 0;
                            hb = F + 72 | 0;
                            qb = F + 80 | 0;
                            Oc = F + 84 | 0;
                            Nc = J + 16 | 0;
                            hc = v + 4 | 0;
                            sc = v + 8 | 0;
                            Ta = v + 12 | 0;
                            xc = v + 16 | 0;
                            lb = v + 20 | 0;
                            bb = v + 24 | 0;
                            rc = v + 28 | 0;
                            Kc = v + 32 | 0;
                            $b = v + 36 | 0;
                            uc = v + 40 | 0;
                            mc = v + 44 | 0;
                            gc = v + 48 | 0;
                            qc = v + 52 | 0;
                            pc = v + 56 | 0;
                            Vb = v + 60 | 0;
                            Ob = v + 64 | 0;
                            Sb = v + 68 | 0;
                            dc = v + 72 | 0;
                            Ub = v + 76 | 0;
                            Ib = v + 80 | 0;
                            Lb = C + 9 | 0;
                            kb = v + 92 | 0;
                            nb = v + 96 | 0;
                            Jb = C + 10 | 0;
                            tb = v + 84 | 0;
                            wb = v + 92 | 0;
                            R = v + 84 | 0;
                            rb = v + 88 | 0;
                            eb = E + 20 | 0;
                            db = E + 24 | 0;
                            ab = E + 12 | 0;
                            gb = L + 24 | 0;
                            fb = L + 28 | 0;
                            Za = L + 40 | 0;
                            Ya = L + 4 | 0;
                            Va = L + 8 | 0;
                            Ua = L + 12 | 0;
                            Ma = L + 16 | 0;
                            Fa = L + 20 | 0;
                            Ea = L + 21 | 0;
                            ya = L + 32 | 0;
                            va = L + 36 | 0;
                            Kd = 0 < (t | 0);
                            Bb = P + 40 | 0;
                            ka = P + 32 | 0;
                            ua = P + 36 | 0;
                            T = P + 48 | 0;
                            oa = P + 24 | 0;
                            pa = C + 8 | 0;
                            aa = C + 12 | 0;
                            na = F + 8 | 0;
                            u = F + 12 | 0;
                            ga = J + 8 | 0;
                            V = J + 16 | 0;
                            a: for (;;) {
                                if (Wb = c[S >> 2] | 0) xd = 1, Pb = 0;
                                else {
                                    ca = 255;
                                    break
                                }
                                do {
                                    ec = Wb + 4 | 0;
                                    ra = c[ec >> 2] | 0;
                                    do
                                        if (0 != (ra & 4 | 0) && 8 >= (c[Wb + 128 >> 2] | 0)) {
                                            if (ra & 32) Ha = +d[Wb + 132 >> 2];
                                            else {
                                                sa = c[Wb + 48 >> 2] | 0;
                                                ra = c[Wb + 52 >> 2] | 0;
                                                if (D[sa + 38 >> 0] | 0) break;
                                                if (D[ra + 38 >> 0] | 0) break;
                                                za = c[sa + 8 >> 2] | 0;
                                                Ia = c[ra + 8 >> 2] | 0;
                                                Cb = c[za >> 2] | 0;
                                                zc = c[Ia >> 2] | 0;
                                                if (!(2 == (Cb | 0) | 2 == (zc | 0))) {
                                                    ca = 158;
                                                    break a
                                                }
                                                Aa = W[za + 4 >> 1] | 0;
                                                Ac = W[Ia + 4 >> 1] | 0;
                                                if (!(0 != (Aa & 2) & 0 != (Cb | 0) | 0 != (Ac & 2) & 0 != (zc | 0))) break;
                                                if (!(0 != (Aa & 8) | 2 != (Cb | 0) | 0 != (Ac & 8) | 2 != (zc | 0))) break;
                                                Cb = za + 28 | 0;
                                                Ac = za + 60 | 0;
                                                fc = +d[Ac >> 2];
                                                Aa = Ia + 28 | 0;
                                                zc = Ia + 60 | 0;
                                                Ha = +d[zc >> 2];
                                                do
                                                    if (fc < Ha) {
                                                        if (!(1 > fc)) {
                                                            ca = 163;
                                                            break a
                                                        }
                                                        qa = (Ha - fc) / (1 - fc);
                                                        ic = za + 36 | 0;
                                                        Na = +d[ic >> 2];
                                                        Y = za + 40 | 0;
                                                        Ca = +d[Y >> 2];
                                                        la = qa * (+d[za + 48 >> 2] - Ca);
                                                        d[ic >> 2] = Na + qa * (+d[za + 44 >> 2] - Na);
                                                        d[Y >> 2] = Ca + la;
                                                        Y = za + 52 | 0;
                                                        la = +d[Y >> 2];
                                                        d[Y >> 2] = la + qa * (+d[za + 56 >> 2] - la);
                                                        d[Ac >> 2] = Ha
                                                    } else {
                                                        if (Ha < fc) {
                                                            if (!(1 > Ha)) {
                                                                ca = 167;
                                                                break a
                                                            }
                                                            la = (fc - Ha) / (1 - Ha);
                                                            ic = Ia + 36 | 0;
                                                            Ca = +d[ic >> 2];
                                                            Y = Ia + 40 | 0;
                                                            qa = +d[Y >> 2];
                                                            Ha = la * (+d[Ia + 48 >> 2] - qa);
                                                            d[ic >> 2] = Ca + la * (+d[Ia + 44 >> 2] - Ca);
                                                            d[Y >> 2] = qa + Ha;
                                                            Y = Ia + 52 | 0;
                                                            Ha = +d[Y >> 2];
                                                            d[Y >> 2] = Ha + la * (+d[Ia + 56 >> 2] - Ha);
                                                            d[zc >> 2] = fc
                                                        }
                                                        Ha = fc
                                                    }
                                                while (0);
                                                if (!(1 > Ha)) {
                                                    ca = 170;
                                                    break a
                                                }
                                                Y = c[Wb + 56 >> 2] | 0;
                                                za = c[Wb + 60 >> 2] | 0;
                                                c[sb >> 2] = 0;
                                                c[Nb >> 2] = 0;
                                                d[Yc >> 2] = 0;
                                                c[Eb >> 2] = 0;
                                                c[Fb >> 2] = 0;
                                                d[Wc >> 2] = 0;
                                                A(L, c[sa + 12 >> 2] | 0, Y);
                                                A(jc, c[ra + 12 >> 2] | 0, za);
                                                ra = zb + 0 | 0;
                                                sa = Cb + 0 | 0;
                                                za = ra + 36 | 0;
                                                do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                                ra = Jd + 0 | 0;
                                                sa = Aa + 0 | 0;
                                                za = ra + 36 | 0;
                                                do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                                d[Id >> 2] = 1;
                                                c[1548] = (c[1548] | 0) + 1;
                                                $c = +d[Hd >> 2];
                                                Lc = +d[Gd >> 2];
                                                $d = +d[Fd >> 2];
                                                ae = +d[Ed >> 2];
                                                Xb = +d[Dd >> 2];
                                                bd = +d[Cd >> 2];
                                                Ic = +d[Bd >> 2];
                                                fe = +d[Ad >> 2];
                                                yd = +d[wd >> 2];
                                                Wd = +d[vd >> 2];
                                                Pc = +d[sd >> 2];
                                                Zc = +d[rd >> 2];
                                                ad = +d[pd >> 2];
                                                Qb = +d[nd >> 2];
                                                ac = +d[jd >> 2];
                                                Ld = +d[id >> 2];
                                                hd = 6.2831854820251465 * +ud(+(Ic / 6.2831854820251465));
                                                Ic -= hd;
                                                hd = +d[ed >> 2] - hd;
                                                od = 6.2831854820251465 * +ud(+(ac / 6.2831854820251465));
                                                ac -= od;
                                                od = +d[dd >> 2] - od;
                                                kd = +d[Yc >> 2] + +d[Wc >> 2] + -.014999999664723873;
                                                kd = .004999999888241291 > kd ? .004999999888241291 : kd;
                                                if (!(.0012499999720603228 < kd)) {
                                                    ca = 172;
                                                    break a
                                                }
                                                W[Mc >> 1] = 0;
                                                c[F + 0 >> 2] = c[L + 0 >> 2];
                                                c[F + 4 >> 2] = c[L + 4 >> 2];
                                                c[F + 8 >> 2] = c[L + 8 >> 2];
                                                c[F + 12 >> 2] = c[L + 12 >> 2];
                                                c[F + 16 >> 2] = c[L + 16 >> 2];
                                                c[F + 20 >> 2] = c[L + 20 >> 2];
                                                c[F + 24 >> 2] = c[L + 24 >> 2];
                                                c[oc + 0 >> 2] = c[jc + 0 >> 2];
                                                c[oc + 4 >> 2] = c[jc + 4 >> 2];
                                                c[oc + 8 >> 2] = c[jc + 8 >> 2];
                                                c[oc + 12 >> 2] = c[jc + 12 >> 2];
                                                c[oc + 16 >> 2] = c[jc + 16 >> 2];
                                                c[oc + 20 >> 2] = c[jc + 20 >> 2];
                                                c[oc + 24 >> 2] = c[jc + 24 >> 2];
                                                D[tc >> 0] = 0;
                                                Dc = kd + .0012499999720603228;
                                                bc = kd + -.0012499999720603228;
                                                fc = ra = 0;
                                                b: for (;;) {
                                                    Qc = 1 - fc;
                                                    mb = Qc * Ic + fc * hd;
                                                    Yb = +Ja(+mb);
                                                    mb = +Ka(+mb);
                                                    Kb = Qc * $d + fc * Xb - (mb * $c - Yb * Lc);
                                                    yc = Qc * ae + fc * bd - (Yb * $c + mb * Lc);
                                                    Gb = Qc * ac + fc * od;
                                                    Ec = +Ja(+Gb);
                                                    Gb = +Ka(+Gb);
                                                    Qd = Qc * Pc + fc * ad - (Gb * yd - Ec * Wd);
                                                    Qc = Qc * Zc + fc * Qb - (Ec * yd + Gb * Wd);
                                                    Zb = +Kb;
                                                    la = +yc;
                                                    Y = Hc;
                                                    d[Y >> 2] = Zb;
                                                    d[Y + 4 >> 2] = la;
                                                    d[ub >> 2] = Yb;
                                                    d[cc >> 2] = mb;
                                                    la = +Qd;
                                                    Zb = +Qc;
                                                    Y = hb;
                                                    d[Y >> 2] = la;
                                                    d[Y + 4 >> 2] = Zb;
                                                    d[qb >> 2] = Ec;
                                                    d[Oc >> 2] = Gb;
                                                    z(J, C, F);
                                                    Zb = +d[Nc >> 2];
                                                    if (0 >= Zb) {
                                                        sa = 2;
                                                        fc = 0;
                                                        break
                                                    }
                                                    if (Zb < Dc) {
                                                        sa = 3;
                                                        break
                                                    }
                                                    c[v >> 2] = L;
                                                    c[hc >> 2] = jc;
                                                    za = c[Mc >> 2] | 0;
                                                    Ia = za & 65535;
                                                    sa = za >>> 16;
                                                    Cb = sa & 255;
                                                    za >>>= 24;
                                                    Aa = za & 255;
                                                    if (!(0 != Ia << 16 >> 16 & 3 > (Ia & 65535))) {
                                                        ca = 177;
                                                        break a
                                                    }
                                                    d[sc >> 2] = $c;
                                                    d[Ta >> 2] = Lc;
                                                    d[xc >> 2] = $d;
                                                    d[lb >> 2] = ae;
                                                    d[bb >> 2] = Xb;
                                                    d[rc >> 2] = bd;
                                                    d[Kc >> 2] = Ic;
                                                    d[$b >> 2] = hd;
                                                    d[uc >> 2] = fe;
                                                    d[mc >> 2] = yd;
                                                    d[gc >> 2] = Wd;
                                                    d[qc >> 2] = Pc;
                                                    d[pc >> 2] = Zc;
                                                    d[Vb >> 2] = ad;
                                                    d[Ob >> 2] = Qb;
                                                    d[Sb >> 2] = ac;
                                                    d[dc >> 2] = od;
                                                    d[Ub >> 2] = Ld;
                                                    do {
                                                        if (1 != Ia << 16 >> 16)
                                                            if (Cb << 24 >> 24 == Aa << 24 >> 24) {
                                                                c[Ib >> 2] = 2;
                                                                Ia = wc[Lb >> 0] | 0;
                                                                za = c[Fb >> 2] | 0;
                                                                if ((za | 0) <= (Ia | 0)) {
                                                                    ca = 187;
                                                                    break a
                                                                }
                                                                Aa = c[Eb >> 2] | 0;
                                                                Ia = Aa + (Ia << 3) | 0;
                                                                Bc = +d[Ia >> 2];
                                                                Zb = +d[Ia + 4 >> 2];
                                                                Ia = wc[Jb >> 0] | 0;
                                                                if ((za | 0) <= (Ia | 0)) {
                                                                    ca = 189;
                                                                    break a
                                                                }
                                                                Y = Aa + (Ia << 3) | 0;
                                                                Db = +d[Y >> 2];
                                                                cd = +d[Y + 4 >> 2];
                                                                Ca = Db -
                                                                    Bc;
                                                                Na = cd - Zb;
                                                                kc = -Ca;
                                                                qa = +Na;
                                                                la = +kc;
                                                                Y = kb;
                                                                d[Y >> 2] = qa;
                                                                d[Y + 4 >> 2] = la;
                                                                Ca = +ib(+(Na * Na + Ca * Ca));
                                                                1.1920928955078125E-7 > Ca || (la = 1 / Ca, Na *= la, d[kb >> 2] = Na, kc *= la, d[nb >> 2] = kc);
                                                                Bc = .5 * (Bc + Db);
                                                                Zb = .5 * (Zb + cd);
                                                                qa = +Bc;
                                                                la = +Zb;
                                                                Y = tb;
                                                                d[Y >> 2] = qa;
                                                                d[Y + 4 >> 2] = la;
                                                                sa &= 255;
                                                                if ((c[Nb >> 2] | 0) <= (sa | 0)) {
                                                                    ca = 193;
                                                                    break a
                                                                }
                                                                Y = (c[sb >> 2] | 0) + (sa << 3) | 0;
                                                                qa = +d[Y >> 2];
                                                                la = +d[Y + 4 >> 2];
                                                                0 > (Gb * Na - Ec * kc) * (Kb + (mb * qa - Yb * la) - (Qd + (Gb * Bc - Ec * Zb))) + (Ec * Na + Gb * kc) * (yc + (Yb * qa + mb * la) - (Qc + (Ec * Bc + Gb * Zb))) && (Ec = + -Na, la = + -kc, za = kb, d[za >> 2] = Ec, d[za + 4 >> 2] = la);
                                                                la = $d;
                                                                Ec = ae;
                                                                Qc = Xb;
                                                                qa = bd;
                                                                yc = Ic;
                                                                mb = hd;
                                                                Ca = $c;
                                                                Na = Lc;
                                                                Db = Pc;
                                                                cd = Zc;
                                                                Qd = ad;
                                                                kc = Qb;
                                                                Gb = ac;
                                                                Kb = od;
                                                                Bc = yd;
                                                                Zb = Wd;
                                                                za = 2
                                                            } else {
                                                                c[Ib >> 2] = 1;
                                                                Ia = sa & 255;
                                                                sa = c[Nb >> 2] | 0;
                                                                if ((sa | 0) <= (Ia | 0)) {
                                                                    ca = 197;
                                                                    break a
                                                                }
                                                                Aa = c[sb >> 2] | 0;
                                                                Y = Aa + (Ia << 3) | 0;
                                                                Bc = +d[Y >> 2];
                                                                Zb = +d[Y + 4 >> 2];
                                                                if ((sa | 0) <= (za | 0)) {
                                                                    ca = 199;
                                                                    break a
                                                                }
                                                                Y = Aa + (za << 3) | 0;
                                                                Na = +d[Y >> 2];
                                                                cd = +d[Y + 4 >> 2];
                                                                Ca = Na - Bc;
                                                                Db = cd - Zb;
                                                                kc = -Ca;
                                                                qa = +Db;
                                                                la = +kc;
                                                                Y = kb;
                                                                d[Y >> 2] = qa;
                                                                d[Y + 4 >> 2] = la;
                                                                Ca = +ib(+(Db * Db + Ca * Ca));
                                                                1.1920928955078125E-7 > Ca || (la = 1 / Ca, Db *= la, d[kb >> 2] = Db, kc *= la, d[nb >> 2] = kc);
                                                                Bc = .5 * (Bc + Na);
                                                                Zb = .5 * (Zb + cd);
                                                                qa = +Bc;
                                                                la = +Zb;
                                                                sa = tb;
                                                                d[sa >> 2] = qa;
                                                                d[sa + 4 >> 2] = la;
                                                                sa = wc[Lb >> 0] | 0;
                                                                if ((c[Fb >> 2] | 0) <= (sa | 0)) {
                                                                    ca = 203;
                                                                    break a
                                                                }
                                                                Y = (c[Eb >> 2] | 0) + (sa << 3) | 0;
                                                                qa = +d[Y >> 2];
                                                                la = +d[Y + 4 >> 2];
                                                                0 > (mb * Db - Yb * kc) * (Qd + (Gb * qa - Ec * la) - (Kb + (mb * Bc - Yb * Zb))) + (Yb * Db + mb * kc) * (Qc + (Ec * qa + Gb * la) - (yc + (Yb * Bc + mb * Zb))) && (Ec = + -Db, la = + -kc, za = kb, d[za >> 2] = Ec, d[za + 4 >> 2] = la);
                                                                la = $d;
                                                                Ec = ae;
                                                                Qc = Xb;
                                                                qa = bd;
                                                                yc = Ic;
                                                                mb = hd;
                                                                Ca = $c;
                                                                Na = Lc;
                                                                Db = Pc;
                                                                cd = Zc;
                                                                Qd = ad;
                                                                kc = Qb;
                                                                Gb = ac;
                                                                Kb = od;
                                                                Bc = yd;
                                                                Zb = Wd;
                                                                za = 1
                                                            }
                                                        else {
                                                            c[Ib >> 2] = 0;
                                                            sa &= 255;
                                                            if ((c[Nb >> 2] | 0) <= (sa | 0)) {
                                                                ca = 180;
                                                                break a
                                                            }
                                                            sa = (c[sb >> 2] | 0) + (sa << 3) | 0;
                                                            Bc = +d[sa >> 2];
                                                            Zb = +d[sa +
                                                                4 >> 2];
                                                            sa = wc[Lb >> 0] | 0;
                                                            if ((c[Fb >> 2] | 0) <= (sa | 0)) {
                                                                ca = 182;
                                                                break a
                                                            }
                                                            Y = (c[Eb >> 2] | 0) + (sa << 3) | 0;
                                                            qa = +d[Y >> 2];
                                                            la = +d[Y + 4 >> 2];
                                                            Kb = Qd + (Gb * qa - Ec * la) - (Kb + (mb * Bc - Yb * Zb));
                                                            Yb = Qc + (Ec * qa + Gb * la) - (yc + (Yb * Bc + mb * Zb));
                                                            la = +Kb;
                                                            mb = +Yb;
                                                            Y = kb;
                                                            d[Y >> 2] = la;
                                                            d[Y + 4 >> 2] = mb;
                                                            mb = +ib(+(Kb * Kb + Yb * Yb));
                                                            1.1920928955078125E-7 > mb || (la = 1 / mb, d[kb >> 2] = Kb * la, d[nb >> 2] = Yb * la);
                                                            la = $d;
                                                            Ec = ae;
                                                            Qc = Xb;
                                                            qa = bd;
                                                            yc = Ic;
                                                            mb = hd;
                                                            Ca = $c;
                                                            Na = Lc;
                                                            Db = Pc;
                                                            cd = Zc;
                                                            Qd = ad;
                                                            kc = Qb;
                                                            Gb = ac;
                                                            Kb = od;
                                                            Bc = yd;
                                                            Zb = Wd;
                                                            za = 0
                                                        }
                                                        Yb = sa = 1
                                                    } while (0);
                                                    for (;;) {
                                                        xa = 1 - Yb;
                                                        mb = xa * yc + mb * Yb;
                                                        yc = +Ja(+mb);
                                                        mb = +Ka(+mb);
                                                        Qc = xa * la + Qc * Yb - (mb * Ca - yc * Na);
                                                        Ec = xa * Ec + qa * Yb - (yc * Ca + mb * Na);
                                                        Gb = xa * Gb + Kb * Yb;
                                                        Kb = +Ja(+Gb);
                                                        Gb = +Ka(+Gb);
                                                        Qd = xa * Db + Qd * Yb - (Gb * Bc - Kb * Zb);
                                                        Zb = xa * cd + kc * Yb - (Kb * Bc + Gb * Zb);
                                                        if (za)
                                                            if (1 == (za | 0)) {
                                                                xa = +d[wb >> 2];
                                                                cd = +d[nb >> 2];
                                                                Bc = mb * xa - yc * cd;
                                                                cd = yc * xa + mb * cd;
                                                                xa = +d[R >> 2];
                                                                Db = +d[rb >> 2];
                                                                Qc += mb * xa - yc * Db;
                                                                mb = Ec + (yc * xa + mb * Db);
                                                                Db = -Bc;
                                                                xa = -cd;
                                                                kc = Gb * Db + Kb * xa;
                                                                Db = Gb * xa - Kb * Db;
                                                                za = c[hc >> 2] | 0;
                                                                Aa = c[za + 16 >> 2] | 0;
                                                                za = c[za + 20 >> 2] | 0;
                                                                if (1 < (za | 0)) {
                                                                    Rc = 0;
                                                                    yc = Db * +d[Aa + 4 >> 2] + kc * +d[Aa >> 2];
                                                                    for (Ia = 1; Ec = kc * +d[Aa + (Ia << 3) >> 2] + Db * +d[Aa + (Ia << 3) + 4 >> 2], Rc = (Cb = Ec > yc) ? Ia : Rc, Ia = Ia + 1 | 0, (Ia | 0) != (za | 0);) yc = Cb ? Ec : yc;
                                                                    if (-1 >= (Rc | 0)) {
                                                                        ca = 223;
                                                                        break a
                                                                    }
                                                                } else Rc = 0;
                                                                if ((za | 0) <= (Rc | 0)) {
                                                                    ca = 223;
                                                                    break a
                                                                }
                                                                Ia = Aa + (Rc << 3) | 0;
                                                                la = +d[Ia >> 2];
                                                                xa = +d[Ia + 4 >> 2];
                                                                Kb = Bc * (Qd + (Gb * la - Kb * xa) - Qc) + cd * (Zb + (Kb * la + Gb * xa) - mb);
                                                                Ia = -1
                                                            } else if (2 == (za | 0)) {
                                                            la = +d[wb >> 2];
                                                            cd = +d[nb >> 2];
                                                            Bc = Gb * la - Kb * cd;
                                                            cd = Kb * la + Gb * cd;
                                                            la = +d[R >> 2];
                                                            xa = +d[rb >> 2];
                                                            Qd += Gb * la - Kb * xa;
                                                            Gb = Zb + (Kb * la + Gb * xa);
                                                            Zb = -Bc;
                                                            xa = -cd;
                                                            Kb = mb * Zb + yc * xa;
                                                            Zb = mb * xa - yc * Zb;
                                                            za = c[v >> 2] | 0;
                                                            Aa = c[za + 16 >> 2] | 0;
                                                            za = c[za + 20 >> 2] | 0;
                                                            if (1 < (za | 0)) {
                                                                Ia = 0;
                                                                kc = Zb * +d[Aa + 4 >> 2] + Kb * +d[Aa >> 2];
                                                                for (Cb = 1; Db = Kb * +d[Aa + (Cb << 3) >> 2] + Zb * +d[Aa + (Cb << 3) + 4 >> 2], Ia = (zc = Db > kc) ? Cb : Ia, Cb = Cb + 1 | 0, (Cb | 0) != (za | 0);) kc = zc ? Db : kc;
                                                                if (-1 >= (Ia | 0)) {
                                                                    ca = 230;
                                                                    break a
                                                                }
                                                            } else Ia = 0;
                                                            if ((za | 0) <= (Ia | 0)) {
                                                                ca = 230;
                                                                break a
                                                            }
                                                            Rc = Aa + (Ia << 3) | 0;
                                                            xa = +d[Rc >> 2];
                                                            Kb = +d[Rc + 4 >> 2];
                                                            Kb = Bc * (Qc + (mb * xa - yc * Kb) - Qd) + cd * (Ec + (yc * xa + mb * Kb) - Gb);
                                                            Rc = -1
                                                        } else {
                                                            ca = 232;
                                                            break a
                                                        } else {
                                                            Bc = +d[wb >> 2];
                                                            cd = +d[nb >> 2];
                                                            Ca = mb * Bc + yc * cd;
                                                            Na = mb * cd - yc * Bc;
                                                            Db = -Bc;
                                                            xa = -cd;
                                                            kc = Gb * Db + Kb * xa;
                                                            Db = Gb * xa - Kb * Db;
                                                            za = c[v >> 2] | 0;
                                                            Aa = c[za + 16 >> 2] | 0;
                                                            za = c[za + 20 >> 2] | 0;
                                                            if (1 < (za | 0))
                                                                for (Ia = 0, qa = Na * +d[Aa + 4 >> 2] + Ca * +d[Aa >> 2], zc = 1; la = Ca * +d[Aa + (zc << 3) >> 2] + Na * +d[Aa + (zc << 3) + 4 >> 2], Ia = (Cb = la > qa) ? zc : Ia, zc = zc + 1 | 0, (zc | 0) != (za | 0);) qa = Cb ? la : qa;
                                                            else Ia = 0;
                                                            Cb = c[hc >> 2] | 0;
                                                            zc = c[Cb + 16 >> 2] | 0;
                                                            Cb = c[Cb + 20 >> 2] | 0;
                                                            if (1 < (Cb | 0))
                                                                for (Rc = 0, Ca = Db * +d[zc + 4 >> 2] + kc * +d[zc >> 2], Ac = 1; Na = kc * +d[zc + (Ac << 3) >> 2] + Db * +d[zc + (Ac << 3) + 4 >> 2], Rc = (ge = Na > Ca) ? Ac : Rc, Ac = Ac + 1 | 0, (Ac | 0) != (Cb | 0);) Ca = ge ? Na : Ca;
                                                            else Rc = 0;
                                                            if (!(-1 < (Ia | 0) & (za | 0) > (Ia | 0))) {
                                                                ca = 214;
                                                                break a
                                                            }
                                                            Y = Aa + (Ia << 3) | 0;
                                                            kc = +d[Y >> 2];
                                                            Db = +d[Y + 4 >> 2];
                                                            if (!(-1 < (Rc | 0) & (Cb | 0) > (Rc | 0))) {
                                                                ca = 216;
                                                                break a
                                                            }
                                                            Y = zc + (Rc << 3) | 0;
                                                            la = +d[Y >> 2];
                                                            xa = +d[Y + 4 >> 2];
                                                            Kb = Bc * (Qd + (Gb * la - Kb * xa) - (Qc + (mb * kc - yc * Db))) + cd * (Zb + (Kb * la + Gb * xa) - (Ec + (yc * kc + mb * Db)))
                                                        }
                                                        if (Kb > Dc) {
                                                            sa = 4;
                                                            fc = 1;
                                                            ca = 246;
                                                            break b
                                                        }
                                                        if (Kb > bc) {
                                                            fc = Yb;
                                                            break
                                                        }
                                                        Qc = +U(v, Ia, Rc, fc);
                                                        if (Qc < bc) {
                                                            sa = 1;
                                                            ca = 246;
                                                            break b
                                                        }
                                                        if (Qc <= Dc) {
                                                            sa = 3;
                                                            ca = 246;
                                                            break b
                                                        } else mb = fc, yc = Yb, za = 0;
                                                        for (;;) {
                                                            Gb = za & 1 ? mb + (kd - Qc) * (yc - mb) / (Kb - Qc) : .5 * (mb + yc);
                                                            za = za + 1 | 0;
                                                            c[1554] = (c[1554] | 0) + 1;
                                                            Ec = +U(v, Ia, Rc, Gb);
                                                            Qd = Ec - kd;
                                                            0 < Qd || (Qd = -Qd);
                                                            if (.0012499999720603228 > Qd) {
                                                                Yb = Gb;
                                                                break
                                                            }
                                                            Aa = Ec > kd;
                                                            if (50 == (za | 0)) break;
                                                            else mb = Aa ? Gb : mb, yc = Aa ? yc : Gb, Qc = Aa ? Ec : Qc, Kb = Aa ? Kb : Ec
                                                        }
                                                        Y = c[1556] | 0;
                                                        c[1556] = (Y | 0) > (za | 0) ? Y : za;
                                                        if (16 == (sa | 0)) break;
                                                        la = +d[xc >> 2];
                                                        Ec = +d[lb >> 2];
                                                        Qc = +d[bb >> 2];
                                                        qa = +d[rc >> 2];
                                                        yc = +d[Kc >> 2];
                                                        mb = +d[$b >> 2];
                                                        Ca = +d[sc >> 2];
                                                        Na = +d[Ta >> 2];
                                                        Db = +d[qc >> 2];
                                                        cd = +d[pc >> 2];
                                                        Qd = +d[Vb >> 2];
                                                        kc = +d[Ob >> 2];
                                                        Gb = +d[Sb >> 2];
                                                        Kb = +d[dc >> 2];
                                                        Bc = +d[mc >> 2];
                                                        Zb = +d[gc >> 2];
                                                        za = c[Ib >> 2] | 0;
                                                        sa = sa + 1 | 0
                                                    }
                                                    ra = ra + 1 | 0;
                                                    c[1550] = (c[1550] | 0) + 1;
                                                    if (20 == (ra | 0)) {
                                                        ra = 20;
                                                        sa = 1;
                                                        break
                                                    }
                                                }
                                                246 == (ca | 0) && (ca = 0, c[1550] = (c[1550] | 0) + 1, ra = ra + 1 | 0);
                                                Y = c[1552] | 0;
                                                c[1552] = (Y | 0) > (ra | 0) ? Y : ra;
                                                3 == (sa | 0) ? (Ha += (1 - Ha) * fc, Ha = 1 > Ha ? Ha : 1) : Ha = 1;
                                                d[Wb + 132 >> 2] = Ha;
                                                c[ec >> 2] |= 32
                                            }
                                            Ha < xd && (xd = Ha, Pb = Wb)
                                        }
                                    while (0);
                                    Wb = c[Wb + 12 >> 2] | 0
                                } while (0 != (Wb | 0));
                                if (0 == (Pb | 0) | .9999988079071045 < xd) {
                                    ca = 255;
                                    break
                                }
                                ec = c[(c[Pb + 48 >> 2] | 0) + 8 >> 2] | 0;
                                Wb = c[(c[Pb + 52 >> 2] | 0) + 8 >> 2] | 0;
                                Ia = ec + 28 | 0;
                                ra = B + 0 | 0;
                                sa = Ia + 0 | 0;
                                za = ra + 36 | 0;
                                do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                Aa = Wb + 28 | 0;
                                ra = N + 0 | 0;
                                sa = Aa + 0 | 0;
                                za = ra + 36 | 0;
                                do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                ra = ec + 60 | 0;
                                Ha = +d[ra >> 2];
                                if (!(1 > Ha)) {
                                    ca = 257;
                                    break
                                }
                                Ca = (xd - Ha) / (1 - Ha);
                                zc = ec + 44 | 0;
                                Y = ec + 36 | 0;
                                Ha = +d[Y >> 2];
                                Ac = ec +
                                    48 | 0;
                                Cb = ec + 40 | 0;
                                qa = +d[Cb >> 2];
                                la = Ca * (+d[Ac >> 2] - qa);
                                d[Y >> 2] = Ha + Ca * (+d[zc >> 2] - Ha);
                                d[Cb >> 2] = qa + la;
                                Cb = ec + 56 | 0;
                                Y = ec + 52 | 0;
                                la = +d[Y >> 2];
                                la += Ca * (+d[Cb >> 2] - la);
                                d[Y >> 2] = la;
                                d[ra >> 2] = xd;
                                ra = ec + 36 | 0;
                                Y = c[ra >> 2] | 0;
                                ra = c[ra + 4 >> 2] | 0;
                                ge = ec + 44 | 0;
                                c[ge >> 2] = Y;
                                c[ge + 4 >> 2] = ra;
                                d[Cb >> 2] = la;
                                Ca = +Ja(+la);
                                ge = ec + 20 | 0;
                                d[ge >> 2] = Ca;
                                la = +Ka(+la);
                                md = ec + 24 | 0;
                                d[md >> 2] = la;
                                Tc = ec + 12 | 0;
                                fd = ec + 28 | 0;
                                qa = +d[fd >> 2];
                                Rc = ec + 32 | 0;
                                Ha = +d[Rc >> 2];
                                xa = (c[y >> 2] = Y, +d[y >> 2]) - (la * qa - Ca * Ha);
                                Ha = (c[y >> 2] = ra, +d[y >> 2]) - (Ca * qa + la * Ha);
                                xa = +xa;
                                Ha = +Ha;
                                ra = Tc;
                                d[ra >> 2] = xa;
                                d[ra +
                                    4 >> 2] = Ha;
                                ra = Wb + 60 | 0;
                                Ha = +d[ra >> 2];
                                if (!(1 > Ha)) {
                                    ca = 259;
                                    break
                                }
                                Na = (xd - Ha) / (1 - Ha);
                                td = Wb + 44 | 0;
                                sa = Wb + 36 | 0;
                                xa = +d[sa >> 2];
                                Pd = Wb + 48 | 0;
                                Uc = Wb + 40 | 0;
                                Ca = +d[Uc >> 2];
                                qa = Na * (+d[Pd >> 2] - Ca);
                                d[sa >> 2] = xa + Na * (+d[td >> 2] - xa);
                                d[Uc >> 2] = Ca + qa;
                                Uc = Wb + 56 | 0;
                                sa = Wb + 52 | 0;
                                qa = +d[sa >> 2];
                                qa += Na * (+d[Uc >> 2] - qa);
                                d[sa >> 2] = qa;
                                d[ra >> 2] = xd;
                                ra = Wb + 36 | 0;
                                sa = c[ra >> 2] | 0;
                                ra = c[ra + 4 >> 2] | 0;
                                gd = Wb + 44 | 0;
                                c[gd >> 2] = sa;
                                c[gd + 4 >> 2] = ra;
                                d[Uc >> 2] = qa;
                                Na = +Ja(+qa);
                                gd = Wb + 20 | 0;
                                d[gd >> 2] = Na;
                                qa = +Ka(+qa);
                                Rd = Wb + 24 | 0;
                                d[Rd >> 2] = qa;
                                Y = Wb + 12 | 0;
                                Sd = Wb + 28 | 0;
                                Ca = +d[Sd >> 2];
                                ic = Wb + 32 | 0;
                                xa = +d[ic >> 2];
                                la = (c[y >> 2] = sa, +d[y >> 2]) - (qa * Ca - Na * xa);
                                xa = (c[y >> 2] = ra, +d[y >> 2]) - (Na * Ca + qa * xa);
                                la = +la;
                                xa = +xa;
                                ra = Y;
                                d[ra >> 2] = la;
                                d[ra + 4 >> 2] = xa;
                                g(Pb, c[H >> 2] | 0);
                                ra = Pb + 4 | 0;
                                sa = c[ra >> 2] | 0;
                                c[ra >> 2] = sa & -33;
                                za = Pb + 128 | 0;
                                c[za >> 2] = (c[za >> 2] | 0) + 1;
                                if (6 != (sa & 6 | 0)) {
                                    c[ra >> 2] = sa & -37;
                                    ra = Ia + 0 | 0;
                                    sa = B + 0 | 0;
                                    za = ra + 36 | 0;
                                    do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                    ra = Aa + 0 | 0;
                                    sa = N + 0 | 0;
                                    za = ra + 36 | 0;
                                    do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                    Ca = +d[Cb >> 2];
                                    la = +Ja(+Ca);
                                    d[ge >> 2] = la;
                                    Ca = +Ka(+Ca);
                                    d[md >> 2] = Ca;
                                    xa = +d[fd >> 2];
                                    qa = +d[Rc >> 2];
                                    Na = +(+d[zc >> 2] - (Ca * xa - la * qa));
                                    qa = +(+d[Ac >> 2] - (la * xa + Ca * qa));
                                    d[Tc >> 2] = Na;
                                    d[Tc + 4 >> 2] = qa;
                                    qa = +d[Uc >> 2];
                                    Na = +Ja(+qa);
                                    d[gd >> 2] = Na;
                                    qa = +Ka(+qa);
                                    d[Rd >> 2] = qa;
                                    Ca = +d[Sd >> 2];
                                    xa = +d[ic >> 2];
                                    la = +(+d[td >> 2] - (qa * Ca - Na * xa));
                                    xa = +(+d[Pd >> 2] - (Na * Ca + qa * xa));
                                    d[Y >> 2] = la;
                                    d[Y + 4 >> 2] = xa
                                } else {
                                    sa = ec + 4 | 0;
                                    za = Ra[sa >> 1] | 0;
                                    za & 2 || (W[sa >> 1] = za | 2, d[ec + 144 >> 2] = 0);
                                    Aa = Wb + 4 | 0;
                                    za = Ra[Aa >> 1] | 0;
                                    za & 2 || (W[Aa >> 1] = za | 2, d[Wb + 144 >> 2] = 0);
                                    c[jb >> 2] = 0;
                                    c[pb >> 2] = 0;
                                    c[yb >> 2] = 0;
                                    Cc(E, ec);
                                    Cc(E, Wb);
                                    Sc(E, Pb);
                                    W[sa >> 1] = Ra[sa >> 1] | 1;
                                    W[Aa >> 1] = Ra[Aa >> 1] | 1;
                                    c[ra >> 2] |= 1;
                                    c[I >> 2] = ec;
                                    c[xb >> 2] = Wb;
                                    ra = ec;
                                    for (Pb = 1;;) {
                                        b: do
                                            if (2 == (c[ra >> 2] | 0) && (fa = c[ra + 112 >> 2] | 0, 0 != (fa | 0))) {
                                                Cb = ra + 4 | 0;
                                                Ia = fa;
                                                do {
                                                    if ((c[jb >> 2] | 0) == (c[vb >> 2] | 0)) break b;
                                                    if ((c[pb >> 2] | 0) == (c[ob >> 2] | 0)) break b;
                                                    ge = c[Ia + 4 >> 2] | 0;
                                                    Ac = ge + 4 | 0;
                                                    c: do
                                                        if (!(c[Ac >> 2] & 1)) {
                                                            Aa = c[Ia >> 2] | 0;
                                                            do
                                                                if (!(2 != (c[Aa >> 2] | 0) || W[Cb >> 1] & 8 || W[Aa + 4 >> 1] & 8)) break c; while (0);
                                                            if (!(D[(c[ge + 48 >> 2] | 0) + 38 >> 0] | 0 || D[(c[ge + 52 >> 2] | 0) + 38 >> 0] | 0)) {
                                                                zc = Aa + 28 | 0;
                                                                ra = G + 0 | 0;
                                                                sa = zc + 0 | 0;
                                                                za = ra + 36 | 0;
                                                                do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                                                ra = Aa + 4 | 0;
                                                                if (!(W[ra >> 1] & 1)) {
                                                                    sa = Aa + 60 | 0;
                                                                    Ha = +d[sa >> 2];
                                                                    if (!(1 > Ha)) {
                                                                        ca = 280;
                                                                        break a
                                                                    }
                                                                    Na = (xd - Ha) / (1 - Ha);
                                                                    Y = Aa + 36 | 0;
                                                                    xa = +d[Y >> 2];
                                                                    Sd = Aa + 40 | 0;
                                                                    Ca = +d[Sd >> 2];
                                                                    qa = Na * (+d[Aa + 48 >> 2] - Ca);
                                                                    d[Y >> 2] = xa + Na * (+d[Aa + 44 >> 2] - xa);
                                                                    d[Sd >> 2] = Ca + qa;
                                                                    Sd = Aa + 56 | 0;
                                                                    Y = Aa + 52 | 0;
                                                                    qa = +d[Y >> 2];
                                                                    qa += Na * (+d[Sd >> 2] - qa);
                                                                    d[Y >> 2] = qa;
                                                                    d[sa >> 2] = xd;
                                                                    Y = Aa + 36 | 0;
                                                                    ic = c[Y >> 2] | 0;
                                                                    Y = c[Y + 4 >> 2] | 0;
                                                                    Rd = Aa + 44 | 0;
                                                                    c[Rd >> 2] = ic;
                                                                    c[Rd + 4 >> 2] = Y;
                                                                    d[Sd >> 2] = qa;
                                                                    Na = +Ja(+qa);
                                                                    d[Aa + 20 >> 2] = Na;
                                                                    qa = +Ka(+qa);
                                                                    d[Aa + 24 >> 2] = qa;
                                                                    Ca = +d[Aa + 28 >> 2];
                                                                    xa = +d[Aa + 32 >> 2];
                                                                    la = (c[y >> 2] = ic, +d[y >> 2]) - (qa * Ca - Na * xa);
                                                                    xa = (c[y >> 2] = Y, +d[y >> 2]) - (Na * Ca + qa * xa);
                                                                    la = +la;
                                                                    xa = +xa;
                                                                    Y = Aa + 12 | 0;
                                                                    d[Y >> 2] = la;
                                                                    d[Y + 4 >> 2] = xa
                                                                }
                                                                g(ge, c[H >> 2] | 0);
                                                                sa = c[Ac >> 2] | 0;
                                                                if (sa & 4)
                                                                    if (sa & 2) c[Ac >> 2] = sa | 1, Sc(E, ge), sa = Ra[ra >> 1] | 0, sa & 1 || (W[ra >> 1] = sa | 1, c[Aa >> 2] | 0 && !(sa & 2) && (W[ra >> 1] = sa | 3, d[Aa + 144 >> 2] = 0), Cc(E, Aa));
                                                                    else {
                                                                        ra = zc + 0 | 0;
                                                                        sa = G + 0 | 0;
                                                                        za = ra + 36 | 0;
                                                                        do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                                                        qa = +d[Aa + 56 >> 2];
                                                                        Na = +Ja(+qa);
                                                                        d[Aa + 20 >> 2] = Na;
                                                                        qa = +Ka(+qa);
                                                                        d[Aa + 24 >> 2] = qa;
                                                                        Ca = +d[Aa + 28 >> 2];
                                                                        xa = +d[Aa + 32 >> 2];
                                                                        la = +(+d[Aa + 44 >> 2] - (qa * Ca - Na * xa));
                                                                        xa = +(+d[Aa +
                                                                            48 >> 2] - (Na * Ca + qa * xa));
                                                                        Y = Aa + 12 | 0;
                                                                        d[Y >> 2] = la;
                                                                        d[Y + 4 >> 2] = xa
                                                                    }
                                                                else {
                                                                    ra = zc + 0 | 0;
                                                                    sa = G + 0 | 0;
                                                                    za = ra + 36 | 0;
                                                                    do c[ra >> 2] = c[sa >> 2], ra = ra + 4 | 0, sa = sa + 4 | 0; while ((ra | 0) < (za | 0));
                                                                    qa = +d[Aa + 56 >> 2];
                                                                    Na = +Ja(+qa);
                                                                    d[Aa + 20 >> 2] = Na;
                                                                    qa = +Ka(+qa);
                                                                    d[Aa + 24 >> 2] = qa;
                                                                    Ca = +d[Aa + 28 >> 2];
                                                                    xa = +d[Aa + 32 >> 2];
                                                                    la = +(+d[Aa + 44 >> 2] - (qa * Ca - Na * xa));
                                                                    xa = +(+d[Aa + 48 >> 2] - (Na * Ca + qa * xa));
                                                                    Y = Aa + 12 | 0;
                                                                    d[Y >> 2] = la;
                                                                    d[Y + 4 >> 2] = xa
                                                                }
                                                            }
                                                        }
                                                    while (0);
                                                    Ia = c[Ia + 12 >> 2] | 0
                                                } while (0 != (Ia | 0))
                                            }while (0);
                                        if (2 <= (Pb | 0)) break;ra = c[I + (Pb << 2) >> 2] | 0;Pb = Pb + 1 | 0
                                    }
                                    xd = (1 - xd) * q;
                                    Ha = 1 / xd;
                                    Pb = c[ec + 8 >> 2] | 0;
                                    ec = c[Wb +
                                        8 >> 2] | 0;
                                    Ia = c[jb >> 2] | 0;
                                    if ((Ia | 0) <= (Pb | 0)) {
                                        ca = 295;
                                        break
                                    }
                                    if ((Ia | 0) <= (ec | 0)) {
                                        ca = 300;
                                        break
                                    }
                                    if (Wb = 0 < (Ia | 0)) {
                                        za = c[$a >> 2] | 0;
                                        sa = c[eb >> 2] | 0;
                                        ra = c[db >> 2] | 0;
                                        Aa = 0;
                                        do Y = c[za + (Aa << 2) >> 2] | 0, ic = Y + 44 | 0, Sd = c[ic + 4 >> 2] | 0, Rd = sa + (12 * Aa | 0) | 0, c[Rd >> 2] = c[ic >> 2], c[Rd + 4 >> 2] = Sd, d[sa + (12 * Aa | 0) + 8 >> 2] = +d[Y + 56 >> 2], Rd = Y + 64 | 0, Sd = c[Rd + 4 >> 2] | 0, ic = ra + (12 * Aa | 0) | 0, c[ic >> 2] = c[Rd >> 2], c[ic + 4 >> 2] = Sd, d[ra + (12 * Aa | 0) + 8 >> 2] = +d[Y + 72 >> 2], Aa = Aa + 1 | 0; while ((Aa | 0) < (Ia | 0))
                                    } else sa = c[eb >> 2] | 0, ra = c[db >> 2] | 0;
                                    c[gb >> 2] = c[ab >> 2];
                                    c[fb >> 2] = c[pb >> 2];
                                    c[Za >> 2] = c[E >> 2];
                                    d[L >> 2] = xd;
                                    d[Ya >> 2] = Ha;
                                    d[Va >> 2] = 1;
                                    c[Ua >> 2] = t;
                                    c[Ma >> 2] = 20;
                                    D[Fa >> 0] = 0;
                                    D[Ea + 0 >> 0] = D[X + 0 >> 0] | 0;
                                    D[Ea + 1 >> 0] = D[X + 1 >> 0] | 0;
                                    D[Ea + 2 >> 0] = D[X + 2 >> 0] | 0;
                                    c[ya >> 2] = sa;
                                    c[va >> 2] = ra;
                                    k(P, L);
                                    Ia = c[T >> 2] | 0;
                                    Aa = 0 < (Ia | 0);
                                    Cb = c[ua >> 2] | 0;
                                    zc = c[oa >> 2] | 0;
                                    za = 0;
                                    do {
                                        if (Aa) {
                                            bc = Ac = 0;
                                            do {
                                                Pd = Cb + (88 * Ac | 0) | 0;
                                                Rc = c[Cb + (88 * Ac | 0) + 32 >> 2] | 0;
                                                fd = c[Cb + (88 * Ac | 0) + 36 >> 2] | 0;
                                                Tc = Cb + (88 * Ac | 0) + 48 | 0;
                                                Pc = +d[Tc >> 2];
                                                ac = +d[Tc + 4 >> 2];
                                                Tc = Cb + (88 * Ac | 0) + 56 | 0;
                                                Qb = +d[Tc >> 2];
                                                $c = +d[Tc + 4 >> 2];
                                                Tc = c[Cb + (88 * Ac | 0) + 84 >> 2] | 0;
                                                (Rc | 0) == (Pb | 0) | (Rc | 0) == (ec | 0) ? (Ha = +d[Cb + (88 * Ac | 0) + 64 >> 2], Lc = +d[Cb + (88 * Ac | 0) + 40 >> 2]) : Lc = Ha = 0;
                                                (fd | 0) == (Pb | 0) | (fd | 0) == (ec | 0) ? (fc = +d[Cb + (88 * Ac | 0) + 68 >> 2], Ld = +d[Cb + (88 * Ac | 0) + 44 >> 2]) : Ld = fc = 0;
                                                md = ge = zc + (12 * Rc | 0) | 0;
                                                od = +d[md >> 2];
                                                yd = +d[md + 4 >> 2];
                                                md = zc + (12 * Rc | 0) + 8 | 0;
                                                kd = +d[md >> 2];
                                                Y = Rc = zc + (12 * fd | 0) | 0;
                                                $d = +d[Y >> 2];
                                                ae = +d[Y + 4 >> 2];
                                                fd = zc + (12 * fd | 0) + 8 | 0;
                                                Wd = +d[fd >> 2];
                                                if (0 < (Tc | 0)) {
                                                    Dc = Lc + Ld;
                                                    td = 0;
                                                    do ad = +Ja(+kd), d[pa >> 2] = ad, Xb = +Ka(+kd), d[aa >> 2] = Xb, bd = +Ja(+Wd), d[na >> 2] = bd, hd = +Ka(+Wd), d[u >> 2] = hd, fe = +(od - (Pc * Xb - ac * ad)), ad = +(yd - (ac * Xb + Pc * ad)), Y = C, d[Y >> 2] = fe, d[Y + 4 >> 2] = ad, ad = +($d - (Qb * hd - $c * bd)), bd = +(ae - ($c * hd + Qb * bd)), Y = F, d[Y >> 2] = ad, d[Y + 4 >> 2] = bd, n(J, Pd, C, F, td), Y = J, bd = +d[Y >> 2], ad = +d[Y + 4 >> 2], Y = ga, hd = +d[Y >> 2], fe = +d[Y + 4 >> 2], Xb = +d[V >> 2], Zc = hd - od, Ic = fe - yd, hd -= $d, fe -= ae, bc = bc < Xb ? bc : Xb, Xb = .75 * (Xb + .004999999888241291), Xb = 0 > Xb ? Xb : 0, Yb = ad * Zc - bd * Ic, xa = ad * hd - bd * fe, Yb = xa * fc * xa + (Dc + Yb * Ha * Yb), Xb = 0 < Yb ? -(-.20000000298023224 > Xb ? -.20000000298023224 : Xb) / Yb : 0, xa = bd * Xb, la = ad * Xb, od -= Lc * xa, yd -= Lc * la, kd -= Ha * (Zc * la - Ic * xa), $d += Ld * xa, ae += Ld * la, Wd += fc * (hd * la - fe * xa), td = td + 1 | 0; while ((td | 0) != (Tc | 0))
                                                }
                                                xa = +od;
                                                la = +yd;
                                                Y = ge;
                                                d[Y >> 2] = xa;
                                                d[Y + 4 >> 2] = la;
                                                d[md >> 2] = kd;
                                                la = +$d;
                                                xa = +ae;
                                                Y = Rc;
                                                d[Y >> 2] = la;
                                                d[Y + 4 >> 2] = xa;
                                                d[fd >> 2] = Wd;
                                                Ac = Ac + 1 | 0
                                            } while ((Ac | 0) < (Ia | 0))
                                        } else bc = 0;
                                        za = za + 1 | 0
                                    } while (!(-.007499999832361937 <= bc) & 20 > (za | 0));
                                    Y = c[$a >> 2] | 0;
                                    Rd = Y + (Pb << 2) | 0;
                                    gd = sa + (12 * Pb | 0) | 0;
                                    ic = c[gd + 4 >> 2] | 0;
                                    Sd = (c[Rd >> 2] | 0) + 36 | 0;
                                    c[Sd >> 2] = c[gd >> 2];
                                    c[Sd + 4 >> 2] = ic;
                                    d[(c[Rd >> 2] | 0) + 52 >> 2] = +d[sa + (12 * Pb | 0) + 8 >> 2];
                                    Y = Y + (ec << 2) | 0;
                                    Rd = sa + (12 * ec | 0) | 0;
                                    Sd = c[Rd + 4 >> 2] | 0;
                                    ic = (c[Y >> 2] | 0) + 36 | 0;
                                    c[ic >> 2] = c[Rd >> 2];
                                    c[ic + 4 >> 2] = Sd;
                                    d[(c[Y >> 2] | 0) + 52 >> 2] = +d[sa + (12 * ec | 0) + 8 >> 2];
                                    l(P);
                                    if (Kd) {
                                        Pb = 0;
                                        do m(P), Pb = Pb + 1 | 0; while ((Pb | 0) < (t | 0))
                                    }
                                    if (Wb) {
                                        Pb = 0;
                                        do Y = Wb = sa + (12 * Pb | 0) | 0, fc = +d[Y >> 2], Ha = +d[Y + 4 >> 2], Ld = +d[sa + (12 * Pb | 0) + 8 >> 2], Y = ra + (12 * Pb | 0) | 0, Pc = +d[Y >> 2], Lc = +d[Y + 4 >> 2], $c = +d[ra + (12 * Pb | 0) + 8 >> 2], xa = xd * Pc, Qb = xd * Lc, Qb = xa * xa + Qb * Qb, 4 < Qb && (xa = 2 / +ib(+Qb), Pc *= xa, Lc *= xa), Qb = xd * $c, 2.4674012660980225 < Qb * Qb && (0 < Qb || (Qb = -Qb), $c *= 1.5707963705062866 / Qb), la = fc + xd * Pc, Db = Ha + xd * Lc, qa = Ld + xd * $c, kc = +la, xa = +Db, sa = Wb, d[sa >> 2] = kc, d[sa + 4 >> 2] = xa, sa = c[eb >> 2] | 0, d[sa + (12 * Pb | 0) + 8 >> 2] = qa, ra = c[db >> 2] | 0, Ca = +Pc, Na = +Lc, Y = ra + (12 * Pb | 0) | 0, d[Y >> 2] = Ca, d[Y + 4 >> 2] = Na, d[ra + (12 * Pb | 0) + 8 >> 2] = $c, Y = c[(c[$a >> 2] | 0) + (Pb << 2) >> 2] | 0, ic = Y + 44 | 0, d[ic >> 2] = kc, d[ic + 4 >> 2] = xa, d[Y + 56 >> 2] = qa, ic = Y + 64 | 0, d[ic >> 2] = Ca, d[ic + 4 >> 2] = Na, d[Y + 72 >> 2] = $c, Na = +Ja(+qa), d[Y + 20 >> 2] = Na, qa = +Ka(+qa), d[Y + 24 >> 2] = qa, Ca = +d[Y + 28 >> 2], xa = +d[Y + 32 >> 2], la = +(la - (qa * Ca - Na * xa)), xa = +(Db - (Na * Ca + qa * xa)), Y = Y + 12 | 0, d[Y >> 2] = la, d[Y + 4 >> 2] = xa, Pb = Pb + 1 | 0; while ((Pb | 0) < (c[jb >> 2] | 0))
                                    }
                                    Y = c[Bb >> 2] | 0;
                                    Gc(E, Y);
                                    ec = c[ka >> 2] | 0;
                                    ta(ec, Y);
                                    ta(ec, c[ua >> 2] | 0);
                                    ec = c[jb >> 2] | 0;
                                    if (0 < (ec | 0)) {
                                        Wb = c[$a >> 2] | 0;
                                        Pb = 0;
                                        do {
                                            ra = c[Wb + (Pb << 2) >> 2] | 0;
                                            Y = ra + 4 | 0;
                                            W[Y >> 1] = Ra[Y >> 1] & 65534;
                                            if (2 == (c[ra >> 2] | 0) && (Pa(ra), ra = c[ra + 112 >> 2] | 0)) {
                                                do Y = (c[ra + 4 >> 2] | 0) + 4 | 0, c[Y >> 2] &= -34, ra = c[ra + 12 >> 2] | 0; while (0 != (ra | 0))
                                            }
                                            Pb = Pb + 1 | 0
                                        } while ((Pb | 0) < (ec | 0))
                                    }
                                    cb(da);
                                    if (D[ma >> 0] | 0) {
                                        ca = 332;
                                        break
                                    }
                                }
                            }
                            switch (ca | 0) {
                                case 158:
                                    Q(11288, 11088, 641, 11344);
                                    break;
                                case 163:
                                    Q(11360, 11872, 704, 11912);
                                    break;
                                case 167:
                                    Q(11360, 11872, 704, 11912);
                                    break;
                                case 170:
                                    Q(11360, 11088, 676, 11344);
                                    break;
                                case 172:
                                    Q(6232, 6256, 279, 6304);
                                    break;
                                case 177:
                                    Q(6456, 6256, 52, 16288);
                                    break;
                                case 180:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 182:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 187:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 189:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 193:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 197:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 199:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 203:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 214:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 216:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 223:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 230:
                                    Q(6336, 6368, 103, 6416);
                                    break;
                                case 232:
                                    Q(15224, 6256, 186, 6432);
                                    break;
                                case 255:
                                    D[ha >> 0] = 1;
                                    break;
                                case 257:
                                    Q(11360, 11872, 704, 11912);
                                    break;
                                case 259:
                                    Q(11360, 11872, 704, 11912);
                                    break;
                                case 280:
                                    Q(11360, 11872, 704, 11912);
                                    break;
                                case 295:
                                    Q(10968, 10992, 386, 11344);
                                    break;
                                case 300:
                                    Q(11040, 10992, 387, 11344);
                                    break;
                                case 332:
                                    D[ha >> 0] = 0
                            }
                            Fc(E);
                            d[x + 103024 >> 2] = 0;
                            ca = 334
                        }
                    } else ca = 334;
                    334 == (ca | 0) && ea && (d[M >> 2] = ja);
                    v = c[w >> 2] | 0;
                    if (v & 4 && (C = c[x + 102952 >> 2] | 0)) {
                        do d[C + 76 >> 2] = 0, d[C + 80 >> 2] = 0, d[C + 84 >> 2] = 0, C = c[C + 96 >> 2] | 0; while (0 != (C | 0))
                    }
                    Y = v & -3;
                    c[w >> 2] = Y;
                    Y = x + 102996 | 0;
                    d[Y >> 2] = 0;
                    r = K;
                    r = p
                },
                Tw: function(a, b, d, e, f) {
                    a = a | 0;
                    var g = 0,
                        g = r;
                    a = Mc[c[(c[a >> 2] | 0) + 20 >> 2] & 63](a, b | 0, d | 0, e | 0, f | 0) | 0;
                    r = g;
                    return a | 0
                },
                kH: function(a) {
                    return + +d[(a | 0) >> 2]
                },
                tL: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(12) | 0) return r = a, b | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(12) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return r = a, d | 0;
                    return 0
                },
                uL: function(a, b, e) {
                    a = +a;
                    b = +b;
                    e = +e;
                    var f = 0,
                        g = 0,
                        f = r,
                        g = ma(12) | 0;
                    a: do
                        if (!g) {
                            for (;;) {
                                g = c[4582] | 0;
                                c[4582] = g + 0;
                                if (!g) break;
                                ab[g & 63]();
                                if (g = ma(12) | 0) break a
                            }
                            g = eb(4) | 0;
                            c[g >> 2] = 18168;
                            db(g | 0, 18216, 116)
                        }
                    while (0);
                    d[g >> 2] = a;
                    d[g + 4 >> 2] = b;
                    d[g + 8 >> 2] = e;
                    r = f;
                    return g | 0
                },
                dI: function(a) {
                    return + +d[(a | 0) + 88 >> 2]
                },
                Uz: function(a, c) {
                    W[(a | 0) >> 1] = c | 0
                },
                AE: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                HG: function(a) {
                    return (a | 0) + 68 | 0
                },
                OK: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                rF: function(a, c) {
                    d[(a | 0) + 88 >> 2] = +c
                },
                HN: function(a) {
                    return 0 != (c[(a | 0) + 102868 >> 2] & 4 | 0) | 0
                },
                QO: function() {
                    return 0
                },
                Wu: function(a, c) {
                    D[(a | 0) + 38 >> 0] = (c | 0) & 1
                },
                hK: function(a) {
                    return c[(a | 0) + 164 >> 2] | 0
                },
                jC: function(a) {
                    return 0 != (D[(a | 0) + 16 >> 0] | 0) | 0
                },
                ov: function(a) {
                    var c = 0,
                        c = r;
                    Ma(a | 0);
                    r = c
                },
                sJ: function(a) {
                    return + +d[(a | 0) + 120 >> 2]
                },
                Lv: function(a) {
                    return (a | 0) + 44 | 0
                },
                St: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                Zu: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 16 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                oC: function(a, c) {
                    D[(a | 0) + 16 >> 0] = (c | 0) & 1
                },
                IE: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                Kv: function(a) {
                    return c[(a | 0) + 148 >> 2] | 0
                },
                MN: function(a) {
                    return 0 != (D[(a | 0) + 102993 >> 0] | 0) | 0
                },
                zA: function(a, b, d, e) {
                    a = a | 0;
                    var f = 0,
                        g = 0,
                        f = r,
                        g = c[a + 12 >> 2] | 0;
                    b = Mc[c[(c[g >> 2] | 0) + 20 >> 2] & 63](g, b | 0, d | 0, (c[a + 8 >> 2] | 0) + 12 | 0, e | 0) | 0;
                    r = f;
                    return b | 0
                },
                mC: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                AB: function(a) {
                    return 0 != (D[(a | 0) + 16 >> 0] | 0) | 0
                },
                SJ: function(a) {
                    return + +d[(a | 0) + 36 >> 2]
                },
                LE: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                Zv: function(a, c) {
                    var b = 0;
                    a = (a | 0) + 4 | 0;
                    b = Ra[a >> 1] | 0;
                    W[a >> 1] = c | 0 ? b | 8 : b & 65527
                },
                cz: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                cA: function(a) {
                    return + +d[(a | 0) + 12 >> 2]
                },
                wA: function(a) {
                    return c[(c[(a | 0) + 12 >> 2] | 0) + 4 >> 2] | 0
                },
                QH: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 44 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                mJ: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                nH: function(a, c) {
                    d[(a | 0) + 12 >> 2] = +c
                },
                aK: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                WF: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                dw: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        e = r;
                    c[a >> 2] | 0 && (l = +d[b >> 2], k = +d[b + 4 >> 2], 0 < l * l + k * k && (g = a + 4 | 0, f = Ra[g >> 1] | 0, 0 == (f & 2 | 0)) && (W[g >> 1] = f | 2, d[a + 144 >> 2] = 0), f = b, g = c[f + 4 >> 2] | 0, b = a + 64 | 0, c[b >> 2] = c[f >> 2], c[b + 4 >> 2] = g);
                    r = e
                },
                zJ: function(a) {
                    return + +d[(a | 0) + 116 >> 2]
                },
                HH: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                kG: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                LA: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r,
                        b = ma(44) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(44) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 9;
                    d = b + 20 | 0;
                    c[d + 0 >> 2] = 0;
                    c[d + 4 >> 2] = 0;
                    c[d + 8 >> 2] = 0;
                    c[d + 12 >> 2] = 0;
                    c[d + 16 >> 2] = 0;
                    c[d + 20 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                UO: oa,
                ZH: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        e = r,
                        g = c[a + 48 >> 2] | 0,
                        k = +d[g + 24 >> 2],
                        m = +d[a +
                            92 >> 2],
                        l = +d[g + 20 >> 2],
                        b = +d[a + 96 >> 2];
                    a = a + 68 | 0;
                    f = +d[a >> 2];
                    f = +d[g + 12 >> 2] + (k * m - l * b) - f;
                    b = m * l + k * b + +d[g + 16 >> 2] - +d[a + 4 >> 2];
                    b = +ib(+(f * f + b * b));
                    r = e;
                    return +b
                },
                $C: function(a) {
                    return (a | 0) + 40 | 0
                },
                su: function(a, b, e) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        x = 0,
                        p = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        v = 0,
                        w = 0,
                        f = r;
                    r = r + 32 | 0;
                    m = f + 8 | 0;
                    k = f + 24 | 0;
                    l = f + 16 | 0;
                    g = f;
                    p = e;
                    v = c[p >> 2] | 0;
                    p = c[p + 4 >> 2] | 0;
                    n = m;
                    c[n >> 2] = v;
                    c[n + 4 >> 2] = p;
                    u = +d[e + 8 >> 2] - (c[y >> 2] = v, +d[y >> 2]);
                    q = +d[e + 12 >> 2] - +d[e + 4 >> 2];
                    d[k >> 2] = u;
                    d[k + 4 >> 2] = q;
                    0 < u || (u = -u);
                    0 < q || (q = -q);
                    d[l >> 2] = u;
                    d[l + 4 >> 2] = q;
                    p = a + 8 | 0;
                    x = g + 4 | 0;
                    n = 0;
                    q = 3.4028234663852886E38;
                    for (t = -3.4028234663852886E38;;) {
                        if (1.1920928955078125E-7 > u) {
                            u = +d[m + (n << 2) >> 2];
                            if (u < +d[a + (n << 2) >> 2]) {
                                g = 0;
                                a = 17;
                                break
                            }
                            if (+d[p + (n << 2) >> 2] < u) {
                                g = 0;
                                a = 17;
                                break
                            }
                        } else if (K = 1 / +d[k + (n << 2) >> 2], u = +d[m + (n << 2) >> 2], w = K * (+d[a + (n << 2) >> 2] - u), u = K * (+d[p + (n << 2) >> 2] - u), K = (v = w > u) ? u : w, u = v ? w : u, K > t && (d[g >> 2] = 0, d[x >> 2] = 0, d[g + (n << 2) >> 2] = v ? 1 : -1, t = K), q = q < u ? q : u, t > q) {
                            g = 0;
                            a = 17;
                            break
                        }
                        n = n + 1 | 0;
                        if (2 <= (n | 0)) {
                            a = 14;
                            break
                        }
                        u = +d[l + (n << 2) >> 2]
                    }
                    if (14 == (a | 0)) {
                        if (0 > t || +d[e + 16 >> 2] < t) return r = f, 0;
                        d[b +
                            8 >> 2] = t;
                        p = g;
                        n = c[p + 4 >> 2] | 0;
                        v = b;
                        c[v >> 2] = c[p >> 2];
                        c[v + 4 >> 2] = n;
                        r = f;
                        return 1
                    }
                    return 17 == (a | 0) ? (r = f, g | 0) : 0
                },
                iA: function(a, c) {
                    D[(a | 0) + 20 >> 0] = (c | 0) & 1
                },
                fK: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                AG: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[296] | 0) && 0 != (Ua(296) | 0) && Va(296);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 288;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 288
                },
                Hw: function(a, b) {
                    c[(a | 0) + 16 >> 2] = b | 0
                },
                XG: function(a) {
                    return 0 != (D[(a | 0) + 137 >> 0] | 0) | 0
                },
                hM: function(a) {
                    return + +d[(a | 0) + 68 >> 2]
                },
                LC: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                LI: function(a) {
                    return + +d[(a | 0) + 44 >> 2]
                },
                gD: function(a, b) {
                    c[(a | 0) + 56 >> 2] = b | 0
                },
                Xy: function(a) {
                    return + +d[(a | 0) + 104 >> 2]
                },
                $J: function(a, c) {
                    d[(a | 0) + 36 >> 2] = +c
                },
                ww: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    a = Vc[c[(c[a >> 2] | 0) + 16 >> 2] & 63](a, b | 0, d | 0) | 0;
                    r = e;
                    return a | 0
                },
                RG: function(a) {
                    return + +d[(a | 0) + 100 >> 2]
                },
                sI: function(a) {
                    return (a | 0) + 8 | 0
                },
                hJ: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        e = r,
                        f = a + 112 | 0;
                    (b & 1 | 0) != (wc[f >> 0] | 0) && (g = c[a + 48 >> 2] | 0, k = g + 4 | 0, l = Ra[k >> 1] | 0, l & 2 || (W[k >> 1] = l | 2, d[g + 144 >> 2] = 0), g = c[a +
                        52 >> 2] | 0, k = g + 4 | 0, l = Ra[k >> 1] | 0, l & 2 || (W[k >> 1] = l | 2, d[g + 144 >> 2] = 0), D[f >> 0] = b & 1, d[a + 92 >> 2] = 0);
                    r = e
                },
                Ru: function(a, c) {
                    d[(a | 0) + 12 >> 2] = +c
                },
                oM: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                DM: function(a) {
                    return (a | 0) + 20 | 0
                },
                SH: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                Rv: function(a) {
                    return 0 != (W[(a | 0) + 4 >> 1] & 8) | 0
                },
                dE: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                DD: function(a, c) {
                    var b = 0,
                        b = r;
                    ya(a | 0, c | 0);
                    r = b
                },
                hv: function(a, b, e, f) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        g = r;
                    2 == (c[a >> 2] | 0) && (l = a + 4 | 0, m = W[l >> 1] | 0, f | 0 && 0 == (m & 2) && (k = m & 65535, 0 == (k & 2 | 0)) && (m = (k | 2) & 65535, W[l >> 1] = m, d[a + 144 >> 2] = 0), m & 2 && (x = +d[a + 120 >> 2], l = b + 4 | 0, p = x * +d[l >> 2], m = a + 64 | 0, d[m >> 2] = x * +d[b >> 2] + +d[m >> 2], m = a + 68 | 0, d[m >> 2] = p + +d[m >> 2], m = a + 72 | 0, d[m >> 2] = +d[m >> 2] + +d[a + 128 >> 2] * ((+d[e >> 2] - +d[a + 44 >> 2]) * +d[l >> 2] - (+d[e + 4 >> 2] - +d[a + 48 >> 2]) * +d[b >> 2])));
                    r = g
                },
                yF: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    wd[c[(c[a >> 2] | 0) + 28 >> 2] & 63](a, b | 0, +d);
                    r = e
                },
                iM: function(a) {
                    return (a | 0) + 80 | 0
                },
                sF: function(a, c) {
                    d[(a | 0) + 84 >> 2] = +c
                },
                Ez: function(a) {
                    return (a | 0) + 12 | 0
                },
                Uu: function(a, c) {
                    D[(a | 0) + 37 >> 0] = (c | 0) & 1
                },
                kL: function(a) {
                    return + +d[(a | 0) + 4 >> 2]
                },
                kv: function(a, c) {
                    var b = 0,
                        b = r;
                    a = Fa(a | 0, c | 0) | 0;
                    r = b;
                    return a | 0
                },
                lv: function(a, b, e) {
                    var f = 0,
                        g = 0,
                        f = r;
                    r = r + 32 | 0;
                    g = f;
                    W[g + 22 >> 1] = 1;
                    W[g + 24 >> 1] = -1;
                    W[g + 26 >> 1] = 0;
                    c[g + 4 >> 2] = 0;
                    d[g + 8 >> 2] = .20000000298023224;
                    d[g + 12 >> 2] = 0;
                    D[g + 20 >> 0] = 0;
                    c[g >> 2] = b | 0;
                    d[g + 16 >> 2] = +e;
                    b = Fa(a | 0, g) | 0;
                    r = f;
                    return b | 0
                },
                jI: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                Vv: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        d = r,
                        e = a + 88 | 0,
                        f = c[e >> 2] | 0;
                    c[f + 102868 >> 2] & 2 && Q(8888, 8624, 456, 9112);
                    g = a + 4 | 0;
                    k = W[g >> 1] | 0;
                    if (0 != (k & 32) ^ b)
                        if (k &= 65535, b) {
                            if (W[g >> 1] = k | 32, e = f + 102872 | 0, f = c[a + 100 >> 2] | 0) {
                                a = a + 12 | 0;
                                do nb(f, e, a), f = c[f + 4 >> 2] | 0; while (0 != (f | 0))
                            }
                        } else {
                            W[g >> 1] = k & 65503;
                            f = f + 102872 | 0;
                            if (b = c[a + 100 >> 2] | 0) {
                                do Bb(b, f), b = c[b + 4 >> 2] | 0; while (0 != (b | 0))
                            }
                            a = a + 112 | 0;
                            if (f = c[a >> 2] | 0) {
                                do k = f, f = c[f + 12 >> 2] | 0, Sa((c[e >> 2] | 0) + 102872 | 0, c[k + 4 >> 2] | 0); while (0 != (f | 0))
                            }
                            c[a >> 2] = 0
                        }
                    r = d
                },
                xA: function(a) {
                    return c[(a | 0) + 40 >> 2] | 0
                },
                xF: function(a, b, d, e) {
                    a = a | 0;
                    var f = 0,
                        f = r;
                    cc[c[(c[a >> 2] | 0) + 24 >> 2] & 63](a, b | 0, d | 0, e | 0);
                    r = f
                },
                Gx: function(a) {
                    return D[(a | 0) + 2 >> 0] | 0
                },
                lF: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[136] | 0) && 0 != (Ua(136) | 0) && Va(136);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 128;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 128
                },
                oB: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                wz: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    a = Vc[c[(c[a >> 2] | 0) + 16 >> 2] & 63](a, b | 0, d | 0) | 0;
                    r = e;
                    return a | 0
                },
                $o: kb,
                KF: function(a) {
                    return (a | 0) + 12 | 0
                },
                xw: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                dC: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                DL: function(a, c) {
                    d[(a | 0) + 8 >> 2] = +c
                },
                mG: function(a, c) {
                    D[(a | 0) + 48 >> 0] = (c | 0) & 1
                },
                Wy: function(a) {
                    return + +d[(a | 0) + 68 >> 2]
                },
                aw: function(a, c) {
                    d[(a | 0) + 140 >> 2] = +c
                },
                pO: function() {
                    return 1
                },
                qu: function(a) {
                    a = a | 0;
                    return +(2 * (+d[a + 8 >> 2] - +d[a >> 2] + (+d[a + 12 >> 2] - +d[a + 4 >> 2])))
                },
                BH: function(a) {
                    return + +d[(a | 0) + 52 >> 2]
                },
                BL: function(a, c) {
                    d[(a | 0) >> 2] = +c
                },
                GH: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                Vt: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    Mb[c[(c[a >> 2] | 0) + 16 >> 2] & 127](a, b | 0);
                    r = d
                },
                MK: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                cp: function(a) {
                    a = a | 0;
                    for (var c = 0, c = a; D[c >> 0] | 0;) c = c + 1 | 0;
                    return c - a | 0
                },
                nx: function(a, c) {
                    d[(a | 0) + 8 >> 2] = +c
                },
                IC: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[416] | 0) && 0 != (Ua(416) | 0) && Va(416);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 408;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 408
                },
                hA: function(a, c) {
                    d[(a | 0) + 8 >> 2] = +c
                },
                Nx: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                zz: function(a) {
                    return 0 != (D[(a | 0) + 44 >> 0] | 0) | 0
                },
                iu: function(a, b, d, e, f) {
                    a = a | 0;
                    var g = 0,
                        g = r;
                    f = +Bd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](a, b | 0, d | 0, e | 0, +f);
                    r = g;
                    return +f
                },
                YD: function(a) {
                    return (a | 0) + 20 | 0
                },
                qH: function(a, c) {
                    d[(a | 0) + 16 >> 2] = +c
                },
                BG: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[312] | 0) && 0 != (Ua(312) | 0) && Va(312);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 304;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 304
                },
                GL: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r,
                        b = ma(48) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(48) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 8;
                    d = b + 20 | 0;
                    c[d + 0 >> 2] = 0;
                    c[d + 4 >> 2] = 0;
                    c[d + 8 >> 2] = 0;
                    c[d + 12 >> 2] = 0;
                    c[d + 16 >> 2] = 0;
                    c[d + 20 >> 2] = 0;
                    c[d + 24 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                oO: function() {
                    return 0
                },
                fJ: function(a, c) {
                    d[(a | 0) + 48 >> 2] = +c
                },
                QI: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                EB: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                rw: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                qI: function(a) {
                    return + +d[(a | 0) + 16 >> 2]
                },
                RB: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                Dv: function(a, c) {
                    a = a | 0;
                    c = c | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        b = r;
                    0 == (D[768] | 0) && 0 != (Ua(768) | 0) && Va(768);
                    l = +d[a + 24 >> 2];
                    g = +d[c >> 2];
                    e = +d[a + 20 >> 2];
                    k = +d[c + 4 >> 2];
                    f = +(l * g + e * k);
                    c = 760;
                    d[c >> 2] = f;
                    d[c + 4 >> 2] = +(l * k - g * e);
                    r = b;
                    return 760
                },
                yG: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        e = r,
                        f = a + 136 | 0;
                    (b & 1 | 0) != (wc[f >> 0] | 0) && (g = c[a + 48 >> 2] | 0, k = g + 4 | 0, l = Ra[k >> 1] | 0, l & 2 || (W[k >> 1] = l | 2, d[g + 144 >> 2] = 0), g = c[a + 52 >> 2] | 0, k = g + 4 | 0, l = Ra[k >> 1] | 0, l & 2 || (W[k >> 1] = l | 2, d[g + 144 >> 2] = 0), D[f >> 0] = b & 1, d[a + 112 >> 2] = 0);
                    r = e
                },
                RA: function(a) {
                    return + +d[(a | 0) + 36 >> 2]
                },
                Tu: function(a, c) {
                    d[(a | 0) + 24 >> 2] = +c
                },
                bw: function(a, c) {
                    d[(a | 0) + 132 >> 2] = +c
                },
                aN: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                gx: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                VG: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                Rz: function(a) {
                    return W[(a | 0) >> 1] | 0
                },
                GO: function() {
                    return 8
                },
                dO: function(a, c) {
                    D[(a | 0) + 102993 >> 0] = (c | 0) & 1
                },
                RE: function(a) {
                    return (a | 0) + 20 | 0
                },
                ZC: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        e = 0,
                        a = r,
                        e = ma(64) | 0;
                    a: do
                        if (!e) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (e = ma(64) | 0) break a
                            }
                            e = eb(4) | 0;
                            c[e >> 2] = 18168;
                            db(e | 0, 18216, 116)
                        }
                    while (0);
                    d = e + 0 | 0;
                    b = d + 64 | 0;
                    do c[d >> 2] = 0, d = d + 4 | 0; while ((d | 0) < (b | 0));
                    r = a;
                    return e | 0
                },
                TH: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                $A: function(a, c) {
                    d[(a | 0) + 36 >> 2] = +c
                },
                uy: function() {
                    var a = 0,
                        b = 0,
                        e = 0,
                        a = r,
                        b = ma(48) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(48) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 3;
                    e = b + 20 | 0;
                    c[e + 0 >> 2] = 0;
                    c[e + 4 >> 2] = 0;
                    c[e + 8 >> 2] = 0;
                    c[e + 12 >> 2] = 0;
                    d[(b + 36 | 0) >> 2] = 1;
                    d[b + 40 >> 2] = 0;
                    d[b + 44 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                OF: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 12 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                CD: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        e = r,
                        f = +d[a >> 2],
                        k = +d[a + 12 >> 2],
                        g = +d[a + 4 >> 2],
                        l = +d[a + 16 >> 2],
                        m = f * l - k * g;
                    0 != m && (m = 1 / m);
                    d[b >> 2] = l * m;
                    l = -m;
                    d[b + 12 >> 2] = k * l;
                    d[b + 8 >> 2] = 0;
                    d[b + 4 >> 2] = g * l;
                    d[b + 16 >> 2] = f * m;
                    a = b + 20 | 0;
                    c[a + 0 >> 2] = 0;
                    c[a + 4 >> 2] = 0;
                    c[a + 8 >> 2] = 0;
                    c[a + 12 >> 2] = 0;
                    r = e
                },
                FF: function(a, b, e, f, g) {
                    a = a | 0;
                    b = +b;
                    e = +e;
                    f = f | 0;
                    g = +g;
                    var k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = p = m = 0,
                        q = 0,
                        t = 0,
                        l = r,
                        k = a + 276 | 0;
                    c[k >> 2] = 4;
                    m = -b;
                    x = -e;
                    d[a + 20 >> 2] = m;
                    d[a + 24 >> 2] = x;
                    d[a + 28 >> 2] = b;
                    d[a + 32 >> 2] = x;
                    d[a + 36 >> 2] = b;
                    d[a + 40 >> 2] = e;
                    d[a + 44 >> 2] = m;
                    d[a + 48 >> 2] = e;
                    d[a + 148 >> 2] = 0;
                    d[a + 152 >> 2] = -1;
                    d[a + 156 >> 2] = 1;
                    d[a + 160 >> 2] = 0;
                    d[a + 164 >> 2] = 0;
                    d[a + 168 >> 2] = 1;
                    d[a + 172 >> 2] = -1;
                    d[a + 176 >> 2] = 0;
                    n = f;
                    p = c[n + 4 >> 2] | 0;
                    m = a + 12 | 0;
                    c[m >> 2] = c[n >> 2];
                    c[m + 4 >> 2] = p;
                    e = +d[f >> 2];
                    m = +d[f + 4 >> 2];
                    b = +Ja(+g);
                    g = +Ka(+g);
                    p = -1;
                    for (f = 0;;) {
                        n = a + (f << 3) + 20 | 0;
                        t = +d[n >> 2];
                        q = +(e + (g * t - b * x));
                        x = +(m + (b * t + g * x));
                        d[n >> 2] = q;
                        d[n + 4 >> 2] = x;
                        n = a + (f << 3) + 148 | 0;
                        x = +d[n >> 2];
                        q = +(g * x - b * p);
                        x = +(b * x + g * p);
                        d[n >> 2] = q;
                        d[n + 4 >> 2] = x;
                        f = f + 1 | 0;
                        if ((f | 0) >= (c[k >> 2] | 0)) break;
                        x = +d[a + (f << 3) + 24 >> 2];
                        p = +d[a + (f << 3) + 152 >> 2]
                    }
                    r = l
                },
                Fz: function(a) {
                    return (a | 0) + 20 | 0
                },
                mN: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                DI: function() {
                    var a = 0,
                        b = 0,
                        e = 0,
                        a = r,
                        b = ma(64) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(64) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 1;
                    e = b + 20 | 0;
                    d[b + 44 >> 2] = 0;
                    d[b + 48 >> 2] = 0;
                    d[b + 60 >> 2] = 0;
                    d[b + 56 >> 2] = 0;
                    D[b + 52 >> 0] = 0;
                    c[e + 0 >> 2] = 0;
                    c[e + 4 >> 2] = 0;
                    c[e + 8 >> 2] = 0;
                    c[e + 12 >> 2] = 0;
                    c[e + 16 >> 2] = 0;
                    D[e + 20 >> 0] = 0;
                    r = a;
                    return b | 0
                },
                Kx: function(a, c) {
                    D[(a | 0) + 2 >> 0] = c | 0
                },
                mA: function(a, c) {
                    var b = 0,
                        b = r;
                    Nb(a | 0, c | 0);
                    r = b
                },
                PN: function(a) {
                    return c[(a | 0) + 102956 >> 2] | 0
                },
                eD: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 48 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                iz: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                Vu: function(a, c) {
                    D[(a | 0) + 39 >> 0] = (c | 0) & 1
                },
                wI: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                Wo: function(a, b, d) {
                    a = a | 0;
                    d = d | 0;
                    var e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    f = e;
                    c[f >> 2] = c[d >> 2];
                    a = Vc[c[(c[a >> 2] | 0) + 16 >> 2] & 63](a, b | 0, f) | 0;
                    b = a & 1;
                    if (!a) return r = e, b | 0;
                    c[d >> 2] = c[f >> 2];
                    r = e;
                    return b | 0
                },
                kN: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                ou: function(a) {
                    a = a | 0;
                    var c = 0,
                        b = 0,
                        e = 0,
                        c = r;
                    0 == (D[248] | 0) && 0 != (Ua(248) | 0) && Va(248);
                    e = +(.5 * (+d[a >> 2] + +d[a + 8 >> 2]));
                    b = +(.5 * (+d[a + 4 >> 2] + +d[a + 12 >> 2]));
                    a = 240;
                    d[a >> 2] = e;
                    d[a + 4 >> 2] = b;
                    r = c;
                    return 240
                },
                Vz: function(a, c) {
                    W[(a | 0) + 4 >> 1] = c | 0
                },
                gC: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(20) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(20) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    r = a;
                    return b | 0
                },
                Ww: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r,
                        b = ma(20) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(20) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b >> 2] = 6936;
                    d = b + 4 | 0;
                    c[d + 0 >> 2] = 0;
                    c[d + 4 >> 2] = 0;
                    c[d + 8 >> 2] = 0;
                    c[d + 12 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                xB: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(32) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(32) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 6;
                    c[b + 20 >> 2] = 0;
                    c[b + 24 >> 2] = 0;
                    d[b + 28 >> 2] = 1;
                    r = a;
                    return b | 0
                },
                iC: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                az: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[48] | 0) && 0 != (Ua(48) | 0) && Va(48);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 40;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 40
                },
                FG: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        e = r,
                        u = c[a + 48 >> 2] | 0,
                        K = c[a + 52 >> 2] | 0,
                        q = +d[a + 68 >> 2] - +d[u + 28 >> 2],
                        g = +d[a + 72 >> 2] - +d[u + 32 >> 2],
                        p = +d[u + 24 >> 2],
                        n = +d[u + 20 >> 2],
                        f = q * p - g * n,
                        q = p * g + q * n,
                        g = +d[a + 76 >> 2] - +d[K + 28 >> 2],
                        m = +d[a + 80 >> 2] - +d[K + 32 >> 2],
                        t = +d[K + 24 >> 2],
                        x = +d[K + 20 >> 2],
                        l = g * t - m * x,
                        x = t * m + g * x,
                        g = +d[a + 84 >> 2],
                        m = +d[a + 88 >> 2],
                        t = p * g - n * m,
                        m = n * g + p * m;
                    a = u + 64 | 0;
                    p = +d[a >> 2];
                    g = +d[a + 4 >> 2];
                    a = K + 64 | 0;
                    n = +d[a >> 2];
                    b = +d[u + 72 >> 2];
                    k = +d[K + 72 >> 2];
                    b = (x + +d[K + 48 >> 2] - (q + +d[u + 48 >> 2])) * t * b - (l + +d[K + 44 >> 2] - (f + +d[u + 44 >> 2])) * m * b + (t * (q * b + (n - x * k - p)) + m * (+d[a + 4 >> 2] + l * k - g - f * b));
                    r = e;
                    return +b
                },
                AH: function(a) {
                    return (a | 0) + 28 | 0
                },
                CC: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[384] | 0) && 0 != (Ua(384) | 0) && Va(384);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 376;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 376
                },
                cy: function(a) {
                    return + +d[(a | 0) + 140 >> 2]
                },
                ux: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                SI: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                jv: function(a, b, e) {
                    a = a | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        f = r;
                    2 == (c[a >> 2] | 0) && (k = a + 4 | 0, l = W[k >> 1] | 0, e | 0 && 0 == (l & 2) && (g = l & 65535, 0 == (g & 2 | 0)) && (l = (g | 2) & 65535, W[k >> 1] = l, d[a + 144 >> 2] = 0), l & 2 && (l = a + 84 | 0, d[l >> 2] = +d[l >> 2] + +b));
                    r = f
                },
                nA: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        d = r;
                    if (-1 < (b | 0) && (c[a + 28 >> 2] | 0) > (b | 0)) return r = d, (c[a + 24 >> 2] | 0) + (28 * b | 0) | 0;
                    Q(3952, 4E3, 341, 4040);
                    return 0
                },
                ry: function(a, b, e, f, g) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    g = g | 0;
                    var k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        k = r;
                    c[a + 8 >> 2] = b;
                    c[a + 12 >> 2] = e;
                    q = +d[f >> 2] - +d[b + 12 >> 2];
                    p = f + 4 | 0;
                    m = +d[p >> 2] - +d[b + 16 >> 2];
                    l = +d[b + 24 >> 2];
                    x = +d[b + 20 >> 2];
                    n = +(q * l + m * x);
                    b = a + 20 | 0;
                    d[b >> 2] = n;
                    d[b + 4 >> 2] = +(l * m - q * x);
                    x = +d[g >> 2] - +d[e + 12 >> 2];
                    b = g + 4 | 0;
                    n = +d[b >> 2] - +d[e + 16 >> 2];
                    q = +d[e + 24 >> 2];
                    m = +d[e + 20 >> 2];
                    l = +(x * q + n * m);
                    m = +(q * n - x * m);
                    e = a + 28 | 0;
                    d[e >> 2] = l;
                    d[e + 4 >> 2] = m;
                    m = +d[g >> 2] - +d[f >> 2];
                    l = +d[b >> 2] - +d[p >> 2];
                    d[a + 36 >> 2] = +ib(+(m * m + l * l));
                    r = k
                },
                lG: function(a, c) {
                    D[(a | 0) + 16 >> 0] = (c | 0) & 1
                },
                qG: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 36 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                ey: function(a) {
                    return + +d[(a | 0) + 144 >> 2]
                },
                IO: function() {
                    return 1
                },
                UC: function(a, b) {
                    c[(a | 0) + 16 >> 2] = c[(b | 0) >> 2]
                },
                yM: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                jM: function(a) {
                    return (a | 0) + 88 | 0
                },
                $I: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                AJ: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                nv: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        x = 0,
                        p = 0,
                        d = r,
                        g = a + 88 | 0;
                    c[(c[g >> 2] | 0) + 102868 >> 2] & 2 && Q(8888, 8624, 216, 8944);
                    f = b + 8 | 0;
                    (c[f >> 2] | 0) != (a | 0) && Q(8960, 8624, 222, 8944);
                    e = a + 104 | 0;
                    0 >= (c[e >> 2] | 0) && Q(8984, 8624, 225, 8944);
                    p = a + 100 | 0;
                    (x = c[p >> 2] | 0) ? (m = x, k = p) : Q(9008, 8624, 241, 8944);
                    for (;;) {
                        x = m + 4 | 0;
                        if ((m | 0) == (b | 0)) break;
                        if (m = c[x >> 2] | 0) k = x;
                        else {
                            l = 11;
                            break
                        }
                    }
                    11 == (l | 0) && Q(9008, 8624, 241, 8944);
                    l = b + 4 | 0;
                    c[k >> 2] = c[l >> 2];
                    if (k = c[a + 112 >> 2] | 0) {
                        do m = c[k + 4 >> 2] | 0, k = c[k + 12 >> 2] | 0, (c[m + 48 >> 2] | 0) != (b | 0) && (c[m + 52 >> 2] | 0) != (b | 0) || Sa((c[g >> 2] | 0) + 102872 | 0, m); while (0 != (k | 0))
                    }
                    g = c[g >> 2] | 0;
                    W[a + 4 >> 1] & 32 && Bb(b, g + 102872 | 0);
                    jb(b, g);
                    c[f >> 2] = 0;
                    c[l >> 2] = 0;
                    f = D[7572] | 0;
                    14 > (f & 255) ? (p = g + ((f & 255) << 2) + 12 | 0, c[b >> 2] = c[p >> 2], c[p >> 2] = b, c[e >> 2] = (c[e >> 2] | 0) + -1, Ea(a), r = d) : Q(8296, 8208, 171, 8568)
                },
                lH: function(a, c) {
                    d[(a | 0) + 24 >> 2] = +c
                },
                EM: function(a) {
                    return (a | 0) + 28 | 0
                },
                Tx: function(a) {
                    return c[(a | 0) + 16 >> 2] | 0
                },
                ON: function(a) {
                    return c[(a | 0) + 102964 >> 2] | 0
                },
                iN: function(a) {
                    return + +d[(a | 0) + 124 >> 2]
                },
                qv: function(a) {
                    return + +d[(a | 0) + 136 >> 2]
                },
                AM: function(a) {
                    return + +d[(a | 0) + 60 >> 2]
                },
                xI: function(a) {
                    return + +d[(a | 0) + 8 >> 2]
                },
                MO: function() {
                    return 0
                },
                cC: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        e = r;
                    2139095040 == ((d[y >> 2] = b, c[y >> 2] | 0) & 2139095040 | 0) ? Q(15064, 14928, 394, 15088) : (d[a + 152 >> 2] = b, r = e)
                },
                Yt: function(a, b, d, e) {
                    a = a | 0;
                    var f = 0,
                        f = r;
                    cc[c[(c[a >> 2] | 0) + 8 >> 2] & 63](a, b | 0, d | 0, e | 0);
                    r = f
                },
                Pz: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                yC: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                Xo: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a ? a = 0 != (oc(a, 18592) | 0) : a = 0;
                    r = c;
                    return a & 1 | 0
                },
                Iu: function(a) {
                    return 0 != (D[(a | 0) + 38 >> 0] | 0) | 0
                },
                tG: function(a, c) {
                    d[(a | 0) + 68 >> 2] = +c
                },
                vw: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = a + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d;
                    D[a + 36 >> 0] = 1
                },
                BE: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                mF: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                pF: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                qN: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                AL: function(a, c) {
                    a = a | 0;
                    c = c | 0;
                    var b = 0;
                    d[a >> 2] = +d[a >> 2] - +d[c >> 2];
                    b = a + 4 | 0;
                    d[b >> 2] = +d[b >> 2] - +d[c + 4 >> 2];
                    a = a + 8 | 0;
                    d[a >> 2] = +d[a >> 2] - +d[c + 8 >> 2]
                },
                Ju: function(a) {
                    return + +d[(a | 0) + 48 >> 2]
                },
                JK: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                ru: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        b = r,
                        f = +d[a + 8 >> 2],
                        g = +d[a >> 2],
                        e = +d[a + 12 >> 2],
                        k = +d[a + 4 >> 2];
                    if (!(0 <= f - g & 0 <= e - k) || 2139095040 == ((d[y >> 2] = g, c[y >> 2] | 0) & 2139095040 | 0) || 2139095040 == ((d[y >> 2] = k, c[y >> 2] | 0) & 2139095040 | 0) || 2139095040 == ((d[y >> 2] = f, c[y >> 2] | 0) & 2139095040 | 0)) return r = b, 0;
                    a = 2139095040 != ((d[y >> 2] = e, c[y >> 2] | 0) & 2139095040 | 0);
                    r = b;
                    return a | 0
                },
                $M: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                bu: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    Mb[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a, b | 0);
                    r = d
                },
                cI: function(a) {
                    return + +d[(a | 0) + 84 >> 2]
                },
                Ay: function(a) {
                    return + +d[(a | 0) + 40 >> 2]
                },
                IJ: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = c[a + 48 >> 2] | 0,
                        g = f + 4 | 0,
                        k = Ra[g >> 1] | 0;
                    k & 2 || (W[g >> 1] = k | 2, d[f + 144 >> 2] = 0);
                    k = c[a + 52 >> 2] | 0;
                    g = k + 4 | 0;
                    f = Ra[g >> 1] | 0;
                    f & 2 || (W[g >> 1] = f | 2, d[k + 144 >> 2] = 0);
                    d[(a + 108 | 0) >> 2] = +b;
                    r = e
                },
                kO: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        f = 0,
                        b = r;
                    if (a) {
                        if (d = c[a + 102952 >> 2] | 0) {
                            do
                                for (e = d, d = c[d + 96 >> 2] | 0, e = c[e + 100 >> 2] | 0; e;) f = c[e + 4 >> 2] | 0, c[e + 28 >> 2] = 0, jb(e, a), e = f; while (0 != (d | 0))
                        }
                        oa(c[a + 102904 >> 2] | 0);
                        oa(c[a + 102916 >> 2] | 0);
                        oa(c[a + 102876 >> 2] | 0);
                        c[a + 102468 >> 2] | 0 && Q(8376, 8392, 32, 8440);
                        c[a + 102864 >> 2] | 0 && Q(8464, 8392, 33, 8440);
                        d = a + 4 | 0;
                        f = c[a >> 2] | 0;
                        if (0 < (c[d >> 2] | 0)) {
                            e = 0;
                            do oa(c[f + (e << 3) + 4 >> 2] | 0), e = e + 1 | 0, f = c[a >> 2] | 0; while ((e | 0) < (c[d >> 2] | 0))
                        }
                        oa(f);
                        oa(a)
                    }
                    r = b
                },
                Aw: function(a) {
                    return 0 != (D[(a | 0) + 37 >> 0] | 0) | 0
                },
                uw: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = a + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d;
                    D[a + 37 >> 0] = 1
                },
                hw: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        x = 0,
                        p = 0,
                        n = x = m = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        e = r;
                    r = r + 16 | 0;
                    k = e;
                    f = a + 88 | 0;
                    c[(c[f >> 2] | 0) + 102868 >> 2] & 2 && Q(8888, 8624, 115, 8920);
                    if ((c[a >> 2] | 0) != (b | 0)) {
                        c[a >> 2] = b;
                        Ea(a);
                        if (0 == (c[a >> 2] | 0) && (d[a + 64 >> 2] = 0, d[a + 68 >> 2] = 0, d[a + 72 >> 2] = 0, n = +d[a + 56 >> 2], d[a + 52 >> 2] = n, g = a + 44 | 0, l = c[g >> 2] | 0, g = c[g + 4 >> 2] | 0, p = a + 36 | 0, c[p >> 2] = l, c[p + 4 >> 2] = g, q = +Ja(+n), d[k + 8 >> 2] = q, n = +Ka(+n), d[k + 12 >> 2] = n, t = +d[a + 28 >> 2], m = +d[a + 32 >> 2], x = (c[y >> 2] = l, +d[y >> 2]) - (n * t - q * m), m = (c[y >> 2] = g, +d[y >> 2]) - (t * q + n * m), x = +x, m = +m, g = k, d[g >> 2] = x, d[g + 4 >> 2] = m, g = (c[f >> 2] | 0) + 102872 | 0, l = c[a + 100 >> 2] | 0, 0 != (l | 0))) {
                            b = a + 12 | 0;
                            do Eb(l, g, k, b), l = c[l + 4 >> 2] | 0; while (0 != (l | 0))
                        }
                        k = a + 4 | 0;
                        g = Ra[k >> 1] | 0;
                        g & 2 || (W[k >> 1] = g | 2, d[a + 144 >> 2] = 0);
                        d[a + 76 >> 2] = 0;
                        d[a + 80 >> 2] = 0;
                        d[a + 84 >> 2] = 0;
                        g = a + 112 | 0;
                        if (k = c[g >> 2] | 0) {
                            do p = k, k = c[k + 12 >> 2] | 0, Sa((c[f >> 2] | 0) + 102872 | 0, c[p + 4 >> 2] | 0); while (0 != (k | 0))
                        }
                        c[g >> 2] = 0;
                        g = c[f >> 2] | 0;
                        if (m = c[a + 100 >> 2] | 0) {
                            f = g + 102912 | 0;
                            a = g + 102908 | 0;
                            g = g + 102904 | 0;
                            do {
                                x = c[m + 28 >> 2] | 0;
                                if (0 < (x | 0)) {
                                    b = m + 24 | 0;
                                    p = c[f >> 2] | 0;
                                    k = 0;
                                    do l = c[(c[b >> 2] | 0) + (28 * k | 0) + 24 >> 2] | 0, (p | 0) == (c[a >> 2] | 0) && (u = c[g >> 2] | 0, c[a >> 2] = p << 1, p = ma(p << 3) | 0, c[g >> 2] = p, kb(p | 0, u | 0, c[f >> 2] << 2 | 0) | 0, oa(u), p = c[f >> 2] | 0), c[(c[g >> 2] | 0) + (p << 2) >> 2] = l, p = (c[f >> 2] | 0) + 1 | 0, c[f >> 2] = p, k = k + 1 | 0; while ((k | 0) != (x | 0))
                                }
                                m = c[m + 4 >> 2] | 0
                            } while (0 != (m | 0))
                        }
                    }
                    r = e
                },
                Fv: function(a) {
                    return + +d[(a | 0) + 116 >> 2]
                },
                AK: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(8) | 0) return r = a, b | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(8) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return r = a, d | 0;
                    return 0
                },
                BK: function(a) {
                    a = +a;
                    var b = 0,
                        e = 0,
                        b = r,
                        e = ma(8) | 0;
                    a: do
                        if (!e) {
                            for (;;) {
                                e = c[4582] | 0;
                                c[4582] = e + 0;
                                if (!e) break;
                                ab[e & 63]();
                                if (e = ma(8) | 0) break a
                            }
                            e = eb(4) | 0;
                            c[e >> 2] = 18168;
                            db(e | 0, 18216, 116)
                        }
                    while (0);
                    d[e >> 2] = +Ja(+a);
                    d[e + 4 >> 2] = +Ka(+a);
                    r = b;
                    return e | 0
                },
                wO: function() {
                    return 3
                },
                mI: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                IG: function(a) {
                    return (a | 0) + 76 | 0
                },
                oF: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                gu: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                aJ: function(a, c) {
                    d[(a | 0) + 44 >> 2] = +c
                },
                rC: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                fI: function(a) {
                    return + +d[(a | 0) + 112 >> 2]
                },
                Pt: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    Mb[c[(c[a >> 2] | 0) + 8 >> 2] & 127](a, b | 0);
                    r = d
                },
                hE: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                zO: function() {
                    return 11
                },
                uC: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                tI: function(a, c) {
                    d[(a | 0) + 16 >> 2] = +c
                },
                eF: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                mH: function(a, c) {
                    d[(a | 0) + 4 >> 2] = +c
                },
                uu: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(16) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(16) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                AA: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        b = r;
                    if (d = c[a + 8 >> 2] | 0) {
                        if (f = c[d + 112 >> 2] | 0) {
                            do {
                                e = c[f + 4 >> 2] | 0;
                                if ((c[e + 48 >> 2] | 0) == (a | 0) || (c[e + 52 >> 2] | 0) == (a | 0)) m = e + 4 | 0, c[m >> 2] |= 8;
                                f = c[f + 12 >> 2] | 0
                            } while (0 != (f | 0))
                        }
                        if (g = c[d + 88 >> 2] | 0)
                            if (d = a + 28 | 0, !(0 >= (c[d >> 2] | 0))) {
                                a = a + 24 | 0;
                                f = g + 102912 | 0;
                                e = g + 102908 | 0;
                                g = g + 102904 | 0;
                                m = c[f >> 2] | 0;
                                l = 0;
                                do k = c[(c[a >> 2] | 0) + (28 * l | 0) + 24 >> 2] | 0, (m | 0) == (c[e >> 2] | 0) && (p = c[g >> 2] | 0, c[e >> 2] = m << 1, m = ma(m << 3) | 0, c[g >> 2] = m, kb(m | 0, p | 0, c[f >> 2] << 2 | 0) | 0, oa(p), m = c[f >> 2] | 0), c[(c[g >> 2] | 0) + (m << 2) >> 2] = k, m = (c[f >> 2] | 0) + 1 | 0, c[f >> 2] = m, l = l + 1 | 0; while ((l | 0) < (c[d >> 2] | 0))
                            }
                    }
                    r = b
                },
                AN: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        g = 0,
                        e = r;
                    c[a + 102868 >> 2] & 2 && Q(11064, 11088, 109, 11128);
                    (f = ja(a, 152) | 0) ? (k = b + 4 | 0, 2139095040 == ((d[y >> 2] = +d[k >> 2], c[y >> 2] | 0) & 2139095040 | 0) && Q(8600, 8624, 27, 8664), 2139095040 == ((d[y >> 2] = +d[b + 8 >> 2], c[y >> 2] | 0) & 2139095040 | 0) && Q(8600, 8624, 27, 8664), p = b + 16 | 0, 2139095040 == ((d[y >> 2] = +d[p >> 2], c[y >> 2] | 0) & 2139095040 | 0) && Q(8672, 8624, 28, 8664), 2139095040 == ((d[y >> 2] = +d[b + 20 >> 2], c[y >> 2] | 0) & 2139095040 | 0) && Q(8672, 8624, 28, 8664), x = b + 12 | 0, 2139095040 == ((d[y >> 2] = +d[x >> 2], c[y >> 2] | 0) & 2139095040 | 0) && Q(8704, 8624, 29, 8664), n = b + 24 | 0, 2139095040 == ((d[y >> 2] = +d[n >> 2], c[y >> 2] | 0) & 2139095040 | 0) && Q(8728, 8624, 30, 8664), m = b + 32 | 0, g = +d[m >> 2], 2139095040 == ((d[y >> 2] = g, c[y >> 2] | 0) & 2139095040 | 0) | !(0 <= g) && Q(8760, 8624, 31, 8664), l = b + 28 | 0, g = +d[l >> 2], 2139095040 == ((d[y >> 2] = g, c[y >> 2] | 0) & 2139095040 | 0) | !(0 <= g) && Q(8824, 8624, 32, 8664), g = f + 4 | 0, q = 0 == (D[b + 39 >> 0] | 0) ? 0 : 8, W[g >> 1] = q, D[b + 38 >> 0] | 0 && (q = (q & 65535 | 16) & 65535, W[g >> 1] = q), D[b + 36 >> 0] | 0 && (q = (q & 65535 | 4) & 65535, W[g >> 1] = q), D[b + 37 >> 0] | 0 && (q = (q & 65535 | 2) & 65535, W[g >> 1] = q), D[b + 40 >> 0] | 0 && (W[g >> 1] = q & 65535 | 32), c[f + 88 >> 2] = a, q = k, k = c[q >> 2] | 0, q = c[q + 4 >> 2] | 0, g = f + 12 | 0, c[g >> 2] = k, c[g + 4 >> 2] = q, g = +d[x >> 2], d[f + 20 >> 2] = +Ja(+g), d[f + 24 >> 2] = +Ka(+g), d[f + 28 >> 2] = 0, d[f + 32 >> 2] = 0, g = f + 36 | 0, c[g >> 2] = k, c[g + 4 >> 2] = q, g = f + 44 | 0, c[g >> 2] = k, c[g + 4 >> 2] = q, d[f + 52 >> 2] = +d[x >> 2], d[f + 56 >> 2] = +d[x >> 2], d[f + 60 >> 2] = 0, c[f + 108 >> 2] = 0, c[f + 112 >> 2] = 0, c[f + 92 >> 2] = 0, c[f + 96 >> 2] = 0, x = p, g = c[x + 4 >> 2] | 0, q = f + 64 | 0, c[q >> 2] = c[x >> 2], c[q + 4 >> 2] = g, d[f + 72 >> 2] = +d[n >> 2], d[f + 132 >> 2] = +d[l >> 2], d[f + 136 >> 2] = +d[m >> 2], d[f + 140 >> 2] = +d[b + 48 >> 2], d[f + 76 >> 2] = 0, d[f + 80 >> 2] = 0, d[f + 84 >> 2] = 0, d[f + 144 >> 2] = 0, q = c[b >> 2] | 0, c[f >> 2] = q, g = f + 116 | 0, 2 == (q | 0) ? (d[g >> 2] = 1, d[f + 120 >> 2] = 1) : (d[g >> 2] = 0, d[f + 120 >> 2] = 0), d[f + 124 >> 2] = 0, d[f + 128 >> 2] = 0, c[f + 148 >> 2] = c[b + 44 >> 2], c[f + 100 >> 2] = 0, c[f + 104 >> 2] = 0) : f = 0;
                    c[f + 92 >> 2] = 0;
                    g = a + 102952 | 0;
                    c[f + 96 >> 2] = c[g >> 2];
                    b = c[g >> 2] | 0;
                    if (!b) return c[g >> 2] = f, q = a + 102960 | 0, n = c[q >> 2] | 0, c[q >> 2] = n + 1 | 0, r = e, f | 0;
                    c[b + 92 >> 2] = f;
                    c[g >> 2] = f;
                    q = a + 102960 | 0;
                    n = c[q >> 2] | 0;
                    n = n + 1 | 0;
                    c[q >> 2] = n;
                    r = e;
                    return f | 0
                },
                bK: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                yA: function(a) {
                    return 0 != (D[(a | 0) + 38 >> 0] | 0) | 0
                },
                nM: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                eG: function(a) {
                    return + +d[(a | 0) + 68 >> 2]
                },
                zK: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                Tz: function(a) {
                    return W[(a | 0) + 2 >> 1] | 0
                },
                yD: function(a) {
                    return a | 0
                },
                tv: function(a) {
                    return c[(a | 0) + 100 >> 2] | 0
                },
                II: function(a) {
                    return 0 != (D[(a | 0) + 52 >> 0] | 0) | 0
                },
                XE: function(a, c) {
                    d[(a | 0) + 36 >> 2] = +c
                },
                ju: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                Vx: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                pG: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                uO: function() {
                    return 8
                },
                vB: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                aM: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    $a[c[(c[a >> 2] | 0) + 16 >> 2] & 127](a);
                    r = b
                },
                FE: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        e = r;
                    2139095040 != ((d[y >> 2] = b, c[y >> 2] | 0) & 2139095040 | 0) & 0 <= b ? (d[a + 92 >> 2] = b, r = e) : Q(14504, 4840, 228, 14600)
                },
                SA: function(a) {
                    return + +d[(a | 0) + 40 >> 2]
                },
                iB: function(a) {
                    return (a | 0) + 68 | 0
                },
                NL: function(a) {
                    return (a | 0) + 28 | 0
                },
                VF: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                $K: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (2139095040 == ((d[y >> 2] = +d[a >> 2], c[y >> 2] | 0) & 2139095040 | 0)) return r = b, 0;
                    a = 2139095040 != ((d[y >> 2] = +d[a + 4 >> 2], c[y >> 2] | 0) & 2139095040 | 0);
                    r = b;
                    return a | 0
                },
                jG: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                WN: function(a) {
                    return 0 != (D[(a | 0) + 102992 >> 0] | 0) | 0
                },
                XI: function(a, c) {
                    D[(a | 0) + 40 >> 0] = (c | 0) & 1
                },
                FL: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                tD: function(a, c) {
                    a = a | 0;
                    c = c | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        b = r;
                    0 == (D[368] | 0) && 0 != (Ua(368) | 0) && Va(368);
                    f = +d[a >> 2];
                    g = +d[a + 8 >> 2];
                    e = +d[a + 4 >> 2];
                    k = +d[a + 12 >> 2];
                    l = f * k - g * e;
                    0 != l && (l = 1 / l);
                    m = +d[c >> 2];
                    p = +d[c + 4 >> 2];
                    k = +(l * (k * m - g * p));
                    a = 360;
                    d[a >> 2] = k;
                    d[a + 4 >> 2] = +(l * (f * p - e * m));
                    r = b;
                    return 360
                },
                kx: function(a) {
                    return + +d[(a | 0) + 4 >> 2]
                },
                ku: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                lK: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                Qz: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(6) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(6) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    W[b >> 1] = 1;
                    W[b + 2 >> 1] = -1;
                    W[b + 4 >> 1] = 0;
                    r = a;
                    return b | 0
                },
                zF: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    a = jc[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a) | 0;
                    r = b;
                    return a | 0
                },
                DB: function(a) {
                    return + +d[(a | 0) +
                        28 >> 2]
                },
                GD: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        e = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[72] | 0) && 0 != (Ua(72) | 0) && Va(72);
                    pa(d, a, b);
                    c[14] = c[d + 0 >> 2];
                    c[15] = c[d + 4 >> 2];
                    c[16] = c[d + 8 >> 2];
                    r = e;
                    return 56
                },
                gI: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[688] | 0) && 0 != (Ua(688) | 0) && Va(688);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 680;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 680
                },
                bN: function(a) {
                    return 0 != (D[(a | 0) + 61 >> 0] | 0) | 0
                },
                vN: function(a, c) {
                    d[(a | 0) + 72 >> 2] = +c
                },
                CI: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                QE: function(a) {
                    return + +d[(a | 0) + 28 >> 2]
                },
                iJ: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = c[a + 48 >> 2] | 0,
                        g = f + 4 | 0,
                        k = Ra[g >> 1] | 0;
                    k & 2 || (W[g >> 1] = k | 2, d[f + 144 >> 2] = 0);
                    k = c[a + 52 >> 2] | 0;
                    g = k + 4 | 0;
                    f = Ra[g >> 1] | 0;
                    f & 2 || (W[g >> 1] = f | 2, d[k + 144 >> 2] = 0);
                    g = (b | 0) & 1;
                    D[(a + 100 | 0) >> 0] = g;
                    r = e
                },
                Hx: function(a) {
                    return D[(a | 0) + 3 >> 0] | 0
                },
                EE: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        e = r,
                        f = a + 68 | 0;
                    if (+d[b >> 2] != +d[f >> 2] || +d[b + 4 >> 2] != +d[a + 72 >> 2]) g = c[a + 48 >> 2] | 0, k = g + 4 | 0, l = Ra[k >> 1] | 0, l & 2 || (W[k >> 1] = l | 2, d[g + 144 >> 2] = 0), a = c[a + 52 >> 2] | 0, g = a + 4 | 0, k = Ra[g >> 1] | 0, k & 2 || (W[g >> 1] = k | 2, d[a + 144 >> 2] = 0), g = b, k = c[g + 4 >> 2] | 0, l = f, c[l >> 2] = c[g >> 2], c[l + 4 >> 2] = k;
                    r = e
                },
                xE: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[216] | 0) && 0 != (Ua(216) | 0) && Va(216);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 208;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 208
                },
                uK: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = +jd(+ +d[a >> 2], + +d[a + 4 >> 2]);
                    return +c
                },
                $N: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        e = r,
                        f = a + 102976 | 0;
                    if ((b & 1 | 0) != (wc[f >> 0] | 0) && (D[f >> 0] = b & 1, !b && (a = c[a + 102952 >> 2] | 0))) {
                        do f = a + 4 | 0, b = Ra[f >> 1] | 0, b & 2 || (W[f >> 1] = b | 2, d[a + 144 >> 2] = 0), a = c[a + 96 >> 2] | 0; while (0 != (a | 0))
                    }
                    r = e
                },
                CE: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        e = r,
                        f = a + 76 | 0; + d[f >> 2] != b && (g = c[a + 48 >> 2] | 0, k = g + 4 | 0, l = Ra[k >> 1] | 0, l & 2 || (W[k >> 1] = l | 2, d[g + 144 >> 2] = 0), a = c[a + 52 >> 2] | 0, g = a + 4 | 0, k = Ra[g >> 1] | 0, k & 2 || (W[g >> 1] = k | 2, d[a + 144 >> 2] = 0), d[f >> 2] = b);
                    r = e
                },
                tE: function(a) {
                    return (a | 0) + 68 | 0
                },
                hB: function(a) {
                    return 0 != (D[(a | 0) + 61 >> 0] | 0) | 0
                },
                UM: function(a, c) {
                    d[(a | 0) + 52 >> 2] = +c
                },
                mE: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[184] | 0) && 0 != (Ua(184) | 0) && Va(184);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 176;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 176
                },
                pA: function(a) {
                    return + +d[(a | 0) >> 2]
                },
                NF: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                eL: function(a, c, b) {
                    a = a | 0;
                    d[a >> 2] = +c;
                    d[a + 4 >> 2] = +b
                },
                PL: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                KE: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(40) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(40) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 5;
                    d[b + 20 >> 2] = 0;
                    d[b + 24 >> 2] = 0;
                    d[b + 28 >> 2] = 0;
                    d[b + 32 >> 2] = 5;
                    d[b + 36 >> 2] = .699999988079071;
                    r = a;
                    return b | 0
                },
                DK: function(a) {
                    return + +d[(a | 0) >> 2]
                },
                tB: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        e = r;
                    2139095040 != ((d[y >> 2] = b, c[y >> 2] | 0) & 2139095040 | 0) & 0 <= b ? (d[a + 100 >> 2] = b, r = e) : Q(14616, 14544, 228, 14656)
                },
                PE: function(a) {
                    return + +d[(a | 0) + 32 >> 2]
                },
                uB: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                lA: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                lC: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                yy: function(a) {
                    return 0 != (D[(a | 0) + 16 >> 0] | 0) | 0
                },
                dJ: function(a, c) {
                    d[(a | 0) + 36 >> 2] = +c
                },
                Dx: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                Hy: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                eu: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(4) | 0) return d = b, c[d >> 2] = 3616, r = a, d | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(4) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return c[d >> 2] = 3616, r = a, d | 0;
                    return 0
                },
                pw: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    a = jc[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a) | 0;
                    r = b;
                    return a | 0
                },
                iD: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(16) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(16) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                CL: function(a, c) {
                    d[(a | 0) + 4 >> 2] = +c
                },
                lu: function(a, c) {
                    a = a | 0;
                    c = c | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        b = r,
                        e = +d[a >> 2],
                        f = +d[c >> 2],
                        k = +d[a + 4 >> 2],
                        l = +d[c + 4 >> 2],
                        g = a;
                    d[g >> 2] = +(e < f ? e : f);
                    d[g + 4 >> 2] = +(k < l ? k : l);
                    g = a + 8 | 0;
                    l = +d[g >> 2];
                    f = +d[c + 8 >> 2];
                    k = +d[a + 12 >> 2];
                    e = +d[c + 12 >> 2];
                    f = +(l > f ? l : f);
                    a = g;
                    d[a >> 2] = f;
                    d[a + 4 >> 2] = +(k > e ? k : e);
                    r = b
                },
                mu: function(a, c, b) {
                    a = a | 0;
                    c = c | 0;
                    b = b | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        e = r,
                        f = +d[c >> 2],
                        g = +d[b >> 2],
                        k = +d[c + 4 >> 2],
                        l = +d[b + 4 >> 2],
                        m = a;
                    d[m >> 2] = +(f < g ? f : g);
                    d[m + 4 >> 2] = +(k < l ? k : l);
                    l = +d[c + 8 >> 2];
                    g = +d[b + 8 >> 2];
                    k = +d[c + 12 >> 2];
                    f = +d[b + 12 >> 2];
                    g = +(l > g ? l : g);
                    c = a + 8 | 0;
                    d[c >> 2] = g;
                    d[c + 4 >> 2] = +(k > f ? k : f);
                    r = e
                },
                CG: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                LG: function(a) {
                    return + +d[(a | 0) + 128 >> 2]
                },
                tu: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                Tv: function(a) {
                    return 0 != (W[(a | 0) + 4 >> 1] & 4) | 0
                },
                ZE: function(a, c) {
                    d[(a | 0) + 28 >> 2] = +c
                },
                sE: function(a) {
                    return + +d[(a | 0) + 100 >> 2]
                },
                jH: function(a) {
                    return + +d[(a | 0) + 8 >> 2]
                },
                Ut: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    Mb[c[(c[a >> 2] | 0) + 20 >> 2] & 127](a, b | 0);
                    r = d
                },
                BF: function(a) {
                    return c[(a | 0) + 276 >> 2] | 0
                },
                CK: function(a) {
                    return + +d[(a | 0) + 4 >> 2]
                },
                xu: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = a | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                Bw: function(a) {
                    return 0 != (D[(a | 0) + 36 >> 0] | 0) | 0
                },
                tF: function(a, c) {
                    d[(a | 0) + 104 >> 2] = +c
                },
                NA: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                qC: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                TC: function(a) {
                    return + +d[(a | 0) + 12 >> 2]
                },
                MI: function(a) {
                    return + +d[(a | 0) + 60 >> 2]
                },
                KL: function(a) {
                    return + +d[(a | 0) + 44 >> 2]
                },
                wF: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                yz: function() {
                    var a = 0,
                        b = 0,
                        e = 0,
                        a = r,
                        b = ma(48) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(48) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b >> 2] = 7008;
                    c[b + 4 >> 2] = 1;
                    d[b + 8 >> 2] = .009999999776482582;
                    e = b + 28 | 0;
                    c[e + 0 >> 2] = 0;
                    c[e + 4 >> 2] = 0;
                    c[e + 8 >> 2] = 0;
                    c[e + 12 >> 2] = 0;
                    W[e + 16 >> 1] = 0;
                    r = a;
                    return b | 0
                },
                nB: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[848] | 0) && 0 != (Ua(848) | 0) && Va(848);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 840;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 840
                },
                Oy: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                tM: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                WH: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                TJ: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                Qw: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    wd[c[(c[a >> 2] | 0) + 28 >> 2] & 63](a, b | 0, +d);
                    r = e
                },
                Dy: function(a) {
                    return (a | 0) + 28 | 0
                },
                wB: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                TI: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                mO: function() {
                    return 2
                },
                Uw: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    a = Vc[c[(c[a >> 2] | 0) + 16 >> 2] & 63](a, b | 0, d | 0) | 0;
                    r = e;
                    return a | 0
                },
                $D: function(a) {
                    return + +d[(a | 0) + 36 >> 2]
                },
                yv: function(a, c) {
                    a = a | 0;
                    c = c | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        b = r;
                    0 == (D[800] | 0) && 0 != (Ua(800) | 0) && Va(800);
                    l = +d[a + 24 >> 2];
                    k = +d[c >> 2];
                    g = +d[a + 20 >> 2];
                    e = +d[c + 4 >> 2];
                    m = +d[a + 72 >> 2];
                    f = +(+d[a + 64 >> 2] - m * (k * g + l * e + +d[a + 16 >> 2] - +d[a + 48 >> 2]));
                    e = +(m * (+d[a + 12 >> 2] + (l * k - g * e) - +d[a + 44 >> 2]) + +d[a + 68 >> 2]);
                    c = 792;
                    d[c >> 2] = f;
                    d[c + 4 >> 2] = e;
                    r = b;
                    return 792
                },
                vD: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(16) | 0) return r = a, b | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(16) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return r = a, d | 0;
                    return 0
                },
                dF: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[120] | 0) && 0 != (Ua(120) | 0) && Va(120);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 112;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 112
                },
                nO: function() {
                    return 1
                },
                aD: function(a) {
                    return (a | 0) + 48 | 0
                },
                SB: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                jw: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        b = r,
                        d = a + 12 | 0;
                    oa(c[d >> 2] | 0);
                    c[d >> 2] = 0;
                    c[a + 16 >> 2] = 0;
                    r = b
                },
                Vw: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                zE: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                Gu: function(a) {
                    return 0 != (D[(a | 0) + 37 >> 0] | 0) | 0
                },
                my: function(a, c) {
                    d[(a | 0) + 140 >> 2] = +c
                },
                Eu: function(a) {
                    return + +d[(a | 0) + 32 >> 2]
                },
                Gz: function(a) {
                    return (a | 0) + 36 | 0
                },
                GA: function(a, b) {
                    c[(a | 0) + 40 >> 2] = b | 0
                },
                RK: function(a) {
                    a = a | 0;
                    d[a >> 2] = 0;
                    d[a +
                        4 >> 2] = 0;
                    d[a + 8 >> 2] = 0;
                    d[a + 12 >> 2] = 1
                },
                KB: function(a, b) {
                    c[(a | 0) + 20 >> 2] = b | 0
                },
                Nz: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                wx: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                Jx: function(a, c) {
                    D[(a | 0) + 1 >> 0] = c | 0
                },
                zv: function(a, c) {
                    a = a | 0;
                    c = c | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        b = r;
                    0 == (D[784] | 0) && 0 != (Ua(784) | 0) && Va(784);
                    e = +d[a + 72 >> 2];
                    f = +(+d[a + 64 >> 2] - e * (+d[c + 4 >> 2] - +d[a + 48 >> 2]));
                    e = +(e * (+d[c >> 2] - +d[a + 44 >> 2]) + +d[a + 68 >> 2]);
                    c = 776;
                    d[c >> 2] = f;
                    d[c + 4 >> 2] = e;
                    r = b;
                    return 776
                },
                fM: function(a) {
                    return 0 != (D[(a | 0) + 61 >> 0] | 0) | 0
                },
                BD: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 8 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                PM: function(a, c) {
                    d[(a | 0) + 56 >> 2] = +c
                },
                SN: function(a) {
                    return 0 != (D[(a | 0) + 102994 >> 0] | 0) | 0
                },
                wK: function(a) {
                    a = a | 0;
                    var c = 0,
                        b = 0,
                        e = 0,
                        c = r;
                    0 == (D[168] | 0) && 0 != (Ua(168) | 0) && Va(168);
                    e = + - +d[a >> 2];
                    b = + +d[a + 4 >> 2];
                    a = 160;
                    d[a >> 2] = e;
                    d[a + 4 >> 2] = b;
                    r = c;
                    return 160
                },
                Xx: function(a) {
                    return c[(a | 0) + 60 >> 2] | 0
                },
                jz: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                sz: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                NM: function(a, c) {
                    d[(a | 0) + 60 >> 2] = +c
                },
                OC: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                BO: function() {
                    return 2
                },
                wE: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                bL: function(a) {
                    a = a | 0;
                    var c = 0,
                        b = 0,
                        b = +d[a >> 2],
                        c = +d[a + 4 >> 2],
                        c = +ib(+(b * b + c * c));
                    return +c
                },
                dL: function(a) {
                    a = a | 0;
                    d[a >> 2] = 0;
                    d[a + 4 >> 2] = 0
                },
                tK: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                DN: function(a, c) {
                    var b = 0,
                        b = r;
                    Sb(a | 0, c | 0);
                    r = b
                },
                nC: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                sD: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        f = b | 0;
                    b = c[f + 4 >> 2] | 0;
                    e = a;
                    c[e >> 2] = c[f >> 2];
                    c[e +
                        4 >> 2] = b;
                    e = d | 0;
                    d = c[e + 4 >> 2] | 0;
                    b = a + 8 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                Jv: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                cM: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[496] | 0) && 0 != (Ua(496) | 0) && Va(496);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 488;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 488
                },
                kM: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                NK: function(a) {
                    return + +d[(a | 0) + 8 >> 2]
                },
                pz: function(a, b, d, e) {
                    a = a | 0;
                    var f = 0,
                        f = r;
                    cc[c[(c[a >> 2] | 0) + 24 >> 2] & 63](a, b | 0, d | 0, e | 0);
                    r = f
                },
                Nu: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                MM: function(a, c) {
                    D[(a | 0) + 16 >> 0] = (c | 0) & 1
                },
                Wt: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                aE: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                iK: function(a) {
                    return (a | 0) + 68 | 0
                },
                Yu: function(a, c) {
                    d[(a | 0) + 28 >> 2] = +c
                },
                qB: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                ky: function(a, c) {
                    d[(a | 0) + 136 >> 2] = +c
                },
                dD: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 40 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                hC: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                xv: function(a) {
                    return + +d[(a | 0) + 132 >> 2]
                },
                VL: function(a, c) {
                    d[(a | 0) + 40 >> 2] = +c
                },
                Uv: function(a) {
                    var c = 0,
                        c = r;
                    Ea(a | 0);
                    r = c
                },
                nG: function(a, c) {
                    D[(a | 0) + 60 >> 0] = (c | 0) & 1
                },
                HO: function() {
                    return 7
                },
                fL: function(a) {
                    a = a | 0;
                    var c = 0,
                        b = 0,
                        e = 0,
                        c = r;
                    0 == (D[232] | 0) && 0 != (Ua(232) | 0) && Va(232);
                    e = + - +d[a + 4 >> 2];
                    b = + +d[a >> 2];
                    a = 224;
                    d[a >> 2] = e;
                    d[a + 4 >> 2] = b;
                    r = c;
                    return 224
                },
                hF: function(a) {
                    return + +d[(a | 0) + 88 >> 2]
                },
                jJ: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[864] | 0) && 0 != (Ua(864) | 0) && Va(864);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 856;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 856
                },
                Lw: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                YM: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[576] | 0) && 0 != (Ua(576) | 0) && Va(576);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 568;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 568
                },
                vE: function(a) {
                    return + +d[(a | 0) + 96 >> 2]
                },
                mB: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                xG: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                bB: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                UG: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                OA: function(a) {
                    return 0 != (D[(a | 0) + 16 >> 0] | 0) | 0
                },
                vv: function(a) {
                    a = a | 0;
                    var c = 0,
                        b = 0,
                        b = +d[a + 28 >> 2],
                        c = +d[a + 32 >> 2];
                    return +(+d[a + 124 >> 2] + +d[a + 116 >> 2] * (b * b + c * c))
                },
                YL: function(a, c) {
                    d[(a | 0) + 36 >> 2] = +c
                },
                dB: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[816] | 0) && 0 != (Ua(816) | 0) && Va(816);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 808;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 808
                },
                oK: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                jD: function(a) {
                    return + +d[(a | 0) + 12 >> 2]
                },
                HM: function(a) {
                    return + +d[(a | 0) + 52 >> 2]
                },
                OL: function(a) {
                    return + +d[(a | 0) + 36 >> 2]
                },
                EO: function() {
                    return 10
                },
                Wz: function(a, c) {
                    W[(a | 0) + 2 >> 1] = c | 0
                },
                Jz: function(a, c) {
                    d[(a | 0) + 8 >> 2] = +c
                },
                fE: function(a, c) {
                    D[(a | 0) + 16 >> 0] = (c | 0) & 1
                },
                wD: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        d = r,
                        e = ma(16) | 0;
                    a: do
                        if (!e) {
                            for (;;) {
                                e = c[4582] | 0;
                                c[4582] = e + 0;
                                if (!e) break;
                                ab[e & 63]();
                                if (e = ma(16) | 0) break a
                            }
                            e = eb(4) | 0;
                            c[e >> 2] = 18168;
                            db(e | 0, 18216, 116)
                        }
                    while (0);
                    g = a;
                    a = c[g + 4 >> 2] | 0;
                    f = e;
                    c[f >> 2] = c[g >> 2];
                    c[f + 4 >> 2] = a;
                    f = b;
                    a = c[f + 4 >> 2] | 0;
                    b = e + 8 | 0;
                    c[b >> 2] = c[f >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return e | 0
                },
                TM: function(a, c) {
                    d[(a | 0) + 48 >> 2] = +c
                },
                WA: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                xD: function(a, b, e, f) {
                    a = +a;
                    b = +b;
                    e = +e;
                    f = +f;
                    var g = 0,
                        k = 0,
                        g = r,
                        k = ma(16) | 0;
                    a: do
                        if (!k) {
                            for (;;) {
                                k = c[4582] | 0;
                                c[4582] = k + 0;
                                if (!k) break;
                                ab[k & 63]();
                                if (k = ma(16) | 0) break a
                            }
                            k = eb(4) | 0;
                            c[k >> 2] = 18168;
                            db(k | 0, 18216, 116)
                        }
                    while (0);
                    d[k >> 2] = a;
                    d[k + 4 >> 2] = e;
                    d[k + 8 >> 2] = b;
                    d[k + 12 >> 2] = f;
                    r = g;
                    return k | 0
                },
                Iw: function(a, c) {
                    D[(a | 0) + 37 >> 0] = (c | 0) & 1
                },
                pD: function(a) {
                    a = a | 0;
                    var c = 0,
                        b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        c = r;
                    0 == (D[352] | 0) && 0 != (Ua(352) | 0) && Va(352);
                    b = +d[a >> 2];
                    e = +d[a + 8 >> 2];
                    f = +d[a + 4 >> 2];
                    g = +d[a + 12 >> 2];
                    k = b * g - e * f;
                    0 != k && (k = 1 / k);
                    l = -k;
                    d[84] = g * k;
                    d[85] = f * l;
                    d[86] = e * l;
                    d[87] = b * k;
                    r = c;
                    return 336
                },
                zG: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = c[a + 48 >> 2] | 0,
                        g = f + 4 | 0,
                        k = Ra[g >> 1] | 0;
                    k & 2 || (W[g >> 1] = k | 2, d[f + 144 >> 2] = 0);
                    k = c[a + 52 >> 2] | 0;
                    g = k + 4 | 0;
                    f = Ra[g >> 1] | 0;
                    f & 2 || (W[g >> 1] = f | 2, d[k + 144 >> 2] = 0);
                    g = (b | 0) & 1;
                    D[(a + 137 | 0) >> 0] = g;
                    r = e
                },
                Zw: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                Yy: function(a) {
                    return (a | 0) + 80 | 0
                },
                tx: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(16) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(16) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b +
                        0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                zu: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                aB: function(a, c) {
                    d[(a | 0) + 40 >> 2] = +c
                },
                CF: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        d = r;
                    if (-1 < (b | 0) && (c[a + 276 >> 2] | 0) > (b | 0)) return r = d, a + (b << 3) + 20 | 0;
                    Q(6336, 2624, 97, 6416);
                    return 0
                },
                MH: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                GI: function(a) {
                    return 0 != (D[(a | 0) + 16 >> 0] | 0) | 0
                },
                Gy: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                GJ: function(a, b, e) {
                    a = a | 0;
                    b = +b;
                    e = +e;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        g = r;
                    b <= e || Q(16696, 16712, 471, 16768);
                    f = a + 120 | 0;
                    if (+d[f >> 2] != b || +d[a + 124 >> 2] != e) m = c[a + 48 >> 2] | 0, k = m + 4 | 0, l = Ra[k >> 1] | 0, l & 2 || (W[k >> 1] = l | 2, d[m + 144 >> 2] = 0), l = c[a + 52 >> 2] | 0, m = l + 4 | 0, k = Ra[m >> 1] | 0, k & 2 || (W[m >> 1] = k | 2, d[l + 144 >> 2] = 0), d[a + 92 >> 2] = 0, d[f >> 2] = b, d[a + 124 >> 2] = e;
                    r = g
                },
                ZL: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                RD: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                fA: function(a, c) {
                    d[(a | 0) + 16 >> 2] = +c
                },
                QK: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                dN: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        r = 0,
                        k = c[a + 48 >> 2] | 0,
                        p = c[a + 52 >> 2] | 0,
                        e = +d[k + 24 >> 2],
                        m = +d[a + 76 >> 2],
                        g = +d[k + 20 >> 2],
                        l = +d[a + 80 >> 2],
                        n = +d[p + 24 >> 2],
                        r = +d[a + 84 >> 2],
                        q = +d[p + 20 >> 2],
                        x = +d[a + 88 >> 2],
                        f = +d[a + 92 >> 2],
                        b = +d[a + 96 >> 2];
                    return +((+d[p + 12 >> 2] + (n * r - q * x) - (+d[k + 12 >> 2] + (e * m - g * l))) * (e * f - g * b) + (r * q + n * x + +d[p + 16 >> 2] - (m * g + e * l + +d[k + 16 >> 2])) * (g * f + e * b))
                },
                jN: function(a, c) {
                    return +(+d[(a | 0) + 112 >> 2] * +c)
                },
                sK: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                LJ: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                rN: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a +
                        52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                ZF: function(a) {
                    return 0 != (D[(a | 0) + 60 >> 0] | 0) | 0
                },
                eE: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                VK: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        d = r,
                        e = ma(16) | 0;
                    a: do
                        if (!e) {
                            for (;;) {
                                e = c[4582] | 0;
                                c[4582] = e + 0;
                                if (!e) break;
                                ab[e & 63]();
                                if (e = ma(16) | 0) break a
                            }
                            e = eb(4) | 0;
                            c[e >> 2] = 18168;
                            db(e | 0, 18216, 116)
                        }
                    while (0);
                    g = a;
                    a = c[g + 4 >> 2] | 0;
                    f = e;
                    c[f >> 2] = c[g >> 2];
                    c[f + 4 >> 2] = a;
                    f = b;
                    a = c[f + 4 >> 2] | 0;
                    b = e + 8 | 0;
                    c[b >> 2] = c[f >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return e | 0
                },
                lM: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[512] | 0) && 0 != (Ua(512) | 0) && Va(512);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 504;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 504
                },
                sw: function(a, b, d, e, f) {
                    a = a | 0;
                    var g = 0,
                        g = r;
                    a = Mc[c[(c[a >> 2] | 0) + 20 >> 2] & 63](a, b | 0, d | 0, e | 0, f | 0) | 0;
                    r = g;
                    return a | 0
                },
                TG: function(a) {
                    return + +d[(a | 0) + 124 >> 2]
                },
                Ox: function(a) {
                    return a | 0
                },
                YE: function(a, c) {
                    d[(a | 0) + 32 >> 2] = +c
                },
                Ew: function(a) {
                    return + +d[(a | 0) + 8 >> 2]
                },
                Av: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        b = r;
                    0 == (D[704] | 0) && 0 != (Ua(704) | 0) && Va(704);
                    e = a + 64 | 0;
                    d = c[e + 4 >> 2] | 0;
                    a = 696;
                    c[a >> 2] = c[e >> 2];
                    c[a + 4 >> 2] = d;
                    r = b;
                    return 696
                },
                Mw: function(a, c) {
                    d[(a | 0) + 8 >> 2] = +c
                },
                bz: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                FN: function(a) {
                    a = a | 0;
                    var b = 0,
                        e = 0,
                        f = 0,
                        g = 0,
                        g = 0,
                        e = r;
                    r = r + 16 | 0;
                    b = e;
                    if (!(c[a + 102868 >> 2] & 2)) {
                        g = +d[a + 102972 >> 2];
                        ka[y >> 3] = +d[a + 102968 >> 2];
                        c[b >> 2] = c[y >> 2];
                        c[b + 4 >> 2] = c[y + 4 >> 2];
                        f = b + 8 | 0;
                        ka[y >> 3] = g;
                        c[f >> 2] = c[y >> 2];
                        c[f + 4 >> 2] = c[y + 4 >> 2];
                        I(11416, b);
                        I(11448, b);
                        c[b >> 2] = c[a + 102960 >> 2];
                        I(11480, b);
                        c[b >> 2] = c[a + 102964 >> 2];
                        I(11544, b);
                        if (f = c[a + 102952 >> 2] | 0)
                            for (g = 0;;)
                                if (c[f + 8 >> 2] = g, Ma(f), f = c[f + 96 >> 2] | 0) g = g + 1 | 0;
                                else break;
                        a = a + 102956 | 0;
                        if (g = c[a >> 2] | 0) {
                            for (f = 0;;)
                                if (c[g + 56 >> 2] = f, g = c[g + 12 >> 2] | 0) f = f + 1 | 0;
                                else break;
                            if (f = c[a >> 2] | 0) {
                                do 6 != (c[f + 4 >> 2] | 0) && (I(11608, b), $a[c[(c[f >> 2] | 0) + 16 >> 2] & 127](f), I(11616, b)), f = c[f + 12 >> 2] | 0; while (0 != (f | 0));
                                if (a = c[a >> 2] | 0) {
                                    do 6 == (c[a + 4 >> 2] | 0) && (I(11608, b), $a[c[(c[a >> 2] | 0) + 16 >> 2] & 127](a), I(11616, b)), a = c[a + 12 >> 2] | 0; while (0 != (a | 0))
                                }
                            }
                        }
                        I(11624, b);
                        I(11648, b);
                        I(11672, b);
                        I(11688, b)
                    }
                    r = e
                },
                rJ: function(a) {
                    return (a | 0) + 76 | 0
                },
                Mt: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(4) | 0) return d = b, c[d >> 2] = 2320, r = a, d | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(4) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return c[d >> 2] = 2320, r = a, d | 0;
                    return 0
                },
                rH: function(a, c) {
                    d[(a | 0) + 8 >> 2] = +c
                },
                gM: function(a) {
                    return + +d[(a | 0) + 72 >> 2]
                },
                jx: function(a) {
                    return + +d[(a | 0) + 8 >> 2]
                },
                TE: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                Pw: function(a, b, d, e) {
                    a = a | 0;
                    var f = 0,
                        f = r;
                    cc[c[(c[a >> 2] | 0) + 24 >> 2] & 63](a, b | 0, d | 0, e | 0);
                    r = f
                },
                mK: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[560] | 0) && 0 != (Ua(560) | 0) && Va(560);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 552;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 552
                },
                YF: function(a) {
                    return 0 != (D[(a | 0) + 48 >> 0] | 0) | 0
                },
                VC: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = a | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                qA: function(a) {
                    return (a | 0) + 32 | 0
                },
                JN: function(a) {
                    return c[(a | 0) + 102952 >> 2] | 0
                },
                HK: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    wd[c[(c[a >> 2] | 0) + 28 >> 2] & 63](a, b | 0, +d);
                    r = e
                },
                HC: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                XF: function(a) {
                    return 0 != (D[(a | 0) + 16 >> 0] | 0) | 0
                },
                ZN: function(a, b, e, f) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        v = 0,
                        w = 0,
                        z = 0,
                        A = 0,
                        C = 0,
                        D = 0,
                        F = 0,
                        E = 0,
                        J = 0,
                        I = 0,
                        L = 0,
                        X = 0,
                        P = 0,
                        S = 0,
                        M = 0,
                        U = 0,
                        H = 0,
                        W = 0,
                        ca = 0,
                        fa = 0,
                        R = 0,
                        ea = 0,
                        V = 0,
                        aa = 0,
                        ja = 0,
                        da = 0,
                        ga = 0,
                        T = 0,
                        ha = 0,
                        ka = 0,
                        na = T = 0,
                        g = r;
                    r = r + 1088 | 0;
                    m = g + 1064 | 0;
                    l = g + 1056 | 0;
                    k = g + 20 | 0;
                    n = g;
                    K = c[e >> 2] | 0;
                    e = c[e + 4 >> 2] | 0;
                    C = f | 0;
                    f = c[C >> 2] | 0;
                    C = c[C + 4 >> 2] | 0;
                    A = (c[y >> 2] = K, +d[y >> 2]);
                    v = (c[y >> 2] = e, +d[y >> 2]);
                    w = (c[y >> 2] = f, +d[y >> 2]);
                    w -= A;
                    z = (c[y >> 2] = C, +d[y >> 2]) - v;
                    F = w * w + z * z;
                    0 < F || Q(11704, 11736, 209, 11784);
                    F = +ib(+F);
                    1.1920928955078125E-7 > F ? (J = z, E = w) : (E = 1 / F, J = z * E, E *= w);
                    F = -J;
                    S = -0 > J ? F : J;
                    J = 0 < E ? E : -E;
                    V = A + w;
                    aa = v + z;
                    D = k + 4 | 0;
                    c[k >> 2] = D;
                    L = k + 1028 | 0;
                    c[L >> 2] = 0;
                    I = k + 1032 | 0;
                    c[I >> 2] = 256;
                    c[(c[k >> 2] | 0) + (c[L >> 2] << 2) >> 2] = c[a + 102872 >> 2];
                    ha = c[L >> 2] | 0;
                    T = ha + 1 | 0;
                    c[L >> 2] = T;
                    a: do
                        if (-1 < (ha | 0)) {
                            X = a + 102876 | 0;
                            P = n + 8 | 0;
                            M = n + 16 | 0;
                            U = a + 102884 | 0;
                            H = m + 8 | 0;
                            W = n + 4 | 0;
                            fa = n + 8 | 0;
                            a = n + 12 | 0;
                            R = l + 4 | 0;
                            ca = A < V ? A : V;
                            ea = v > aa ? v : aa;
                            V = A > V ? A : V;
                            aa = v < aa ? v : aa;
                            ja = 1;
                            b: for (;;) {
                                c: for (;;) {
                                    if (0 >= (T | 0)) {
                                        l = 11;
                                        break b
                                    }
                                    T = T + -1 | 0;
                                    c[L >> 2] = T;
                                    ga = c[k >> 2] | 0;
                                    da = c[ga + (T << 2) >> 2] | 0;
                                    do
                                        if (!(-1 == (da | 0) || (q = c[X >> 2] | 0, t = +d[q + (36 * da | 0) + 8 >> 2], p = +d[q + (36 * da | 0) + 12 >> 2], x = +d[q + (36 * da | 0) >> 2], u = +d[q + (36 * da | 0) + 4 >> 2], 0 < ca - t | 0 < aa - p | 0 < x - V | 0 < u - ea) || (ka = (A - .5 * (t + x)) * F + E * (v - .5 * (p + u)), 0 < ka || (ka = -ka), 0 < ka - (S * (t - x) * .5 + J * (p - u) * .5))))
                                            if (ha = q + (36 * da | 0) + 24 | 0, -1 != (c[ha >> 2] | 0))(T | 0) == (c[I >> 2] | 0) && (c[I >> 2] = T << 1, T = ma(T << 3) | 0, c[k >> 2] = T, kb(T | 0, ga | 0, c[L >> 2] << 2 | 0) | 0, (ga | 0) != (D | 0)) && oa(ga), ga = c[k >> 2] | 0, c[ga + (c[L >> 2] << 2) >> 2] = c[ha >> 2], T = (c[L >> 2] | 0) + 1 | 0, c[L >> 2] = T, da = q + (36 * da | 0) + 28 | 0, (T | 0) == (c[I >> 2] | 0) && (c[I >> 2] = T << 1, ha = ma(T << 3) | 0, c[k >> 2] = ha, kb(ha | 0, ga | 0, c[L >> 2] << 2 | 0) | 0, (ga | 0) != (D | 0)) && oa(ga), c[(c[k >> 2] | 0) + (c[L >> 2] << 2) >> 2] = c[da >> 2], T = (c[L >> 2] | 0) + 1 | 0, c[L >> 2] = T;
                                            else {
                                                ha = n;
                                                c[ha >> 2] = K;
                                                c[ha + 4 >> 2] = e;
                                                ha = P;
                                                c[ha >> 2] = f;
                                                c[ha + 4 >> 2] = C;
                                                d[M >> 2] = ja;
                                                if (-1 >= (da | 0)) {
                                                    l = 21;
                                                    break b
                                                }
                                                if ((c[U >> 2] | 0) <= (da | 0)) {
                                                    l = 21;
                                                    break b
                                                }
                                                ha = c[q + (36 * da | 0) + 16 >> 2] | 0;
                                                da = c[ha + 16 >> 2] | 0;
                                                T = c[da + 12 >> 2] | 0;
                                                Mc[c[(c[T >> 2] | 0) + 20 >> 2] & 63](T, m, n, (c[da + 8 >> 2] | 0) + 12 | 0, c[ha + 20 >> 2] | 0) | 0 ? (ka = +d[H >> 2], na = 1 - ka, T = na * +d[W >> 2] + ka * +d[a >> 2], d[l >> 2] = +d[n >> 2] * na + ka * +d[fa >> 2], d[R >> 2] = T, ka = +Bd[c[(c[b >> 2] | 0) + 8 >> 2] & 63](b, da, l, m, ka)) : ka = +d[M >> 2];
                                                if (0 == ka) break a;
                                                if (0 < ka) break c;
                                                T = c[L >> 2] | 0
                                            }
                                    while (0);
                                    if (0 >= (T | 0)) break a
                                }
                                V = A + w * ka;aa = v + z * ka;T = c[L >> 2] | 0;
                                if (0 >= (T | 0)) break a;
                                else ca = A < V ? A : V,
                                ea = v > aa ? v : aa,
                                V = A > V ? A : V,
                                aa = v < aa ? v : aa,
                                ja = ka
                            }
                            11 == (l | 0) ? Q(9664, 9680, 67, 9728) : 21 == (l | 0) && Q(11792, 11736, 158, 11840)
                        }
                    while (0);
                    l = c[k >> 2] | 0;
                    (l | 0) != (D | 0) && (oa(l), c[k >> 2] = 0);
                    r = g
                },
                mD: function(a, c) {
                    d[(a | 0) + 12 >> 2] = +c
                },
                hD: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                eH: function(a) {
                    return + +d[(a | 0) + 4 >> 2]
                },
                ix: function(a, b, e) {
                    a = +a;
                    b = +b;
                    e = +e;
                    var f = 0,
                        g = 0,
                        f = r,
                        g = ma(16) | 0;
                    a: do
                        if (!g) {
                            for (;;) {
                                g = c[4582] | 0;
                                c[4582] = g + 0;
                                if (!g) break;
                                ab[g & 63]();
                                if (g = ma(16) | 0) break a
                            }
                            g = eb(4) | 0;
                            c[g >> 2] = 18168;
                            db(g | 0, 18216, 116)
                        }
                    while (0);
                    d[g >> 2] = a;
                    d[g + 4 >> 2] = b;
                    d[g + 8 >> 2] = e;
                    d[g + 12 >> 2] = 1;
                    r = f;
                    return g | 0
                },
                hx: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(16) | 0) return r = a, b | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(16) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return r = a, d | 0;
                    return 0
                },
                iF: function(a) {
                    return + +d[(a | 0) + 84 >> 2]
                },
                EL: function(a, b, e, f) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        g = r;
                    c[a + 8 >> 2] = b;
                    c[a + 12 >> 2] = e;
                    x = +d[f >> 2] - +d[b + 12 >> 2];
                    n = f + 4 | 0;
                    k = +d[n >> 2] - +d[b + 16 >> 2];
                    l = +d[b + 24 >> 2];
                    m = +d[b + 20 >> 2];
                    p = +(x * l + k * m);
                    q = a + 20 | 0;
                    d[q >> 2] = p;
                    d[q + 4 >> 2] = +(l * k - x * m);
                    m = +d[f >> 2] - +d[e + 12 >> 2];
                    p = +d[n >> 2] - +d[e + 16 >> 2];
                    x = +d[e + 24 >> 2];
                    k = +d[e + 20 >> 2];
                    l = +(m * x + p * k);
                    k = +(x * p - m * k);
                    f = a + 28 | 0;
                    d[f >> 2] = l;
                    d[f + 4 >> 2] = k;
                    d[a + 36 >> 2] = +d[e + 56 >> 2] - +d[b + 56 >> 2];
                    r = g
                },
                IK: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    a = jc[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a) | 0;
                    r = b;
                    return a | 0
                },
                yO: function() {
                    return 6
                },
                aA: function(a) {
                    return + +d[(a | 0) + 8 >> 2]
                },
                oG: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                ay: function(a) {
                    return (a | 0) + 64 | 0
                },
                nF: function(a) {
                    return (a | 0) + 76 | 0
                },
                ML: function(a) {
                    return (a | 0) + 20 | 0
                },
                vF: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                vC: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                qw: function(a, c, b) {
                    var d = 0,
                        d = r;
                    na(a | 0, c | 0, b | 0);
                    r = d
                },
                JB: function(a, c) {
                    D[(a | 0) + 16 >> 0] = (c | 0) & 1
                },
                TD: function(a) {
                    return + +d[(a | 0) + 28 >> 2]
                },
                xN: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                gv: function(a, b, e, f) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        g = r;
                    2 == (c[a >> 2] | 0) && (l = a + 4 | 0, m = W[l >> 1] | 0, f | 0 && 0 == (m & 2) && (k = m & 65535, 0 == (k & 2 | 0)) && (m = (k | 2) & 65535, W[l >> 1] = m, d[a + 144 >> 2] = 0), m & 2 && (l = a + 76 | 0, d[l >> 2] = +d[b >> 2] + +d[l >> 2], l = b + 4 | 0, m = a + 80 | 0, d[m >> 2] = +d[l >> 2] + +d[m >> 2], m = a + 84 | 0, d[m >> 2] = +d[m >> 2] + ((+d[e >> 2] - +d[a + 44 >> 2]) * +d[l >> 2] - (+d[e + 4 >> 2] - +d[a + 48 >> 2]) * +d[b >> 2])));
                    r = g
                },
                $G: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = c[a + 48 >> 2] | 0,
                        g = f + 4 | 0,
                        k = Ra[g >> 1] | 0;
                    k & 2 || (W[g >> 1] = k | 2, d[f + 144 >> 2] = 0);
                    k = c[a + 52 >> 2] | 0;
                    g = k + 4 | 0;
                    f = Ra[g >> 1] | 0;
                    f & 2 || (W[g >> 1] = f | 2, d[k + 144 >> 2] = 0);
                    d[(a + 132 | 0) >> 2] = +b;
                    r = e
                },
                Uy: function(a) {
                    return 0 != (D[(a | 0) + 61 >> 0] | 0) | 0
                },
                jF: function(a) {
                    return + +d[(a | 0) + 104 >> 2]
                },
                gO: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 102968 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                rD: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    c[a + 0 >> 2] = 0;
                    c[a + 4 >> 2] = 0;
                    c[a + 8 >> 2] = 0;
                    c[a + 12 >> 2] = 0;
                    r = b
                },
                Wx: function(a) {
                    return c[(a | 0) + 56 >> 2] | 0
                },
                EA: function(a, c) {
                    d[(a | 0) + 20 >> 2] = +c
                },
                Iv: function(a) {
                    return (a | 0) + 12 | 0
                },
                rx: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                ND: function(a, b) {
                    a = a | 0;
                    b = b | 0;
                    var d = 0,
                        d = r;
                    c[a + 0 >> 2] = c[b + 0 >> 2];
                    c[a + 4 >> 2] = c[b + 4 >> 2];
                    c[a + 8 >> 2] = c[b + 8 >> 2];
                    r = d
                },
                pu: function(a) {
                    a = a | 0;
                    var c = 0,
                        b = 0,
                        e = 0,
                        c = r;
                    0 == (D[264] | 0) && 0 != (Ua(264) | 0) && Va(264);
                    e = +(.5 * (+d[a + 8 >> 2] - +d[a >> 2]));
                    b = +(.5 * (+d[a + 12 >> 2] - +d[a + 4 >> 2]));
                    a = 256;
                    d[a >> 2] = e;
                    d[a + 4 >> 2] = b;
                    r = c;
                    return 256
                },
                EI: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                DG: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                KM: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                Iy: function(a, c) {
                    D[(a | 0) + 16 >> 0] = (c | 0) & 1
                },
                Du: function(a) {
                    return + +d[(a | 0) + 12 >> 2]
                },
                hI: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                dA: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                QL: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                sB: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        e = r;
                    2139095040 != ((d[y >> 2] = b, c[y >> 2] | 0) & 2139095040 | 0) & 0 <= b ? (d[a + 96 >> 2] = b, r = e) : Q(14504, 14544, 217, 14600)
                },
                JD: function(a, b, d) {
                    a = a | 0;
                    b = b | 0;
                    d = d | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = ma(36) | 0;
                    a: do
                        if (!f) {
                            for (;;) {
                                f = c[4582] | 0;
                                c[4582] = f + 0;
                                if (!f) break;
                                ab[f & 63]();
                                if (f = ma(36) | 0) break a
                            }
                            f = eb(4) | 0;
                            c[f >> 2] = 18168;
                            db(f | 0, 18216, 116)
                        }
                    while (0);
                    k = f + 12 | 0;
                    g = f + 24 | 0;
                    c[f + 0 >> 2] = c[a + 0 >> 2];
                    c[f + 4 >> 2] = c[a + 4 >> 2];
                    c[f + 8 >> 2] = c[a + 8 >> 2];
                    c[k + 0 >> 2] = c[b + 0 >> 2];
                    c[k + 4 >> 2] = c[b + 4 >> 2];
                    c[k + 8 >> 2] = c[b + 8 >> 2];
                    c[g + 0 >> 2] = c[d + 0 >> 2];
                    c[g + 4 >> 2] = c[d + 4 >> 2];
                    c[g + 8 >> 2] = c[d + 8 >> 2];
                    r = e;
                    return f | 0
                },
                wL: function(a) {
                    return + +d[(a | 0) + 4 >> 2]
                },
                kC: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                fu: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    a = Jc[c[(c[a >> 2] | 0) + 8 >> 2] & 63](a, b | 0) | 0;
                    r = d;
                    return a | 0
                },
                HA: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        e = 0,
                        d = r,
                        e = c[a + 12 >> 2] | 0;
                    a = Vc[c[(c[e >> 2] | 0) + 16 >> 2] & 63](e, (c[a + 8 >> 2] | 0) +
                        12 | 0, b | 0) | 0;
                    r = d;
                    return a | 0
                },
                nJ: function(a) {
                    return 0 != (D[(a | 0) + 61 >> 0] | 0) | 0
                },
                cu: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r,
                        b = ma(8) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(8) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    d = b;
                    c[d >> 2] = 0;
                    c[d + 4 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b >> 2] = 912;
                    r = a;
                    return b | 0
                },
                cF: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[104] | 0) && 0 != (Ua(104) | 0) && Va(104);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 96;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 96
                },
                WK: function(a) {
                    return a | 0
                },
                qz: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    wd[c[(c[a >> 2] | 0) + 28 >> 2] & 63](a, b | 0, +d);
                    r = e
                },
                QN: function(a) {
                    return (a | 0) + 102996 | 0
                },
                ty: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                VJ: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                pC: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                kz: function(a, b) {
                    a = (a | 0) + 4 | 0;
                    c[a >> 2] = c[a >> 2] | b | 0
                },
                bE: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                LN: function(a) {
                    return c[(a | 0) + 102932 >> 2] | 0
                },
                PD: function(a, b) {
                    b = b | 0;
                    var d = 0,
                        d = r;
                    a = (a | 0) + 24 | 0;
                    c[a + 0 >> 2] = c[b + 0 >> 2];
                    c[a + 4 >> 2] = c[b + 4 >> 2];
                    c[a + 8 >> 2] = c[b + 8 >> 2];
                    r = d
                },
                sC: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(16) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(16) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    r = a;
                    return b | 0
                },
                MA: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                IM: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                xJ: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var d = 0,
                        e = 0,
                        f = 0,
                        e = r;
                    r = r + 16 | 0;
                    d = e;
                    0 == (D[896] | 0) && 0 != (Ua(896) | 0) && Va(896);
                    wd[c[(c[a >> 2] | 0) + 8 >> 2] & 63](d, a, b);
                    f = d;
                    a = c[f + 4 >> 2] | 0;
                    d = 888;
                    c[d >> 2] = c[f >> 2];
                    c[d + 4 >> 2] = a;
                    r = e;
                    return 888
                },
                KH: function(a, c) {
                    D[(a | 0) + 16 >> 0] = (c | 0) & 1
                },
                gK: function(a) {
                    return 0 != (D[(a | 0) + 61 >> 0] | 0) | 0
                },
                LB: function(a, b) {
                    c[(a | 0) + 24 >> 2] = b | 0
                },
                bv: function(a, b) {
                    c[(a | 0) + 44 >> 2] = b | 0
                },
                QB: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[448] | 0) && 0 != (Ua(448) | 0) && Va(448);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 440;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 440
                },
                qK: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                rA: function(a) {
                    return + +d[(a | 0) + 16 >> 2]
                },
                rO: function() {
                    return 4
                },
                BI: function(a, b, e, f) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        g = r;
                    c[a + 8 >> 2] = b;
                    c[a + 12 >> 2] = e;
                    x = +d[f >> 2] - +d[b + 12 >> 2];
                    n = f + 4 | 0;
                    k = +d[n >> 2] - +d[b + 16 >> 2];
                    l = +d[b + 24 >> 2];
                    m = +d[b + 20 >> 2];
                    p = +(x * l + k * m);
                    q = a + 20 | 0;
                    d[q >> 2] = p;
                    d[q + 4 >> 2] = +(l * k - x * m);
                    m = +d[f >> 2] - +d[e + 12 >> 2];
                    p = +d[n >> 2] - +d[e + 16 >> 2];
                    x = +d[e + 24 >> 2];
                    k = +d[e + 20 >> 2];
                    l = +(m * x + p * k);
                    k = +(x * p - m * k);
                    f = a + 28 | 0;
                    d[f >> 2] = l;
                    d[f + 4 >> 2] = k;
                    d[a + 36 >> 2] = +d[e + 56 >> 2] - +d[b + 56 >> 2];
                    r = g
                },
                pv: function(a) {
                    return + +d[(a | 0) + 56 >> 2]
                },
                vz: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        f = b | 0;
                    b = c[f + 4 >> 2] | 0;
                    e = a + 12 | 0;
                    c[e >> 2] = c[f >> 2];
                    c[e + 4 >> 2] = b;
                    e = d | 0;
                    d = c[e + 4 >> 2] | 0;
                    b = a + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d;
                    D[a + 44 >> 0] = 0;
                    D[a + 45 >> 0] = 0
                },
                ED: function(a) {
                    var b = 0,
                        d = 0,
                        b = r,
                        d = (a | 0) + 0 | 0;
                    a = d + 36 | 0;
                    do c[d >> 2] = 0, d = d + 4 | 0; while ((d | 0) < (a | 0));
                    r = b
                },
                jE: function(a, c) {
                    d[(a | 0) + 36 >> 2] = +c
                },
                bG: function(a) {
                    return (a | 0) + 36 | 0
                },
                zD: function(a) {
                    return (a | 0) + 8 | 0
                },
                qD: function(a) {
                    a = a | 0;
                    d[a >> 2] = 1;
                    d[a + 8 >> 2] = 0;
                    d[a + 4 >> 2] = 0;
                    d[a + 12 >> 2] = 1
                },
                MC: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a +
                            48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                Cu: function(a) {
                    return 0 != (D[(a | 0) + 36 >> 0] | 0) | 0
                },
                UN: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        b = r,
                        d = c[a + 102872 >> 2] | 0;
                    if (-1 == (d | 0)) return r = b, 0;
                    d = c[(c[a + 102876 >> 2] | 0) + (36 * d | 0) + 32 >> 2] | 0;
                    r = b;
                    return d | 0
                },
                VB: function(a) {
                    return c[(a | 0) + 72 >> 2] | 0
                },
                Mz: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 12 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                Ov: function(a) {
                    return c[(a | 0) + 88 >> 2] | 0
                },
                LO: function() {
                    return 0
                },
                OH: function(a, c) {
                    d[(a | 0) + 56 >> 2] = +c
                },
                Yv: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        e = r,
                        f = a + 4 | 0,
                        g = Ra[f >> 1] | 0;
                    b | 0 ? g & 2 || (W[f >> 1] = g | 2, d[a + 144 >> 2] = 0) : (W[f >> 1] = g & 65533, d[a + 144 >> 2] = 0, b = a + 64 | 0, c[b + 0 >> 2] = 0, c[b + 4 >> 2] = 0, c[b + 8 >> 2] = 0, c[b + 12 >> 2] = 0, c[b + 16 >> 2] = 0, c[b + 20 >> 2] = 0);
                    r = e
                },
                wG: function(a, c) {
                    d[(a | 0) + 56 >> 2] = +c
                },
                gL: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                uI: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = a | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                hy: function(a) {
                    a = a | 0;
                    d[a + 136 >> 2] = +ib(+(+d[(c[a + 48 >> 2] | 0) + 16 >> 2] * +d[(c[a + 52 >> 2] | 0) + 16 >> 2]))
                },
                UH: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[656] | 0) && 0 != (Ua(656) | 0) && Va(656);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 648;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 648
                },
                Lu: function(a) {
                    return (a | 0) + 16 | 0
                },
                xy: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                uD: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                wJ: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                HL: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                nE: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[200] | 0) && 0 != (Ua(200) | 0) && Va(200);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 192;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 192
                },
                vA: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                EF: function(a, b, e) {
                    a = a | 0;
                    b = +b;
                    e = +e;
                    var f = 0,
                        g = 0;
                    c[a + 276 >> 2] = 4;
                    f = -b;
                    g = -e;
                    d[a + 20 >> 2] = f;
                    d[a + 24 >> 2] = g;
                    d[a + 28 >> 2] = b;
                    d[a + 32 >> 2] = g;
                    d[a + 36 >> 2] = b;
                    d[a + 40 >> 2] = e;
                    d[a + 44 >> 2] = f;
                    d[a + 48 >> 2] = e;
                    d[a + 148 >> 2] = 0;
                    d[a + 152 >> 2] = -1;
                    d[a + 156 >> 2] = 1;
                    d[a + 160 >> 2] = 0;
                    d[a + 164 >> 2] = 0;
                    d[a + 168 >> 2] = 1;
                    d[a + 172 >> 2] = -1;
                    d[a + 176 >> 2] = 0;
                    d[a + 12 >> 2] = 0;
                    d[a + 16 >> 2] = 0
                },
                zL: function(a, c) {
                    a = a | 0;
                    c = +c;
                    var b = 0;
                    d[a >> 2] = +d[a >> 2] * c;
                    b = a + 4 | 0;
                    d[b >> 2] = +d[b >> 2] * c;
                    a = a + 8 | 0;
                    d[a >> 2] = +d[a >> 2] * c
                },
                RF: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                pN: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                oE: function(a) {
                    return + +d[(a | 0) + 76 >> 2]
                },
                DJ: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (!(W[(c[a + 48 >> 2] | 0) + 4 >> 1] & 32)) return r = b, 0;
                    a = 0 != (W[(c[a + 52 >> 2] | 0) + 4 >> 1] & 32);
                    r = b;
                    return a | 0
                },
                WB: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                XD: function(a) {
                    return + +d[(a | 0) + 40 >> 2]
                },
                cx: function(a, c, b, e) {
                    a = a | 0;
                    d[a >> 2] = +c;
                    d[a + 4 >> 2] = +b;
                    d[a + 8 >> 2] = +e;
                    d[a + 12 >> 2] = 1
                },
                Kz: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                gN: function(a) {
                    return (a | 0) + 92 | 0
                },
                Gv: function(a) {
                    return c[(a | 0) + 96 >> 2] | 0
                },
                eK: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                FO: function() {
                    return 0
                },
                Ix: function(a, c) {
                    D[(a | 0) >> 0] = c | 0
                },
                fH: function(a) {
                    return + +d[(a | 0) + 12 >> 2]
                },
                Su: function(a, c) {
                    d[(a | 0) + 32 >> 2] = +c
                },
                eB: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[832] | 0) && 0 != (Ua(832) | 0) && Va(832);
                    Mb[c[(c[a >> 2] | 0) + 4 >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 824;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 824
                },
                YN: function(a, b, e) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        K = 0,
                        v = 0,
                        w = 0,
                        y = 0,
                        l = r;
                    r = r + 1040 | 0;
                    g = l;
                    k = g + 4 | 0;
                    c[g >> 2] = k;
                    m = g + 1028 | 0;
                    c[m >> 2] = 0;
                    p = g + 1032 | 0;
                    c[p >> 2] = 256;
                    n = c[g >> 2] | 0;
                    c[n + (c[m >> 2] << 2) >> 2] = c[a + 102872 >> 2];
                    y = c[m >> 2] | 0;
                    v = y + 1 | 0;
                    c[m >> 2] = v;
                    do
                        if (-1 < (y | 0)) {
                            u = a + 102876 | 0;
                            t = e + 4 | 0;
                            q = e + 8 | 0;
                            n = e + 12 | 0;
                            a = a + 102884 | 0;
                            a: for (;;) {
                                if (0 >= (v | 0)) {
                                    m = 4;
                                    break
                                }
                                v = v + -1 | 0;
                                c[m >> 2] = v;
                                y = c[g >> 2] | 0;
                                K = c[y + (v << 2) >> 2] | 0;
                                do
                                    if (-1 != (K | 0) && (x = c[u >> 2] | 0, !((0 < +d[e >> 2] - +d[x + (36 * K | 0) + 8 >> 2] ? 1 : 0 < +d[t >> 2] - +d[x + (36 * K | 0) + 12 >> 2]) | 0 < +d[x + (36 * K | 0) >> 2] - +d[q >> 2] | 0 < +d[x + (36 * K | 0) + 4 >> 2] - +d[n >> 2])))
                                        if (w = x + (36 * K | 0) + 24 | 0, -1 == (c[w >> 2] | 0)) {
                                            if (-1 >= (K | 0)) {
                                                m = 11;
                                                break a
                                            }
                                            if ((c[a >> 2] | 0) <= (K | 0)) {
                                                m = 11;
                                                break a
                                            }
                                            if (!(Jc[c[(c[b >> 2] | 0) + 8 >> 2] & 63](b, c[(c[x + (36 * K | 0) + 16 >> 2] | 0) + 16 >> 2] | 0) | 0)) {
                                                m = 21;
                                                break a
                                            }
                                            v = c[m >> 2] | 0
                                        } else(v | 0) == (c[p >> 2] | 0) && (c[p >> 2] = v << 1, v = ma(v << 3) | 0, c[g >> 2] = v, kb(v | 0, y | 0, c[m >> 2] << 2 | 0) | 0, (y | 0) != (k | 0)) && oa(y), v = c[g >> 2] | 0, c[v + (c[m >> 2] << 2) >> 2] = c[w >> 2], w = (c[m >> 2] | 0) + 1 | 0, c[m >> 2] = w, K = x + (36 * K | 0) + 28 | 0, (w | 0) == (c[p >> 2] | 0) && (c[p >> 2] = w << 1, y = ma(w << 3) | 0, c[g >> 2] = y, kb(y | 0, v | 0, c[m >> 2] << 2 | 0) | 0, (v | 0) != (k | 0)) && oa(v), c[(c[g >> 2] | 0) + (c[m >> 2] << 2) >> 2] = c[K >> 2], v = (c[m >> 2] | 0) + 1 | 0, c[m >> 2] = v; while (0);
                                if (0 >= (v | 0)) {
                                    m = 21;
                                    break
                                }
                            }
                            4 == (m | 0) ? Q(9664, 9680, 67, 9728) : 11 == (m | 0) ? Q(11792, 11736, 158, 11840) : 21 == (m | 0) && (f = c[g >> 2] | 0)
                        } else f = n; while (0);
                    (f | 0) != (k | 0) && (oa(f), c[g >> 2] = 0);
                    r = l
                },
                Ou: function(a) {
                    return c[(a | 0) + 44 >> 2] | 0
                },
                Px: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                Xv: function(a, b) {
                    a = a | 0;
                    b = +b;
                    var e = 0,
                        f = 0,
                        g = 0,
                        e = r;
                    c[a >> 2] | 0 && (0 < b * b && (g = a + 4 | 0, f = Ra[g >> 1] | 0, 0 == (f & 2 | 0)) && (W[g >> 1] = f | 2, d[a + 144 >> 2] = 0), d[a + 72 >> 2] = b);
                    r = e
                },
                JM: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                EJ: function(a) {
                    return 0 != (D[(a | 0) + 112 >> 0] | 0) | 0
                },
                Ty: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                bJ: function(a, c) {
                    d[(a | 0) + 60 >> 2] = +c
                },
                SL: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                JJ: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                hz: function(a, c) {
                    d[(a | 0) + 104 >> 2] = +c
                },
                tC: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                Bv: function(a) {
                    return (a | 0) + 28 | 0
                },
                Xz: function(a) {
                    a = a | 0;
                    var c = 0,
                        c = r;
                    a && oa(a);
                    r = c
                },
                kA: function(a, b) {
                    c[(a | 0) >> 2] = b | 0
                },
                bM: function(a) {
                    a = a | 0;
                    var b = 0,
                        d = 0,
                        e = 0,
                        d = r;
                    r = r + 16 | 0;
                    b = d;
                    0 == (D[480] | 0) && 0 != (Ua(480) | 0) && Va(480);
                    Mb[c[c[a >> 2] >> 2] & 127](b, a);
                    e = b;
                    a = c[e + 4 >> 2] | 0;
                    b = 472;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = a;
                    r = d;
                    return 472
                },
                iH: function(a) {
                    return + +d[(a | 0) + 16 >> 2]
                },
                IL: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                Wv: function(a, c) {
                    d[(a | 0) + 136 >> 2] = +c
                },
                tH: function(a, b, e, f, g, k, l, m) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    g = g | 0;
                    k = k | 0;
                    l = l | 0;
                    m = +m;
                    var p = 0,
                        x = 0,
                        n = 0,
                        q = 0,
                        t = 0,
                        u = 0,
                        v = 0,
                        n = x = 0,
                        p = r;
                    c[a + 8 >> 2] = b;
                    c[a + 12 >> 2] = e;
                    q = f;
                    x = c[q + 4 >> 2] | 0;
                    n = a + 20 | 0;
                    c[n >> 2] = c[q >> 2];
                    c[n + 4 >> 2] = x;
                    n = g;
                    x = c[n + 4 >> 2] | 0;
                    q = a + 28 | 0;
                    c[q >> 2] = c[n >> 2];
                    c[q + 4 >> 2] = x;
                    v = +d[k >> 2] - +d[b + 12 >> 2];
                    q = k + 4 | 0;
                    x = +d[q >> 2] - +d[b + 16 >> 2];
                    n = +d[b + 24 >> 2];
                    t = +d[b + 20 >> 2];
                    u = +(v * n + x * t);
                    b = a + 36 | 0;
                    d[b >> 2] = u;
                    d[b + 4 >> 2] = +(n * x - v * t);
                    t = +d[l >> 2] - +d[e + 12 >> 2];
                    b = l + 4 | 0;
                    u = +d[b >> 2] - +d[e + 16 >> 2];
                    v = +d[e + 24 >> 2];
                    x = +d[e + 20 >> 2];
                    n = +(t * v + u * x);
                    x = +(v * u - t * x);
                    e = a + 44 | 0;
                    d[e >> 2] = n;
                    d[e + 4 >> 2] = x;
                    x = +d[k >> 2] - +d[f >> 2];
                    n = +d[q >> 2] - +d[f + 4 >> 2];
                    d[a + 52 >> 2] = +ib(+(x * x + n * n));
                    n = +d[l >> 2] - +d[g >> 2];
                    x = +d[b >> 2] - +d[g + 4 >> 2];
                    d[a + 56 >> 2] = +ib(+(n * n + x * x));
                    d[a + 60 >> 2] = m;
                    1.1920928955078125E-7 < m ? r = p : Q(16200, 16232, 51, 16288)
                },
                IB: function(a, b) {
                    c[(a | 0) + 12 >> 2] = b | 0
                },
                nK: function(a, b) {
                    a = a | 0;
                    var d = 0,
                        d = r;
                    b = +Vb[c[(c[a >> 2] | 0) + 12 >> 2] & 63](a, +b);
                    r = d;
                    return +b
                },
                AD: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = a | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                $B: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                sO: function() {
                    return 16
                },
                yw: function() {
                    var a = 0,
                        b = 0,
                        a = r,
                        b = ma(40) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(40) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b >> 2] = 6488;
                    c[b + 4 >> 2] = 3;
                    d[b + 8 >> 2] = .009999999776482582;
                    c[b + 12 >> 2] = 0;
                    c[b + 16 >> 2] = 0;
                    D[b + 36 >> 0] = 0;
                    D[b + 37 >> 0] = 0;
                    r = a;
                    return b | 0
                },
                HJ: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = c[a + 48 >> 2] | 0,
                        g = f + 4 | 0,
                        k = Ra[g >> 1] | 0;
                    k & 2 || (W[g >> 1] = k | 2, d[f + 144 >> 2] = 0);
                    k = c[a + 52 >> 2] | 0;
                    g = k + 4 | 0;
                    f = Ra[g >> 1] | 0;
                    f & 2 || (W[g >> 1] = f | 2, d[k + 144 >> 2] = 0);
                    d[(a + 104 | 0) >> 2] = +b;
                    r = e
                },
                ZJ: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                JA: function(a, b, e, f) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    f = f | 0;
                    var g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        x = 0,
                        p = 0,
                        n = 0,
                        g = r;
                    c[a + 8 >> 2] = b;
                    c[a + 12 >> 2] = e;
                    p = +d[f >> 2] - +d[b + 12 >> 2];
                    n = f + 4 | 0;
                    k = +d[n >> 2] - +d[b + 16 >> 2];
                    l = +d[b + 24 >> 2];
                    m = +d[b + 20 >> 2];
                    x = +(p * l + k * m);
                    b = a + 20 | 0;
                    d[b >> 2] = x;
                    d[b + 4 >> 2] = +(l * k - p * m);
                    m = +d[f >> 2] - +d[e + 12 >> 2];
                    x = +d[n >> 2] - +d[e + 16 >> 2];
                    p = +d[e + 24 >> 2];
                    k = +d[e + 20 >> 2];
                    l = +(m * p + x * k);
                    k = +(p * x - m * k);
                    b = a + 28 | 0;
                    d[b >> 2] = l;
                    d[b + 4 >> 2] = k;
                    r = g
                },
                OB: function(a, b) {
                    c[(a | 0) + 4 >> 2] = b | 0
                },
                ow: function(a, b, e) {
                    a = a | 0;
                    b = b | 0;
                    e = e | 0;
                    var f = 0,
                        g = 0,
                        k = 0,
                        l = 0,
                        m = 0,
                        x = 0,
                        p = 0,
                        n = 0,
                        q = 0,
                        n = 0,
                        g = r,
                        f = a + 12 | 0;
                    c[f >> 2] | 0 && Q(6520, 6560, 38, 6616);
                    k = a + 16 | 0;
                    c[k >> 2] | 0 && Q(6520, 6560, 38, 6616);
                    2 >= (e | 0) && Q(7440, 6560, 39, 6616);
                    m = b;
                    x = c[m >> 2] | 0;
                    m = c[m + 4 >> 2] | 0;
                    for (l = 1;;) {
                        q = (c[y >> 2] = x, +d[y >> 2]);
                        p = (c[y >> 2] = m, +d[y >> 2]);
                        n = b + (l << 3) | 0;
                        x = c[n >> 2] | 0;
                        m = c[n + 4 >> 2] | 0;
                        n = (c[y >> 2] = x, +d[y >> 2]);
                        n = q - n;
                        p -= (c[y >> 2] = m, +d[y >> 2]);
                        l = l + 1 | 0;
                        if (!(2.499999936844688E-5 < n * n + p * p)) {
                            l = 9;
                            break
                        }
                        if ((l | 0) >= (e | 0)) {
                            l = 10;
                            break
                        }
                    }
                    9 == (l | 0) ? Q(6632, 6560, 45, 6616) : 10 == (l | 0) && (m = e + 1 | 0, c[k >> 2] = m, m = ma(m << 3) | 0, c[f >> 2] = m, kb(m | 0, b | 0, e << 3 | 0) | 0, n = m = c[f >> 2] | 0, l = c[n + 4 >> 2] | 0, m = m + (e << 3) | 0, c[m >> 2] = c[n >> 2], c[m + 4 >> 2] = l, m = c[f >> 2] | 0, l = m + ((c[k >> 2] | 0) + -2 << 3) | 0, n = c[l + 4 >> 2] | 0, x = a + 20 | 0, c[x >> 2] = c[l >> 2], c[x + 4 >> 2] = n, m = m + 8 | 0, x = c[m + 4 >> 2] | 0, n = a + 28 | 0, c[n >> 2] = c[m >> 2], c[n + 4 >> 2] = x, D[a + 36 >> 0] = 1, D[a + 37 >> 0] = 1, r = g)
                },
                Bz: function(a) {
                    return + +d[(a | 0) + 8 >> 2]
                },
                Zx: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                lw: function(a, b, d) {
                    a = a | 0;
                    var e = 0,
                        e = r;
                    wd[c[(c[a >> 2] | 0) + 28 >> 2] & 63](a, b | 0, +d);
                    r = e
                },
                pL: function(a, c) {
                    d[(a | 0) + 4 >> 2] = +c
                },
                WG: function(a) {
                    return 0 != (D[(a | 0) + 136 >> 0] | 0) | 0
                },
                OJ: function(a) {
                    return c[(a | 0) + 12 >> 2] | 0
                },
                Au: function() {
                    var a = 0,
                        b = 0,
                        e = 0,
                        a = r,
                        b = ma(52) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(52) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 44 >> 2] = 0;
                    e = b + 4 | 0;
                    c[e + 0 >> 2] = 0;
                    c[e + 4 >> 2] = 0;
                    c[e + 8 >> 2] = 0;
                    c[e + 12 >> 2] = 0;
                    c[e + 16 >> 2] = 0;
                    c[e + 20 >> 2] = 0;
                    c[e +
                        24 >> 2] = 0;
                    c[e + 28 >> 2] = 0;
                    D[(b + 36 | 0) >> 0] = 1;
                    D[b + 37 >> 0] = 1;
                    D[b + 38 >> 0] = 0;
                    D[b + 39 >> 0] = 0;
                    c[b >> 2] = 0;
                    D[b + 40 >> 0] = 1;
                    d[b + 48 >> 2] = 1;
                    r = a;
                    return b | 0
                },
                lD: function(a) {
                    return + +d[(a | 0) >> 2]
                },
                yN: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 28 >> 2] & 127](a);
                    r = b
                },
                FC: function(a) {
                    return c[(a | 0) + 52 >> 2] | 0
                },
                WE: function(a, c) {
                    D[(a | 0) + 16 >> 0] = (c | 0) & 1
                },
                SM: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 36 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                BC: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    $a[c[(c[a >> 2] | 0) + 16 >> 2] & 127](a);
                    r = b
                },
                wM: function() {
                    var a = 0,
                        b = 0,
                        e = 0,
                        a = r,
                        b = ma(64) | 0;
                    a: do
                        if (!b) {
                            for (;;) {
                                b = c[4582] | 0;
                                c[4582] = b + 0;
                                if (!b) break;
                                ab[b & 63]();
                                if (b = ma(64) | 0) break a
                            }
                            b = eb(4) | 0;
                            c[b >> 2] = 18168;
                            db(b | 0, 18216, 116)
                        }
                    while (0);
                    c[b + 0 >> 2] = 0;
                    c[b + 4 >> 2] = 0;
                    c[b + 8 >> 2] = 0;
                    c[b + 12 >> 2] = 0;
                    D[b + 16 >> 0] = 0;
                    c[b >> 2] = 7;
                    e = b + 20 | 0;
                    c[e + 0 >> 2] = 0;
                    c[e + 4 >> 2] = 0;
                    c[e + 8 >> 2] = 0;
                    c[e + 12 >> 2] = 0;
                    d[(b + 36 | 0) >> 2] = 1;
                    d[b + 40 >> 2] = 0;
                    D[b + 44 >> 0] = 0;
                    d[b + 48 >> 2] = 0;
                    d[b + 52 >> 2] = 0;
                    d[b + 56 >> 2] = 2;
                    d[b + 60 >> 2] = .699999988079071;
                    r = a;
                    return b | 0
                },
                cJ: function(a, c) {
                    d[(a | 0) + 56 >> 2] = +c
                },
                UD: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                BM: function(a) {
                    return 0 != (D[(a | 0) + 44 >> 0] | 0) | 0
                },
                aL: function(a) {
                    a = a | 0;
                    var c = 0,
                        b = 0,
                        b = +d[a >> 2],
                        c = +d[a + 4 >> 2];
                    return +(b * b + c * c)
                },
                VA: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                oN: function(a) {
                    return + +d[(a | 0) + 68 >> 2]
                },
                Fx: function(a) {
                    return D[(a | 0) + 1 >> 0] | 0
                },
                wv: function(a) {
                    return c[(a | 0) + 108 >> 2] | 0
                },
                fB: function(a) {
                    return c[(a | 0) + 48 >> 2] | 0
                },
                RM: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 28 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                My: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                dG: function(a) {
                    return + +d[(a | 0) + 64 >> 2]
                },
                iw: function(a, b) {
                    c[(a | 0) + 148 >> 2] = b | 0
                },
                dz: function(a) {
                    return c[(a | 0) + 64 >> 2] | 0
                },
                IH: function(a, b) {
                    c[(a | 0) + 8 >> 2] = b | 0
                },
                KC: function(a) {
                    return c[(a | 0) + 4 >> 2] | 0
                },
                bD: function(a) {
                    return c[(a | 0) + 60 >> 2] | 0
                },
                MD: function(a) {
                    return (a | 0) + 24 | 0
                },
                oy: function(a) {
                    a = a | 0;
                    var b = 0,
                        b = r;
                    if (a) $a[c[(c[a >> 2] | 0) + 4 >> 2] & 127](a);
                    r = b
                },
                xM: function(a) {
                    return c[(a | 0) + 8 >> 2] | 0
                },
                JO: function() {
                    return 2
                },
                LH: function(a, b) {
                    var d = 0,
                        e = 0,
                        e = b | 0,
                        d = c[e + 4 >> 2] | 0;
                    b = (a | 0) + 20 | 0;
                    c[b >> 2] = c[e >> 2];
                    c[b + 4 >> 2] = d
                },
                SE: function(a) {
                    return c[(a | 0) >> 2] | 0
                },
                ZG: function(a, b) {
                    a = a | 0;
                    var e = 0,
                        f = 0,
                        g = 0,
                        k = 0,
                        e = r,
                        f = c[a + 48 >> 2] | 0,
                        g = f + 4 | 0,
                        k = Ra[g >> 1] | 0;
                    k & 2 || (W[g >> 1] = k | 2, d[f + 144 >> 2] = 0);
                    k = c[a + 52 >> 2] | 0;
                    g = k + 4 | 0;
                    f = Ra[g >> 1] | 0;
                    f & 2 || (W[g >> 1] = f | 2, d[k + 144 >> 2] = 0);
                    d[(a + 128 | 0) >> 2] = +b;
                    r = e
                },
                yH: function(a) {
                    return 0 != (D[(a | 0) + 16 >> 0] | 0) | 0
                },
                rK: function(a, c) {
                    d[(a | 0) + 84 >> 2] = +c
                },
                NC: function(a, b) {
                    c[(a | 0) + 64 >> 2] = b | 0
                },
                QF: function(a, c) {
                    d[(a | 0) + 8 >> 2] = +c
                },
                jL: function(a) {
                    return + +d[(a | 0) >> 2]
                },
                Rt: function() {
                    var a = 0,
                        b = 0,
                        d = 0,
                        a = r;
                    if (b = ma(4) | 0) return d = b, c[d >> 2] = 2688, r = a, d | 0;
                    for (;;) {
                        b = c[4582] | 0;
                        c[4582] = b + 0;
                        if (!b) {
                            b = 4;
                            break
                        }
                        ab[b & 63]();
                        if (d = ma(4) | 0) {
                            b = 5;
                            break
                        }
                    }
                    if (4 == (b | 0)) d = eb(4) | 0, c[d >> 2] = 18168, db(d | 0, 18216, 116);
                    else if (5 == (b | 0)) return c[d >> 2] = 2688, r = a, d | 0;
                    return 0
                },
                DR: function() {},
                R_: function(a) {
                    var c = 0,
                        c = r;
                    r = r + (a | 0) | 0;
                    r = r + 15 & -16;
                    return c | 0
                },
                ps: function() {
                    return r | 0
                },
                fo: function(a) {
                    r = a | 0
                },
                Nc: function(a) {
                    dd || (dd = a | 0)
                },
                Tk: function(a) {
                    ed = a | 0
                },
                ZY: function() {
                    return ed | 0
                },
                Hp: function(a, c, b, d) {
                    return Vc[(a | 0) & 63](c | 0, b | 0, d | 0) | 0
                },
                Rp: function(a, c, b, d, e, f) {
                    nd[(a | 0) & 63](c | 0, b | 0, d | 0, e | 0, f | 0)
                },
                Dp: function(a, c, b) {
                    return +Vb[(a | 0) & 63](c | 0, + +b)
                },
                Kp: function(a, c) {
                    $a[(a | 0) & 127](c | 0)
                },
                Ep: function(a, c, b, d, e, f) {
                    return +Bd[(a | 0) & 63](c | 0, b | 0, d | 0, e | 0, + +f)
                },
                Lp: function(a, c, b) {
                    Mb[(a | 0) & 127](c | 0, b | 0)
                },
                Op: function(a, c, b, d, e, f) {
                    Cd[(a | 0) & 63](c | 0, b | 0, + +d, e | 0, f | 0)
                },
                Fp: function(a, c) {
                    return jc[(a | 0) & 63](c | 0) | 0
                },
                Np: function(a, c, b, d, e) {
                    Fd[(a | 0) & 63](c | 0, b | 0, + +d, e | 0)
                },
                Pp: function(a, c, b, d) {
                    Gd[(a | 0) & 63](c | 0, b | 0, d | 0)
                },
                Jp: function(a) {
                    ab[(a | 0) & 63]()
                },
                Mp: function(a, c, b, d) {
                    wd[(a | 0) & 63](c | 0, b | 0, + +d)
                },
                Sp: function(a, c, b, d, e, f, g) {
                    sd[(a | 0) & 63](c | 0, b | 0, d | 0, e | 0, f | 0, g | 0)
                },
                Gp: function(a, c, b) {
                    return Jc[(a | 0) & 63](c | 0, b | 0) | 0
                },
                Ip: function(a, c, b, d, e, f) {
                    return Mc[(a | 0) & 63](c | 0, b | 0, d | 0, e | 0, f | 0) | 0
                },
                Qp: function(a, c, b, d, e) {
                    cc[(a | 0) & 63](c | 0, b | 0, d | 0, e | 0)
                }
            }
        }(k.sj, k.tj, Ue);
        k.nN = m.nN;
        k.Ax = m.Ax;
        k.zw = m.zw;
        k.DA = m.DA;
        k.GK = m.GK;
        k.cB = m.cB;
        k.xL = m.xL;
        k.XN = m.XN;
        k.mz = m.mz;
        var Si = k.rB = m.rB;
        k.ox = m.ox;
        k.CM = m.CM;
        k.YJ = m.YJ;
        k.DF = m.DF;
        k.TN = m.TN;
        k.hG = m.hG;
        k.$t = m.$t;
        k.qJ = m.qJ;
        k.$z = m.$z;
        k.TA = m.TA;
        k.vJ = m.vJ;
        var Ti = k.kE = m.kE;
        k.rI = m.rI;
        k.Iz = m.Iz;
        k.xC = m.xC;
        var Ui = k.SO = m.SO,
            Vi = k.IA = m.IA;
        k.lI = m.lI;
        k.iO = m.iO;
        k.Xt = m.Xt;
        var Wi = k.pM = m.pM,
            Xi = k.qy = m.qy,
            Yi = k.av = m.av;
        k.kw = m.kw;
        var Zi = k.aF = m.aF;
        k.wC = m.wC;
        k.mM = m.mM;
        k.ZD = m.ZD;
        k.Fy = m.Fy;
        k.Mu = m.Mu;
        k.RJ = m.RJ;
        k.gJ = m.gJ;
        k.JI = m.JI;
        var $i = k.bO = m.bO;
        k.zM = m.zM;
        k.bF = m.bF;
        k.Zt = m.Zt;
        var aj = k.jA = m.jA,
            bj = k.QD = m.QD;
        k.rz = m.rz;
        k.LD = m.LD;
        var cj = k.qF = m.qF;
        k.NN = m.NN;
        k.EN = m.EN;
        k.dH = m.dH;
        k.wH = m.wH;
        k.YG = m.YG;
        k.DH = m.DH;
        k.Qy = m.Qy;
        k.XC = m.XC;
        k.LF = m.LF;
        k.XJ = m.XJ;
        k.$w = m.$w;
        var dj = k.Qt = m.Qt;
        k.oD = m.oD;
        var ej = k.vL = m.vL;
        k.mw = m.mw;
        k.mx = m.mx;
        var fj = k.CN = m.CN;
        k.gH = m.gH;
        k.KK = m.KK;
        k.aI = m.aI;
        var gj = k.HD = m.HD;
        k.ZB = m.ZB;
        k.TL = m.TL;
        k.cD = m.cD;
        var hj = k.KJ = m.KJ,
            oi = k.vH = m.vH;
        k.aO = m.aO;
        k.rG = m.rG;
        var ij = k.$u = m.$u;
        k.XK = m.XK;
        k.kB = m.kB;
        k.PF = m.PF;
        k.by = m.by;
        k.lE = m.lE;
        k.Cz = m.Cz;
        k.UB = m.UB;
        k.hN = m.hN;
        k.GE = m.GE;
        k.PB = m.PB;
        var jj = k.AO = m.AO;
        k.UE = m.UE;
        var kj = k.DO = m.DO,
            lj = k.cO = m.cO;
        k.Qv = m.Qv;
        k.zC = m.zC;
        k.FJ = m.FJ;
        k.$E = m.$E;
        k.DE = m.DE;
        k.Zz = m.Zz;
        k.Ow = m.Ow;
        k.Gw = m.Gw;
        k.FK = m.FK;
        k.WD = m.WD;
        k.BJ = m.BJ;
        k.LM = m.LM;
        k.OM = m.OM;
        k.eA = m.eA;
        k.XA = m.XA;
        k.cG = m.cG;
        k.TB = m.TB;
        k.RI = m.RI;
        k.cv = m.cv;
        var mj = k.xO = m.xO;
        k.zI = m.zI;
        k.qx = m.qx;
        k.By = m.By;
        k.XH = m.XH;
        var nj = k.VM = m.VM;
        k.VN = m.VN;
        k.Xu = m.Xu;
        k.WJ = m.WJ;
        k.KG = m.KG;
        k.vu = m.vu;
        k.uN = m.uN;
        k.fG = m.fG;
        k.ew = m.ew;
        k.Fu = m.Fu;
        k.qM = m.qM;
        var oj = k.TF = m.TF;
        k.gy = m.gy;
        k.nz = m.nz;
        k.nu = m.nu;
        k.$y = m.$y;
        k.YB = m.YB;
        k.OG = m.OG;
        k.Sz = m.Sz;
        k.SG = m.SG;
        k.uA = m.uA;
        k.ZK = m.ZK;
        var pj = k.IF = m.IF;
        k.wu = m.wu;
        var qj = k.TK = m.TK;
        k.XL = m.XL;
        var rj = k.ax = m.ax;
        k.Hz = m.Hz;
        k.kK = m.kK;
        k.aC = m.aC;
        k.rE = m.rE;
        var sj = k.NB = m.NB;
        k.fz = m.fz;
        var tj = k.Yx = m.Yx,
            uj = k.nI = m.nI;
        k.FH = m.FH;
        k.aG = m.aG;
        k.bx = m.bx;
        var vj = k.TO = m.TO,
            wj = k.gw = m.gw;
        k.dK = m.dK;
        k.yu = m.yu;
        k.NE = m.NE;
        var xj = k.Sx = m.Sx,
            di = k.UF = m.UF,
            yj = k.oL = m.oL,
            zj = k.pI = m.pI;
        k.dv = m.dv;
        var Nh = k.Tt = m.Tt;
        k.QM = m.QM;
        k.gB = m.gB;
        k.wy = m.wy;
        k.RL = m.RL;
        k.fO = m.fO;
        k.pJ = m.pJ;
        k.fN = m.fN;
        var Aj = k.fC = m.fC,
            Bj = k.SF = m.SF;
        k.PA = m.PA;
        k.Rw = m.Rw;
        k.Hu = m.Hu;
        k.RC = m.RC;
        k.gG = m.gG;
        k.kD = m.kD;
        var ei = k.lO = m.lO;
        k.lN = m.lN;
        k.hO = m.hO;
        k.lL = m.lL;
        k.EC = m.EC;
        k.GC = m.GC;
        k.yE = m.yE;
        k.sN = m.sN;
        var Cj = k.vM = m.vM;
        k.qL = m.qL;
        var Dj = k.CO = m.CO;
        k.Cw = m.Cw;
        var Ej = k.jy = m.jy,
            Fj = k.PK = m.PK;
        k.CB = m.CB;
        k.eO = m.eO;
        k.Rx = m.Rx;
        k.WI = m.WI;
        ga = k.Zo = m.Zo;
        k.RN = m.RN;
        k.cL = m.cL;
        k.cN = m.cN;
        k.YA = m.YA;
        k.XB = m.XB;
        var Vh = k.hu = m.hu;
        k.vI = m.vI;
        k.NI = m.NI;
        k.yI = m.yI;
        k.dM = m.dM;
        k.iE = m.iE;
        var Gj = k.tO = m.tO;
        k.bA = m.bA;
        k.JH = m.JH;
        k.XM = m.XM;
        k.eN = m.eN;
        k.au = m.au;
        var Hj = k.yK = m.yK;
        k.Lx = m.Lx;
        var Ij = k.du = m.du,
            Jj = k.JE = m.JE;
        k.FD = m.FD;
        k.oH = m.oH;
        var Kj = k.Mx = m.Mx;
        k.EH = m.EH;
        k.Jw = m.Jw;
        var Lj = k.bH = m.bH,
            Mj = k.BN = m.BN;
        k.hH = m.hH;
        k.QC = m.QC;
        k.fD = m.fD;
        k.NG = m.NG;
        k.fw = m.fw;
        k.xK = m.xK;
        k.bI = m.bI;
        k.yL = m.yL;
        k.pB = m.pB;
        var Nj = k.Jy = m.Jy;
        k.pE = m.pE;
        k.OE = m.OE;
        k.uJ = m.uJ;
        k.Nw = m.Nw;
        k.VI = m.VI;
        k.uv = m.uv;
        k.zB = m.zB;
        var Oh = k.ID = m.ID;
        k.ME = m.ME;
        k.LK = m.LK;
        k.Nv = m.Nv;
        k.LL = m.LL;
        var Oj = k.GF = m.GF,
            Pj = k.YC = m.YC;
        k.NH = m.NH;
        k.ZI = m.ZI;
        var Qj = k.eC = m.eC;
        k.oJ = m.oJ;
        k.RH = m.RH;
        k.AC = m.AC;
        k.QG = m.QG;
        k.Cv = m.Cv;
        k.EG = m.EG;
        k.UJ = m.UJ;
        var Rj = k.ez = m.ez;
        k.cE = m.cE;
        var Xh = k.iL = m.iL;
        k.GG = m.GG;
        var Wh = k.hL = m.hL;
        k.Ry = m.Ry;
        k.GM = m.GM;
        k.nL = m.nL;
        k.Xw = m.Xw;
        k.Ex = m.Ex;
        var Gi = k.SD = m.SD;
        k.Kw = m.Kw;
        k.YH = m.YH;
        k.VH = m.VH;
        k.KD = m.KD;
        var Sj = k.Hv = m.Hv,
            Tj = k.cH = m.cH;
        k.yx = m.yx;
        k.gz = m.gz;
        var Uj = k.PO = m.PO,
            Vj = k.qO = m.qO,
            Wj = k.oA = m.oA;
        k.Ux = m.Ux;
        k.xH = m.xH;
        k.EK = m.EK;
        k.yJ = m.yJ;
        k.BA = m.BA;
        k.Dw = m.Dw;
        var Xj = k.zN = m.zN,
            Yj = k.sL = m.sL;
        k.WM = m.WM;
        k.rM = m.rM;
        k.wN = m.wN;
        k.$v = m.$v;
        k.AI = m.AI;
        k.Vy = m.Vy;
        k.$L = m.$L;
        k.Ev = m.Ev;
        k.VE = m.VE;
        k.Sw = m.Sw;
        k.AF = m.AF;
        k.uG = m.uG;
        k.PJ = m.PJ;
        k.gA = m.gA;
        k.zH = m.zH;
        k.CA = m.CA;
        k.UA = m.UA;
        var Zj = k.oI = m.oI;
        k.PH = m.PH;
        k.HE = m.HE;
        k.JG = m.JG;
        k.qE = m.qE;
        var ak = k.SK = m.SK,
            bk = k.uF = m.uF;
        k.QJ = m.QJ;
        k.zx = m.zx;
        k.HI = m.HI;
        k.Yw = m.Yw;
        k.CJ = m.CJ;
        k.pH = m.pH;
        var ck = k.vG = m.vG;
        k.GB = m.GB;
        k.kJ = m.kJ;
        var dk = k.KA = m.KA;
        k.PG = m.PG;
        var ri = k.UK = m.UK;
        k.gF = m.gF;
        var ek = k.KO = m.KO;
        k.WC = m.WC;
        k.sv = m.sv;
        k.Sv = m.Sv;
        var fk = k.vO = m.vO;
        k.$x = m.$x;
        k.ZM = m.ZM;
        var gk = k.Ly = m.Ly;
        k.Zy = m.Zy;
        k.jB = m.jB;
        k.OD = m.OD;
        k.Ey = m.Ey;
        k.lz = m.lz;
        var hk = k.Pv = m.Pv;
        k.iy = m.iy;
        k.GN = m.GN;
        var pi = k.PC = m.PC;
        k.sG = m.sG;
        k.HB = m.HB;
        k.YI = m.YI;
        var ik = k.kI = m.kI;
        k.kF = m.kF;
        k.YK = m.YK;
        k.Lz = m.Lz;
        k.CH = m.CH;
        k.sM = m.sM;
        k.FA = m.FA;
        k.BB = m.BB;
        k.MG = m.MG;
        k.Sy = m.Sy;
        var jk = k.bC = m.bC;
        k.Dz = m.Dz;
        k.IN = m.IN;
        k.sA = m.sA;
        k.JL = m.JL;
        k.lB = m.lB;
        k.uz = m.uz;
        k.Qu = m.Qu;
        k.iI = m.iI;
        k.WL = m.WL;
        k.sH = m.sH;
        k.Bx = m.Bx;
        k.$H = m.$H;
        k.mL = m.mL;
        k.$F = m.$F;
        var kk = k.xz = m.xz;
        k.cK = m.cK;
        k.KN = m.KN;
        k.gE = m.gE;
        k.Py = m.Py;
        k.xx = m.xx;
        k.jK = m.jK;
        var lk = k.uH = m.uH;
        k.fF = m.fF;
        k.HF = m.HF;
        k.Oz = m.Oz;
        var wi = k.JF = m.JF;
        k.MB = m.MB;
        k.tN = m.tN;
        k.FM = m.FM;
        k.Cy = m.Cy;
        k.nD = m.nD;
        k.ny = m.ny;
        k.QA = m.QA;
        k.Bu = m.Bu;
        var mk = k.rv = m.rv;
        k.eM = m.eM;
        var nk = k.oz = m.oz,
            ok = k.uM = m.uM,
            pk = k.UL = m.UL;
        k.fy = m.fy;
        k.DC = m.DC;
        k.iG = m.iG;
        k.uE = m.uE;
        k.lJ = m.lJ;
        k.Qx = m.Qx;
        k.vK = m.vK;
        k.Cx = m.Cx;
        var qk = k.rL = m.rL;
        k.tA = m.tA;
        k.ZA = m.ZA;
        k.eI = m.eI;
        k.Fw = m.Fw;
        k.yB = m.yB;
        var rk = k.Ky = m.Ky;
        k.KI = m.KI;
        k.OI = m.OI;
        var sk = k.Ot = m.Ot,
            mn = k.bp = m.bp;
        k.MF = m.MF;
        k.pK = m.pK;
        k.NJ = m.NJ;
        k.zy = m.zy;
        var tk = k.NO = m.NO,
            uk = k.OO = m.OO;
        k.FI = m.FI;
        var ai = k.Yz = m.Yz;
        k.aH = m.aH;
        k.Az = m.Az;
        var vk = k.RO = m.RO;
        k.tJ = m.tJ;
        k.Pu = m.Pu;
        k.Ny = m.Ny;
        k.Mv = m.Mv;
        k.SC = m.SC;
        var wk = k.Nt = m.Nt;
        k.JC = m.JC;
        var xk = k.eJ = m.eJ,
            Fi = k.MJ = m.MJ;
        k.Ku = m.Ku;
        k.VD = m.VD;
        var yk = k.jO = m.jO;
        k.Tw = m.Tw;
        k.kH = m.kH;
        var Yh = k.tL = m.tL,
            Zh = k.uL = m.uL;
        k.dI = m.dI;
        k.Uz = m.Uz;
        k.AE = m.AE;
        k.HG = m.HG;
        k.OK = m.OK;
        k.rF = m.rF;
        k.HN = m.HN;
        var zk = k.QO = m.QO,
            Ak = k.Wu = m.Wu;
        k.hK = m.hK;
        k.jC = m.jC;
        k.ov = m.ov;
        k.sJ = m.sJ;
        k.Lv = m.Lv;
        var Bk = k.St = m.St;
        k.Zu = m.Zu;
        k.oC = m.oC;
        var Ck = k.IE = m.IE;
        k.Kv = m.Kv;
        k.MN = m.MN;
        k.zA = m.zA;
        k.mC = m.mC;
        k.AB = m.AB;
        k.SJ = m.SJ;
        k.LE = m.LE;
        k.Zv = m.Zv;
        k.cz = m.cz;
        k.cA = m.cA;
        k.wA = m.wA;
        k.QH = m.QH;
        k.mJ = m.mJ;
        k.nH = m.nH;
        var Dk = k.aK = m.aK;
        k.WF = m.WF;
        var Ek = k.dw = m.dw;
        k.zJ = m.zJ;
        k.HH = m.HH;
        k.kG = m.kG;
        var bi = k.LA = m.LA,
            ug = k.UO = m.UO;
        k.ZH = m.ZH;
        k.$C = m.$C;
        k.su = m.su;
        k.iA = m.iA;
        k.fK = m.fK;
        k.AG = m.AG;
        k.Hw = m.Hw;
        k.XG = m.XG;
        k.hM = m.hM;
        k.LC = m.LC;
        k.LI = m.LI;
        var Fk = k.gD = m.gD;
        k.Xy = m.Xy;
        k.$J = m.$J;
        k.ww = m.ww;
        k.RG = m.RG;
        k.sI = m.sI;
        k.hJ = m.hJ;
        var Gk = k.Ru = m.Ru;
        k.oM = m.oM;
        k.DM = m.DM;
        var Hk = k.SH = m.SH;
        k.Rv = m.Rv;
        k.dE = m.dE;
        k.DD = m.DD;
        k.hv = m.hv;
        k.yF = m.yF;
        k.iM = m.iM;
        k.sF = m.sF;
        k.Ez = m.Ez;
        k.Uu = m.Uu;
        var Ik = k.kL = m.kL,
            Jk = k.kv = m.kv,
            Kk = k.lv = m.lv;
        k.jI = m.jI;
        k.Vv = m.Vv;
        k.xA = m.xA;
        k.xF = m.xF;
        k.Gx = m.Gx;
        k.lF = m.lF;
        k.oB = m.oB;
        k.wz = m.wz;
        var nn = k.$o = m.$o;
        k.KF = m.KF;
        var Lk = k.xw = m.xw;
        k.dC = m.dC;
        k.DL = m.DL;
        var Mk = k.mG = m.mG;
        k.Wy = m.Wy;
        k.aw = m.aw;
        var Nk = k.pO = m.pO;
        k.qu = m.qu;
        k.BH = m.BH;
        var Ok = k.BL = m.BL;
        k.GH = m.GH;
        k.Vt = m.Vt;
        var Pk = k.MK = m.MK,
            Jh = k.cp = m.cp;
        k.nx = m.nx;
        k.IC = m.IC;
        var Qk = k.hA = m.hA,
            Rk = k.Nx = m.Nx;
        k.zz = m.zz;
        k.iu = m.iu;
        k.YD = m.YD;
        k.qH = m.qH;
        k.BG = m.BG;
        var li = k.GL = m.GL,
            Sk = k.oO = m.oO,
            Tk = k.fJ = m.fJ;
        k.QI = m.QI;
        k.EB = m.EB;
        k.rw = m.rw;
        k.qI = m.qI;
        k.RB = m.RB;
        k.Dv = m.Dv;
        k.yG = m.yG;
        k.RA = m.RA;
        k.Tu = m.Tu;
        k.bw = m.bw;
        k.aN = m.aN;
        var Uk = k.gx = m.gx,
            Vk = k.VG = m.VG;
        k.Rz = m.Rz;
        var Wk = k.GO = m.GO;
        k.dO = m.dO;
        k.RE = m.RE;
        var ci = k.ZC = m.ZC;
        k.TH = m.TH;
        k.$A = m.$A;
        var Ci = k.uy = m.uy;
        k.OF = m.OF;
        k.CD = m.CD;
        var Xk = k.FF = m.FF;
        k.Fz = m.Fz;
        k.mN = m.mN;
        var zi = k.DI = m.DI;
        k.Kx = m.Kx;
        k.mA = m.mA;
        k.PN = m.PN;
        k.eD = m.eD;
        k.iz = m.iz;
        var Yk = k.Vu = m.Vu,
            Zk = k.wI = m.wI;
        k.Wo = m.Wo;
        k.kN = m.kN;
        k.ou = m.ou;
        k.Vz = m.Vz;
        var qi = k.gC = m.gC,
            ki = k.Ww = m.Ww,
            Di = k.xB = m.xB;
        k.iC = m.iC;
        k.az = m.az;
        k.FG = m.FG;
        k.AH = m.AH;
        k.CC = m.CC;
        k.cy = m.cy;
        k.ux = m.ux;
        k.SI = m.SI;
        k.jv = m.jv;
        k.nA = m.nA;
        var $k = k.ry = m.ry;
        k.lG = m.lG;
        k.qG = m.qG;
        k.ey = m.ey;
        var al = k.IO = m.IO;
        k.UC = m.UC;
        k.yM = m.yM;
        k.jM = m.jM;
        k.$I = m.$I;
        k.AJ = m.AJ;
        var bl = k.nv = m.nv;
        k.lH = m.lH;
        k.EM = m.EM;
        k.Tx = m.Tx;
        k.ON = m.ON;
        k.iN = m.iN;
        k.qv = m.qv;
        k.AM = m.AM;
        k.xI = m.xI;
        var cl = k.MO = m.MO;
        k.cC = m.cC;
        k.Yt = m.Yt;
        var dl = k.Pz = m.Pz;
        k.yC = m.yC;
        k.Xo = m.Xo;
        k.Iu = m.Iu;
        k.tG = m.tG;
        k.vw = m.vw;
        var el = k.BE = m.BE;
        k.mF = m.mF;
        k.pF = m.pF;
        k.qN = m.qN;
        k.AL = m.AL;
        k.Ju = m.Ju;
        k.JK = m.JK;
        k.ru = m.ru;
        k.$M = m.$M;
        k.bu = m.bu;
        k.cI = m.cI;
        k.Ay = m.Ay;
        k.IJ = m.IJ;
        var fl = k.kO = m.kO;
        k.Aw = m.Aw;
        k.uw = m.uw;
        k.hw = m.hw;
        k.Fv = m.Fv;
        var Sh = k.AK = m.AK,
            Th = k.BK = m.BK,
            gl = k.wO = m.wO,
            hl = k.mI = m.mI;
        k.IG = m.IG;
        k.oF = m.oF;
        var il = k.gu = m.gu,
            jl = k.aJ = m.aJ,
            kl = k.rC = m.rC;
        k.fI = m.fI;
        var ll = k.Pt = m.Pt;
        k.hE = m.hE;
        var ml = k.zO = m.zO;
        k.uC = m.uC;
        k.tI = m.tI;
        k.eF = m.eF;
        k.mH = m.mH;
        var $h = k.uu = m.uu;
        k.AA = m.AA;
        var nl = k.AN = m.AN;
        k.bK = m.bK;
        k.yA = m.yA;
        k.nM = m.nM;
        k.eG = m.eG;
        var ol = k.zK = m.zK;
        k.Tz = m.Tz;
        k.yD = m.yD;
        k.tv = m.tv;
        k.II = m.II;
        var pl = k.XE = m.XE,
            ql = k.ju = m.ju,
            rl = k.Vx = m.Vx;
        k.pG = m.pG;
        var sl = k.uO = m.uO,
            tl = k.vB = m.vB;
        k.aM = m.aM;
        k.FE = m.FE;
        k.SA = m.SA;
        k.iB = m.iB;
        k.NL = m.NL;
        k.VF = m.VF;
        k.$K = m.$K;
        k.jG = m.jG;
        k.WN = m.WN;
        var ul = k.XI = m.XI,
            vl = k.FL = m.FL;
        k.tD = m.tD;
        k.kx = m.kx;
        var wl = k.ku = m.ku;
        k.lK = m.lK;
        var Qh = k.Qz = m.Qz;
        k.zF = m.zF;
        k.DB = m.DB;
        k.GD = m.GD;
        k.gI = m.gI;
        k.bN = m.bN;
        k.vN = m.vN;
        var xl = k.CI = m.CI;
        k.QE = m.QE;
        k.iJ = m.iJ;
        k.Hx = m.Hx;
        k.EE = m.EE;
        k.xE = m.xE;
        var yl = k.uK = m.uK;
        k.$N = m.$N;
        k.CE = m.CE;
        k.tE = m.tE;
        k.hB = m.hB;
        k.UM = m.UM;
        k.mE = m.mE;
        k.pA = m.pA;
        k.NF = m.NF;
        var zl = k.eL = m.eL;
        k.PL = m.PL;
        var Bi = k.KE = m.KE;
        k.DK = m.DK;
        k.tB = m.tB;
        k.PE = m.PE;
        k.uB = m.uB;
        k.lA = m.lA;
        k.lC = m.lC;
        k.yy = m.yy;
        k.dJ = m.dJ;
        var Al = k.Dx = m.Dx;
        k.Hy = m.Hy;
        var Rh = k.eu = m.eu;
        k.pw = m.pw;
        var mi = k.iD = m.iD,
            Bl = k.CL = m.CL;
        k.lu = m.lu;
        k.mu = m.mu;
        k.CG = m.CG;
        k.LG = m.LG;
        var Cl = k.tu = m.tu;
        k.Tv = m.Tv;
        k.ZE = m.ZE;
        k.sE = m.sE;
        k.jH = m.jH;
        k.Ut = m.Ut;
        k.BF = m.BF;
        k.CK = m.CK;
        k.xu = m.xu;
        k.Bw = m.Bw;
        k.tF = m.tF;
        k.NA = m.NA;
        k.qC = m.qC;
        k.TC = m.TC;
        k.MI = m.MI;
        k.KL = m.KL;
        var Dl = k.wF = m.wF,
            xi = k.yz = m.yz;
        k.nB = m.nB;
        var El = k.Oy = m.Oy,
            Fl = k.tM = m.tM;
        k.WH = m.WH;
        k.TJ = m.TJ;
        k.Qw = m.Qw;
        k.Dy = m.Dy;
        var Gl = k.wB = m.wB;
        k.TI = m.TI;
        var Hl = k.mO = m.mO;
        k.Uw = m.Uw;
        k.$D = m.$D;
        k.yv = m.yv;
        var gi = k.vD = m.vD;
        k.dF = m.dF;
        var Il = k.nO = m.nO;
        k.aD = m.aD;
        k.SB = m.SB;
        k.jw = m.jw;
        var Jl = k.Vw = m.Vw;
        k.zE = m.zE;
        k.Gu = m.Gu;
        k.my = m.my;
        k.Eu = m.Eu;
        k.Gz = m.Gz;
        k.GA = m.GA;
        k.RK = m.RK;
        k.KB = m.KB;
        k.Nz = m.Nz;
        k.wx = m.wx;
        k.Jx = m.Jx;
        k.zv = m.zv;
        k.fM = m.fM;
        k.BD = m.BD;
        var Kl = k.PM = m.PM;
        k.SN = m.SN;
        k.wK = m.wK;
        k.Xx = m.Xx;
        var Ll = k.jz = m.jz;
        k.sz = m.sz;
        var Ml = k.NM = m.NM,
            Nl = k.OC = m.OC,
            Ol = k.BO = m.BO;
        k.wE = m.wE;
        k.bL = m.bL;
        k.dL = m.dL;
        var Pl = k.tK = m.tK,
            Ql = k.DN = m.DN;
        k.nC = m.nC;
        var Rl = k.sD = m.sD;
        k.Jv = m.Jv;
        k.cM = m.cM;
        k.kM = m.kM;
        k.NK = m.NK;
        k.pz = m.pz;
        k.Nu = m.Nu;
        k.MM = m.MM;
        var Sl = k.Wt = m.Wt;
        k.aE = m.aE;
        k.iK = m.iK;
        var Tl = k.Yu = m.Yu;
        k.qB = m.qB;
        k.ky = m.ky;
        k.dD = m.dD;
        k.hC = m.hC;
        k.xv = m.xv;
        var Ul = k.VL = m.VL;
        k.Uv = m.Uv;
        k.nG = m.nG;
        var Vl = k.HO = m.HO;
        k.fL = m.fL;
        k.hF = m.hF;
        k.jJ = m.jJ;
        k.Lw = m.Lw;
        k.YM = m.YM;
        k.vE = m.vE;
        k.mB = m.mB;
        k.xG = m.xG;
        var Wl = k.bB = m.bB;
        k.UG = m.UG;
        k.OA = m.OA;
        k.vv = m.vv;
        k.YL = m.YL;
        k.dB = m.dB;
        k.oK = m.oK;
        k.jD = m.jD;
        k.HM = m.HM;
        k.OL = m.OL;
        var Xl = k.EO = m.EO;
        k.Wz = m.Wz;
        var Yl = k.Jz = m.Jz;
        k.fE = m.fE;
        var hi = k.wD = m.wD;
        k.TM = m.TM;
        k.WA = m.WA;
        var ii = k.xD = m.xD;
        k.Iw = m.Iw;
        k.pD = m.pD;
        k.zG = m.zG;
        k.Zw = m.Zw;
        k.Yy = m.Yy;
        var Ei = k.tx = m.tx,
            Zl = k.zu = m.zu;
        k.aB = m.aB;
        k.CF = m.CF;
        k.MH = m.MH;
        k.GI = m.GI;
        k.Gy = m.Gy;
        k.GJ = m.GJ;
        var $l = k.ZL = m.ZL,
            am = k.RD = m.RD,
            bm = k.fA = m.fA;
        k.QK = m.QK;
        k.dN = m.dN;
        k.jN = m.jN;
        k.sK = m.sK;
        var cm = k.LJ = m.LJ,
            dm = k.rN = m.rN;
        k.ZF = m.ZF;
        k.eE = m.eE;
        var si = k.VK = m.VK;
        k.lM = m.lM;
        k.sw = m.sw;
        k.TG = m.TG;
        k.Ox = m.Ox;
        var em = k.YE = m.YE;
        k.Ew = m.Ew;
        var fm = k.Av = m.Av,
            gm = k.Mw = m.Mw;
        k.bz = m.bz;
        k.FN = m.FN;
        k.rJ = m.rJ;
        var yi = k.Mt = m.Mt;
        k.rH = m.rH;
        k.gM = m.gM;
        k.jx = m.jx;
        k.TE = m.TE;
        k.Pw = m.Pw;
        k.mK = m.mK;
        k.YF = m.YF;
        k.VC = m.VC;
        k.qA = m.qA;
        k.JN = m.JN;
        k.HK = m.HK;
        k.HC = m.HC;
        k.XF = m.XF;
        k.ZN = m.ZN;
        k.mD = m.mD;
        var hm = k.hD = m.hD;
        k.eH = m.eH;
        var vi = k.ix = m.ix,
            ui = k.hx = m.hx;
        k.iF = m.iF;
        var im = k.EL = m.EL;
        k.IK = m.IK;
        var jm = k.yO = m.yO;
        k.aA = m.aA;
        k.oG = m.oG;
        k.ay = m.ay;
        k.nF = m.nF;
        k.ML = m.ML;
        k.vF = m.vF;
        k.vC = m.vC;
        k.qw = m.qw;
        k.JB = m.JB;
        k.TD = m.TD;
        k.xN = m.xN;
        k.gv = m.gv;
        k.$G = m.$G;
        k.Uy = m.Uy;
        k.jF = m.jF;
        k.gO = m.gO;
        k.rD = m.rD;
        k.Wx = m.Wx;
        k.EA = m.EA;
        k.Iv = m.Iv;
        var km = k.rx = m.rx;
        k.ND = m.ND;
        k.pu = m.pu;
        k.EI = m.EI;
        k.DG = m.DG;
        k.KM = m.KM;
        k.Iy = m.Iy;
        k.Du = m.Du;
        k.hI = m.hI;
        k.dA = m.dA;
        k.QL = m.QL;
        k.sB = m.sB;
        var Ph = k.JD = m.JD,
            lm = k.wL = m.wL;
        k.kC = m.kC;
        k.fu = m.fu;
        k.HA = m.HA;
        k.nJ = m.nJ;
        var Ai = k.cu = m.cu;
        k.cF = m.cF;
        k.WK = m.WK;
        k.qz = m.qz;
        k.QN = m.QN;
        var mm = k.ty = m.ty;
        k.VJ = m.VJ;
        var nm = k.pC = m.pC;
        k.kz = m.kz;
        k.bE = m.bE;
        k.LN = m.LN;
        k.PD = m.PD;
        var ni = k.sC = m.sC;
        k.MA = m.MA;
        k.IM = m.IM;
        k.xJ = m.xJ;
        k.KH = m.KH;
        k.gK = m.gK;
        k.LB = m.LB;
        k.bv = m.bv;
        k.QB = m.QB;
        var om = k.qK = m.qK;
        k.rA = m.rA;
        var pm = k.rO = m.rO,
            qm = k.BI = m.BI,
            rm = k.pv = m.pv,
            sm = k.vz = m.vz;
        k.ED = m.ED;
        k.jE = m.jE;
        k.bG = m.bG;
        k.zD = m.zD;
        k.qD = m.qD;
        var tm = k.MC = m.MC;
        k.Cu = m.Cu;
        k.UN = m.UN;
        k.VB = m.VB;
        k.Mz = m.Mz;
        k.Ov = m.Ov;
        var um = k.LO = m.LO;
        k.OH = m.OH;
        var vm = k.Yv = m.Yv;
        k.wG = m.wG;
        var wm = k.gL = m.gL;
        k.uI = m.uI;
        k.hy = m.hy;
        k.UH = m.UH;
        k.Lu = m.Lu;
        k.xy = m.xy;
        var xm = k.uD = m.uD;
        k.wJ = m.wJ;
        k.HL = m.HL;
        k.nE = m.nE;
        k.vA = m.vA;
        var ym = k.EF = m.EF;
        k.zL = m.zL;
        k.RF = m.RF;
        k.pN = m.pN;
        k.oE = m.oE;
        var zm = k.DJ = m.DJ;
        k.WB = m.WB;
        k.XD = m.XD;
        var Am = k.cx = m.cx;
        k.Kz = m.Kz;
        k.gN = m.gN;
        k.Gv = m.Gv;
        k.eK = m.eK;
        var Bm = k.FO = m.FO;
        k.Ix = m.Ix;
        k.fH = m.fH;
        var Cm = k.Su = m.Su;
        k.eB = m.eB;
        k.YN = m.YN;
        k.Ou = m.Ou;
        var Dm = k.Px = m.Px,
            Em = k.Xv = m.Xv;
        k.JM = m.JM;
        k.EJ = m.EJ;
        k.Ty = m.Ty;
        k.bJ = m.bJ;
        k.SL = m.SL;
        k.JJ = m.JJ;
        k.hz = m.hz;
        k.tC = m.tC;
        var Fm = k.Bv = m.Bv,
            Gm = k.Xz = m.Xz,
            Hm = k.kA = m.kA;
        k.bM = m.bM;
        k.iH = m.iH;
        k.IL = m.IL;
        k.Wv = m.Wv;
        var Im = k.tH = m.tH;
        k.IB = m.IB;
        k.nK = m.nK;
        k.AD = m.AD;
        k.$B = m.$B;
        var Jm = k.sO = m.sO,
            ti = k.yw = m.yw;
        k.HJ = m.HJ;
        k.ZJ = m.ZJ;
        var Km = k.JA = m.JA;
        k.OB = m.OB;
        k.ow = m.ow;
        k.Bz = m.Bz;
        var Lm = k.Zx = m.Zx;
        k.lw = m.lw;
        var Mm = k.pL = m.pL;
        k.WG = m.WG;
        k.OJ = m.OJ;
        var Uh = k.Au = m.Au;
        k.lD = m.lD;
        var Nm = k.yN = m.yN;
        k.FC = m.FC;
        k.WE = m.WE;
        k.SM = m.SM;
        k.BC = m.BC;
        var ji = k.wM = m.wM;
        k.cJ = m.cJ;
        k.UD = m.UD;
        k.BM = m.BM;
        k.aL = m.aL;
        k.VA = m.VA;
        k.oN = m.oN;
        k.Fx = m.Fx;
        k.wv = m.wv;
        k.fB = m.fB;
        k.RM = m.RM;
        k.My = m.My;
        k.dG = m.dG;
        k.iw = m.iw;
        k.dz = m.dz;
        k.IH = m.IH;
        k.KC = m.KC;
        k.bD = m.bD;
        k.MD = m.MD;
        var Om = k.oy = m.oy;
        k.xM = m.xM;
        var Pm = k.JO = m.JO;
        k.LH = m.LH;
        k.SE = m.SE;
        k.ZG = m.ZG;
        k.yH = m.yH;
        k.rK = m.rK;
        k.NC = m.NC;
        var Qm = k.QF = m.QF,
            Rm = k.jL = m.jL,
            fi = k.Rt = m.Rt;
        k.DR = m.DR;
        k.Hp = m.Hp;
        k.Rp = m.Rp;
        k.Dp = m.Dp;
        k.Kp = m.Kp;
        k.Ep = m.Ep;
        k.Lp = m.Lp;
        k.Op = m.Op;
        k.Fp = m.Fp;
        k.Np = m.Np;
        k.Pp = m.Pp;
        k.Jp = m.Jp;
        k.Mp = m.Mp;
        k.Sp = m.Sp;
        k.Gp = m.Gp;
        k.Ip = m.Ip;
        k.Qp = m.Qp;
        Fa.wo = m.R_;
        Fa.rl = m.ps;
        Fa.So = m.fo;
        Fa.fg = m.Tk;
        Fa.AV = m.ZY;
        var Df = null;
        if (Ze)
            if ("function" === typeof k.OZ ? Ze = k.OZ(Ze) : k.TZ && (Ze = k.TZ + Ze), ag || yg) {
                var pn = k.yR(Ze);
                ve.set(pn, cg)
            } else Ba(), Browser.jn(Ze, function(a) {
                ve.set(a, cg);
                F()
            }, function() {
                e("could not load memory initializer " + Ze)
            });
        ua.prototype = Error();
        var Lh, $f = null,
            Bf = function x() {
                !k.Ml && xg && Za();
                k.Ml || (Bf = x)
            };
        k.SW = k.m3 = function(a) {
            function g() {
                for (var a = 0; 3 > a; a++) p.push(0)
            }
            b(0 == Xe, "cannot call main when async dependencies remain! (listen on __ATMAIN__)");
            b(0 == vg.length, "cannot call main when preRun functions remain to be called");
            a = a || [];
            Xf || (Xf = !0, f(Yf));
            var m = a.length + 1,
                p = [l(u(k.us), "i8", 0)];
            g();
            for (var n = 0; n < m - 1; n += 1) p.push(l(u(a[n]), "i8", 0)), g();
            p.push(0);
            p = l(p, "i32", 0);
            Lh = Me;
            try {
                var q = k.pV(m, p, 0);
                Sa(q)
            } catch (t) {
                t instanceof ua || ("SimulateInfiniteLoop" == t ? k.TQ = !0 : (t && "object" === typeof t && t.stack && k.Fi("exception thrown: " + [t, t.stack]), e(t)))
            } finally {}
        };
        k.Bb = k.s0 = Za;
        k.exit = k.s3 = Sa;
        k.abort = k.abort = Qa;
        if (k.Gk)
            for ("function" == typeof k.Gk && (k.Gk = [k.Gk]); 0 < k.Gk.length;) k.Gk.pop()();
        var xg = !0;
        k.l3 && (xg = !1);
        k.TQ = !0;
        Za();
        U.prototype = Object.create(U.prototype);
        U.prototype.q = U;
        U.A = {};
        k.aV = U;
        k.getCache = da;
        k.ql = Ma;
        k.UW = Vb;
        k.FT = Ma(0);
        k.cX = Yc;
        k.compare = Ge;
        k.TY = of ;
        k.LY = nf;
        tc.prototype = Object.create(Gd.prototype);
        tc.prototype.q = tc;
        tc.A = {};
        k.wT = tc;
        tc.prototype.B = function() {
            Sl(this.j)
        };
        Ad.prototype = Object.create(U.prototype);
        Ad.prototype.q = Ad;
        Ad.A = {};
        k.UV = Ad;
        Ad.prototype.B = function() {
            xj(this.j)
        };
        kb.prototype = Object.create(Bb.prototype);
        kb.prototype.q = kb;
        kb.A = {};
        k.YV = kb;
        kb.prototype.Ya = function() {
            return Rj(this.j)
        };
        kb.prototype.B = function() {
            Ll(this.j)
        };
        id.prototype = Object.create(U.prototype);
        id.prototype.q = id;
        id.A = {};
        k.kW = id;
        id.prototype.B = function() {
            gj(this.j)
        };
        Gc.prototype = Object.create(U.prototype);
        Gc.prototype.q = Gc;
        Gc.A = {};
        k.jp = Gc;
        Gc.prototype.lj = function() {
            return Ma(Wj(this.j), vb)
        };
        Gc.prototype.B = function() {
            Vi(this.j)
        };
        nb.prototype = Object.create(U.prototype);
        nb.prototype.q = nb;
        nb.A = {};
        k.$V = nb;
        nb.prototype.B = function() {
            dl(this.j)
        };
        Dd.prototype = Object.create(td.prototype);
        Dd.prototype.q = Dd;
        Dd.A = {};
        k.yT = Dd;
        Dd.prototype.B = function() {
            il(this.j)
        };
        uc.prototype = Object.create(Bb.prototype);
        uc.prototype.q = uc;
        uc.A = {};
        k.nW = uc;
        uc.prototype.Gt = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            bk(b, a)
        };
        uc.prototype.Ya = function() {
            return cj(this.j)
        };
        uc.prototype.B = function() {
            Dl(this.j)
        };
        Eb.prototype = Object.create(U.prototype);
        Eb.prototype.q = Eb;
        Eb.A = {};
        k.BW = Eb;
        Eb.prototype.Set = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Hj(b, a)
        };
        Eb.prototype.Mh = function() {
            return yl(this.j)
        };
        Eb.prototype.B = function() {
            ol(this.j)
        };
        dd.prototype = Object.create(Bb.prototype);
        dd.prototype.q = dd;
        dd.A = {};
        k.lW = dd;
        dd.prototype.Ya = function() {
            return el(this.j)
        };
        dd.prototype.B = function() {
            Ck(this.j)
        };
        pd.prototype = Object.create(U.prototype);
        pd.prototype.q = pd;
        pd.A = {};
        k.rW = pd;
        pd.prototype.B = function() {
            Tj(this.j)
        };
        Ib.prototype = Object.create(U.prototype);
        Ib.prototype.q = Ib;
        Ib.A = {};
        k.VU = Ib;
        Ib.prototype.B = function() {
            wl(this.j)
        };
        Fc.prototype = Object.create(U.prototype);
        Fc.prototype.q = Fc;
        Fc.A = {};
        k.fP = Fc;
        Fc.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Yi(b, a)
        };
        Fc.prototype.ZR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            ij(b, a)
        };
        Fc.prototype.NR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Gk(b, a)
        };
        Fc.prototype.WR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Tl(b, a)
        };
        Fc.prototype.OR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Cm(b, a)
        };
        Fc.prototype.RR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ak(b, a)
        };
        Fc.prototype.PR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Yk(b, a)
        };
        Fc.prototype.B = function() {
            Zl(this.j)
        };
        Bd.prototype = Object.create(Ic.prototype);
        Bd.prototype.q = Bd;
        Bd.A = {};
        k.zT = Bd;
        Bd.prototype.B = function() {
            ql(this.j)
        };
        Ae.prototype = Object.create(U.prototype);
        Ae.prototype.q = Ae;
        Ae.A = {};
        k.Bj = Ae;
        Ae.prototype.B = function() {
            Al(this.j)
        };
        Nb.prototype = Object.create(U.prototype);
        Nb.prototype.q = Nb;
        Nb.A = {};
        k.lp = Nb;
        Nb.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            zl(e, a, b)
        };
        Nb.prototype.Ja = function() {
            return Rm(this.j)
        };
        Nb.prototype.Bh = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            yj(b, a)
        };
        Nb.prototype.Ka = function() {
            return Ik(this.j)
        };
        Nb.prototype.Ch = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Mm(b, a)
        };
        Nb.prototype.B = function() {
            wm(this.j)
        };
        Sc.prototype = Object.create(U.prototype);
        Sc.prototype.q = Sc;
        Sc.A = {};
        k.EW = Sc;
        Sc.prototype.Set = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            qk(f, a, b, e)
        };
        Sc.prototype.Ja = function() {
            return ej(this.j)
        };
        Sc.prototype.Bh = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ok(b, a)
        };
        Sc.prototype.Ka = function() {
            return lm(this.j)
        };
        Sc.prototype.Ch = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Bl(b, a)
        };
        Sc.prototype.B = function() {
            Yj(this.j)
        };
        Cd.prototype = Object.create(U.prototype);
        Cd.prototype.q = Cd;
        Cd.A = {};
        k.NV = Cd;
        Cd.prototype.B = function() {
            Cl(this.j)
        };
        oc.prototype = Object.create(U.prototype);
        oc.prototype.q = oc;
        oc.A = {};
        k.jP = oc;
        oc.prototype.Wi = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Hm(b, a)
        };
        oc.prototype.SR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Qk(b, a)
        };
        oc.prototype.$R = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            aj(b, a)
        };
        oc.prototype.QR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            bm(b, a)
        };
        oc.prototype.B = function() {
            Gm(this.j)
        };
        Lb.prototype = Object.create(zb.prototype);
        Lb.prototype.q = Lb;
        Lb.A = {};
        k.bW = Lb;
        Lb.prototype.hc = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            Km(f, a, b, e)
        };
        Lb.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Wl(b, a)
        };
        Lb.prototype.B = function() {
            dk(this.j)
        };
        Ed.prototype = Object.create(U.prototype);
        Ed.prototype.q = Ed;
        Ed.A = {};
        k.Hg = Ed;
        Ed.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Fk(b, a)
        };
        Ed.prototype.B = function() {
            Pj(this.j)
        };
        ed.prototype = Object.create(zb.prototype);
        ed.prototype.q = ed;
        ed.A = {};
        k.qW = ed;
        ed.prototype.hc = function(a, b, e, f) {
            var g = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            Bj(g, a, b, e, f)
        };
        ed.prototype.Wn = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Mk(b, a)
        };
        ed.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            ck(b, a)
        };
        ed.prototype.B = function() {
            oj(this.j)
        };
        vc.prototype = Object.create(U.prototype);
        vc.prototype.q = vc;
        vc.A = {};
        k.lP = vc;
        vc.prototype.Ct = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            $i(b, a)
        };
        vc.prototype.Dt = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            lj(b, a)
        };
        vc.prototype.Rs = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            return Ma(nl(b, a), vb)
        };
        vc.prototype.tl = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            fj(b, a)
        };
        vc.prototype.sl = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            return Ma(Mj(b, a), Bb)
        };
        vc.prototype.Mo = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ql(b, a)
        };
        vc.prototype.Kt = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            yk(f, a, b, e)
        };
        vc.prototype.Ps = function() {
            Xj(this.j)
        };
        vc.prototype.B = function() {
            fl(this.j)
        };
        jc.prototype = Object.create(Bb.prototype);
        jc.prototype.q = jc;
        jc.A = {};
        k.pW = jc;
        jc.prototype.Ya = function() {
            return Vk(this.j)
        };
        jc.prototype.B = function() {
            Lj(this.j)
        };
        Be.prototype = Object.create(U.prototype);
        Be.prototype.q = Be;
        Be.A = {};
        k.xW = Be;
        Be.prototype.B = function() {
            Zk(this.j)
        };
        Fd.prototype = Object.create(U.prototype);
        Fd.prototype.q = Fd;
        Fd.A = {};
        k.TV = Fd;
        Fd.prototype.sq = function() {
            return Dm(this.j)
        };
        Fd.prototype.B = function() {
            Rk(this.j)
        };
        Gd.prototype = Object.create(U.prototype);
        Gd.prototype.q = Gd;
        Gd.A = {};
        k.XV = Gd;
        Gd.prototype.B = function() {
            Om(this.j)
        };
        rd.prototype = Object.create(Tc.prototype);
        rd.prototype.q = rd;
        rd.A = {};
        k.JSContactListener = rd;
        rd.prototype.BeginContact = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            ll(b, a)
        };
        rd.prototype.EndContact = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            dj(b, a)
        };
        rd.prototype.B = function() {
            Bk(this.j)
        };
        Hd.prototype = Object.create(U.prototype);
        Hd.prototype.q = Hd;
        Hd.A = {};
        k.jW = Hd;
        Hd.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            Rl(e, a, b)
        };
        Hd.prototype.B = function() {
            xm(this.j)
        };
        $b.prototype = Object.create(zb.prototype);
        $b.prototype.q = $b;
        $b.A = {};
        k.IW = $b;
        $b.prototype.hc = function(a, b, e, f) {
            var g = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            ok(g, a, b, e, f)
        };
        $b.prototype.Ag = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Kl(b, a)
        };
        $b.prototype.zg = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ml(b, a)
        };
        $b.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            nj(b, a)
        };
        $b.prototype.B = function() {
            Cj(this.j)
        };
        Id.prototype = Object.create(mc.prototype);
        Id.prototype.q = Id;
        Id.A = {};
        k.gP = Id;
        Id.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            rj(b, a)
        };
        Id.prototype.B = function() {
            Jl(this.j)
        };
        qb.prototype = Object.create(zb.prototype);
        qb.prototype.q = qb;
        qb.A = {};
        k.GW = qb;
        qb.prototype.hc = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            im(f, a, b, e)
        };
        qb.prototype.Ag = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ul(b, a)
        };
        qb.prototype.zg = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            pk(b, a)
        };
        qb.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            $l(b, a)
        };
        qb.prototype.B = function() {
            vl(this.j)
        };
        sd.prototype = Object.create(U.prototype);
        sd.prototype.q = sd;
        sd.A = {};
        k.be = sd;
        sd.prototype.B = function() {
            nk(this.j)
        };
        Mc.prototype = Object.create(U.prototype);
        Mc.prototype.q = Mc;
        Mc.A = {};
        k.iW = Mc;
        Mc.prototype.B = function() {
            hm(this.j)
        };
        Bb.prototype = Object.create(U.prototype);
        Bb.prototype.q = Bb;
        Bb.A = {};
        k.eW = Bb;
        Bb.prototype.Ya = function() {
            return tm(this.j)
        };
        Zc.prototype = Object.create(Bb.prototype);
        Zc.prototype.q = Zc;
        Zc.A = {};
        k.cW = Zc;
        Zc.prototype.Ya = function() {
            return jk(this.j)
        };
        Zc.prototype.B = function() {
            Qj(this.j)
        };
        Ic.prototype = Object.create(U.prototype);
        Ic.prototype.q = Ic;
        Ic.A = {};
        k.vW = Ic;
        Ic.prototype.B = function() {
            Zj(this.j)
        };
        md.prototype = Object.create(Bb.prototype);
        md.prototype.q = md;
        md.A = {};
        k.FW = md;
        md.prototype.Ya = function() {
            return Wi(this.j)
        };
        md.prototype.B = function() {
            Fl(this.j)
        };
        fd.prototype = Object.create(U.prototype);
        fd.prototype.q = fd;
        fd.A = {};
        k.gW = fd;
        fd.prototype.B = function() {
            kl(this.j)
        };
        Ob.prototype = Object.create(zb.prototype);
        Ob.prototype.q = Ob;
        Ob.A = {};
        k.tW = Ob;
        Ob.prototype.hc = function(a, b, e, f, g, k, l) {
            var m = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            g = g && "object" === typeof g ? g.j : C(g);
            k = k && "object" === typeof k ? k.j : C(k);
            l = l && "object" === typeof l ? l.j : C(l);
            Im(m, a, b, e, f, g, k, l)
        };
        Ob.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Hk(b, a)
        };
        Ob.prototype.B = function() {
            lk(this.j)
        };
        Tc.prototype = Object.create(U.prototype);
        Tc.prototype.q = Tc;
        Tc.A = {};
        k.VV = Tc;
        Tc.prototype.B = function() {
            rl(this.j)
        };
        Pd.prototype = Object.create(U.prototype);
        Pd.prototype.q = Pd;
        Pd.A = {};
        k.hW = Pd;
        Pd.prototype.B = function() {
            Nl(this.j)
        };
        td.prototype = Object.create(U.prototype);
        td.prototype.q = td;
        td.A = {};
        k.uW = td;
        td.prototype.B = function() {
            uj(this.j)
        };
        zb.prototype = Object.create(U.prototype);
        zb.prototype.q = zb;
        zb.A = {};
        k.fW = zb;
        zb.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            nm(b, a)
        };
        zb.prototype.B = function() {
            Aj(this.j)
        };
        Jd.prototype = Object.create(U.prototype);
        Jd.prototype.q = Jd;
        Jd.A = {};
        k.DW = Jd;
        Jd.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            ak(e, a, b)
        };
        Jd.prototype.B = function() {
            qj(this.j)
        };
        Kd.prototype = Object.create(mc.prototype);
        Kd.prototype.q = Kd;
        Kd.A = {};
        k.PV = Kd;
        Kd.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            gm(b, a)
        };
        Kd.prototype.B = function() {
            Lk(this.j)
        };
        ac.prototype = Object.create(U.prototype);
        ac.prototype.q = ac;
        ac.A = {};
        k.QV = ac;
        ac.prototype.Set = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            Am(f, a, b, e)
        };
        ac.prototype.B = function() {
            Uk(this.j)
        };
        Uc.prototype = Object.create(Bb.prototype);
        Uc.prototype.q = Uc;
        Uc.A = {};
        k.zW = Uc;
        Uc.prototype.Ya = function() {
            return om(this.j)
        };
        Uc.prototype.B = function() {
            Pl(this.j)
        };
        Ce.prototype = Object.create(U.prototype);
        Ce.prototype.q = Ce;
        Ce.A = {};
        k.wW = Ce;
        Ce.prototype.B = function() {
            zj(this.j)
        };
        ud.prototype = Object.create(mc.prototype);
        ud.prototype.q = ud;
        ud.A = {};
        k.kp = ud;
        ud.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            Oj(e, a, b)
        };
        ud.prototype.Vo = function(a, b, e, f) {
            var g = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            void 0 === e ? ym(g, a, b) : void 0 === f ? _emscripten_bind_b2PolygonShape_SetAsBox_3(g, a, b, e) : Xk(g, a, b, e, f)
        };
        ud.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Qm(b, a)
        };
        ud.prototype.B = function() {
            pj(this.j)
        };
        vd.prototype = Object.create(mc.prototype);
        vd.prototype.q = vd;
        vd.A = {};
        k.ZV = vd;
        vd.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            sm(e, a, b)
        };
        vd.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Yl(b, a)
        };
        vd.prototype.B = function() {
            kk(this.j)
        };
        Dc.prototype = Object.create(me.prototype);
        Dc.prototype.q = Dc;
        Dc.A = {};
        k.JSContactFilter = Dc;
        Dc.prototype.ShouldCollide = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            return wk(e, a, b)
        };
        Dc.prototype.B = function() {
            sk(this.j)
        };
        gc.prototype = Object.create(zb.prototype);
        gc.prototype.q = gc;
        gc.A = {};
        k.kP = gc;
        gc.prototype.hc = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            qm(f, a, b, e)
        };
        gc.prototype.Wn = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            ul(b, a)
        };
        gc.prototype.XR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            jl(b, a)
        };
        gc.prototype.aS = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Tk(b, a)
        };
        gc.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            xk(b, a)
        };
        gc.prototype.B = function() {
            xl(this.j)
        };
        gd.prototype = Object.create(sd.prototype);
        gd.prototype.q = gd;
        gd.A = {};
        k.xT = gd;
        gd.prototype.B = function() {
            Ij(this.j)
        };
        ie.prototype = Object.create(Bb.prototype);
        ie.prototype.q = ie;
        ie.A = {};
        k.HW = ie;
        ie.prototype.Ya = function() {
            return dm(this.j)
        };
        ie.prototype.B = function() {
            Nm(this.j)
        };
        je.prototype = Object.create(Bb.prototype);
        je.prototype.q = je;
        je.A = {};
        k.sW = je;
        je.prototype.Ya = function() {
            return ik(this.j)
        };
        je.prototype.B = function() {
            hl(this.j)
        };
        jd.prototype = Object.create(zb.prototype);
        jd.prototype.q = jd;
        jd.A = {};
        k.oW = jd;
        jd.prototype.Ag = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            em(b, a)
        };
        jd.prototype.zg = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            pl(b, a)
        };
        jd.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Zi(b, a)
        };
        jd.prototype.B = function() {
            Jj(this.j)
        };
        bc.prototype = Object.create(U.prototype);
        bc.prototype.q = bc;
        bc.A = {};
        k.hP = bc;
        bc.prototype.Ed = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ej(b, a)
        };
        bc.prototype.Ts = function() {
            return Ma(tj(this.j), Gc)
        };
        bc.prototype.Us = function() {
            return Ma(Lm(this.j), Gc)
        };
        mc.prototype = Object.create(U.prototype);
        mc.prototype.q = mc;
        mc.A = {};
        k.de = mc;
        mc.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Fj(b, a)
        };
        mc.prototype.B = function() {
            Pk(this.j)
        };
        pc.prototype = Object.create(zb.prototype);
        pc.prototype.q = pc;
        pc.A = {};
        k.iP = pc;
        pc.prototype.hc = function(a, b, e, f) {
            var g = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            $k(g, a, b, e, f)
        };
        pc.prototype.VR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            gk(b, a)
        };
        pc.prototype.Ag = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            rk(b, a)
        };
        pc.prototype.zg = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Nj(b, a)
        };
        pc.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            El(b, a)
        };
        pc.prototype.B = function() {
            mm(this.j)
        };
        vb.prototype = Object.create(U.prototype);
        vb.prototype.q = vb;
        vb.A = {};
        k.OV = vb;
        vb.prototype.Kh = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            return void 0 === b ? Ma(Jk(e, a), Gc) : Ma(Kk(e, a, b), Gc)
        };
        vb.prototype.Lo = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            bl(b, a)
        };
        vb.prototype.rj = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            wj(e, a, b)
        };
        vb.prototype.mj = function() {
            return Ma(Sj(this.j), Nb)
        };
        vb.prototype.Mh = function() {
            return rm(this.j)
        };
        vb.prototype.Ro = function() {
            return Ma(Fm(this.j), Nb)
        };
        vb.prototype.qj = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ek(b, a)
        };
        vb.prototype.Qo = function() {
            return Ma(fm(this.j), Nb)
        };
        vb.prototype.oj = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Em(b, a)
        };
        vb.prototype.Po = function() {
            return mk(this.j)
        };
        vb.prototype.pj = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            vm(b, a)
        };
        vb.prototype.Ya = function() {
            return hk(this.j)
        };
        ke.prototype = Object.create(Bb.prototype);
        ke.prototype.q = ke;
        ke.A = {};
        k.aW = ke;
        ke.prototype.Ya = function() {
            return Si(this.j)
        };
        ke.prototype.B = function() {
            tl(this.j)
        };
        De.prototype = Object.create(U.prototype);
        De.prototype.q = De;
        De.A = {};
        k.WV = De;
        De.prototype.B = function() {
            Xi(this.j)
        };
        Vc.prototype = Object.create(zb.prototype);
        Vc.prototype.q = Vc;
        Vc.A = {};
        k.dW = Vc;
        Vc.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            sj(b, a)
        };
        Vc.prototype.B = function() {
            Gl(this.j)
        };
        le.prototype = Object.create(Bb.prototype);
        le.prototype.q = le;
        le.A = {};
        k.yW = le;
        le.prototype.Ya = function() {
            return zm(this.j)
        };
        le.prototype.B = function() {
            hj(this.j)
        };
        me.prototype = Object.create(U.prototype);
        me.prototype.q = me;
        me.A = {};
        k.SV = me;
        me.prototype.B = function() {
            Kj(this.j)
        };
        ne.prototype = Object.create(U.prototype);
        ne.prototype.q = ne;
        ne.A = {};
        k.RV = ne;
        ne.prototype.B = function() {
            km(this.j)
        };
        nd.prototype = Object.create(zb.prototype);
        nd.prototype.q = nd;
        nd.A = {};
        k.AW = nd;
        nd.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Dk(b, a)
        };
        nd.prototype.B = function() {
            cm(this.j)
        };
        hb.prototype = Object.create(zb.prototype);
        hb.prototype.q = hb;
        hb.A = {};
        k.mW = hb;
        hb.prototype.hc = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            bj(e, a, b)
        };
        hb.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ti(b, a)
        };
        hb.prototype.B = function() {
            am(this.j)
        };
        k.de.QU = zk();
        k.de.bV = vk();
        k.de.dT = Ui();
        k.de.Xs = Uj();
        k.de.iT = vj();
        k.QX = Bm();
        k.OX = kj();
        k.MX = Ol();
        k.FX = gl();
        k.NX = Dj();
        k.LX = jj();
        k.IX = jm();
        k.SX = Vl();
        k.RX = Wk();
        k.HX = mj();
        k.PX = Xl();
        k.KX = ml();
        k.JX = um();
        k.DX = al();
        k.EX = Pm();
        k.GX = ek();
        k.Hg.WU = cl();
        k.Hg.OS = tk();
        k.Hg.WS = uk();
        k.LW = Sk();
        k.KW = Il();
        k.JW = Hl();
        k.be.gT = fk();
        k.be.YS = Gj();
        k.be.gb = pm();
        k.be.cT = sl();
        k.be.nj = Jm();
        k.Bj.AT = Vj();
        k.Bj.NS = Nk();
        U.prototype = Object.create(U.prototype);
        U.prototype.q = U;
        U.A = {};
        k.aV = U;
        k.getCache = da;
        k.ql = Ma;
        k.UW = Vb;
        k.FT = Ma(0);
        k.cX = Yc;
        k.compare = Ge;
        k.TY = of ;
        k.LY = nf;
        tc.prototype = Object.create(Gd.prototype);
        tc.prototype.q = tc;
        tc.A = {};
        k.wT = tc;
        tc.prototype.B = function() {
            Sl(this.j)
        };
        Ad.prototype = Object.create(U.prototype);
        Ad.prototype.q = Ad;
        Ad.A = {};
        k.UV = Ad;
        Ad.prototype.B = function() {
            xj(this.j)
        };
        kb.prototype = Object.create(Bb.prototype);
        kb.prototype.q = kb;
        kb.A = {};
        k.YV = kb;
        kb.prototype.Ya = function() {
            return Rj(this.j)
        };
        kb.prototype.B = function() {
            Ll(this.j)
        };
        id.prototype = Object.create(U.prototype);
        id.prototype.q = id;
        id.A = {};
        k.kW = id;
        id.prototype.B = function() {
            gj(this.j)
        };
        Gc.prototype = Object.create(U.prototype);
        Gc.prototype.q = Gc;
        Gc.A = {};
        k.jp = Gc;
        Gc.prototype.lj = function() {
            return Ma(Wj(this.j), vb)
        };
        Gc.prototype.B = function() {
            Vi(this.j)
        };
        nb.prototype = Object.create(U.prototype);
        nb.prototype.q = nb;
        nb.A = {};
        k.$V = nb;
        nb.prototype.B = function() {
            dl(this.j)
        };
        Dd.prototype = Object.create(td.prototype);
        Dd.prototype.q = Dd;
        Dd.A = {};
        k.yT = Dd;
        Dd.prototype.B = function() {
            il(this.j)
        };
        uc.prototype = Object.create(Bb.prototype);
        uc.prototype.q = uc;
        uc.A = {};
        k.nW = uc;
        uc.prototype.Gt = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            bk(b, a)
        };
        uc.prototype.Ya = function() {
            return cj(this.j)
        };
        uc.prototype.B = function() {
            Dl(this.j)
        };
        Eb.prototype = Object.create(U.prototype);
        Eb.prototype.q = Eb;
        Eb.A = {};
        k.BW = Eb;
        Eb.prototype.Set = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Hj(b, a)
        };
        Eb.prototype.Mh = function() {
            return yl(this.j)
        };
        Eb.prototype.B = function() {
            ol(this.j)
        };
        dd.prototype = Object.create(Bb.prototype);
        dd.prototype.q = dd;
        dd.A = {};
        k.lW = dd;
        dd.prototype.Ya = function() {
            return el(this.j)
        };
        dd.prototype.B = function() {
            Ck(this.j)
        };
        pd.prototype = Object.create(U.prototype);
        pd.prototype.q = pd;
        pd.A = {};
        k.rW = pd;
        pd.prototype.B = function() {
            Tj(this.j)
        };
        Ib.prototype = Object.create(U.prototype);
        Ib.prototype.q = Ib;
        Ib.A = {};
        k.VU = Ib;
        Ib.prototype.B = function() {
            wl(this.j)
        };
        Fc.prototype = Object.create(U.prototype);
        Fc.prototype.q = Fc;
        Fc.A = {};
        k.fP = Fc;
        Fc.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Yi(b, a)
        };
        Fc.prototype.ZR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            ij(b, a)
        };
        Fc.prototype.NR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Gk(b, a)
        };
        Fc.prototype.WR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Tl(b, a)
        };
        Fc.prototype.OR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Cm(b, a)
        };
        Fc.prototype.RR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ak(b, a)
        };
        Fc.prototype.PR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Yk(b, a)
        };
        Fc.prototype.B = function() {
            Zl(this.j)
        };
        Bd.prototype = Object.create(Ic.prototype);
        Bd.prototype.q = Bd;
        Bd.A = {};
        k.zT = Bd;
        Bd.prototype.B = function() {
            ql(this.j)
        };
        Ae.prototype = Object.create(U.prototype);
        Ae.prototype.q = Ae;
        Ae.A = {};
        k.Bj = Ae;
        Ae.prototype.B = function() {
            Al(this.j)
        };
        Nb.prototype = Object.create(U.prototype);
        Nb.prototype.q = Nb;
        Nb.A = {};
        k.lp = Nb;
        Nb.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            zl(e, a, b)
        };
        Nb.prototype.Ja = function() {
            return Rm(this.j)
        };
        Nb.prototype.Bh = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            yj(b, a)
        };
        Nb.prototype.Ka = function() {
            return Ik(this.j)
        };
        Nb.prototype.Ch = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Mm(b, a)
        };
        Nb.prototype.B = function() {
            wm(this.j)
        };
        Sc.prototype = Object.create(U.prototype);
        Sc.prototype.q = Sc;
        Sc.A = {};
        k.EW = Sc;
        Sc.prototype.Set = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            qk(f, a, b, e)
        };
        Sc.prototype.Ja = function() {
            return ej(this.j)
        };
        Sc.prototype.Bh = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ok(b, a)
        };
        Sc.prototype.Ka = function() {
            return lm(this.j)
        };
        Sc.prototype.Ch = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Bl(b, a)
        };
        Sc.prototype.B = function() {
            Yj(this.j)
        };
        Cd.prototype = Object.create(U.prototype);
        Cd.prototype.q = Cd;
        Cd.A = {};
        k.NV = Cd;
        Cd.prototype.B = function() {
            Cl(this.j)
        };
        oc.prototype = Object.create(U.prototype);
        oc.prototype.q = oc;
        oc.A = {};
        k.jP = oc;
        oc.prototype.Wi = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Hm(b, a)
        };
        oc.prototype.SR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Qk(b, a)
        };
        oc.prototype.$R = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            aj(b, a)
        };
        oc.prototype.QR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            bm(b, a)
        };
        oc.prototype.B = function() {
            Gm(this.j)
        };
        Lb.prototype = Object.create(zb.prototype);
        Lb.prototype.q = Lb;
        Lb.A = {};
        k.bW = Lb;
        Lb.prototype.hc = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            Km(f, a, b, e)
        };
        Lb.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Wl(b, a)
        };
        Lb.prototype.B = function() {
            dk(this.j)
        };
        Ed.prototype = Object.create(U.prototype);
        Ed.prototype.q = Ed;
        Ed.A = {};
        k.Hg = Ed;
        Ed.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Fk(b, a)
        };
        Ed.prototype.B = function() {
            Pj(this.j)
        };
        ed.prototype = Object.create(zb.prototype);
        ed.prototype.q = ed;
        ed.A = {};
        k.qW = ed;
        ed.prototype.hc = function(a, b, e, f) {
            var g = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            Bj(g, a, b, e, f)
        };
        ed.prototype.Wn = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Mk(b, a)
        };
        ed.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            ck(b, a)
        };
        ed.prototype.B = function() {
            oj(this.j)
        };
        vc.prototype = Object.create(U.prototype);
        vc.prototype.q = vc;
        vc.A = {};
        k.lP = vc;
        vc.prototype.Ct = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            $i(b, a)
        };
        vc.prototype.Dt = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            lj(b, a)
        };
        vc.prototype.Rs = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            return Ma(nl(b, a), vb)
        };
        vc.prototype.tl = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            fj(b, a)
        };
        vc.prototype.sl = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            return Ma(Mj(b, a), Bb)
        };
        vc.prototype.Mo = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ql(b, a)
        };
        vc.prototype.Kt = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            yk(f, a, b, e)
        };
        vc.prototype.Ps = function() {
            Xj(this.j)
        };
        vc.prototype.B = function() {
            fl(this.j)
        };
        jc.prototype = Object.create(Bb.prototype);
        jc.prototype.q = jc;
        jc.A = {};
        k.pW = jc;
        jc.prototype.Ya = function() {
            return Vk(this.j)
        };
        jc.prototype.B = function() {
            Lj(this.j)
        };
        Be.prototype = Object.create(U.prototype);
        Be.prototype.q = Be;
        Be.A = {};
        k.xW = Be;
        Be.prototype.B = function() {
            Zk(this.j)
        };
        Fd.prototype = Object.create(U.prototype);
        Fd.prototype.q = Fd;
        Fd.A = {};
        k.TV = Fd;
        Fd.prototype.sq = function() {
            return Dm(this.j)
        };
        Fd.prototype.B = function() {
            Rk(this.j)
        };
        Gd.prototype = Object.create(U.prototype);
        Gd.prototype.q = Gd;
        Gd.A = {};
        k.XV = Gd;
        Gd.prototype.B = function() {
            Om(this.j)
        };
        rd.prototype = Object.create(Tc.prototype);
        rd.prototype.q = rd;
        rd.A = {};
        k.JSContactListener = rd;
        rd.prototype.BeginContact = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            ll(b, a)
        };
        rd.prototype.EndContact = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            dj(b, a)
        };
        rd.prototype.B = function() {
            Bk(this.j)
        };
        Hd.prototype = Object.create(U.prototype);
        Hd.prototype.q = Hd;
        Hd.A = {};
        k.jW = Hd;
        Hd.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            Rl(e, a, b)
        };
        Hd.prototype.B = function() {
            xm(this.j)
        };
        $b.prototype = Object.create(zb.prototype);
        $b.prototype.q = $b;
        $b.A = {};
        k.IW = $b;
        $b.prototype.hc = function(a, b, e, f) {
            var g = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            ok(g, a, b, e, f)
        };
        $b.prototype.Ag = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Kl(b, a)
        };
        $b.prototype.zg = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ml(b, a)
        };
        $b.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            nj(b, a)
        };
        $b.prototype.B = function() {
            Cj(this.j)
        };
        Id.prototype = Object.create(mc.prototype);
        Id.prototype.q = Id;
        Id.A = {};
        k.gP = Id;
        Id.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            rj(b, a)
        };
        Id.prototype.B = function() {
            Jl(this.j)
        };
        qb.prototype = Object.create(zb.prototype);
        qb.prototype.q = qb;
        qb.A = {};
        k.GW = qb;
        qb.prototype.hc = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            im(f, a, b, e)
        };
        qb.prototype.Ag = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ul(b, a)
        };
        qb.prototype.zg = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            pk(b, a)
        };
        qb.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            $l(b, a)
        };
        qb.prototype.B = function() {
            vl(this.j)
        };
        sd.prototype = Object.create(U.prototype);
        sd.prototype.q = sd;
        sd.A = {};
        k.be = sd;
        sd.prototype.B = function() {
            nk(this.j)
        };
        Mc.prototype = Object.create(U.prototype);
        Mc.prototype.q = Mc;
        Mc.A = {};
        k.iW = Mc;
        Mc.prototype.B = function() {
            hm(this.j)
        };
        Bb.prototype = Object.create(U.prototype);
        Bb.prototype.q = Bb;
        Bb.A = {};
        k.eW = Bb;
        Bb.prototype.Ya = function() {
            return tm(this.j)
        };
        Zc.prototype = Object.create(Bb.prototype);
        Zc.prototype.q = Zc;
        Zc.A = {};
        k.cW = Zc;
        Zc.prototype.Ya = function() {
            return jk(this.j)
        };
        Zc.prototype.B = function() {
            Qj(this.j)
        };
        Ic.prototype = Object.create(U.prototype);
        Ic.prototype.q = Ic;
        Ic.A = {};
        k.vW = Ic;
        Ic.prototype.B = function() {
            Zj(this.j)
        };
        md.prototype = Object.create(Bb.prototype);
        md.prototype.q = md;
        md.A = {};
        k.FW = md;
        md.prototype.Ya = function() {
            return Wi(this.j)
        };
        md.prototype.B = function() {
            Fl(this.j)
        };
        fd.prototype = Object.create(U.prototype);
        fd.prototype.q = fd;
        fd.A = {};
        k.gW = fd;
        fd.prototype.B = function() {
            kl(this.j)
        };
        Ob.prototype = Object.create(zb.prototype);
        Ob.prototype.q = Ob;
        Ob.A = {};
        k.tW = Ob;
        Ob.prototype.hc = function(a, b, e, f, g, k, l) {
            var m = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            g = g && "object" === typeof g ? g.j : C(g);
            k = k && "object" === typeof k ? k.j : C(k);
            l = l && "object" === typeof l ? l.j : C(l);
            Im(m, a, b, e, f, g, k, l)
        };
        Ob.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Hk(b, a)
        };
        Ob.prototype.B = function() {
            lk(this.j)
        };
        Tc.prototype = Object.create(U.prototype);
        Tc.prototype.q = Tc;
        Tc.A = {};
        k.VV = Tc;
        Tc.prototype.B = function() {
            rl(this.j)
        };
        Pd.prototype = Object.create(U.prototype);
        Pd.prototype.q = Pd;
        Pd.A = {};
        k.hW = Pd;
        Pd.prototype.B = function() {
            Nl(this.j)
        };
        td.prototype = Object.create(U.prototype);
        td.prototype.q = td;
        td.A = {};
        k.uW = td;
        td.prototype.B = function() {
            uj(this.j)
        };
        zb.prototype = Object.create(U.prototype);
        zb.prototype.q = zb;
        zb.A = {};
        k.fW = zb;
        zb.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            nm(b, a)
        };
        zb.prototype.B = function() {
            Aj(this.j)
        };
        Jd.prototype = Object.create(U.prototype);
        Jd.prototype.q = Jd;
        Jd.A = {};
        k.DW = Jd;
        Jd.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            ak(e, a, b)
        };
        Jd.prototype.B = function() {
            qj(this.j)
        };
        Kd.prototype = Object.create(mc.prototype);
        Kd.prototype.q = Kd;
        Kd.A = {};
        k.PV = Kd;
        Kd.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            gm(b, a)
        };
        Kd.prototype.B = function() {
            Lk(this.j)
        };
        ac.prototype = Object.create(U.prototype);
        ac.prototype.q = ac;
        ac.A = {};
        k.QV = ac;
        ac.prototype.Set = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            Am(f, a, b, e)
        };
        ac.prototype.B = function() {
            Uk(this.j)
        };
        Uc.prototype = Object.create(Bb.prototype);
        Uc.prototype.q = Uc;
        Uc.A = {};
        k.zW = Uc;
        Uc.prototype.Ya = function() {
            return om(this.j)
        };
        Uc.prototype.B = function() {
            Pl(this.j)
        };
        Ce.prototype = Object.create(U.prototype);
        Ce.prototype.q = Ce;
        Ce.A = {};
        k.wW = Ce;
        Ce.prototype.B = function() {
            zj(this.j)
        };
        ud.prototype = Object.create(mc.prototype);
        ud.prototype.q = ud;
        ud.A = {};
        k.kp = ud;
        ud.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            Oj(e, a, b)
        };
        ud.prototype.Vo = function(a, b, e, f) {
            var g = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            void 0 === e ? ym(g, a, b) : void 0 === f ? _emscripten_bind_b2PolygonShape_SetAsBox_3(g, a, b, e) : Xk(g, a, b, e, f)
        };
        ud.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Qm(b, a)
        };
        ud.prototype.B = function() {
            pj(this.j)
        };
        vd.prototype = Object.create(mc.prototype);
        vd.prototype.q = vd;
        vd.A = {};
        k.ZV = vd;
        vd.prototype.Set = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            sm(e, a, b)
        };
        vd.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Yl(b, a)
        };
        vd.prototype.B = function() {
            kk(this.j)
        };
        Dc.prototype = Object.create(me.prototype);
        Dc.prototype.q = Dc;
        Dc.A = {};
        k.JSContactFilter = Dc;
        Dc.prototype.ShouldCollide = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            return wk(e, a, b)
        };
        Dc.prototype.B = function() {
            sk(this.j)
        };
        gc.prototype = Object.create(zb.prototype);
        gc.prototype.q = gc;
        gc.A = {};
        k.kP = gc;
        gc.prototype.hc = function(a, b, e) {
            var f = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            qm(f, a, b, e)
        };
        gc.prototype.Wn = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            ul(b, a)
        };
        gc.prototype.XR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            jl(b, a)
        };
        gc.prototype.aS = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Tk(b, a)
        };
        gc.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            xk(b, a)
        };
        gc.prototype.B = function() {
            xl(this.j)
        };
        gd.prototype = Object.create(sd.prototype);
        gd.prototype.q = gd;
        gd.A = {};
        k.xT = gd;
        gd.prototype.B = function() {
            Ij(this.j)
        };
        ie.prototype = Object.create(Bb.prototype);
        ie.prototype.q = ie;
        ie.A = {};
        k.HW = ie;
        ie.prototype.Ya = function() {
            return dm(this.j)
        };
        ie.prototype.B = function() {
            Nm(this.j)
        };
        je.prototype = Object.create(Bb.prototype);
        je.prototype.q = je;
        je.A = {};
        k.sW = je;
        je.prototype.Ya = function() {
            return ik(this.j)
        };
        je.prototype.B = function() {
            hl(this.j)
        };
        jd.prototype = Object.create(zb.prototype);
        jd.prototype.q = jd;
        jd.A = {};
        k.oW = jd;
        jd.prototype.Ag = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            em(b, a)
        };
        jd.prototype.zg = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            pl(b, a)
        };
        jd.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Zi(b, a)
        };
        jd.prototype.B = function() {
            Jj(this.j)
        };
        bc.prototype = Object.create(U.prototype);
        bc.prototype.q = bc;
        bc.A = {};
        k.hP = bc;
        bc.prototype.Ed = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ej(b, a)
        };
        bc.prototype.Ts = function() {
            return Ma(tj(this.j), Gc)
        };
        bc.prototype.Us = function() {
            return Ma(Lm(this.j), Gc)
        };
        mc.prototype = Object.create(U.prototype);
        mc.prototype.q = mc;
        mc.A = {};
        k.de = mc;
        mc.prototype.Me = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Fj(b, a)
        };
        mc.prototype.B = function() {
            Pk(this.j)
        };
        pc.prototype = Object.create(zb.prototype);
        pc.prototype.q = pc;
        pc.A = {};
        k.iP = pc;
        pc.prototype.hc = function(a, b, e, f) {
            var g = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            e = e && "object" === typeof e ? e.j : C(e);
            f = f && "object" === typeof f ? f.j : C(f);
            $k(g, a, b, e, f)
        };
        pc.prototype.VR = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            gk(b, a)
        };
        pc.prototype.Ag = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            rk(b, a)
        };
        pc.prototype.zg = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Nj(b, a)
        };
        pc.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            El(b, a)
        };
        pc.prototype.B = function() {
            mm(this.j)
        };
        vb.prototype = Object.create(U.prototype);
        vb.prototype.q = vb;
        vb.A = {};
        k.OV = vb;
        vb.prototype.Kh = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            return void 0 === b ? Ma(Jk(e, a), Gc) : Ma(Kk(e, a, b), Gc)
        };
        vb.prototype.Lo = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            bl(b, a)
        };
        vb.prototype.rj = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            wj(e, a, b)
        };
        vb.prototype.mj = function() {
            return Ma(Sj(this.j), Nb)
        };
        vb.prototype.Mh = function() {
            return rm(this.j)
        };
        vb.prototype.Ro = function() {
            return Ma(Fm(this.j), Nb)
        };
        vb.prototype.qj = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ek(b, a)
        };
        vb.prototype.Qo = function() {
            return Ma(fm(this.j), Nb)
        };
        vb.prototype.oj = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Em(b, a)
        };
        vb.prototype.Po = function() {
            return mk(this.j)
        };
        vb.prototype.pj = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            vm(b, a)
        };
        vb.prototype.Ya = function() {
            return hk(this.j)
        };
        ke.prototype = Object.create(Bb.prototype);
        ke.prototype.q = ke;
        ke.A = {};
        k.aW = ke;
        ke.prototype.Ya = function() {
            return Si(this.j)
        };
        ke.prototype.B = function() {
            tl(this.j)
        };
        De.prototype = Object.create(U.prototype);
        De.prototype.q = De;
        De.A = {};
        k.WV = De;
        De.prototype.B = function() {
            Xi(this.j)
        };
        Vc.prototype = Object.create(zb.prototype);
        Vc.prototype.q = Vc;
        Vc.A = {};
        k.dW = Vc;
        Vc.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            sj(b, a)
        };
        Vc.prototype.B = function() {
            Gl(this.j)
        };
        le.prototype = Object.create(Bb.prototype);
        le.prototype.q = le;
        le.A = {};
        k.yW = le;
        le.prototype.Ya = function() {
            return zm(this.j)
        };
        le.prototype.B = function() {
            hj(this.j)
        };
        me.prototype = Object.create(U.prototype);
        me.prototype.q = me;
        me.A = {};
        k.SV = me;
        me.prototype.B = function() {
            Kj(this.j)
        };
        ne.prototype = Object.create(U.prototype);
        ne.prototype.q = ne;
        ne.A = {};
        k.RV = ne;
        ne.prototype.B = function() {
            km(this.j)
        };
        nd.prototype = Object.create(zb.prototype);
        nd.prototype.q = nd;
        nd.A = {};
        k.AW = nd;
        nd.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Dk(b, a)
        };
        nd.prototype.B = function() {
            cm(this.j)
        };
        hb.prototype = Object.create(zb.prototype);
        hb.prototype.q = hb;
        hb.A = {};
        k.mW = hb;
        hb.prototype.hc = function(a, b) {
            var e = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            b = b && "object" === typeof b ? b.j : C(b);
            bj(e, a, b)
        };
        hb.prototype.Xa = function(a) {
            var b = this.j;
            a = a && "object" === typeof a ? a.j : C(a);
            Ti(b, a)
        };
        hb.prototype.B = function() {
            am(this.j)
        };
        k.de.QU = zk();
        k.de.bV = vk();
        k.de.dT = Ui();
        k.de.Xs = Uj();
        k.de.iT = vj();
        k.QX = Bm();
        k.OX = kj();
        k.MX = Ol();
        k.FX = gl();
        k.NX = Dj();
        k.LX = jj();
        k.IX = jm();
        k.SX = Vl();
        k.RX = Wk();
        k.HX = mj();
        k.PX = Xl();
        k.KX = ml();
        k.JX = um();
        k.DX = al();
        k.EX = Pm();
        k.GX = ek();
        k.Hg.WU = cl();
        k.Hg.OS = tk();
        k.Hg.WS = uk();
        k.LW = Sk();
        k.KW = Il();
        k.JW = Hl();
        k.be.gT = fk();
        k.be.YS = Gj();
        k.be.gb = pm();
        k.be.cT = sl();
        k.be.nj = Jm();
        k.Bj.AT = Vj();
        k.Bj.NS = Nk();
        return k
    }(),
    ih = hh.lp;

function jh(e) {
    for (var g = new hh.kp, b = hh.JV(8 * e.length, "float", hh.IS), q = 0, p = 0; p < e.length; p++) hh.Ud(b + q, e[p].Ja(), "float"), hh.Ud(b + (q + 4), e[p].Ka(), "float"), q += 8;
    b = hh.ql(b, hh.lp);
    g.Set(b, e.length);
    return g
}
ih.Yo = [];
ih.Yd = function(e, g) {
    var b;
    return ih.Yo.length ? (b = ih.Yo.pop(), b.Bh(e), b.Ch(g), b) : new ih(e, g)
};
ih.Pf = function(e) {
    ih.Yo.push(e)
};
var kh = ih.Yd(0, 0),
    lh = ih.Yd(0, 0);

function mh(e, g) {
    kh.Bh(e);
    kh.Ch(g);
    return kh
}

function nh(e, g) {
    lh.Bh(e);
    lh.Ch(g);
    return lh
}

function oh(e, g, b, q, p, t) {
    var l;
    if (l = (b + .1 >= e && e >= p - .1 || b - .1 <= e && e <= p + .1) && (q + .1 >= g && g >= t - .1 || q - .1 <= g && g <= t + .1)) l = .1 < Math.abs(p - b) ? .1 > Math.abs((t - q) / (p - b) * (e - b) + q - g) : .1 > Math.abs(e - b);
    return l
}

function ph(e, g) {
    var b = qh(e),
        q = [],
        p, t, l, a, w, L, f, n, z;
    w = 0;
    for (L = b.length; w < L; w++) {
        t = b[w];
        p = [];
        p.length = t.length;
        f = z = 0;
        for (n = t.length; f < n; f++) l = t[f], a = t[(f + 1) % n], z += l.Ja() * a.Ka() - l.Ka() * a.Ja(), p[f] = ih.Yd(l.Ja(), l.Ka());
        z = Math.abs(z / 2);
        if (z >= .001 * g) q.push(p);
        else
            for (f = 0, n = p.length; f < n; f++) ih.Pf(p[f])
    }
    return q
}

function qh(e) {
    var g = [],
        b = 0,
        q = 0,
        p = 0,
        t = 0,
        l = 0,
        a = l = 0,
        w = 0,
        L = 0,
        f = 0,
        t = 0,
        n, z, u, J = t = b = 0,
        fa = 0,
        p = [],
        w = [],
        ca = !1,
        A = [],
        ya = [];
    z = !1;
    for (ya.push(e); ya.length;) {
        g = ya[0];
        q = g.length;
        ca = !0;
        for (b = 0; b < q; b++)
            if (L = b, f = b < q - 1 ? b + 1 : b + 1 - q, t = b < q - 2 ? b + 2 : b + 2 - q, e = g[L], n = g[f], z = g[t], t = e.Ja(), p = e.Ka(), w = n.Ja(), l = n.Ka(), a = z.Ja(), z = z.Ka(), t = t * l + w * z + a * p - p * w - l * a - z * t, 0 > t) {
                ca = !1;
                w = 1E9;
                for (p = 0; p < q; p++)
                    if (p !== L && p !== f) {
                        var b = p,
                            t = p < q - 1 ? p + 1 : 0,
                            a = g[b],
                            l = g[t],
                            Ba = e.Ja(),
                            F = e.Ka(),
                            P = n.Ja(),
                            ha = n.Ka();
                        z = a.Ja();
                        var a = a.Ka(),
                            ea = l.Ja(),
                            l = l.Ka(),
                            pa = P - Ba,
                            na = ha - F,
                            Pa = ea - z,
                            jb = l - a,
                            Pa = (Pa * (a - F) - jb * (z - Ba)) / (na * Pa - pa * jb),
                            pa = Ba + Pa * pa,
                            na = F + Pa * na,
                            Ba = oh(P, ha, Ba, F, pa, na),
                            l = oh(pa, na, z, a, ea, l);
                        if (z = Ba && l ? ih.Yd(pa, na) : null) l = n.Ja() - z.Ja(), a = n.Ka() - z.Ka(), l = l * l + a * a, l < w ? (fa = b, J = t, u = z, w = l) : ih.Pf(z)
                    }
                if (1E9 === w) return [];
                p = [];
                w = [];
                b = fa;
                t = J;
                a = g[b];
                l = g[t];
                z = !1;
                J = u.Ja();
                fa = u.Ka();
                Ba = l.Ja();
                F = l.Ka();
                .1 > Math.abs(Ba - J) && .1 > Math.abs(F - fa) || (p.push(u), z = !0);
                J = u.Ja();
                fa = u.Ka();
                Ba = a.Ja();
                F = a.Ka();
                .1 > Math.abs(Ba - J) && .1 > Math.abs(F - fa) || (w.push(u), z = !0);
                z || ih.Pf(u);
                fa = -1;
                for (J = L;;) {
                    if (J !== t) p.push(g[J]);
                    else {
                        if (0 > fa || fa >= q) return [];
                        oh(l.Ja(), l.Ka(), g[fa].Ja(), g[fa].Ka(), e.Ja(), e.Ka()) || p.push(g[J]);
                        break
                    }
                    fa = J;
                    0 > J - 1 ? J = q - 1 : J--
                }
                p.reverse();
                fa = -1;
                for (J = f;;) {
                    if (J !== b) w.push(g[J]);
                    else {
                        if (0 > fa || fa >= q) return [];
                        J !== b || oh(a.Ja(), a.Ka(), g[fa].Ja(), g[fa].Ka(), n.Ja(), n.Ka()) || w.push(g[J]);
                        break
                    }
                    fa = J;
                    J + 1 > q - 1 ? J = 0 : J++
                }
                ya.push(p, w);
                ya.shift();
                break
            }
        ca && A.push(ya.shift())
    }
    return A
}

function rh(e) {
    this.c = e;
    this.dd = new hh.lP(mh(0, 10), !0);
    this.Zq = -1;
    var g = new hh.JSContactListener;
    g.BeginContact = function(b) {
        var g = hh.ql(b, hh.hP);
        b = g.Ts().lj().we;
        g = g.Us().lj().we;
        e.zh(b.k, g.k)
    };
    g.EndContact = function() {};
    this.dd.Dt(g);
    var g = new hh.JSContactFilter,
        b = this;
    g.ShouldCollide = function(e, g) {
        if (b.GV) return !0;
        var t = hh.ql(e, hh.jp),
            l = hh.ql(g, hh.jp),
            t = t.lj().we.k.type,
            l = l.lj().we.k.type,
            a = t.J.Physics_DisabledCollisions;
        return a && a.contains(l) ? !1 : (a = l.J.Physics_DisabledCollisions) && a.contains(t) ? !1 : !0
    };
    this.dd.Ct(g);
    this.U_ = 0;
    this.j0 = 8;
    this.i_ = 3;
    this.GV = !0
}
(function() {
    function e() {}
    var g = hh.fP,
        b = hh.jP,
        q = hh.kp,
        p = hh.gP,
        t = hh.iP,
        l = hh.kP,
        a = rh.prototype;
    a.aa = function(a) {
        this.behavior = a;
        this.c = a.c
    };
    a.aa.prototype.P = function() {};
    a.Z = function(a, b) {
        this.type = a;
        this.behavior = a.behavior;
        this.k = b;
        this.c = a.c;
        this.dd = this.behavior.dd
    };
    var w = a.Z.prototype;
    w.P = function() {
        this.Cq = 0 !== this.D[0];
        this.wP = this.D[1];
        this.Or = 0 !== this.D[2];
        this.Cp = this.D[3];
        this.dq = this.D[4];
        this.Zr = this.D[5];
        this.hr = this.D[6];
        this.hp = this.D[7];
        this.np = 0 !== this.D[8];
        this.enabled = 0 !== this.D[9];
        this.he = this.body = null;
        this.k.X();
        this.Rm = this.k.x;
        this.Sm = this.k.y;
        this.Ac = this.k.C;
        this.Wq = this.$q = 0;
        this.AR = this.Yq = !1;
        this.Tq = null;
        this.Uq = -1;
        this.Sc ? (pe(this.Sc), pe(this.Rd), this.lf.clear()) : (this.Sc = [], this.Rd = [], this.lf = new Oa);
        var a = this;
        this.Wc || (this.ug = function(b) {
            a.vh(b)
        });
        this.c.uj(this.ug)
    };
    w.sR = function() {
        this.k.X();
        this.Vl();
        this.Tq = this.k.Sa;
        this.Uq = this.k.V
    };
    w.tf = function() {
        this.fm();
        pe(this.Rd);
        this.lf.clear();
        this.body && (this.he && (this.body.Lo(this.he), this.he = null), this.dd.tl(this.body), this.body = null);
        this.c.Vr(this.ug)
    };
    w.lb = function() {
        var a = {
            e: this.enabled,
            im: this.Cq,
            pr: this.Or,
            d: this.Cp,
            fr: this.dq,
            re: this.Zr,
            ld: this.hr,
            ad: this.hp,
            b: this.np,
            mcj: this.Rd
        };
        if (this.enabled) {
            var b = this.body.Qo();
            a.vx = b.Ja();
            a.vy = b.Ka();
            a.om = this.body.Po()
        }
        return a
    };
    w.yb = function(a) {
        this.fm();
        pe(this.Rd);
        this.lf.clear();
        this.body && (this.dd.tl(this.body), this.body = null);
        this.enabled = a.e;
        this.Cq = a.im;
        this.Or = a.pr;
        this.Cp = a.d;
        this.dq = a.fr;
        this.Zr = a.re;
        this.hr = a.ld;
        this.hp = a.ad;
        this.np = a.b;
        this.Rm = this.k.x;
        this.Sm = this.k.y;
        this.Ac = this.k.C;
        this.$q = this.k.width;
        this.Wq = this.k.height;
        this.enabled && (this.Vl(), this.body.qj(mh(a.vx, a.vy)), this.body.oj(a.om), 0 === a.vx && 0 === a.vy && 0 === a.om || this.body.pj(!0), this.Rd = a.mcj)
    };
    w.Gd = function() {
        this.enabled && this.Ur();
        this.behavior.Zq = this.c.Oe - 1
    };
    w.vh = function(a) {
        var b, e, g, l = a.uid;
        g = b = 0;
        for (e = this.Rd.length; b < e; b++) this.Rd[g] = this.Rd[b], g < this.Sc.length && (this.Sc[g] = this.Sc[b]), this.Rd[b].qb[1] == l ? b < this.Sc.length && this.dd.Mo(this.Sc[b]) : g++;
        this.Rd.length = g;
        g < this.Sc.length && (this.Sc.length = g);
        this.lf.remove(a)
    };
    w.fm = function() {
        var a, b;
        a = 0;
        for (b = this.Sc.length; a < b; a++) this.dd.Mo(this.Sc[a]);
        pe(this.Sc)
    };
    w.Ur = function() {
        var a, b, e;
        a = 0;
        for (b = this.Rd.length; a < b; a++) switch (e = this.Rd[a], e.type) {
            case 0:
                this.fX(e.qb[0], e.qb[1], e.qb[2], e.qb[3], e.qb[4]);
                break;
            case 1:
                this.iX(e.qb[0], e.qb[1]);
                break;
            case 2:
                this.gX(e.qb[0], e.qb[1], e.qb[2], e.qb[3])
        }
    };
    w.BP = function() {
        this.body && (this.fm(), this.he && (this.body.Lo(this.he), this.he = null), this.dd.tl(this.body), this.body = null, this.k.J.Hd = null)
    };
    var L = [];
    w.Vl = function() {
        if (this.enabled) {
            var a = this.k,
                e = !1,
                l = null,
                t = null,
                w, fa, ca, A, ya, Ba, F, P, ha, ea, pa, na, Pa;
            if (this.body) {
                e = !0;
                l = this.body.Qo();
                l = mh(l.Ja(), l.Ka());
                t = this.body.Po();
                P = this.lf.qe();
                w = 0;
                for (fa = P.length; w < fa; w++) ha = P[w].J.Hd.we, ha.fm();
                this.BP()
            }
            ha = new b;
            ha.QR(this.Cp);
            ha.SR(this.dq);
            ha.$R(this.Zr);
            w = new g;
            w.Xa(this.Cq ? 0 : 2);
            a.X();
            w.ZR(nh(.02 * a.Za.sg(), .02 * a.Za.tg()));
            w.NR(a.C);
            w.RR(this.Or);
            w.WR(this.hr);
            w.OR(this.hp);
            w.PR(this.np);
            P = this.k.wa && !this.k.wa.fh();
            this.body = this.dd.Rs(w);
            this.body.we = this;
            w = this.wP;
            P || this.k.Pe || 0 !== this.wP || (w = 1);
            fa = Math.max(Math.abs(a.width), 1);
            ca = Math.max(Math.abs(a.height), 1);
            ea = 0 > a.width;
            pa = 0 > a.height;
            if (0 === w)
                if (a.Pe)
                    for (na = a.Za.sg() - a.x, F = a.Za.tg() - a.y, a.z2(L), P = [], w = 0, fa = L.length; w < fa; ++w) {
                        ea = L[w];
                        pa = ea.q_;
                        if (ea.Ie) {
                            if (!ea.Ie.Tl) {
                                ya = ea.Ie.Ab;
                                A = ea.Ie.Bd;
                                for (ca = 0; ca < A; ++ca) P.push(ih.Yd(ya[2 * ca], ya[2 * ca + 1]));
                                ca = ea.id & 3758096384;
                                (-2147483648 === ca || 1073741824 === ca || 536870912 === ca || ca & -2147483648 && ca & 1073741824 && ca & 536870912) && P.reverse();
                                ea.Ie.Tl = ph(P, (pa.right - pa.left) * (pa.bottom - pa.top));
                                ca = 0;
                                for (A = P.length; ca < A; ++ca) ih.Pf(P[ca]);
                                pe(P)
                            }
                            ca = 0;
                            for (A = ea.Ie.Tl.length; ca < A; ++ca) {
                                Pa = ea.Ie.Tl[ca];
                                ya = 0;
                                for (Ba = Pa.length; ya < Ba; ++ya) P.push(ih.Yd(.02 * (pa.left + Pa[ya].Ja() - na), .02 * (pa.top + Pa[ya].Ka() - F)));
                                ha.Wi(jh(P));
                                this.he = this.body.Kh(ha);
                                ya = 0;
                                for (Ba = P.length; ya < Ba; ++ya) ih.Pf(P[ya]);
                                pe(P)
                            }
                        } else P.push(ih.Yd(.02 * (pa.left - na), .02 * (pa.top - F))), P.push(ih.Yd(.02 * (pa.right - na), .02 * (pa.top - F))), P.push(ih.Yd(.02 * (pa.right - na), .02 * (pa.bottom - F))), P.push(ih.Yd(.02 * (pa.left - na), .02 * (pa.bottom - F))), ha.Wi(jh(P)), this.he = this.body.Kh(ha);
                        ca = 0;
                        for (A = P.length; ca < A; ++ca) ih.Pf(P[ca]);
                        pe(P)
                    } else {
                        w = a.C;
                        a.C = 0;
                        a.H();
                        a.X();
                        na = a.Za.sg() - a.x;
                        F = a.Za.tg() - a.y;
                        a.C = w;
                        a.H();
                        a.wa.Lg(ea ? -fa : fa, pa ? -ca : ca, 0);
                        ya = a.wa.Ab;
                        A = a.wa.Bd;
                        P = [];
                        P.length = A;
                        for (w = 0; w < A; w++) P[w] = ih.Yd(ya[2 * w] - na, ya[2 * w + 1] - F);
                        ea !== pa && P.reverse();
                        na = ph(P, fa * ca);
                        for (w = 0; w < A; w++) ih.Pf(P[w]);
                        if (na.length)
                            for (w = 0, fa = na.length; w < fa; w++) {
                                P = na[w];
                                ca = 0;
                                for (A = P.length; ca < A; ca++) F = P[ca], F.Bh(.02 * F.Ja()), F.Ch(.02 * F.Ka());
                                ha.Wi(jh(P));
                                this.he = this.body.Kh(ha);
                                ca = 0;
                                for (A = P.length; ca < A; ca++) ih.Pf(P[ca])
                            } else w = new q, w.Vo(.01 * fa, .01 * ca), ha.Wi(w), this.he = this.body.Kh(ha)
                    } else 1 === w ? (w = new q, w.Vo(.01 * fa, .01 * ca)) : (w = new p, w.Me(.01 * Math.min(fa, ca))), ha.Wi(w), this.he = this.body.Kh(ha);
            a.J.Hd = this.body;
            this.$q = a.width;
            this.Wq = a.height;
            if (e)
                for (this.body.qj(l), this.body.oj(t), this.Ur(), P = this.lf.qe(), w = 0, fa = P.length; w < fa; w++) ha = P[w].J.Hd.we, ha.Ur();
            pe(L)
        }
    };
    w.Ta = function() {
        if (this.enabled) {
            var a = this.k,
                b;
            0 === this.behavior.U_ ? b = this.c.Qe / 60 : (b = this.c.gf(this.k), b > 1 / 30 && (b = 1 / 30));
            this.c.Oe > this.behavior.Zq && 0 < this.c.Qe && (0 !== b && this.dd.Kt(b, this.behavior.j0, this.behavior.i_), this.dd.Ps(), this.behavior.Zq = this.c.Oe);
            if (this.AR || a.width !== this.$q || a.height !== this.Wq || a.Sa !== this.Tq || a.V !== this.Uq || a.Pe && a.pR) this.Vl(), this.AR = !1, this.Tq = a.Sa, this.Uq = a.V, a.Pe && a.pR && (a.pR = !1);
            b = a.x !== this.Rm || a.y !== this.Sm;
            var e = a.C !== this.Ac;
            if (b) {
                a.X();
                var g = a.Za.sg(),
                    l = a.Za.tg(),
                    p = g - this.Rm,
                    q = l - this.Sm;
                e ? this.body.rj(mh(.02 * g, .02 * l), a.C) : this.body.rj(mh(.02 * g, .02 * l), this.body.Mh());
                this.body.qj(mh(p, q));
                this.Yq = !0;
                this.body.pj(!0)
            } else this.Yq && (this.Yq = !1, this.body.qj(mh(0, 0)), this.body.rj(mh(.02 * a.Za.sg(), .02 * a.Za.tg()), this.body.Mh()));
            !b && e && (this.body.rj(this.body.mj(), a.C), this.body.pj(!0));
            e = this.body.mj();
            b = e.Ja() / .02;
            e = e.Ka() / .02;
            g = this.body.Mh();
            if (b !== a.x || e !== a.y || g !== a.C)
                if (a.x = b, a.y = e, a.C = g, a.H(), a.X(), b = a.Za.sg() - a.x, e = a.Za.tg() - a.y, 0 !== b || 0 !== e) a.x -= b, a.y -= e, a.H();
            this.Rm = a.x;
            this.Sm = a.y;
            this.Ac = a.C
        }
    };
    w.mq = function(a) {
        return -1 !== a && this.k.Md ? 0 === a && this.body ? (this.body.mj().Ja() + this.body.Ro().Ja()) / .02 : this.k.Md(a, !0) : this.k.x
    };
    w.nq = function(a) {
        return -1 !== a && this.k.Md ? 0 === a && this.body ? (this.body.mj().Ka() + this.body.Ro().Ka()) / .02 : this.k.Md(a, !1) : this.k.y
    };
    a.u = new function() {};
    e.prototype.oj = function(a) {
        this.enabled && (this.body.oj(xe(a)), this.body.pj(!0))
    };
    w.fX = function(a, b, e, g, l) {
        if (this.enabled && (b = this.c.Be(b)) && b != this.k && b.J.Hd) {
            b.J.Hd.we.lf.add(this.k);
            var p = this.mq(a);
            a = this.nq(a);
            var q;
            b.Md ? (q = b.Md(e, !0), e = b.Md(e, !1)) : (q = b.x, e = b.y);
            var w = p - q,
                L = a - e,
                Ba = new t;
            Ba.hc(this.body, b.J.Hd, mh(.02 * p, .02 * a), nh(.02 * q, .02 * e));
            Ba.VR(.02 * Math.sqrt(w * w + L * L));
            Ba.zg(g);
            Ba.Ag(l);
            this.Sc.push(this.dd.sl(Ba))
        }
    };
    w.iX = function(a, b) {
        if (this.enabled) {
            var e = this.c.Be(b);
            if (e && e != this.k && e.J.Hd) {
                e.J.Hd.we.lf.add(this.k);
                var g = this.mq(a),
                    p = this.nq(a),
                    q = new l;
                q.hc(this.body, e.J.Hd, mh(.02 * g, .02 * p));
                this.Sc.push(this.dd.sl(q))
            }
        }
    };
    w.gX = function(a, b, e, g) {
        if (this.enabled && (b = this.c.Be(b)) && b != this.k && b.J.Hd) {
            b.J.Hd.we.lf.add(this.k);
            var p = this.mq(a);
            a = this.nq(a);
            var q = new l;
            q.hc(this.body, b.J.Hd, mh(.02 * p, .02 * a));
            q.Wn(!0);
            q.XR(xe(e));
            q.aS(xe(g));
            this.Sc.push(this.dd.sl(q))
        }
    };
    e.prototype.Ed = function(a) {
        this.enabled && 0 === a ? (this.BP(), this.enabled = !1) : this.enabled || 1 !== a || (this.enabled = !0, this.Vl())
    };
    a.I = new e;
    a.ka = new function() {}
})();

function sh(e) {
    this.c = e
}
(function() {
    function e() {}
    var g = sh.prototype;
    g.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    g.aa.prototype.P = function() {};
    g.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c
    };
    var b = g.Z.prototype;
    b.P = function() {
        this.Zb = null;
        this.zn = -1;
        this.mode = this.Ac = this.oo = this.Ei = this.vf = this.Fk = 0;
        var b = this;
        this.Wc || (this.ug = function(e) {
            b.vh(e)
        });
        this.c.uj(this.ug)
    };
    b.lb = function() {
        return {
            uid: this.Zb ? this.Zb.uid : -1,
            pa: this.Fk,
            pd: this.vf,
            msa: this.Ei,
            tsa: this.oo,
            lka: this.Ac,
            m: this.mode
        }
    };
    b.yb = function(b) {
        this.zn = b.uid;
        this.Fk = b.pa;
        this.vf = b.pd;
        this.Ei = b.msa;
        this.oo = b.tsa;
        this.Ac = b.lka;
        this.mode = b.m
    };
    b.Gd = function() {
        -1 === this.zn ? this.Zb = null : this.Zb = this.c.Be(this.zn);
        this.zn = -1
    };
    b.vh = function(b) {
        this.Zb == b && (this.Zb = null)
    };
    b.tf = function() {
        this.Zb = null;
        this.c.Vr(this.ug)
    };
    b.Ta = function() {};
    b.gl = function() {
        if (this.Zb) {
            this.Ac !== this.k.C && (this.Ei = Ee(this.Ei + (this.k.C - this.Ac)));
            var b = this.k.x,
                e = this.k.y;
            if (3 === this.mode || 4 === this.mode) {
                var g = Qe(this.k.x, this.k.y, this.Zb.x, this.Zb.y);
                if (g > this.vf || 4 === this.mode && g < this.vf) e = Ie(this.Zb.x, this.Zb.y, this.k.x, this.k.y), b = this.Zb.x + Math.cos(e) * this.vf, e = this.Zb.y + Math.sin(e) * this.vf
            } else b = this.Zb.x + Math.cos(this.Zb.C + this.Fk) * this.vf, e = this.Zb.y + Math.sin(this.Zb.C + this.Fk) * this.vf;
            this.Ac = g = Ee(this.Ei + (this.Zb.C - this.oo));
            0 !== this.mode && 1 !== this.mode && 3 !== this.mode && 4 !== this.mode || this.k.x === b && this.k.y === e || (this.k.x = b, this.k.y = e, this.k.H());
            0 !== this.mode && 2 !== this.mode || this.k.C === g || (this.k.C = g, this.k.H())
        }
    };
    g.u = new function() {};
    e.prototype.oU = function(b, e) {
        if (b) {
            var g = b.TP(this.k);
            g && (this.Zb = g, this.Fk = Ie(g.x, g.y, this.k.x, this.k.y) - g.C, this.vf = Qe(g.x, g.y, this.k.x, this.k.y), this.Ac = this.Ei = this.k.C, this.oo = g.C, this.mode = e)
        }
    };
    g.I = new e;
    g.ka = new function() {}
})();

function th(e) {
    this.c = e
}
(function() {
    function e() {}

    function g() {}
    var b = th.prototype;
    b.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    b.aa.prototype.P = function() {};
    b.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c;
        this.Yk = this.Zn = this.Yn = this.Aq = this.Cj = this.Hj = this.oi = this.pi = this.Pk = this.hk = !1;
        this.zc = null;
        this.ir = -1;
        this.hh = this.gh = 0;
        this.tm = !1;
        this.Wg = this.$d = 0;
        this.qm = !0;
        this.U = this.O = 0
    };
    var q = b.Z.prototype;
    q.zS = function() {
        this.Db = Math.cos(this.fg);
        this.Eb = Math.sin(this.fg);
        this.yf = Math.cos(this.fg -
            Math.PI / 2);
        this.zf = Math.sin(this.fg - Math.PI / 2);
        this.Db = uf(this.Db);
        this.Eb = uf(this.Eb);
        this.yf = uf(this.yf);
        this.zf = uf(this.zf);
        this.gq = this.q;
        0 > this.q && (this.Db *= -1, this.Eb *= -1, this.q = Math.abs(this.q))
    };
    q.P = function() {
        this.yi = this.D[0];
        this.Mb = this.D[1];
        this.Wh = this.D[2];
        this.fk = this.D[3];
        this.gq = this.q = this.D[4];
        this.dn = this.D[5];
        this.Vp = 0 !== this.D[6];
        this.Sq = this.D[7] / 1E3;
        this.aX = 1 === this.D[8];
        this.enabled = 0 !== this.D[9];
        this.jj = !1;
        this.kj = this.c.Ef(this.k);
        this.jr = -1;
        this.Eh = 0;
        this.fg = xe(90);
        this.zS();
        var b = this;
        this.aX && !this.c.cb && (jQuery(document).keydown(function(e) {
            b.Dr(e)
        }), jQuery(document).keyup(function(e) {
            b.Er(e)
        }));
        this.Wc || (this.ug = function(e) {
            b.vh(e)
        });
        this.c.uj(this.ug);
        this.k.J.isPlatformBehavior = !0
    };
    q.lb = function() {
        return {
            ii: this.Aq,
            lfx: this.gh,
            lfy: this.hh,
            lfo: this.zc ? this.zc.uid : -1,
            am: this.$d,
            en: this.enabled,
            fall: this.Wg,
            ft: this.qm,
            dx: this.O,
            dy: this.U,
            ms: this.yi,
            acc: this.Mb,
            dec: this.Wh,
            js: this.fk,
            g: this.q,
            g1: this.gq,
            mf: this.dn,
            wof: this.jj,
            woj: this.kj ? this.kj.uid : -1,
            ga: this.fg,
            edj: this.Vp,
            cdj: this.Cj,
            dj: this.Hj,
            sus: this.Sq
        }
    };
    q.yb = function(b) {
        this.Aq = b.ii;
        this.gh = b.lfx;
        this.hh = b.lfy;
        this.ir = b.lfo;
        this.$d = b.am;
        this.enabled = b.en;
        this.Wg = b.fall;
        this.qm = b.ft;
        this.O = b.dx;
        this.U = b.dy;
        this.yi = b.ms;
        this.Mb = b.acc;
        this.Wh = b.dec;
        this.fk = b.js;
        this.q = b.g;
        this.gq = b.g1;
        this.dn = b.mf;
        this.jj = b.wof;
        this.jr = b.woj;
        this.fg = b.ga;
        this.Vp = b.edj;
        this.Cj = b.cdj;
        this.Hj = b.dj;
        this.Sq = b.sus;
        this.Yk = this.Zn = this.Yn = this.oi = this.pi = this.Pk = this.hk = !1;
        this.Eh = 0;
        this.zS()
    };
    q.Gd = function() {
        -1 === this.ir ? this.zc = null : this.zc = this.c.Be(this.ir); - 1 === this.jr ? this.kj = null : this.kj = this.c.Be(this.jr)
    };
    q.vh = function(b) {
        this.zc == b && (this.zc = null)
    };
    q.tf = function() {
        this.zc = null;
        this.c.Vr(this.ug)
    };
    q.Dr = function(b) {
        switch (b.which) {
            case 38:
                b.preventDefault();
                this.pi = !0;
                break;
            case 37:
                b.preventDefault();
                this.hk = !0;
                break;
            case 39:
                b.preventDefault(), this.Pk = !0
        }
    };
    q.Er = function(b) {
        switch (b.which) {
            case 38:
                b.preventDefault();
                this.oi = this.pi = !1;
                break;
            case 37:
                b.preventDefault();
                this.hk = !1;
                break;
            case 39:
                b.preventDefault(), this.Pk = !1
        }
    };
    q.vg = function() {
        this.pi = this.Pk = this.hk = !1
    };
    q.gb = function() {
        return 0 > this.q ? -1 : 1
    };
    q.iQ = function() {
        var b = null,
            e = null,
            g, a;
        g = this.k.x;
        a = this.k.y;
        this.k.x += this.Db;
        this.k.y += this.Eb;
        this.k.H();
        if (this.zc && this.c.Dc(this.k, this.zc) && (!this.c.zs(this.zc.type, Ug) || this.zc.J.solidEnabled)) return this.k.x = g, this.k.y = a, this.k.H(), this.zc;
        (b = this.c.Lb(this.k)) || 0 !== this.Wg || (e = this.c.Ef(this.k, !0));
        this.k.x = g;
        this.k.y = a;
        this.k.H();
        if (b) {
            if (this.c.Dc(this.k, b)) return null;
            this.tm = !1;
            return b
        }
        if (e && e.length) {
            a = b = 0;
            for (g = e.length; b < g; b++) e[a] = e[b], this.c.Dc(this.k, e[b]) || a++;
            if (1 <= a) return this.tm = !0, e[0]
        }
        return null
    };
    q.Ta = function() {};
    q.tR = function() {
        var b = this.c.gf(this.k),
            e, g, a, q, L, f, n, z, u;
        this.pi || this.Yk || (this.oi = !1);
        var J = this.hk || this.Yn;
        a = this.Pk || this.Zn;
        var fa = (q = this.pi || this.Yk) && !this.oi;
        this.Yk = this.Zn = this.Yn = !1;
        if (this.enabled) {
            this.Aq && (fa = q = a = J = !1);
            q || (this.Eh = 0);
            z = this.zc;
            u = !1;
            this.qm && ((this.c.Lb(this.k) || this.c.Ef(this.k)) && this.c.Sd(this.k, -this.Db, -this.Eb, 4, !0), this.qm = !1);
            !z || 0 !== this.U || z.y === this.hh && z.x === this.gh || (e = z.x - this.gh, g = z.y - this.hh, this.k.x += e, this.k.y += g, this.k.H(), this.gh = z.x, this.hh = z.y, u = !0, this.c.Lb(this.k) && this.c.Sd(this.k, -e, -g, 2.5 * Math.sqrt(e * e + g * g)));
            var ca = this.iQ();
            if (g = this.c.Lb(this.k))
                if (this.k.J.inputPredicted) this.c.Sd(this.k, -this.Db, -this.Eb, 10, !1);
                else if (this.c.xR(this.k, Math.max(this.k.width, this.k.height) / 2)) this.c.zh(this.k, g);
            else return;
            ca ? (this.Cj = this.Hj = !1, 0 < this.U && (this.jj || (this.c.Rr(this.k, -this.Db, -this.Eb, ca), this.jj = !0), this.U = 0), z != ca) ? (this.zc = ca, this.gh = ca.x, this.hh = ca.y, this.c.zh(this.k, ca)) : u && (g = this.c.Lb(this.k)) && (this.c.zh(this.k, g), 0 !== e && (0 < e ? this.c.Sd(this.k, -this.yf, -this.zf) : this.c.Sd(this.k, this.yf, this.zf)), this.c.Sd(this.k, -this.Db, -this.Eb)) : q || (this.Cj = !0);
            if (ca && fa || !ca && this.Vp && q && this.Cj && !this.Hj) z = this.k.x, u = this.k.y, this.k.x -= this.Db, this.k.y -= this.Eb, this.k.H(), this.c.Lb(this.k) ? fa = !1 : (this.Eh = this.Sq, this.c.trigger(th.prototype.u.UT, this.k), this.$d = 2, this.U = -this.fk, fa = !0, ca ? this.oi = !0 : this.Hj = !0), this.k.x = z, this.k.y = u, this.k.H();
            ca || (q && 0 < this.Eh ? (this.U = -this.fk, this.Eh -= b) : (this.zc = null, this.U += this.q * b, this.U > this.dn && (this.U = this.dn)), fa && (this.oi = !0));
            this.jj = !!ca;
            J == a && (0 > this.O ? (this.O += this.Wh * b, 0 < this.O && (this.O = 0)) : 0 < this.O && (this.O -= this.Wh * b, 0 > this.O && (this.O = 0)));
            J && !a && (this.O = 0 < this.O ? this.O - (this.Mb + this.Wh) * b : this.O - this.Mb * b);
            a && !J && (this.O = 0 > this.O ? this.O + (this.Mb + this.Wh) * b : this.O + this.Mb * b);
            this.O > this.yi ? this.O = this.yi : this.O < -this.yi && (this.O = -this.yi);
            J = !1;
            0 !== this.O && (z = this.k.x, u = this.k.y, e = this.O * b * this.yf, g = this.O * b * this.zf, this.k.x += this.yf * (1 < this.O ? 1 : -1) - this.Db, this.k.y += this.zf * (1 < this.O ? 1 : -1) - this.Eb, this.k.H(), q = !1, L = this.c.Lb(this.k), this.k.x = z + e, this.k.y = u + g, this.k.H(), a = this.c.Lb(this.k), !a && ca && (a = this.c.Ef(this.k)) && (this.k.x = z, this.k.y = u, this.k.H(), this.c.Dc(this.k, a) ? (a = null, q = !1) : q = !0, this.k.x = z + e, this.k.y = u + g, this.k.H()), a ? (e = Math.abs(this.O * b) + 2, L || !this.c.Sd(this.k, -this.Db, -this.Eb, e, q, a)) ? (this.c.zh(this.k, a), e = Math.max(Math.abs(this.O * b * 2.5), 30), this.c.Sd(this.k, this.yf * (0 > this.O ? 1 : -1), this.zf * (0 > this.O ? 1 : -1), e, !1) ? !ca || q || this.tm || (z = this.k.x, u = this.k.y, this.k.x += this.Db, this.k.y += this.Eb, this.c.Lb(this.k) ? this.c.Sd(this.k, -this.Db, -this.Eb, 3, !1) || (this.k.x = z, this.k.y = u, this.k.H()) : (this.k.x = z, this.k.y = u, this.k.H())) : (this.k.x = z, this.k.y = u, this.k.H()), q || (this.O = 0)) : !L && !fa && Math.abs(this.U) < Math.abs(this.fk / 4) && (this.U = 0, ca || (J = !0)) : (z = this.iQ(), ca && !z ? (g = Math.ceil(Math.abs(this.O * b)) + 2, z = this.k.x, u = this.k.y, this.k.x += this.Db * g, this.k.y += this.Eb * g, this.k.H(), this.c.Lb(this.k) || this.c.Ef(this.k) ? this.c.Sd(this.k, -this.Db, -this.Eb, g + 2, !0) : (this.k.x = z, this.k.y = u, this.k.H())) : z && 0 === this.U && this.c.Rr(this.k, -this.Db, -this.Eb, z)));
            if (0 !== this.U) {
                z = this.k.x;
                u = this.k.y;
                this.k.x += this.U * b * this.Db;
                this.k.y += this.U * b * this.Eb;
                e = this.k.x;
                a = this.k.y;
                this.k.H();
                g = this.c.Lb(this.k);
                q = !1;
                if (!g && 0 < this.U && !ca) {
                    if ((q = 0 < this.Wg ? null : this.c.Ef(this.k, !0)) && q.length) {
                        if (this.kj) {
                            this.k.x = z;
                            this.k.y = u;
                            this.k.H();
                            n = L = 0;
                            for (f = q.length; L < f; L++) q[n] = q[L], this.c.Dc(this.k, q[L]) || n++;
                            q.length = n;
                            this.k.x = e;
                            this.k.y = a;
                            this.k.H()
                        }
                        1 <= q.length && (g = q[0])
                    }
                    q = !!g
                }
                g && (this.c.zh(this.k, g), this.Eh = 0, e = q ? Math.abs(this.U * b * 2.5 + 10) : Math.max(Math.abs(this.U * b * 2.5 + 10), 30), this.c.Sd(this.k, this.Db * (0 > this.U ? 1 : -1), this.Eb * (0 > this.U ? 1 : -1), e, q, g) ? (this.zc = g, this.gh = g.x, this.hh = g.y, (this.tm = q) && (J = !0), this.U = 0) : (this.k.x = z, this.k.y = u, this.k.H(), this.jj = !0, q || (this.U = 0)))
            }
            3 !== this.$d && 0 < this.U && !ca && (this.c.trigger(th.prototype.u.RT, this.k), this.$d = 3);
            if (ca || J) 3 === this.$d || J || fa && 0 === this.U ? (this.c.trigger(th.prototype.u.XT, this.k), this.$d = 0 === this.O && 0 === this.U ? 0 : 1) : (0 !== this.$d && 0 === this.O && 0 === this.U && (this.c.trigger(th.prototype.u.lU, this.k), this.$d = 0), 1 === this.$d || 0 === this.O && 0 === this.U || fa || (this.c.trigger(th.prototype.u.$T, this.k), this.$d = 1));
            0 < this.Wg && this.Wg--;
            this.kj = this.c.Ef(this.k)
        }
    };
    e.prototype.pT = function() {
        if (0 !== this.U) return !1;
        var b = null,
            e = null,
            g, a;
        g = this.k.x;
        a = this.k.y;
        this.k.x += this.Db;
        this.k.y += this.Eb;
        this.k.H();
        (b = this.c.Lb(this.k)) || 0 !== this.Wg || (e = this.c.Ef(this.k, !0));
        this.k.x = g;
        this.k.y = a;
        this.k.H();
        if (b) return !this.c.Dc(this.k, b);
        if (e && e.length) {
            a = b = 0;
            for (g = e.length; b < g; b++) e[a] = e[b], this.c.Dc(this.k, e[b]) || a++;
            if (1 <= a) return !0
        }
        return !1
    };
    e.prototype.kT = function(b) {
        var e = !1,
            g = this.k.x,
            a = this.k.y;
        0 === b ? (this.k.x -= 2 * this.yf, this.k.y -= 2 * this.zf) : (this.k.x += 2 * this.yf, this.k.y += 2 * this.zf);
        this.k.H();
        if (!this.c.Lb(this.k)) return this.k.x = g, this.k.y = a, this.k.H(), !1;
        this.k.x -= 3 * this.Db;
        this.k.y -= 3 * this.Eb;
        this.k.H();
        e = this.c.Lb(this.k);
        this.k.x = g;
        this.k.y = a;
        this.k.H();
        return e
    };
    e.prototype.UT = function() {
        return !0
    };
    e.prototype.RT = function() {
        return !0
    };
    e.prototype.lU = function() {
        return !0
    };
    e.prototype.$T = function() {
        return !0
    };
    e.prototype.XT = function() {
        return !0
    };
    b.u = new e;
    g.prototype.IU = function(b) {
        switch (b) {
            case 0:
                this.Yn = !0;
                break;
            case 1:
                this.Zn = !0;
                break;
            case 2:
                this.Yk = !0
        }
    };
    g.prototype.Ed = function(b) {
        this.enabled !== (1 === b) && (this.enabled = 1 === b, this.enabled || (this.zc = null))
    };
    b.I = new g;
    b.ka = new function() {}
})();

function uh(e) {
    this.c = e
}
(function() {
    function e() {}
    var g = uh.prototype;
    g.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    g.aa.prototype.P = function() {};
    g.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c
    };
    var b = g.Z.prototype;
    b.P = function() {
        this.speed = xe(this.D[0]);
        this.Mb = xe(this.D[1])
    };
    b.lb = function() {
        return {
            speed: this.speed,
            acc: this.Mb
        }
    };
    b.yb = function(b) {
        this.speed = b.speed;
        this.Mb = b.acc
    };
    b.Ta = function() {
        var b = this.c.gf(this.k);
        0 !== b && (0 !== this.Mb && (this.speed += this.Mb * b), 0 !== this.speed && (this.k.C = Ee(this.k.C +
            this.speed * b), this.k.H()))
    };
    g.u = new function() {};
    e.prototype.Ft = function(b) {
        this.speed = xe(b)
    };
    g.I = new e;
    g.ka = new function() {}
})();

function vh(e) {
    this.c = e
}
(function() {
    function e() {}

    function g() {}
    var b = vh.prototype;
    b.aa = function(a) {
        this.behavior = a;
        this.c = a.c
    };
    b.aa.prototype.P = function() {};
    b.Z = function(a, b) {
        this.type = a;
        this.behavior = a.behavior;
        this.k = b;
        this.c = a.c;
        this.pb = 0
    };
    var q = b.Z.prototype,
        p = 2 * Math.PI,
        t = Math.PI / 2,
        l = 3 * Math.PI / 2;
    q.P = function() {
        this.Ua = 1 === this.D[0];
        this.Ci = this.D[1];
        this.Ms = this.D[2];
        this.uf = this.D[3];
        this.uf += Math.random() * this.D[4];
        0 === this.uf ? this.pb = 0 : (this.pb = this.D[5] / this.uf * p, this.pb += Math.random() * this.D[6] / this.uf * p);
        this.Kc = this.D[7];
        this.Kc += Math.random() * this.D[8];
        this.Lk = this.ah = this.Fa = 0;
        this.init()
    };
    q.lb = function() {
        return {
            i: this.pb,
            a: this.Ua,
            mv: this.Ci,
            w: this.Ms,
            p: this.uf,
            mag: this.Kc,
            iv: this.Fa,
            iv2: this.ah,
            r: this.Lk,
            lkv: this.la,
            lkv2: this.kb
        }
    };
    q.yb = function(a) {
        this.pb = a.i;
        this.Ua = a.a;
        this.Ci = a.mv;
        this.Ms = a.w;
        this.uf = a.p;
        this.Kc = a.mag;
        this.Fa = a.iv;
        this.ah = a.iv2 || 0;
        this.Lk = a.r;
        this.la = a.lkv;
        this.kb = a.lkv2 || 0
    };
    q.init = function() {
        switch (this.Ci) {
            case 0:
                this.Fa = this.k.x;
                break;
            case 1:
                this.Fa = this.k.y;
                break;
            case 2:
                this.Fa = this.k.width;
                this.Lk = this.k.height / this.k.width;
                break;
            case 3:
                this.Fa = this.k.width;
                break;
            case 4:
                this.Fa = this.k.height;
                break;
            case 5:
                this.Fa = this.k.C;
                this.Kc = xe(this.Kc);
                break;
            case 6:
                this.Fa = this.k.opacity;
                break;
            case 7:
                this.Fa = 0;
                break;
            case 8:
                this.Fa = this.k.x, this.ah = this.k.y
        }
        this.la = this.Fa;
        this.kb = this.ah
    };
    q.Se = function(a) {
        a = a % p;
        switch (this.Ms) {
            case 0:
                return Math.sin(a);
            case 1:
                return a <= t ? a / t : a <= l ? 1 - 2 * (a - t) / Math.PI : (a - l) / t - 1;
            case 2:
                return 2 * a / p - 1;
            case 3:
                return -2 * a / p + 1;
            case 4:
                return a < Math.PI ? -1 : 1
        }
        return 0
    };
    q.Ta = function() {
        var a = this.c.gf(this.k);
        this.Ua && 0 !== a && (0 === this.uf ? this.pb = 0 : (this.pb += a / this.uf * p, this.pb = this.pb % p), this.d0())
    };
    q.d0 = function() {
        switch (this.Ci) {
            case 0:
                this.k.x !== this.la && (this.Fa += this.k.x - this.la);
                this.k.x = this.Fa + this.Se(this.pb) * this.Kc;
                this.la = this.k.x;
                break;
            case 1:
                this.k.y !== this.la && (this.Fa += this.k.y - this.la);
                this.k.y = this.Fa + this.Se(this.pb) * this.Kc;
                this.la = this.k.y;
                break;
            case 2:
                this.k.width = this.Fa + this.Se(this.pb) * this.Kc;
                this.k.height = this.k.width * this.Lk;
                break;
            case 3:
                this.k.width = this.Fa + this.Se(this.pb) * this.Kc;
                break;
            case 4:
                this.k.height = this.Fa + this.Se(this.pb) * this.Kc;
                break;
            case 5:
                this.k.C !== this.la && (this.Fa = Ee(this.Fa + (this.k.C - this.la)));
                this.k.C = Ee(this.Fa + this.Se(this.pb) * this.Kc);
                this.la = this.k.C;
                break;
            case 6:
                this.k.opacity = this.Fa + this.Se(this.pb) * this.Kc / 100;
                0 > this.k.opacity ? this.k.opacity = 0 : 1 < this.k.opacity && (this.k.opacity = 1);
                break;
            case 8:
                this.k.x !== this.la && (this.Fa += this.k.x - this.la), this.k.y !== this.kb && (this.ah += this.k.y - this.kb), this.k.x = this.Fa + Math.cos(this.k.C) * this.Se(this.pb) * this.Kc, this.k.y = this.ah + Math.sin(this.k.C) * this.Se(this.pb) * this.Kc, this.la = this.k.x, this.kb = this.k.y
        }
        this.k.H()
    };
    q.cR = function(a, b) {
        switch (this.Ci) {
            case 2:
                this.Fa *= b.width / a.width;
                this.Lk = b.height / b.width;
                break;
            case 3:
                this.Fa *= b.width / a.width;
                break;
            case 4:
                this.Fa *= b.height / a.height
        }
    };
    e.prototype.Ya = function() {
        return this.Ua
    };
    b.u = new e;
    b.I = new function() {};
    g.prototype.UU = function(a) {
        a.M(this.Se(this.pb) * this.Kc)
    };
    b.ka = new g
})();
var wh = [],
    xh = [],
    yh = [],
    zh = [],
    Ah = [],
    Bh = [],
    Ch = [],
    Dh = [],
    Eh = [],
    Fh = [];

function Sm(e) {
    return result = (e /= 1) < 1 / 2.75 ? 7.5625 * e * e + 0 : e < 2 / 2.75 ? 1 * (7.5625 * (e -= 1.5 / 2.75) * e + .75) + 0 : e < 2.5 / 2.75 ? 1 * (7.5625 * (e -= 2.25 / 2.75) * e + .9375) + 0 : 1 * (7.5625 * (e -= 2.625 / 2.75) * e + .984375) + 0
}

function Tm(e, g) {
    return Math.round(e / g * 1E4)
}

function Um(e, g, b, q, p) {
    var t = 0;
    switch (e) {
        case 0:
            t = 1 * g / b + 0;
            break;
        case 1:
            t = 1 * (g /= b) * g + 0;
            break;
        case 2:
            t = -1 * (g /= b) * (g - 2) + 0;
            break;
        case 3:
            t = 1 > (g /= b / 2) ? .5 * g * g + 0 : -.5 * (--g * (g - 2) - 1) + 0;
            break;
        case 4:
            t = 1 * (g /= b) * g * g + 0;
            break;
        case 5:
            t = 1 * ((g = g / b - 1) * g * g + 1) + 0;
            break;
        case 6:
            t = 1 > (g /= b / 2) ? .5 * g * g * g + 0 : .5 * ((g -= 2) * g * g + 2) + 0;
            break;
        case 7:
            t = 1 * (g /= b) * g * g * g + 0;
            break;
        case 8:
            t = -1 * ((g = g / b - 1) * g * g * g - 1) + 0;
            break;
        case 9:
            t = 1 > (g /= b / 2) ? .5 * g * g * g * g + 0 : -.5 * ((g -= 2) * g * g * g - 2) + 0;
            break;
        case 10:
            t = 1 * (g /= b) * g * g * g * g + 0;
            break;
        case 11:
            t = 1 * ((g = g / b - 1) * g * g * g * g + 1) + 0;
            break;
        case 12:
            t = 1 > (g /= b / 2) ? .5 * g * g * g * g * g + 0 : .5 * ((g -= 2) * g * g * g * g + 2) + 0;
            break;
        case 13:
            p.kd ? t = Ah[Tm(g, b)] : t = -(Math.sqrt(1 - g * g) - 1);
            break;
        case 14:
            p.kd ? t = Bh[Tm(g, b)] : t = Math.sqrt(1 - (g - 1) * (g - 1));
            break;
        case 15:
            t = p.kd ? Ch[Tm(g, b)] : 1 > (g /= b / 2) ? -.5 * (Math.sqrt(1 - g * g) - 1) + 0 : .5 * (Math.sqrt(1 - (g -= 2) * g) + 1) + 0;
            break;
        case 16:
            p.kd ? t = Dh[Tm(g, b)] : (p = p.Mc, t = 1 * (g /= b) * g * ((p + 1) * g - p) + 0);
            break;
        case 17:
            p.kd ? t = Eh[Tm(g, b)] : (p = p.Mc, t = 1 * ((g = g / b - 1) * g * ((p + 1) * g + p) + 1) + 0);
            break;
        case 18:
            p.kd ? t = Fh[Tm(g, b)] : (p = p.Mc, t = 1 > (g /= b / 2) ? .5 * g * g * (((p *= 1.525) + 1) * g - p) + 0 : .5 * ((g -= 2) * g * (((p *= 1.525) + 1) * g + p) + 2) + 0);
            break;
        case 19:
            p.kd ? t = xh[Tm(g, b)] : (t = p.Eg, e = p.Ee, g /= b, 0 == e && (e = .3 * b), 0 == t || t < Math.abs(1) ? (t = 1, p = e / 4) : p = e / (2 * Math.PI) * Math.asin(1 / t), t = -(t * Math.pow(2, 10 * --g) * Math.sin(2 * (g * b - p) * Math.PI / e)) + 0);
            break;
        case 20:
            p.kd ? t = yh[Tm(g, b)] : (t = p.Eg, e = p.Ee, g /= b, 0 == e && (e = .3 * b), 0 == t || t < Math.abs(1) ? (t = 1, p = e / 4) : p = e / (2 * Math.PI) * Math.asin(1 / t), t = t * Math.pow(2, -10 * g) * Math.sin(2 * (g * b - p) * Math.PI / e) + 1);
            break;
        case 21:
            p.kd ? t = zh[Tm(g, b)] : (t = p.Eg, e = p.Ee, g /= b / 2, 0 == e && (e = .3 * b * 1.5), 0 == t || t < Math.abs(1) ? (t = 1, p = e / 4) : p = e / (2 * Math.PI) * Math.asin(1 / t), t = 1 > g ? -.5 * t * Math.pow(2, 10 * --g) * Math.sin(2 * (g * b - p) * Math.PI / e) + 0 : t * Math.pow(2, -10 * --g) * Math.sin(2 * (g * b - p) * Math.PI / e) * .5 + 1);
            break;
        case 22:
            t = p.kd ? 1 - wh[Tm(b - g, b)] + 0 : 1 - Sm(b - g / b) + 0;
            break;
        case 23:
            t = p.kd ? wh[Tm(g, b)] : Sm(g / b);
            break;
        case 24:
            t = p.kd ? g < b / 2 ? .5 * (1 - wh[Tm(b - 2 * g, b)] + 0) + 0 : .5 * wh[Tm(2 * g - b, b)] + .5 : g < b / 2 ? .5 * (1 - Sm(b - 2 * g) + 0) + 0 : .5 * Sm((2 * g - b) / b) + .5;
            break;
        case 25:
            g = g / b / 2;
            t = 2 * g * g * (3 - 2 * g);
            break;
        case 26:
            g = (g / b + 1) / 2;
            t = 2 * g * g * (3 - 2 * g) - 1;
            break;
        case 27:
            g = g / b, t = g * g * (3 - 2 * g)
    }
    return q ? 1 - t : t
}
for (var Vm = 0, Wm = 0, Xm = 0, Ym = 0, Zm = 0, $m = 0; 1E4 >= $m; $m++) Ym = $m / 1E4, Vm = (Ym /= 1) < 1 / 2.75 ? 7.5625 * Ym * Ym + 0 : Ym < 2 / 2.75 ? 1 * (7.5625 * (Ym -= 1.5 / 2.75) * Ym + .75) + 0 : Ym < 2.5 / 2.75 ? 1 * (7.5625 * (Ym -= 2.25 / 2.75) * Ym + .9375) + 0 : 1 * (7.5625 * (Ym -= 2.625 / 2.75) * Ym + .984375) + 0, wh[$m] = Vm, Ym = $m / 1E4, Xm = Wm = 0, Ym /= 1, 0 == Xm && (Xm = .3), 0 == Wm || Wm < Math.abs(1) ? (Wm = 1, Zm = Xm / 4) : Zm = Xm / (2 * Math.PI) * Math.asin(1 / Wm), Vm = -(Wm * Math.pow(2, 10 * --Ym) * Math.sin(2 * (1 * Ym - Zm) * Math.PI / Xm)) + 0, xh[$m] = Vm, Ym = $m / 1E4, Xm = Wm = 0, Ym /= 1, 0 == Xm && (Xm = .3), 0 == Wm || Wm < Math.abs(1) ? (Wm = 1, Zm = Xm / 4) : Zm = Xm / (2 * Math.PI) * Math.asin(1 / Wm), Vm = Wm * Math.pow(2, -10 * Ym) * Math.sin(2 * (1 * Ym - Zm) * Math.PI / Xm) + 1, yh[$m] = Vm, Ym = $m / 1E4, Xm = Wm = 0, Ym /= .5, 0 == Xm && (Xm = .3 * 1.5), 0 == Wm || Wm < Math.abs(1) ? (Wm = 1, Zm = Xm / 4) : Zm = Xm / (2 * Math.PI) * Math.asin(1 / Wm), Vm = 1 > Ym ? -.5 * Wm * Math.pow(2, 10 * --Ym) * Math.sin(2 * (1 * Ym - Zm) * Math.PI / Xm) + 0 : Wm * Math.pow(2, -10 * --Ym) * Math.sin(2 * (1 * Ym - Zm) * Math.PI / Xm) * .5 + 1, zh[$m] = Vm, Ym = $m / 1E4, Ah[$m] = -(Math.sqrt(1 - Ym * Ym) - 1), Ym = $m / 1E4, Bh[$m] = Math.sqrt(1 - (Ym - 1) * (Ym - 1)), Ym = $m / 1E4, Vm = 1 > (Ym /= .5) ? -.5 * (Math.sqrt(1 - Ym * Ym) - 1) + 0 : .5 * (Math.sqrt(1 -
    (Ym -= 2) * Ym) + 1) + 0, Ch[$m] = Vm, Ym = $m / 1E4, Zm = 0, 0 == Zm && (Zm = 1.70158), Vm = 1 * (Ym /= 1) * Ym * ((Zm + 1) * Ym - Zm) + 0, Dh[$m] = Vm, Ym = $m / 1E4, Zm = 0, 0 == Zm && (Zm = 1.70158), Vm = 1 * ((Ym = Ym / 1 - 1) * Ym * ((Zm + 1) * Ym + Zm) + 1) + 0, Eh[$m] = Vm, Ym = $m / 1E4, Zm = 0, 0 == Zm && (Zm = 1.70158), Vm = 1 > (Ym /= .5) ? .5 * Ym * Ym * (((Zm *= 1.525) + 1) * Ym - Zm) + 0 : .5 * ((Ym -= 2) * Ym * (((Zm *= 1.525) + 1) * Ym + Zm) + 2) + 0, Fh[$m] = Vm;

function an(e, g, b, q, p, t, l) {
    this.name = e;
    this.value = 0;
    this.Si(q);
    this.Vn(p);
    this.Sg = b;
    this.mb = g;
    this.duration = t;
    this.state = this.ua = 0;
    this.pn = this.qn = this.mn = this.Ii = !1;
    this.kb = this.la = 0;
    this.vc = l;
    this.wf = 1;
    this.Mj = !1;
    this.qd = [];
    this.rQ = 1;
    for (e = 0; 28 > e; e++) this.qd[e] = {}, this.qd[e].Eg = 0, this.qd[e].Ee = 0, this.qd[e].Fh = 0, this.qd[e].Mc = 0, this.qd[e].kd = !0
}
an.prototype = {};
an.prototype.Si = function(e) {
    this.La = parseFloat(e.split(",")[0]);
    this.Hb = parseFloat(e.split(",")[1]);
    this.kb = this.la = 0
};
an.prototype.Vn = function(e) {
    this.Ha = parseFloat(e.split(",")[0]);
    this.tb = parseFloat(e.split(",")[1]);
    isNaN(this.tb) && (this.tb = this.Ha)
};
an.prototype.Uo = function(e) {
    if (0 === this.state) return -1;
    1 === this.state && (this.ua += e);
    2 === this.state && (this.ua -= e);
    3 === this.state && (this.state = 0);
    if (4 === this.state || 6 === this.state) this.ua += e * this.wf;
    5 === this.state && (this.ua += e * this.wf);
    return 0 > this.ua ? (this.ua = 0, 4 === this.state ? this.wf = 1 : 6 === this.state ? (this.wf = 1, this.Mj = !1) : this.state = 0, this.pn = !0, 0) : this.ua > this.duration ? (this.ua = this.duration, 4 === this.state ? this.wf = -1 : 6 === this.state ? (this.wf = -1, this.Mj = !0) : 5 === this.state ? this.ua = 0 : this.state = 0, this.mn = !0, 1) : this.Mj ? Um(this.Sg, this.duration - this.ua, this.duration, this.Mj, this.qd[this.Sg]) : Um(this.Sg, this.ua, this.duration, this.Mj, this.qd[this.Sg])
};

function bn(e) {
    this.c = e
}
(function() {
    var e = bn.prototype;
    e.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    e.aa.prototype.P = function() {};
    e.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c;
        this.pb = 0
    };
    var g = e.Z.prototype;
    g.P = function() {
        this.Li = this.D[0];
        this.Ua = 1 == this.Li || 2 == this.Li || 3 == this.Li || 4 == this.Li;
        this.mb = this.D[1];
        this.Tp = this.D[2];
        this.target = this.D[3];
        this.lo = this.D[4];
        this.Ao = !1;
        1 === this.lo && (this.target = "relative(" + this.target + ")");
        this.duration = this.D[5];
        this.vc = 1 === this.D[6];
        this.value = 0;
        this.N = {};
        this.aP(this.mb, this.Tp, "current", this.target, this.duration, this.vc);
        1 === this.D[0] && this.$k(0);
        2 === this.D[0] && this.$k(2);
        3 === this.D[0] && this.$k(3);
        4 === this.D[0] && this.$k(4)
    };
    g.Ge = function(b, e) {
        void 0 === e && (e = "current");
        var g = e.replace(/^\s\s*/, "").replace(/\s\s*$/, "");
        e = e.replace(/^\s\s*/, "").replace(/\s\s*$/, "");
        var t = this.value;
        if ("current" === e) switch (b) {
            case 0:
                g = this.k.x + "," + this.k.y;
                break;
            case 1:
                g = this.k.width + "," + this.k.height;
                break;
            case 2:
                g = this.k.width + "," + this.k.height;
                break;
            case 3:
                g = this.k.width + "," + this.k.height;
                break;
            case 4:
                g = ye(this.k.C) + "," + ye(this.k.C);
                break;
            case 5:
                g = 100 * this.k.opacity + "," + 100 * this.k.opacity;
                break;
            case 6:
                g = t + "," + t;
                break;
            case 7:
                g = this.k.x + "," + this.k.y;
                break;
            case 8:
                g = this.k.x + "," + this.k.y;
                break;
            case 9:
                g = void 0 !== this.k.ib ? this.k.width / this.k.ib.width + "," + this.k.height / this.k.ib.height : "1,1"
        }
        if ("relative" === e.substring(0, 8)) {
            var l = e.match(/\((.*?)\)/);
            if (l) var a = parseFloat(l[1].split(",")[0]),
                w = parseFloat(l[1].split(",")[1]);
            isNaN(a) && (a = 0);
            isNaN(w) && (w = 0);
            switch (b) {
                case 0:
                    g = this.k.x + a + "," + (this.k.y + w);
                    break;
                case 1:
                    g = this.k.width + a + "," + (this.k.height + w);
                    break;
                case 2:
                    g = this.k.width + a + "," + (this.k.height + w);
                    break;
                case 3:
                    g = this.k.width + a + "," + (this.k.height + w);
                    break;
                case 4:
                    g = ye(this.k.C) + a + "," + (ye(this.k.C) + w);
                    break;
                case 5:
                    g = 100 * this.k.opacity + a + "," + (100 * this.k.opacity + w);
                    break;
                case 6:
                    g = t + a + "," + t + a;
                    break;
                case 7:
                    g = this.k.x + a + "," + this.k.y;
                    break;
                case 8:
                    g = this.k.x + "," + (this.k.y + a);
                    break;
                case 9:
                    g = a + "," + w
            }
        }
        return g
    };
    g.aP = function(b, e, g, t, l, a) {
        g = this.Ge(b, g);
        t = this.Ge(b, t);
        void 0 !== this.N["default"] && delete this.N["default"];
        this.N["default"] = new an("default", b, e, g, t, l, a);
        this.N["default"].cf = 0
    };
    g.lb = function() {
        JSON.stringify(this.N["default"]);
        return {
            playmode: this.Li,
            active: this.Ua,
            tweened: this.mb,
            easing: this.Tp,
            target: this.target,
            targetmode: this.lo,
            useCurrent: this.Ao,
            duration: this.duration,
            enforce: this.vc,
            value: this.value,
            tweenlist: JSON.stringify(this.N["default"])
        }
    };
    an.BT = function(b, e, g, t, l, a, w, L) {
        e = new an(e, g, t, l, a, w, L);
        for (var f in b) e[f] = b[f];
        return e
    };
    g.yb = function(b) {
        var e = JSON.parse(b.tweenlist),
            e = an.BT(e, e.name, e.mb, e.Sg, e.La + "," + e.Hb, e.Ha + "," + e.tb, e.duration, e.vc);
        this.N["default"] = e;
        this.Li = b.playmode;
        this.Ua = b.active;
        this.Ci = b.tweened;
        this.Tp = b.easing;
        this.target = b.target;
        this.lo = b.targetmode;
        this.Ao = b.useCurrent;
        this.duration = b.duration;
        this.vc = b.enforce;
        this.value = b.value
    };
    g.M_ = function(b) {
        1 < b && (b = 1);
        0 > b && (b = 0);
        for (var e in this.N) {
            var g = this.N[e];
            g.la = 0;
            g.kb = 0;
            g.state = 3;
            g.ua = b * g.duration;
            var t = g.Uo(0);
            this.Es(g, t)
        }
    };
    g.$k = function(b) {
        for (var e in this.N) {
            var g = this.N[e];
            if (this.Ao) {
                var t = this.Ge(g.mb, "current"),
                    l = this.Ge(g.mb, this.target);
                g.Si(t);
                g.Vn(l)
            }
            0 === b && (g.ua = 1E-6, g.la = 0, g.kb = 0, g.Ii = !0, g.state = 1);
            1 === b && (g.state = g.rQ);
            if (2 === b || 4 === b) g.ua = 1E-6, g.la = 0, g.kb = 0, g.Ii = !0, 2 == b && (g.state = 4), 4 == b && (g.state = 6);
            3 === b && (g.ua = 1E-6, g.la = 0, g.kb = 0, g.Ii = !0, g.state = 5)
        }
    };
    g.W_ = function(b) {
        for (var e in this.N) {
            var g = this.N[e];
            3 != g.state && 0 != g.state && (g.rQ = g.state);
            1 === b && (g.ua = 0);
            2 === b && (g.ua = g.duration);
            g.state = 3;
            var t = g.Uo(0);
            this.Es(g, t)
        }
    };
    g.A_ = function(b) {
        for (var e in this.N) {
            var g = this.N[e];
            1 === b && (g.ua = g.duration, g.la = 0, g.kb = 0, g.qn = !0);
            g.state = 2
        }
    };
    g.Es = function(b, e) {
        if (0 === b.mb) b.vc ? (this.k.x = b.La + (b.Ha - b.La) * e, this.k.y = b.Hb + (b.tb - b.Hb) * e) : (this.k.x += (b.Ha - b.La) * e - b.la, this.k.y += (b.tb - b.Hb) * e - b.kb, b.la = (b.Ha - b.La) * e, b.kb = (b.tb - b.Hb) * e);
        else if (1 === b.mb) b.vc ? (this.k.width = b.La + (b.Ha - b.La) * e, this.k.height = b.Hb + (b.tb - b.Hb) * e) : (this.k.width += (b.Ha - b.La) * e - b.la, this.k.height += (b.tb - b.Hb) * e - b.kb, b.la = (b.Ha - b.La) * e, b.kb = (b.tb - b.Hb) * e);
        else if (2 === b.mb) b.vc ? this.k.width = b.La + (b.Ha -
            b.La) * e : (this.k.width += (b.Ha - b.La) * e - b.la, b.la = (b.Ha - b.La) * e);
        else if (3 === b.mb) b.vc ? this.k.height = b.Hb + (b.tb - b.Hb) * e : (this.k.height += (b.tb - b.Hb) * e - b.kb, b.kb = (b.tb - b.Hb) * e);
        else if (4 === b.mb)
            if (b.vc) {
                var g = b.La + (b.Ha - b.La) * e;
                this.k.C = Ee(xe(g))
            } else g = (b.Ha - b.La) * e - b.la, this.k.C = Ee(this.k.C + xe(g)), b.la = (b.Ha - b.La) * e;
        else if (5 === b.mb) b.vc ? this.k.opacity = (b.La + (b.Ha - b.La) * e) / 100 : (this.k.opacity += ((b.Ha - b.La) * e - b.la) / 100, b.la = (b.Ha - b.La) * e);
        else if (6 === b.mb) b.vc ? this.value = b.La + (b.Ha - b.La) * e : (this.value += (b.Ha - b.La) * e - b.la, b.la = (b.Ha - b.La) * e);
        else if (7 === b.mb) b.vc ? this.k.x = b.La + (b.Ha - b.La) * e : (this.k.x += (b.Ha - b.La) * e - b.la, b.la = (b.Ha - b.La) * e);
        else if (8 === b.mb) b.vc ? this.k.y = b.Hb + (b.tb - b.Hb) * e : (this.k.y += (b.tb - b.Hb) * e - b.kb, b.kb = (b.tb - b.Hb) * e);
        else if (9 === b.mb) {
            var g = b.La + (b.Ha - b.La) * e,
                t = b.Hb + (b.tb - b.Hb) * e;
            0 > this.k.width && (g = b.La + (b.Ha + b.La) * -e);
            0 > this.k.height && (t = b.Hb + (b.tb + b.Hb) * -e);
            b.vc ? (this.k.width = this.k.ib.width * g, this.k.height = this.k.ib.height * t) : (0 > this.k.width ? (this.k.width = this.k.width / (-1 +
                b.la) * g, b.la = g + 1) : (this.k.width = this.k.width / (1 + b.la) * g, b.la = g - 1), 0 > this.k.height ? (this.k.height = this.k.height / (-1 + b.kb) * t, b.kb = t + 1) : (this.k.height = this.k.height / (1 + b.kb) * t, b.kb = t - 1))
        }
        this.k.H()
    };
    g.Ta = function() {
        var b = this.c.gf(this.k),
            e = this.N["default"];
        0 !== e.state && (e.Ii && (this.c.trigger(bn.prototype.u.kU, this.k), e.Ii = !1), e.qn && (this.c.trigger(bn.prototype.u.iU, this.k), e.qn = !1), this.Ua = 1 == e.state || 2 == e.state || 4 == e.state || 5 == e.state || 6 == e.state, b = e.Uo(b), this.Es(e, b), e.mn && (this.c.trigger(bn.prototype.u.QT, this.k), e.mn = !1), e.pn && (this.c.trigger(bn.prototype.u.hU, this.k), e.pn = !1))
    };
    e.u = {};
    g = e.u;
    g.Ya = function() {
        return 0 !== this.N["default"].state
    };
    g.Q0 = function() {
        return 2 == this.N["default"].state
    };
    g.A0 = function(b, e) {
        var g = this.N["default"];
        return Ig(g.ua / g.duration, b, e)
    };
    g.Z0 = function(b, e) {
        var g = this.N["default"];
        this.fl = Ig(g.ua / g.duration, b, e);
        if (g = this.Cr != this.fl && this.fl) this.Cr = this.fl;
        return g
    };
    g.kU = function() {
        return void 0 === this.N["default"] ? !1 : this.N["default"].Ii
    };
    g.iU = function() {
        return void 0 === this.N["default"] ? !1 : this.N["default"].qn
    };
    g.QT = function() {
        return void 0 === this.N["default"] ? !1 : this.N["default"].mn
    };
    g.hU = function() {
        return void 0 === this.N["default"] ? !1 : this.N["default"].pn
    };
    e.I = {};
    g = e.I;
    g.E1 = function(b, e) {
        this.Cr = this.fl = !1;
        this.Ao = 1 == e;
        this.$k(b)
    };
    g.LU = function(b) {
        this.W_(b)
    };
    g.l1 = function(b) {
        this.Cr = this.fl = !1;
        this.A_(b)
    };
    g.i1 = function(b) {
        this.M_(b)
    };
    g.r1 = function(b) {
        isNaN(b) || 0 > b || void 0 === this.N["default"] || (this.N["default"].duration = b)
    };
    g.w1 = function(b) {
        void 0 !== this.N["default"] && (this.N["default"].vc = 1 === b)
    };
    g.x1 = function(b) {
        void 0 !== this.N["default"] && (b = this.Ge(this.N["default"].mb, b), this.N["default"].Si(b))
    };
    g.Gt = function(b, e, g) {
        if (void 0 !== this.N["default"] && !isNaN(g)) {
            var t = this.N["default"],
                l = g + "";
            this.lo = e;
            var a = "",
                w = "";
            if (1 === e) {
                this.target = "relative(" + l + ")";
                switch (b) {
                    case 0:
                        a = this.k.x + g;
                        w = t.tb;
                        break;
                    case 1:
                        a = t.Ha;
                        w = this.k.y + g;
                        break;
                    case 2:
                        w = a = "" + ye(this.k.C + xe(g));
                        break;
                    case 3:
                        w = a = "" + 100 * this.k.opacity + g;
                        break;
                    case 4:
                        a = this.k.width + g;
                        w = t.tb;
                        break;
                    case 5:
                        a = t.Ha;
                        w = this.k.height + g;
                        break;
                    case 6:
                        w = a = g
                }
                l = a + "," + w
            } else {
                switch (b) {
                    case 0:
                        a = g;
                        w = t.tb;
                        break;
                    case 1:
                        a = t.Ha;
                        w = g;
                        break;
                    case 2:
                        w = a = g;
                        break;
                    case 3:
                        w = a = g;
                        break;
                    case 4:
                        a = g;
                        w = t.tb;
                        break;
                    case 5:
                        a = t.Ha;
                        w = g;
                        break;
                    case 6:
                        w = a = g
                }
                this.target = l = a + "," + w
            }
            b = this.Ge(this.N["default"].mb, "current");
            l = this.Ge(this.N["default"].mb, l);
            t.Si(b);
            t.Vn(l)
        }
    };
    g.C1 = function(b) {
        void 0 !== this.N["default"] && (this.N["default"].mb = b)
    };
    g.s1 = function(b) {
        void 0 !== this.N["default"] && (this.N["default"].Sg = b)
    };
    g.t1 = function(b, e, g, t, l) {
        void 0 !== this.N["default"] && (this.N["default"].qd[b].kd = !1, this.N["default"].qd[b].Eg = e, this.N["default"].qd[b].Ee = g, this.N["default"].qd[b].Fh = t, this.N["default"].qd[b].Mc = l)
    };
    g.k1 = function() {
        void 0 !== this.N["default"] && (this.N["default"].kd = !0)
    };
    g.D1 = function(b) {
        var e = this.N["default"];
        this.value = b;
        6 === e.mb && e.Si(this.Ge(e.mb, "current"))
    };
    g.z1 = function(b, e, g, t, l) {
        if (void 0 === this.N["default"]) this.aP(b, e, initial, g, t, l);
        else {
            var a = this.N["default"];
            a.mb = b;
            a.Sg = e;
            a.Si(this.Ge(b, "current"));
            a.Vn(this.Ge(b, g));
            a.duration = t;
            a.vc = 1 === l
        }
    };
    e.ka = {};
    e = e.ka;
    e.F1 = function(b) {
        var e = "N/A";
        switch (this.N["default"].state) {
            case 0:
                e = "paused";
                break;
            case 1:
                e = "playing";
                break;
            case 2:
                e = "reversing";
                break;
            case 3:
                e = "seeking"
        }
        b.Cb(e)
    };
    e.h1 = function(b) {
        b.M(this.N["default"].ua / this.N["default"].duration)
    };
    e.XS = function(b) {
        b.M(this.N["default"].duration)
    };
    e.I1 = function(b) {
        var e = this.N["default"],
            g = "N/A";
        switch (e.mb) {
            case 0:
                g = e.Ha;
                break;
            case 1:
                g = e.tb;
                break;
            case 2:
                g = e.Ha;
                break;
            case 3:
                g = e.Ha;
                break;
            case 4:
                g = e.Ha;
                break;
            case 5:
                g = e.tb;
                break;
            case 6:
                g = e.Ha
        }
        b.M(g)
    };
    e.UU = function(b) {
        b.M(this.value)
    };
    e.K1 = function(b, e, g, t, l) {
        t = 1 < t ? 1 : t;
        l = Um(l, 0 > t ? 0 : t, 1, !1, !1);
        b.M(e + l * (g - e))
    }
})();

function cn(e) {
    this.c = e
}
(function() {
    function e() {}

    function g() {}
    var b = cn.prototype;
    b.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    b.aa.prototype.P = function() {};
    b.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c
    };
    var q = b.Z.prototype;
    q.P = function() {
        this.vj = this.D[0];
        this.wj = this.D[1];
        this.gp = this.D[2];
        this.fp = this.D[3];
        this.k.X();
        this.Jf = this.k.T.left;
        this.Mf = this.k.T.top;
        this.Kf = this.c.Wa - this.k.T.left;
        this.Lf = this.c.Va - this.k.T.top;
        this.xf = this.c.Wa - this.k.T.right;
        this.We = this.c.Va - this.k.T.bottom;
        this.enabled = 0 !== this.D[4];
        this.YR = 1 == this.D[5];
        this.Gs = 0;
        this.DS = this.GS = this.FS = this.ES = null
    };
    q.FZ = function() {
        var b = this.k.G;
        return this.ES != b.Ca || this.FS != b.Da || this.GS != b.Ea || this.DS != b.Ba
    };
    q.Ta = function() {
        if (this.enabled) {
            if (this.YR) {
                if (this.FZ()) {
                    var b = this.k.G;
                    this.ES = b.Ca;
                    this.FS = b.Da;
                    this.GS = b.Ea;
                    this.DS = b.Ba;
                    this.Gs = 2
                }
                if (0 == this.Gs) return;
                --this.Gs
            }
            var e, b = this.k.G,
                g = this.k,
                a = this.k.T;
            0 === this.vj ? (g.X(), e = b.Ca + this.Jf - a.left, 0 !== e && (g.x += e, g.H())) : 1 === this.vj && (g.X(), e = b.Da - this.Kf - a.left, 0 !== e && (g.x += e, g.H()));
            0 === this.wj ? (g.X(), e = b.Ea + this.Mf - a.top, 0 !== e && (g.y += e, g.H())) : 1 === this.wj && (g.X(), e = b.Ba - this.Lf - a.top, 0 !== e && (g.y += e, g.H()));
            1 === this.gp && (g.X(), e = b.Da - this.xf - a.right, 0 !== e && (g.width += e, 0 > g.width && (g.width = 0), g.H()));
            1 === this.fp && (g.X(), e = b.Ba - this.We - a.bottom, 0 !== e && (g.height += e, 0 > g.height && (g.height = 0), g.H()));
            this.YR && this.c.trigger(cn.prototype.u.GT, this.k)
        }
    };
    q.lb = function() {
        return {
            xleft: this.Jf,
            ytop: this.Mf,
            xright: this.Kf,
            ybottom: this.Lf,
            rdiff: this.xf,
            bdiff: this.We,
            enabled: this.enabled
        }
    };
    q.yb = function(b) {
        this.Jf = b.xleft;
        this.Mf = b.ytop;
        this.Kf = b.xright;
        this.Lf = b.ybottom;
        this.xf = b.rdiff;
        this.We = b.bdiff;
        this.enabled = b.enabled
    };
    b.u = new e;
    e.prototype.GT = function() {
        return !0
    };
    b.I = new g;
    g.prototype.Ed = function(b) {
        this.enabled && 0 === b ? this.enabled = !1 : this.enabled || 0 === b || (this.k.X(), this.Jf = this.k.T.left, this.Mf = this.k.T.top, this.Kf = this.c.Wa - this.k.T.left, this.Lf = this.c.Va - this.k.T.top, this.xf = this.c.Wa - this.k.T.right, this.We = this.c.Va - this.k.T.bottom, this.enabled = !0)
    };
    b.ka = new function() {}
})();

function qn(e) {
    this.c = e;
    this.ls = this.Xn = this.Xk = this.ks = 0
}
(function() {
    function e() {}
    var g = qn.prototype;
    g.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    g.aa.prototype.P = function() {};
    g.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c
    };
    var b = g.Z.prototype;
    b.P = function() {
        this.enabled = 0 !== this.D[0]
    };
    b.lb = function() {
        return {
            smg: this.behavior.ks,
            ss: this.behavior.Xk,
            se: this.behavior.Xn,
            smd: this.behavior.ls
        }
    };
    b.yb = function(b) {
        this.behavior.ks = b.smg;
        this.behavior.Xk = b.ss;
        this.behavior.Xn = b.se;
        this.behavior.ls = b.smd
    };
    b.Ta = function() {};
    b.gl = function() {
        if (this.enabled) {
            var b = this.behavior.gn.qe(),
                e = 0,
                g = 0,
                l, a, w, L = 0;
            l = 0;
            for (a = b.length; l < a; l++) {
                a: {
                    w = b[l];
                    for (var f = void 0, n = void 0, z = void 0, f = 0, n = w.da.length; f < n; ++f)
                        if (z = w.da[f], z.behavior instanceof qn) {
                            w = z;
                            break a
                        }
                    w = null
                }
                w && w.enabled && (e += b[l].x, g += b[l].y, ++L)
            }
            b = this.k.G.Xb;
            a = this.c.Vb.za;
            w = l = 0;
            a >= this.behavior.Xk && a < this.behavior.Xn && (l = this.behavior.ks * Math.min(this.c.Qe, 1), 0 === this.behavior.ls && (l *= 1 - (a - this.behavior.Xk) / (this.behavior.Xn - this.behavior.Xk)), a = Math.random() * Math.PI * 2, w = Math.random() * l, l = Math.cos(a) * w, w *= Math.sin(a));
            b.On(e / L + l);
            b.Pn(g / L + w)
        }
    };
    e.prototype.Ed = function(b) {
        this.enabled = 0 !== b
    };
    g.I = new e
})();

function Ug(e) {
    this.c = e
}(function() {
    function e() {}
    var g = Ug.prototype;
    g.aa = function(b) {
        this.behavior = b;
        this.c = b.c
    };
    g.aa.prototype.P = function() {};
    g.Z = function(b, e) {
        this.type = b;
        this.behavior = b.behavior;
        this.k = e;
        this.c = b.c
    };
    var b = g.Z.prototype;
    b.P = function() {
        this.k.J.solidEnabled = 0 !== this.D[0]
    };
    b.Ta = function() {};
    g.u = new function() {};
    e.prototype.Ed = function(b) {
        this.k.J.solidEnabled = !!b
    };
    g.I = new e
})();

function Sg() {
    return [Yg, Zg, $g, Wg, eh, Xg, Vg, ah, bh, ch, dh, uh, bn, vh, sh, fh, th, gh, qn, rh, Ug, cn, Tg.prototype.u.mT, th.prototype.u.kT, Tg.prototype.u.SU, bh.prototype.u.Ws, Tg.prototype.I.KS, $g.prototype.I.DU, Vg.prototype.I.Ss, Tg.prototype.I.VS, Vg.prototype.ka.sj, Vg.prototype.ka.tj, th.prototype.I.Ed, Wg.prototype.I.Play, dh.prototype.I.NU, Tg.prototype.I.XU, Tg.prototype.I.pU, Tg.prototype.I.GU, eh.prototype.I.bT, Vg.prototype.u.rT, Tg.prototype.u.aT, Vg.prototype.u.jT, Tg.prototype.I.tU, Tg.prototype.ka.MZ, Tg.prototype.ka.I_, Tg.prototype.ka.cf, ch.prototype.u.nT, th.prototype.u.pT, Vg.prototype.u.sT, Vg.prototype.u.Ws, th.prototype.I.IU, Yg.prototype.u.oT, Vg.prototype.I.qU, Vg.prototype.u.Vs, Vg.prototype.I.Bt, Vg.prototype.I.JU, Vg.prototype.I.It, Vg.prototype.I.zU, Vg.prototype.ka.Opacity, Vg.prototype.I.HU, Vg.prototype.ka.YU, Vg.prototype.I.xU, Vg.prototype.ka.hT, Vg.prototype.u.Dg, Tg.prototype.u.$S, Vg.prototype.I.rU, Vg.prototype.u.US, Vg.prototype.I.Ht, Vg.prototype.I.uU, ch.prototype.u.qt, Tg.prototype.I.eT, Wg.prototype.u.tT, Wg.prototype.I.CU, Xg.prototype.I.fT, Wg.prototype.I.MU, Zg.prototype.u.qT, Vg.prototype.I.Et, Vg.prototype.u.Qs, bh.prototype.u.Qs, bh.prototype.I.Ss, Tg.prototype.u.ht, dh.prototype.u.DT, dh.prototype.ka.ET, Tg.prototype.u.RS, Tg.prototype.ka.LZ, $g.prototype.I.It, $g.prototype.I.Jt, $g.prototype.I.Bt, Vg.prototype.ka.LS, Tg.prototype.ka.uP, uh.prototype.I.Ft, $g.prototype.I.AU, Vg.prototype.I.BU, rh.prototype.I.Ed, gh.prototype.I.Ed, Tg.prototype.I.yU, Vg.prototype.I.Jt, Vg.prototype.u.uT, ah.prototype.I.EU, ch.prototype.u.pt, Ug.prototype.I.Ed, Vg.prototype.u.MT, sh.prototype.I.oU, ah.prototype.I.Ht, Tg.prototype.u.TS, Vg.prototype.I.vU, Tg.prototype.I.PU, Zg.prototype.I.wU, Vg.prototype.u.SS, Vg.prototype.I.JS, Tg.prototype.I.FU, Vg.prototype.I.OU]
};