/*!
 * pixi.js - v4.8.8
 * Compiled Sun, 02 Jun 2019 22:42:56 UTC
 *
 * pixi.js is licensed under the MIT License.
 * http://www.opensource.org/licenses/mit-license
 */

! function() {
    define("skbJet/component/resourceLoader/resourceLib", [], function() {
            return {}
        }), define("skbJet/component/resourceLoader/Util", [], function() {
            var t = {};
            return t.httpGetJson = function(e, r, i) {
                t.httpGetText(e, function(t) {
                    r(JSON.parse(t))
                }, i)
            }, t.httpGetText = function(t, e, r) {
                var i = new XMLHttpRequest;
                i.addEventListener("load", function(t) {
                    t.target.status >= 200 && t.target.status < 300 ? e(t.target.responseText) : r()
                }), i.addEventListener("error", r), i.addEventListener("timeout", r), i.open("GET", t), i.send()
            }, t.removeQueryStr = function(t) {
                var e = t.match(/(.*)\?/);
                return e ? e[1] : t
            }, t.getFileNameFromPath = function(t) {
                var e = t.match(/\/?([^\/]+)$/);
                return e ? e[1] : t
            }, t.getFileExt = function(e, r) {
                e = t.removeQueryStr(e), e = t.getFileNameFromPath(e);
                var i = e.match(/\.(\w+)$/);
                return i && i[1] ? r ? i[1].toLowerCase() : i[1] : null
            }, t.getFileNameWithoutExt = function(e) {
                e = t.removeQueryStr(e), e = t.getFileNameFromPath(e);
                var r = e.match(/(.*)(\.\w+)+$/);
                return r ? r[1] : e
            }, t.getParentFolder = function(e) {
                e = t.removeQueryStr(e);
                var r = t.getFileNameFromPath(e);
                return e.substring(0, e.length - r.length)
            }, t
        }), define("skbJet/component/resourceLoader/LoaderContext", [], function() {
            function t(t, e, r) {
                this.assetPackUrl = t, this.languageCode = e, this.skinCode = r, this.totalResAmount = 0, this.currentLoaded = 0, this.gameFolder = null, this.i18nParent = null, this.queryStr = "", window._cacheFlag && window._cacheFlag.queryStr && (this.queryStr = window._cacheFlag.queryStr), this.fileListMap = {
                    i18n: null
                }, this.subLoaderMap = {}, this.onFileLoaded = function() {}, this.onLoadFailed = function() {}
            }
            return t
        }), define("skbJet/component/resourceLoader/LoaderChainHandler", [], function() {
            function t() {}
            return t.prototype.next = null, t.prototype.handle = null, t
        }), define("skbJet/component/resourceLoader/handlers/languageListHandler", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/LoaderChainHandler"], function(t, e) {
            function r(t, e) {
                for (var r = {}, i = 0; i < t.length; i++) r[t[i]] = [t[i].toLowerCase()], t[i].indexOf("_") > -1 ? r[t[i]].push(t[i].replace("_", "-").toLowerCase()) : t[i].indexOf("-") > -1 && r[t[i]].push(t[i].replace("-", "_").toLowerCase());
                var n;
                for (var o in r)
                    if (r[o].indexOf("i18n/" + e.languageCode.toLowerCase() + ".json") >= 0) {
                        n = o.substring(o.lastIndexOf("/") + 1, o.lastIndexOf("."));
                        break
                    }
                if (!n)
                    for (var o in r)
                        if (r[o].indexOf("i18n/default.json") >= 0) {
                            n = o.substring(o.lastIndexOf("/") + 1, o.lastIndexOf("."));
                            break
                        }
                if (!n)
                    for (var o in r)
                        if (r[o].indexOf("i18n/en.json") >= 0) {
                            n = o.substring(o.lastIndexOf("/") + 1, o.lastIndexOf("."));
                            break
                        }
                return !!n && (e.languageCode = n, !0)
            }

            function i(e) {
                var r = e.gameFolder,
                    i = !1;
                if (window.location.search.match(/&?custom=true&?/) && (i = !0), window.gtk && window.gtk.jLottery && window.gtk.jLottery.embeddedParams && window.gtk.jLottery.embeddedParams.custom && (i = !0), i) {
                    var n, o = window.location.pathname;
                    o.match(/\/splash\.html$/) || o.match(/\/launcher\.html$/) ? (n = t.getParentFolder(o), n = n.match(/\/([^\/]+\/)$/)[1]) : n = e.gameFolder.match(/\/([^\/]+\/)$/)[1], r = "/custom_lang/" + e.skinCode + "/" + n
                }
                return r
            }
            var n = new e;
            return n.handle = function(e) {
                e.languageCode = e.languageCode || "default", e.languageCode = e.languageCode.toLowerCase();
                var o = e.assetPackUrl.substring(0, e.assetPackUrl.lastIndexOf("/"));
                e.gameFolder = o.substring(0, o.lastIndexOf("/") + 1), e.i18nParent = i(e), t.httpGetJson(e.i18nParent + "i18n.json" + e.queryStr, function(t) {
                    r(t.i18n, e) ? n.next.handle(e) : e.onLoadFailed()
                }, e.onLoadFailed)
            }, n
        }), define("skbJet/component/resourceLoader/handlers/skinListHandler", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/LoaderChainHandler"], function(t, e) {
            function r(t, e) {
                for (var r = 0; r < t.length; r++) {
                    var i = t[r];
                    if (i = i.substring(i.lastIndexOf("/") + 1, i.lastIndexOf(".")), e.skinCode.toLowerCase() === i.toLowerCase()) return
                }
                e.skinCode = "default"
            }
            var i = new e;
            return i.handle = function(e) {
                e.skinCode = e.skinCode || "default";
                var n = e.i18nParent + "i18n/" + e.languageCode + ".json" + e.queryStr;
                t.httpGetJson(n, function(t) {
                    r(t[e.languageCode], e), i.next.handle(e)
                }, e.onLoadFailed)
            }, i
        }), define("skbJet/component/resourceLoader/handlers/fileListHandler", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/LoaderChainHandler"], function(t, e) {
            function r(t, e, r, i) {
                i.fileListMap[t] || (i.fileListMap[t] = {});
                for (var n = 0; n < e.length; n++) i.fileListMap[t][e[n]] = r
            }

            function i(e, i) {
                var o = e.assetPackUrl + ".json" + e.queryStr;
                t.httpGetJson(o, function(t) {
                    for (var o in t) r(o, t[o], e.gameFolder + "assetPacks/", e);
                    var s = e.assetPackUrl.substring(e.assetPackUrl.lastIndexOf("assetPacks"));
                    i && i.indexOf(e.skinCode + "/" + s + ".json") > -1 ? n(e, s) : a.next.handle(e)
                }, e.onLoadFailed)
            }

            function n(e, i) {
                var n = e.i18nParent + "i18n/" + e.languageCode + "/" + e.skinCode + "/",
                    o = n + i + ".json" + e.queryStr;
                t.httpGetJson(o, function(t) {
                    for (var i in t) r(i, t[i], n + "assetPacks/", e);
                    a.next.handle(e)
                }, e.onLoadFailed)
            }

            function o(e) {
                var n = e.i18nParent + "i18n/",
                    o = n + e.languageCode + "/",
                    a = o + e.skinCode + ".json" + e.queryStr;
                t.httpGetJson(a, function(t) {
                    r("i18n", t[e.skinCode], o, e), i(e, t.assetPacks)
                }, e.onLoadFailed)
            }
            var a = new e;
            return a.handle = o, a
        }), define("skbJet/component/resourceLoader/handlers/fileLoadHandler", ["skbJet/component/resourceLoader/LoaderChainHandler"], function(t) {
            function e(t, e, r) {
                setTimeout(function() {
                    t.load(e, r)
                }, 1)
            }
            var r = new t;
            return r.handle = function(t) {
                for (var r in t.fileListMap) t.subLoaderMap[r] && e(t.subLoaderMap[r], t.fileListMap[r], {
                    onFileLoaded: t.onFileLoaded,
                    onLoadFailed: t.onLoadFailed,
                    queryStr: t.queryStr
                })
            }, r.addSubLoader = function(t, e, r) {
                t.subLoaderMap[e] = r
            }, r.summary = function(t) {
                var e = 0,
                    r = 0,
                    i = !0;
                for (var n in t.fileListMap) t.subLoaderMap[n] && (e += t.subLoaderMap[n].getTotal(), r += t.subLoaderMap[n].getCurrent(), i = i && t.subLoaderMap[n].isComplete());
                return {
                    total: e,
                    current: r,
                    complete: i
                }
            }, r
        }), define("skbJet/component/resourceLoader/ResourceLoader", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/LoaderContext", "skbJet/component/resourceLoader/handlers/languageListHandler", "skbJet/component/resourceLoader/handlers/skinListHandler", "skbJet/component/resourceLoader/handlers/fileListHandler", "skbJet/component/resourceLoader/handlers/fileLoadHandler"], function(t, e, r, i, n, o) {
            function a(t, a, s) {
                this.context = new e(t, a, s), this.loadChain = [r, i, n, o]
            }
            var s;
            return a.prototype.load = function(t, e) {
                for (var r = 0; r < this.loadChain.length - 1; r++) this.loadChain[r].next = this.loadChain[r + 1];
                this.context.onFileLoaded = t, this.context.onLoadFailed = e, this.loadChain[0].handle(this.context)
            }, a.prototype.addSubLoader = function(t, e) {
                o.addSubLoader(this.context, t, e)
            }, a.prototype.currentProgress = function() {
                return o.summary(this.context)
            }, a.initDefault = function(t, e, r) {
                if (s) throw "Default loader already inited.";
                s = new a(t, e, r)
            }, a.getDefault = function() {
                return s
            }, a.setDefault = function(t) {
                s = t
            }, a.prototype.addHeartBeat = function(t, e) {
                function r() {
                    var e = i.currentProgress();
                    if (e.complete) return clearInterval(i.heartBeatInterval), void(i.heartBeatInterval = null);
                    t(e)
                }
                var i = this;
                i.heartBeatInterval && (clearInterval(i.heartBeatInterval), i.heartBeatInterval = null), e || (e = 5e3), i.heartBeatInterval = setInterval(r, e)
            }, a.prototype.removeHeartBeat = function() {
                var t = this;
                if (t.heartBeatInterval) return clearInterval(t.heartBeatInterval), void(t.heartBeatInterval = null)
            }, a
        }), define("skbJet/component/resourceLoader/AbstractSubLoader", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/resourceLib"], function(t, e) {
            function r() {}

            function i() {}
            return i.prototype._initOptions = function(t, r) {
                this._count = {
                    total: 0,
                    current: 0,
                    complete: !1
                }, this.options = r || {}, this.options.type = this.options.type || t, e[this.options.type] || (e[this.options.type] = {})
            }, i.prototype.getTotal = function() {
                return this._count.total
            }, i.prototype.getCurrent = function() {
                return this._count.current
            }, i.prototype.isComplete = function() {
                return this._count.complete
            }, i.prototype._prepareLoad = function(t) {
                t = t || {}, this._count.total = 0, this._count.current = 0, t.queryStr = t.queryStr ? t.queryStr : "", t.onFileLoaded = t.onFileLoaded ? t.onFileLoaded : r, t.onLoadFailed = t.onLoadFailed ? t.onLoadFailed : r;
                for (var e in t) this.options[e] = t[e]
            }, i.prototype.load = function(r, i) {
                this._prepareLoad(i);
                var n = [];
                for (var o in r)
                    if (r[o]) {
                        if (this.options.fileExtFilterList) {
                            var a = t.getFileExt(o, !0);
                            if (this.options.fileExtFilterList.indexOf(a) < 0) continue
                        }
                        this._count.total++, n.push(o)
                    }
                if (0 === this._count.total) return this._count.complete = !0, void this.options.onFileLoaded();
                for (var s = this, l = 0; l < n.length; l++) {
                    var o = n[l];
                    this._doLoadFile(r[o] + o + this.options.queryStr, function(t) {
                        return function(r) {
                            s._count.current++, s._count.current === s._count.total && (s._count.complete = !0), e[s.options.type] = e[s.options.type] || {}, e[s.options.type][t] = r, s.options.onFileLoaded()
                        }
                    }(t.getFileNameWithoutExt(o)), this.options.onLoadFailed)
                }
            }, i.prototype._doLoadFile = function(t, e, r) {
                throw "Not implemented yet. Params: url:" + t + "   success:" + e + "   fail:" + r
            }, i
        }), define("skbJet/component/resourceLoader/subLoaders/HtmlTagSubLoader", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/AbstractSubLoader"], function(t, e) {
            function r(t) {
                this._initOptions("_html_tags", t)
            }
            return r.prototype = new e, r.prototype._doLoadFile = function(t, e, r) {
                var i = document.createElement(this.options.tagName);
                if (i.onload = function() {
                        e(i)
                    }, i.onerror = r, this.options.parentTag && this.options.parentTag.appendChild(i), this.options.tagAttributes)
                    for (var n in this.options.tagAttributes) i.setAttribute(n, this.options.tagAttributes[n]);
                i.src = t
            }, r
        }), define("skbJet/component/resourceLoader/subLoaders/TextFilesSubLoader", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/AbstractSubLoader"], function(t, e) {
            function r(t) {
                this._initOptions("_text_files", t)
            }
            return r.prototype = new e, r.prototype._doLoadFile = function(e, r, i) {
                "json" === t.getFileExt(e, !0) && this.options.parseJson ? t.httpGetJson(e, r, i) : t.httpGetText(e, r, i)
            }, r
        }),
        function(t) {
            if ("object" == typeof exports && "undefined" != typeof module) module.exports = t();
            else if ("function" == typeof define && define.amd) define("com/pixijs/pixi", [], t);
            else {
                var e;
                e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, e.PIXI = t()
            }
        }(function() {
            var t;
            return function() {
                function t(e, r, i) {
                    function n(a, s) {
                        if (!r[a]) {
                            if (!e[a]) {
                                var l = "function" == typeof require && require;
                                if (!s && l) return l(a, !0);
                                if (o) return o(a, !0);
                                var u = new Error("Cannot find module '" + a + "'");
                                throw u.code = "MODULE_NOT_FOUND", u
                            }
                            var h = r[a] = {
                                exports: {}
                            };
                            e[a][0].call(h.exports, function(t) {
                                return n(e[a][1][t] || t)
                            }, h, h.exports, t, e, r, i)
                        }
                        return r[a].exports
                    }
                    for (var o = "function" == typeof require && require, a = 0; a < i.length; a++) n(i[a]);
                    return n
                }
                return t
            }()({
                1: [function(t, e, r) {
                    "use strict";
                    "use restrict";

                    function i(t) {
                        var e = 32;
                        return t &= -t, t && e--, 65535 & t && (e -= 16), 16711935 & t && (e -= 8), 252645135 & t && (e -= 4), 858993459 & t && (e -= 2), 1431655765 & t && (e -= 1), e
                    }
                    r.INT_BITS = 32, r.INT_MAX = 2147483647, r.INT_MIN = -1 << 31, r.sign = function(t) {
                        return (t > 0) - (t < 0)
                    }, r.abs = function(t) {
                        var e = t >> 31;
                        return (t ^ e) - e
                    }, r.min = function(t, e) {
                        return e ^ (t ^ e) & -(t < e)
                    }, r.max = function(t, e) {
                        return t ^ (t ^ e) & -(t < e)
                    }, r.isPow2 = function(t) {
                        return !(t & t - 1 || !t)
                    }, r.log2 = function(t) {
                        var e, r;
                        return e = (t > 65535) << 4, t >>>= e, r = (t > 255) << 3, t >>>= r, e |= r, r = (t > 15) << 2, t >>>= r, e |= r, r = (t > 3) << 1, t >>>= r, (e |= r) | t >> 1
                    }, r.log10 = function(t) {
                        return t >= 1e9 ? 9 : t >= 1e8 ? 8 : t >= 1e7 ? 7 : t >= 1e6 ? 6 : t >= 1e5 ? 5 : t >= 1e4 ? 4 : t >= 1e3 ? 3 : t >= 100 ? 2 : t >= 10 ? 1 : 0
                    }, r.popCount = function(t) {
                        return t -= t >>> 1 & 1431655765, 16843009 * ((t = (858993459 & t) + (t >>> 2 & 858993459)) + (t >>> 4) & 252645135) >>> 24
                    }, r.countTrailingZeros = i, r.nextPow2 = function(t) {
                        return t += 0 === t, --t, t |= t >>> 1, t |= t >>> 2, t |= t >>> 4, t |= t >>> 8, 1 + (t |= t >>> 16)
                    }, r.prevPow2 = function(t) {
                        return t |= t >>> 1, t |= t >>> 2, t |= t >>> 4, t |= t >>> 8, (t |= t >>> 16) - (t >>> 1)
                    }, r.parity = function(t) {
                        return t ^= t >>> 16, t ^= t >>> 8, t ^= t >>> 4, 27030 >>> (t &= 15) & 1
                    };
                    var n = new Array(256);
                    ! function(t) {
                        for (var e = 0; e < 256; ++e) {
                            var r = e,
                                i = e,
                                n = 7;
                            for (r >>>= 1; r; r >>>= 1) i <<= 1, i |= 1 & r, --n;
                            t[e] = i << n & 255
                        }
                    }(n), r.reverse = function(t) {
                        return n[255 & t] << 24 | n[t >>> 8 & 255] << 16 | n[t >>> 16 & 255] << 8 | n[t >>> 24 & 255]
                    }, r.interleave2 = function(t, e) {
                        return t &= 65535, t = 16711935 & (t | t << 8), t = 252645135 & (t | t << 4), t = 858993459 & (t | t << 2), t = 1431655765 & (t | t << 1), e &= 65535, e = 16711935 & (e | e << 8), e = 252645135 & (e | e << 4), e = 858993459 & (e | e << 2), e = 1431655765 & (e | e << 1), t | e << 1
                    }, r.deinterleave2 = function(t, e) {
                        return t = t >>> e & 1431655765, t = 858993459 & (t | t >>> 1), t = 252645135 & (t | t >>> 2), t = 16711935 & (t | t >>> 4), (t = 65535 & (t | t >>> 16)) << 16 >> 16
                    }, r.interleave3 = function(t, e, r) {
                        return t &= 1023, t = 4278190335 & (t | t << 16), t = 251719695 & (t | t << 8), t = 3272356035 & (t | t << 4), t = 1227133513 & (t | t << 2), e &= 1023, e = 4278190335 & (e | e << 16), e = 251719695 & (e | e << 8), e = 3272356035 & (e | e << 4), e = 1227133513 & (e | e << 2), t |= e << 1, r &= 1023, r = 4278190335 & (r | r << 16), r = 251719695 & (r | r << 8), r = 3272356035 & (r | r << 4), r = 1227133513 & (r | r << 2), t | r << 2
                    }, r.deinterleave3 = function(t, e) {
                        return t = t >>> e & 1227133513, t = 3272356035 & (t | t >>> 2), t = 251719695 & (t | t >>> 4), t = 4278190335 & (t | t >>> 8), (t = 1023 & (t | t >>> 16)) << 22 >> 22
                    }, r.nextCombination = function(t) {
                        var e = t | t - 1;
                        return e + 1 | (~e & -~e) - 1 >>> i(t) + 1
                    }
                }, {}],
                2: [function(t, e, r) {
                    "use strict";

                    function i(t, e, r) {
                        r = r || 2;
                        var i = e && e.length,
                            o = i ? e[0] * r : t.length,
                            s = n(t, 0, o, r, !0),
                            l = [];
                        if (!s || s.next === s.prev) return l;
                        var u, h, d, f, p, g, y;
                        if (i && (s = c(t, e, s, r)), t.length > 80 * r) {
                            u = d = t[0], h = f = t[1];
                            for (var v = r; v < o; v += r) p = t[v], g = t[v + 1], p < u && (u = p), g < h && (h = g), p > d && (d = p), g > f && (f = g);
                            y = Math.max(d - u, f - h), y = 0 !== y ? 1 / y : 0
                        }
                        return a(s, l, r, u, h, y), l
                    }

                    function n(t, e, r, i, n) {
                        var o, a;
                        if (n === A(t, e, r, i) > 0)
                            for (o = e; o < r; o += i) a = M(o, t[o], t[o + 1], a);
                        else
                            for (o = r - i; o >= e; o -= i) a = M(o, t[o], t[o + 1], a);
                        return a && b(a, a.next) && (P(a), a = a.next), a
                    }

                    function o(t, e) {
                        if (!t) return t;
                        e || (e = t);
                        var r, i = t;
                        do {
                            if (r = !1, i.steiner || !b(i, i.next) && 0 !== T(i.prev, i, i.next)) i = i.next;
                            else {
                                if (P(i), (i = e = i.prev) === i.next) break;
                                r = !0
                            }
                        } while (r || i !== e);
                        return e
                    }

                    function a(t, e, r, i, n, c, d) {
                        if (t) {
                            !d && c && g(t, i, n, c);
                            for (var f, p, y = t; t.prev !== t.next;)
                                if (f = t.prev, p = t.next, c ? l(t, i, n, c) : s(t)) e.push(f.i / r), e.push(t.i / r), e.push(p.i / r), P(t), t = p.next, y = p.next;
                                else if ((t = p) === y) {
                                d ? 1 === d ? (t = u(t, e, r), a(t, e, r, i, n, c, 2)) : 2 === d && h(t, e, r, i, n, c) : a(o(t), e, r, i, n, c, 1);
                                break
                            }
                        }
                    }

                    function s(t) {
                        var e = t.prev,
                            r = t,
                            i = t.next;
                        if (T(e, r, i) >= 0) return !1;
                        for (var n = t.next.next; n !== t.prev;) {
                            if (x(e.x, e.y, r.x, r.y, i.x, i.y, n.x, n.y) && T(n.prev, n, n.next) >= 0) return !1;
                            n = n.next
                        }
                        return !0
                    }

                    function l(t, e, r, i) {
                        var n = t.prev,
                            o = t,
                            a = t.next;
                        if (T(n, o, a) >= 0) return !1;
                        for (var s = n.x < o.x ? n.x < a.x ? n.x : a.x : o.x < a.x ? o.x : a.x, l = n.y < o.y ? n.y < a.y ? n.y : a.y : o.y < a.y ? o.y : a.y, u = n.x > o.x ? n.x > a.x ? n.x : a.x : o.x > a.x ? o.x : a.x, h = n.y > o.y ? n.y > a.y ? n.y : a.y : o.y > a.y ? o.y : a.y, c = v(s, l, e, r, i), d = v(u, h, e, r, i), f = t.prevZ, p = t.nextZ; f && f.z >= c && p && p.z <= d;) {
                            if (f !== t.prev && f !== t.next && x(n.x, n.y, o.x, o.y, a.x, a.y, f.x, f.y) && T(f.prev, f, f.next) >= 0) return !1;
                            if (f = f.prevZ, p !== t.prev && p !== t.next && x(n.x, n.y, o.x, o.y, a.x, a.y, p.x, p.y) && T(p.prev, p, p.next) >= 0) return !1;
                            p = p.nextZ
                        }
                        for (; f && f.z >= c;) {
                            if (f !== t.prev && f !== t.next && x(n.x, n.y, o.x, o.y, a.x, a.y, f.x, f.y) && T(f.prev, f, f.next) >= 0) return !1;
                            f = f.prevZ
                        }
                        for (; p && p.z <= d;) {
                            if (p !== t.prev && p !== t.next && x(n.x, n.y, o.x, o.y, a.x, a.y, p.x, p.y) && T(p.prev, p, p.next) >= 0) return !1;
                            p = p.nextZ
                        }
                        return !0
                    }

                    function u(t, e, r) {
                        var i = t;
                        do {
                            var n = i.prev,
                                o = i.next.next;
                            !b(n, o) && w(n, i, i.next, o) && E(n, o) && E(o, n) && (e.push(n.i / r), e.push(i.i / r), e.push(o.i / r), P(i), P(i.next), i = t = o), i = i.next
                        } while (i !== t);
                        return i
                    }

                    function h(t, e, r, i, n, s) {
                        var l = t;
                        do {
                            for (var u = l.next.next; u !== l.prev;) {
                                if (l.i !== u.i && _(l, u)) {
                                    var h = O(l, u);
                                    return l = o(l, l.next), h = o(h, h.next), a(l, e, r, i, n, s), void a(h, e, r, i, n, s)
                                }
                                u = u.next
                            }
                            l = l.next
                        } while (l !== t)
                    }

                    function c(t, e, r, i) {
                        var a, s, l, u, h, c = [];
                        for (a = 0, s = e.length; a < s; a++) l = e[a] * i, u = a < s - 1 ? e[a + 1] * i : t.length, h = n(t, l, u, i, !1), h === h.next && (h.steiner = !0), c.push(m(h));
                        for (c.sort(d), a = 0; a < c.length; a++) f(c[a], r), r = o(r, r.next);
                        return r
                    }

                    function d(t, e) {
                        return t.x - e.x
                    }

                    function f(t, e) {
                        if (e = p(t, e)) {
                            var r = O(e, t);
                            o(r, r.next)
                        }
                    }

                    function p(t, e) {
                        var r, i = e,
                            n = t.x,
                            o = t.y,
                            a = -1 / 0;
                        do {
                            if (o <= i.y && o >= i.next.y && i.next.y !== i.y) {
                                var s = i.x + (o - i.y) * (i.next.x - i.x) / (i.next.y - i.y);
                                if (s <= n && s > a) {
                                    if (a = s, s === n) {
                                        if (o === i.y) return i;
                                        if (o === i.next.y) return i.next
                                    }
                                    r = i.x < i.next.x ? i : i.next
                                }
                            }
                            i = i.next
                        } while (i !== e);
                        if (!r) return null;
                        if (n === a) return r.prev;
                        var l, u = r,
                            h = r.x,
                            c = r.y,
                            d = 1 / 0;
                        for (i = r.next; i !== u;) n >= i.x && i.x >= h && n !== i.x && x(o < c ? n : a, o, h, c, o < c ? a : n, o, i.x, i.y) && ((l = Math.abs(o - i.y) / (n - i.x)) < d || l === d && i.x > r.x) && E(i, t) && (r = i, d = l), i = i.next;
                        return r
                    }

                    function g(t, e, r, i) {
                        var n = t;
                        do {
                            null === n.z && (n.z = v(n.x, n.y, e, r, i)), n.prevZ = n.prev, n.nextZ = n.next, n = n.next
                        } while (n !== t);
                        n.prevZ.nextZ = null, n.prevZ = null, y(n)
                    }

                    function y(t) {
                        var e, r, i, n, o, a, s, l, u = 1;
                        do {
                            for (r = t, t = null, o = null, a = 0; r;) {
                                for (a++, i = r, s = 0, e = 0; e < u && (s++, i = i.nextZ); e++);
                                for (l = u; s > 0 || l > 0 && i;) 0 !== s && (0 === l || !i || r.z <= i.z) ? (n = r, r = r.nextZ, s--) : (n = i, i = i.nextZ, l--), o ? o.nextZ = n : t = n, n.prevZ = o, o = n;
                                r = i
                            }
                            o.nextZ = null, u *= 2
                        } while (a > 1);
                        return t
                    }

                    function v(t, e, r, i, n) {
                        return t = 32767 * (t - r) * n, e = 32767 * (e - i) * n, t = 16711935 & (t | t << 8), t = 252645135 & (t | t << 4), t = 858993459 & (t | t << 2), t = 1431655765 & (t | t << 1), e = 16711935 & (e | e << 8), e = 252645135 & (e | e << 4), e = 858993459 & (e | e << 2), e = 1431655765 & (e | e << 1), t | e << 1
                    }

                    function m(t) {
                        var e = t,
                            r = t;
                        do {
                            e.x < r.x && (r = e), e = e.next
                        } while (e !== t);
                        return r
                    }

                    function x(t, e, r, i, n, o, a, s) {
                        return (n - a) * (e - s) - (t - a) * (o - s) >= 0 && (t - a) * (i - s) - (r - a) * (e - s) >= 0 && (r - a) * (o - s) - (n - a) * (i - s) >= 0
                    }

                    function _(t, e) {
                        return t.next.i !== e.i && t.prev.i !== e.i && !S(t, e) && E(t, e) && E(e, t) && C(t, e)
                    }

                    function T(t, e, r) {
                        return (e.y - t.y) * (r.x - e.x) - (e.x - t.x) * (r.y - e.y)
                    }

                    function b(t, e) {
                        return t.x === e.x && t.y === e.y
                    }

                    function w(t, e, r, i) {
                        return !!(b(t, e) && b(r, i) || b(t, i) && b(r, e)) || T(t, e, r) > 0 != T(t, e, i) > 0 && T(r, i, t) > 0 != T(r, i, e) > 0
                    }

                    function S(t, e) {
                        var r = t;
                        do {
                            if (r.i !== t.i && r.next.i !== t.i && r.i !== e.i && r.next.i !== e.i && w(r, r.next, t, e)) return !0;
                            r = r.next
                        } while (r !== t);
                        return !1
                    }

                    function E(t, e) {
                        return T(t.prev, t, t.next) < 0 ? T(t, e, t.next) >= 0 && T(t, t.prev, e) >= 0 : T(t, e, t.prev) < 0 || T(t, t.next, e) < 0
                    }

                    function C(t, e) {
                        var r = t,
                            i = !1,
                            n = (t.x + e.x) / 2,
                            o = (t.y + e.y) / 2;
                        do {
                            r.y > o != r.next.y > o && r.next.y !== r.y && n < (r.next.x - r.x) * (o - r.y) / (r.next.y - r.y) + r.x && (i = !i), r = r.next
                        } while (r !== t);
                        return i
                    }

                    function O(t, e) {
                        var r = new R(t.i, t.x, t.y),
                            i = new R(e.i, e.x, e.y),
                            n = t.next,
                            o = e.prev;
                        return t.next = e, e.prev = t, r.next = n, n.prev = r, i.next = r, r.prev = i, o.next = i, i.prev = o, i
                    }

                    function M(t, e, r, i) {
                        var n = new R(t, e, r);
                        return i ? (n.next = i.next, n.prev = i, i.next.prev = n, i.next = n) : (n.prev = n, n.next = n), n
                    }

                    function P(t) {
                        t.next.prev = t.prev, t.prev.next = t.next, t.prevZ && (t.prevZ.nextZ = t.nextZ), t.nextZ && (t.nextZ.prevZ = t.prevZ)
                    }

                    function R(t, e, r) {
                        this.i = t, this.x = e, this.y = r, this.prev = null, this.next = null, this.z = null, this.prevZ = null, this.nextZ = null, this.steiner = !1
                    }

                    function A(t, e, r, i) {
                        for (var n = 0, o = e, a = r - i; o < r; o += i) n += (t[a] - t[o]) * (t[o + 1] + t[a + 1]), a = o;
                        return n
                    }
                    e.exports = i, e.exports.default = i, i.deviation = function(t, e, r, i) {
                        var n = e && e.length,
                            o = n ? e[0] * r : t.length,
                            a = Math.abs(A(t, 0, o, r));
                        if (n)
                            for (var s = 0, l = e.length; s < l; s++) {
                                var u = e[s] * r,
                                    h = s < l - 1 ? e[s + 1] * r : t.length;
                                a -= Math.abs(A(t, u, h, r))
                            }
                        var c = 0;
                        for (s = 0; s < i.length; s += 3) {
                            var d = i[s] * r,
                                f = i[s + 1] * r,
                                p = i[s + 2] * r;
                            c += Math.abs((t[d] - t[p]) * (t[f + 1] - t[d + 1]) - (t[d] - t[f]) * (t[p + 1] - t[d + 1]))
                        }
                        return 0 === a && 0 === c ? 0 : Math.abs((c - a) / a)
                    }, i.flatten = function(t) {
                        for (var e = t[0][0].length, r = {
                                vertices: [],
                                holes: [],
                                dimensions: e
                            }, i = 0, n = 0; n < t.length; n++) {
                            for (var o = 0; o < t[n].length; o++)
                                for (var a = 0; a < e; a++) r.vertices.push(t[n][o][a]);
                            n > 0 && (i += t[n - 1].length, r.holes.push(i))
                        }
                        return r
                    }
                }, {}],
                3: [function(t, e, r) {
                    "use strict";

                    function i() {}

                    function n(t, e, r) {
                        this.fn = t, this.context = e, this.once = r || !1
                    }

                    function o() {
                        this._events = new i, this._eventsCount = 0
                    }
                    var a = Object.prototype.hasOwnProperty,
                        s = "~";
                    Object.create && (i.prototype = Object.create(null), (new i).__proto__ || (s = !1)), o.prototype.eventNames = function() {
                        var t, e, r = [];
                        if (0 === this._eventsCount) return r;
                        for (e in t = this._events) a.call(t, e) && r.push(s ? e.slice(1) : e);
                        return Object.getOwnPropertySymbols ? r.concat(Object.getOwnPropertySymbols(t)) : r
                    }, o.prototype.listeners = function(t, e) {
                        var r = s ? s + t : t,
                            i = this._events[r];
                        if (e) return !!i;
                        if (!i) return [];
                        if (i.fn) return [i.fn];
                        for (var n = 0, o = i.length, a = new Array(o); n < o; n++) a[n] = i[n].fn;
                        return a
                    }, o.prototype.emit = function(t, e, r, i, n, o) {
                        var a = s ? s + t : t;
                        if (!this._events[a]) return !1;
                        var l, u, h = this._events[a],
                            c = arguments.length;
                        if (h.fn) {
                            switch (h.once && this.removeListener(t, h.fn, void 0, !0), c) {
                                case 1:
                                    return h.fn.call(h.context), !0;
                                case 2:
                                    return h.fn.call(h.context, e), !0;
                                case 3:
                                    return h.fn.call(h.context, e, r), !0;
                                case 4:
                                    return h.fn.call(h.context, e, r, i), !0;
                                case 5:
                                    return h.fn.call(h.context, e, r, i, n), !0;
                                case 6:
                                    return h.fn.call(h.context, e, r, i, n, o), !0
                            }
                            for (u = 1, l = new Array(c - 1); u < c; u++) l[u - 1] = arguments[u];
                            h.fn.apply(h.context, l)
                        } else {
                            var d, f = h.length;
                            for (u = 0; u < f; u++) switch (h[u].once && this.removeListener(t, h[u].fn, void 0, !0), c) {
                                case 1:
                                    h[u].fn.call(h[u].context);
                                    break;
                                case 2:
                                    h[u].fn.call(h[u].context, e);
                                    break;
                                case 3:
                                    h[u].fn.call(h[u].context, e, r);
                                    break;
                                case 4:
                                    h[u].fn.call(h[u].context, e, r, i);
                                    break;
                                default:
                                    if (!l)
                                        for (d = 1, l = new Array(c - 1); d < c; d++) l[d - 1] = arguments[d];
                                    h[u].fn.apply(h[u].context, l)
                            }
                        }
                        return !0
                    }, o.prototype.on = function(t, e, r) {
                        var i = new n(e, r || this),
                            o = s ? s + t : t;
                        return this._events[o] ? this._events[o].fn ? this._events[o] = [this._events[o], i] : this._events[o].push(i) : (this._events[o] = i, this._eventsCount++), this
                    }, o.prototype.once = function(t, e, r) {
                        var i = new n(e, r || this, !0),
                            o = s ? s + t : t;
                        return this._events[o] ? this._events[o].fn ? this._events[o] = [this._events[o], i] : this._events[o].push(i) : (this._events[o] = i, this._eventsCount++), this
                    }, o.prototype.removeListener = function(t, e, r, n) {
                        var o = s ? s + t : t;
                        if (!this._events[o]) return this;
                        if (!e) return 0 == --this._eventsCount ? this._events = new i : delete this._events[o], this;
                        var a = this._events[o];
                        if (a.fn) a.fn !== e || n && !a.once || r && a.context !== r || (0 == --this._eventsCount ? this._events = new i : delete this._events[o]);
                        else {
                            for (var l = 0, u = [], h = a.length; l < h; l++)(a[l].fn !== e || n && !a[l].once || r && a[l].context !== r) && u.push(a[l]);
                            u.length ? this._events[o] = 1 === u.length ? u[0] : u : 0 == --this._eventsCount ? this._events = new i : delete this._events[o]
                        }
                        return this
                    }, o.prototype.removeAllListeners = function(t) {
                        var e;
                        return t ? (e = s ? s + t : t, this._events[e] && (0 == --this._eventsCount ? this._events = new i : delete this._events[e])) : (this._events = new i, this._eventsCount = 0), this
                    }, o.prototype.off = o.prototype.removeListener, o.prototype.addListener = o.prototype.on, o.prototype.setMaxListeners = function() {
                        return this
                    }, o.prefixed = s, o.EventEmitter = o, void 0 !== e && (e.exports = o)
                }, {}],
                4: [function(e, r, i) {
                    ! function(e) {
                        function i(t, e) {
                            return t.test(e)
                        }

                        function n(t) {
                            var e = t || ("undefined" != typeof navigator ? navigator.userAgent : ""),
                                r = e.split("[FBAN");
                            void 0 !== r[1] && (e = r[0]), void 0 !== (r = e.split("Twitter"))[1] && (e = r[0]);
                            var n = {
                                apple: {
                                    phone: i(o, e) && !i(d, e),
                                    ipod: i(a, e),
                                    tablet: !i(o, e) && i(s, e) && !i(d, e),
                                    device: (i(o, e) || i(a, e) || i(s, e)) && !i(d, e)
                                },
                                amazon: {
                                    phone: i(h, e),
                                    tablet: !i(h, e) && i(c, e),
                                    device: i(h, e) || i(c, e)
                                },
                                android: {
                                    phone: !i(d, e) && i(h, e) || !i(d, e) && i(l, e),
                                    tablet: !i(d, e) && !i(h, e) && !i(l, e) && (i(c, e) || i(u, e)),
                                    device: !i(d, e) && (i(h, e) || i(c, e) || i(l, e) || i(u, e))
                                },
                                windows: {
                                    phone: i(d, e),
                                    tablet: i(f, e),
                                    device: i(d, e) || i(f, e)
                                },
                                other: {
                                    blackberry: i(p, e),
                                    blackberry10: i(g, e),
                                    opera: i(y, e),
                                    firefox: i(m, e),
                                    chrome: i(v, e),
                                    device: i(p, e) || i(g, e) || i(y, e) || i(m, e) || i(v, e)
                                }
                            };
                            return n.any = n.apple.device || n.android.device || n.windows.device || n.other.device, n.phone = n.apple.phone || n.android.phone || n.windows.phone, n.tablet = n.apple.tablet || n.android.tablet || n.windows.tablet, n
                        }
                        var o = /iPhone/i,
                            a = /iPod/i,
                            s = /iPad/i,
                            l = /\bAndroid(?:.+)Mobile\b/i,
                            u = /Android/i,
                            h = /\bAndroid(?:.+)SD4930UR\b/i,
                            c = /\bAndroid(?:.+)(?:KF[A-Z]{2,4})\b/i,
                            d = /Windows Phone/i,
                            f = /\bWindows(?:.+)ARM\b/i,
                            p = /BlackBerry/i,
                            g = /BB10/i,
                            y = /Opera Mini/i,
                            v = /\b(CriOS|Chrome)(?:.+)Mobile/i,
                            m = /\Mobile(?:.+)Firefox\b/i;
                        void 0 !== r && r.exports && "undefined" == typeof window ? r.exports = n : void 0 !== r && r.exports && "undefined" != typeof window ? r.exports = n() : "function" == typeof t && t.amd ? t([], e.isMobile = n()) : e.isMobile = n()
                    }(this)
                }, {}],
                5: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        return t._head ? (t._tail._next = e, e._prev = t._tail, t._tail = e) : (t._head = e, t._tail = e), e._owner = t, e
                    }
                    Object.defineProperty(r, "__esModule", {
                        value: !0
                    });
                    var o = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        a = function() {
                            function t(e, r, n) {
                                void 0 === r && (r = !1), i(this, t), this._fn = e, this._once = r, this._thisArg = n, this._next = this._prev = this._owner = null
                            }
                            return o(t, [{
                                key: "detach",
                                value: function() {
                                    return null !== this._owner && (this._owner.detach(this), !0)
                                }
                            }]), t
                        }(),
                        s = function() {
                            function t() {
                                i(this, t), this._head = this._tail = void 0
                            }
                            return o(t, [{
                                key: "handlers",
                                value: function() {
                                    var t = !(arguments.length <= 0 || void 0 === arguments[0]) && arguments[0],
                                        e = this._head;
                                    if (t) return !!e;
                                    for (var r = []; e;) r.push(e), e = e._next;
                                    return r
                                }
                            }, {
                                key: "has",
                                value: function(t) {
                                    if (!(t instanceof a)) throw new Error("MiniSignal#has(): First arg must be a MiniSignalBinding object.");
                                    return t._owner === this
                                }
                            }, {
                                key: "dispatch",
                                value: function() {
                                    var t = this._head;
                                    if (!t) return !1;
                                    for (; t;) t._once && this.detach(t), t._fn.apply(t._thisArg, arguments), t = t._next;
                                    return !0
                                }
                            }, {
                                key: "add",
                                value: function(t) {
                                    var e = arguments.length <= 1 || void 0 === arguments[1] ? null : arguments[1];
                                    if ("function" != typeof t) throw new Error("MiniSignal#add(): First arg must be a Function.");
                                    return n(this, new a(t, !1, e))
                                }
                            }, {
                                key: "once",
                                value: function(t) {
                                    var e = arguments.length <= 1 || void 0 === arguments[1] ? null : arguments[1];
                                    if ("function" != typeof t) throw new Error("MiniSignal#once(): First arg must be a Function.");
                                    return n(this, new a(t, !0, e))
                                }
                            }, {
                                key: "detach",
                                value: function(t) {
                                    if (!(t instanceof a)) throw new Error("MiniSignal#detach(): First arg must be a MiniSignalBinding object.");
                                    return t._owner !== this ? this : (t._prev && (t._prev._next = t._next), t._next && (t._next._prev = t._prev), t === this._head ? (this._head = t._next, null === t._next && (this._tail = null)) : t === this._tail && (this._tail = t._prev, this._tail._next = null), t._owner = null, this)
                                }
                            }, {
                                key: "detachAll",
                                value: function() {
                                    var t = this._head;
                                    if (!t) return this;
                                    for (this._head = this._tail = null; t;) t._owner = null, t = t._next;
                                    return this
                                }
                            }]), t
                        }();
                    s.MiniSignalBinding = a, r.default = s, e.exports = r.default
                }, {}],
                6: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        if (null === t || void 0 === t) throw new TypeError("Object.assign cannot be called with null or undefined");
                        return Object(t)
                    }
                    var n = Object.getOwnPropertySymbols,
                        o = Object.prototype.hasOwnProperty,
                        a = Object.prototype.propertyIsEnumerable;
                    e.exports = function() {
                        try {
                            if (!Object.assign) return !1;
                            var t = new String("abc");
                            if (t[5] = "de", "5" === Object.getOwnPropertyNames(t)[0]) return !1;
                            for (var e = {}, r = 0; r < 10; r++) e["_" + String.fromCharCode(r)] = r;
                            if ("0123456789" !== Object.getOwnPropertyNames(e).map(function(t) {
                                    return e[t]
                                }).join("")) return !1;
                            var i = {};
                            return "abcdefghijklmnopqrst".split("").forEach(function(t) {
                                i[t] = t
                            }), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, i)).join("")
                        } catch (t) {
                            return !1
                        }
                    }() ? Object.assign : function(t, e) {
                        for (var r, s, l = i(t), u = 1; u < arguments.length; u++) {
                            r = Object(arguments[u]);
                            for (var h in r) o.call(r, h) && (l[h] = r[h]);
                            if (n) {
                                s = n(r);
                                for (var c = 0; c < s.length; c++) a.call(r, s[c]) && (l[s[c]] = r[s[c]])
                            }
                        }
                        return l
                    }
                }, {}],
                7: [function(t, e, r) {
                    "use strict";
                    e.exports = function(t, e) {
                        e = e || {};
                        for (var r = {
                                key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
                                q: {
                                    name: "queryKey",
                                    parser: /(?:^|&)([^&=]*)=?([^&]*)/g
                                },
                                parser: {
                                    strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
                                    loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
                                }
                            }, i = r.parser[e.strictMode ? "strict" : "loose"].exec(t), n = {}, o = 14; o--;) n[r.key[o]] = i[o] || "";
                        return n[r.q.name] = {}, n[r.key[12]].replace(r.q.parser, function(t, e, i) {
                            e && (n[r.q.name][e] = i)
                        }), n
                    }
                }, {}],
                8: [function(t, e, r) {
                    (function(t) {
                        function e(t, e) {
                            for (var r = 0, i = t.length - 1; i >= 0; i--) {
                                var n = t[i];
                                "." === n ? t.splice(i, 1) : ".." === n ? (t.splice(i, 1), r++) : r && (t.splice(i, 1), r--)
                            }
                            if (e)
                                for (; r--; r) t.unshift("..");
                            return t
                        }

                        function i(t, e) {
                            if (t.filter) return t.filter(e);
                            for (var r = [], i = 0; i < t.length; i++) e(t[i], i, t) && r.push(t[i]);
                            return r
                        }
                        var n = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,
                            o = function(t) {
                                return n.exec(t).slice(1)
                            };
                        r.resolve = function() {
                            for (var r = "", n = !1, o = arguments.length - 1; o >= -1 && !n; o--) {
                                var a = o >= 0 ? arguments[o] : t.cwd();
                                if ("string" != typeof a) throw new TypeError("Arguments to path.resolve must be strings");
                                a && (r = a + "/" + r, n = "/" === a.charAt(0))
                            }
                            return r = e(i(r.split("/"), function(t) {
                                return !!t
                            }), !n).join("/"), (n ? "/" : "") + r || "."
                        }, r.normalize = function(t) {
                            var n = r.isAbsolute(t),
                                o = "/" === a(t, -1);
                            return t = e(i(t.split("/"), function(t) {
                                return !!t
                            }), !n).join("/"), t || n || (t = "."), t && o && (t += "/"), (n ? "/" : "") + t
                        }, r.isAbsolute = function(t) {
                            return "/" === t.charAt(0)
                        }, r.join = function() {
                            var t = Array.prototype.slice.call(arguments, 0);
                            return r.normalize(i(t, function(t, e) {
                                if ("string" != typeof t) throw new TypeError("Arguments to path.join must be strings");
                                return t
                            }).join("/"))
                        }, r.relative = function(t, e) {
                            function i(t) {
                                for (var e = 0; e < t.length && "" === t[e]; e++);
                                for (var r = t.length - 1; r >= 0 && "" === t[r]; r--);
                                return e > r ? [] : t.slice(e, r - e + 1)
                            }
                            t = r.resolve(t).substr(1), e = r.resolve(e).substr(1);
                            for (var n = i(t.split("/")), o = i(e.split("/")), a = Math.min(n.length, o.length), s = a, l = 0; l < a; l++)
                                if (n[l] !== o[l]) {
                                    s = l;
                                    break
                                }
                            for (var u = [], l = s; l < n.length; l++) u.push("..");
                            return u = u.concat(o.slice(s)), u.join("/")
                        }, r.sep = "/", r.delimiter = ":", r.dirname = function(t) {
                            var e = o(t),
                                r = e[0],
                                i = e[1];
                            return r || i ? (i && (i = i.substr(0, i.length - 1)), r + i) : "."
                        }, r.basename = function(t, e) {
                            var r = o(t)[2];
                            return e && r.substr(-1 * e.length) === e && (r = r.substr(0, r.length - e.length)), r
                        }, r.extname = function(t) {
                            return o(t)[3]
                        };
                        var a = "b" === "ab".substr(-1) ? function(t, e, r) {
                            return t.substr(e, r)
                        } : function(t, e, r) {
                            return e < 0 && (e = t.length + e), t.substr(e, r)
                        }
                    }).call(this, t("_process"))
                }, {
                    _process: 26
                }],
                9: [function(t, e, r) {
                    var i = new ArrayBuffer(0),
                        n = function(t, e, r, n) {
                            this.gl = t, this.buffer = t.createBuffer(), this.type = e || t.ARRAY_BUFFER, this.drawType = n || t.STATIC_DRAW, this.data = i, r && this.upload(r), this._updateID = 0
                        };
                    n.prototype.upload = function(t, e, r) {
                        r || this.bind();
                        var i = this.gl;
                        t = t || this.data, e = e || 0, this.data.byteLength >= t.byteLength ? i.bufferSubData(this.type, e, t) : i.bufferData(this.type, t, this.drawType), this.data = t
                    }, n.prototype.bind = function() {
                        this.gl.bindBuffer(this.type, this.buffer)
                    }, n.createVertexBuffer = function(t, e, r) {
                        return new n(t, t.ARRAY_BUFFER, e, r)
                    }, n.createIndexBuffer = function(t, e, r) {
                        return new n(t, t.ELEMENT_ARRAY_BUFFER, e, r)
                    }, n.create = function(t, e, r, i) {
                        return new n(t, e, r, i)
                    }, n.prototype.destroy = function() {
                        this.gl.deleteBuffer(this.buffer)
                    }, e.exports = n
                }, {}],
                10: [function(t, e, r) {
                    var i = t("./GLTexture"),
                        n = function(t, e, r) {
                            this.gl = t, this.framebuffer = t.createFramebuffer(), this.stencil = null, this.texture = null, this.width = e || 100, this.height = r || 100
                        };
                    n.prototype.enableTexture = function(t) {
                        var e = this.gl;
                        this.texture = t || new i(e), this.texture.bind(), this.bind(), e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, this.texture.texture, 0)
                    }, n.prototype.enableStencil = function() {
                        if (!this.stencil) {
                            var t = this.gl;
                            this.stencil = t.createRenderbuffer(), t.bindRenderbuffer(t.RENDERBUFFER, this.stencil), t.framebufferRenderbuffer(t.FRAMEBUFFER, t.DEPTH_STENCIL_ATTACHMENT, t.RENDERBUFFER, this.stencil), t.renderbufferStorage(t.RENDERBUFFER, t.DEPTH_STENCIL, this.width, this.height)
                        }
                    }, n.prototype.clear = function(t, e, r, i) {
                        this.bind();
                        var n = this.gl;
                        n.clearColor(t, e, r, i), n.clear(n.COLOR_BUFFER_BIT | n.DEPTH_BUFFER_BIT)
                    }, n.prototype.bind = function() {
                        var t = this.gl;
                        t.bindFramebuffer(t.FRAMEBUFFER, this.framebuffer)
                    }, n.prototype.unbind = function() {
                        var t = this.gl;
                        t.bindFramebuffer(t.FRAMEBUFFER, null)
                    }, n.prototype.resize = function(t, e) {
                        var r = this.gl;
                        this.width = t, this.height = e, this.texture && this.texture.uploadData(null, t, e), this.stencil && (r.bindRenderbuffer(r.RENDERBUFFER, this.stencil), r.renderbufferStorage(r.RENDERBUFFER, r.DEPTH_STENCIL, t, e))
                    }, n.prototype.destroy = function() {
                        var t = this.gl;
                        this.texture && this.texture.destroy(), t.deleteFramebuffer(this.framebuffer), this.gl = null, this.stencil = null, this.texture = null
                    }, n.createRGBA = function(t, e, r, o) {
                        var a = i.fromData(t, null, e, r);
                        a.enableNearestScaling(), a.enableWrapClamp();
                        var s = new n(t, e, r);
                        return s.enableTexture(a), s.unbind(), s
                    }, n.createFloat32 = function(t, e, r, o) {
                        var a = new i.fromData(t, o, e, r);
                        a.enableNearestScaling(), a.enableWrapClamp();
                        var s = new n(t, e, r);
                        return s.enableTexture(a), s.unbind(), s
                    }, e.exports = n
                }, {
                    "./GLTexture": 12
                }],
                11: [function(t, e, r) {
                    var i = t("./shader/compileProgram"),
                        n = t("./shader/extractAttributes"),
                        o = t("./shader/extractUniforms"),
                        a = t("./shader/setPrecision"),
                        s = t("./shader/generateUniformAccessObject"),
                        l = function(t, e, r, l, u) {
                            this.gl = t, l && (e = a(e, l), r = a(r, l)), this.program = i(t, e, r, u), this.attributes = n(t, this.program), this.uniformData = o(t, this.program), this.uniforms = s(t, this.uniformData)
                        };
                    l.prototype.bind = function() {
                        return this.gl.useProgram(this.program), this
                    }, l.prototype.destroy = function() {
                        this.attributes = null, this.uniformData = null, this.uniforms = null, this.gl.deleteProgram(this.program)
                    }, e.exports = l
                }, {
                    "./shader/compileProgram": 17,
                    "./shader/extractAttributes": 19,
                    "./shader/extractUniforms": 20,
                    "./shader/generateUniformAccessObject": 21,
                    "./shader/setPrecision": 25
                }],
                12: [function(t, e, r) {
                    var i = function(t, e, r, i, n) {
                        this.gl = t, this.texture = t.createTexture(), this.mipmap = !1, this.premultiplyAlpha = !1, this.width = e || -1, this.height = r || -1, this.format = i || t.RGBA, this.type = n || t.UNSIGNED_BYTE
                    };
                    i.prototype.upload = function(t) {
                        this.bind();
                        var e = this.gl;
                        e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.premultiplyAlpha);
                        var r = t.videoWidth || t.width,
                            i = t.videoHeight || t.height;
                        i !== this.height || r !== this.width ? e.texImage2D(e.TEXTURE_2D, 0, this.format, this.format, this.type, t) : e.texSubImage2D(e.TEXTURE_2D, 0, 0, 0, this.format, this.type, t), this.width = r, this.height = i
                    };
                    var n = !1;
                    i.prototype.uploadData = function(t, e, r) {
                        this.bind();
                        var i = this.gl;
                        if (t instanceof Float32Array) {
                            if (!n) {
                                if (!i.getExtension("OES_texture_float")) throw new Error("floating point textures not available");
                                n = !0
                            }
                            this.type = i.FLOAT
                        } else this.type = this.type || i.UNSIGNED_BYTE;
                        i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.premultiplyAlpha), e !== this.width || r !== this.height ? i.texImage2D(i.TEXTURE_2D, 0, this.format, e, r, 0, this.format, this.type, t || null) : i.texSubImage2D(i.TEXTURE_2D, 0, 0, 0, e, r, this.format, this.type, t || null), this.width = e, this.height = r
                    }, i.prototype.bind = function(t) {
                        var e = this.gl;
                        void 0 !== t && e.activeTexture(e.TEXTURE0 + t), e.bindTexture(e.TEXTURE_2D, this.texture)
                    }, i.prototype.unbind = function() {
                        var t = this.gl;
                        t.bindTexture(t.TEXTURE_2D, null)
                    }, i.prototype.minFilter = function(t) {
                        var e = this.gl;
                        this.bind(), this.mipmap ? e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, t ? e.LINEAR_MIPMAP_LINEAR : e.NEAREST_MIPMAP_NEAREST) : e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, t ? e.LINEAR : e.NEAREST)
                    }, i.prototype.magFilter = function(t) {
                        var e = this.gl;
                        this.bind(), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, t ? e.LINEAR : e.NEAREST)
                    }, i.prototype.enableMipmap = function() {
                        var t = this.gl;
                        this.bind(), this.mipmap = !0, t.generateMipmap(t.TEXTURE_2D)
                    }, i.prototype.enableLinearScaling = function() {
                        this.minFilter(!0), this.magFilter(!0)
                    }, i.prototype.enableNearestScaling = function() {
                        this.minFilter(!1), this.magFilter(!1)
                    }, i.prototype.enableWrapClamp = function() {
                        var t = this.gl;
                        this.bind(), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE)
                    }, i.prototype.enableWrapRepeat = function() {
                        var t = this.gl;
                        this.bind(), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.REPEAT), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.REPEAT)
                    }, i.prototype.enableWrapMirrorRepeat = function() {
                        var t = this.gl;
                        this.bind(), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.MIRRORED_REPEAT), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.MIRRORED_REPEAT)
                    }, i.prototype.destroy = function() {
                        this.gl.deleteTexture(this.texture)
                    }, i.fromSource = function(t, e, r) {
                        var n = new i(t);
                        return n.premultiplyAlpha = r || !1, n.upload(e), n
                    }, i.fromData = function(t, e, r, n) {
                        var o = new i(t);
                        return o.uploadData(e, r, n), o
                    }, e.exports = i
                }, {}],
                13: [function(t, e, r) {
                    function i(t, e) {
                        if (this.nativeVaoExtension = null, i.FORCE_NATIVE || (this.nativeVaoExtension = t.getExtension("OES_vertex_array_object") || t.getExtension("MOZ_OES_vertex_array_object") || t.getExtension("WEBKIT_OES_vertex_array_object")), this.nativeState = e, this.nativeVaoExtension) {
                            this.nativeVao = this.nativeVaoExtension.createVertexArrayOES();
                            var r = t.getParameter(t.MAX_VERTEX_ATTRIBS);
                            this.nativeState = {
                                tempAttribState: new Array(r),
                                attribState: new Array(r)
                            }
                        }
                        this.gl = t, this.attributes = [], this.indexBuffer = null, this.dirty = !1
                    }
                    var n = t("./setVertexAttribArrays");
                    i.prototype.constructor = i, e.exports = i, i.FORCE_NATIVE = !1, i.prototype.bind = function() {
                        if (this.nativeVao) {
                            if (this.nativeVaoExtension.bindVertexArrayOES(this.nativeVao), this.dirty) return this.dirty = !1, this.activate(), this;
                            this.indexBuffer && this.indexBuffer.bind()
                        } else this.activate();
                        return this
                    }, i.prototype.unbind = function() {
                        return this.nativeVao && this.nativeVaoExtension.bindVertexArrayOES(null), this
                    }, i.prototype.activate = function() {
                        for (var t = this.gl, e = null, r = 0; r < this.attributes.length; r++) {
                            var i = this.attributes[r];
                            e !== i.buffer && (i.buffer.bind(), e = i.buffer), t.vertexAttribPointer(i.attribute.location, i.attribute.size, i.type || t.FLOAT, i.normalized || !1, i.stride || 0, i.start || 0)
                        }
                        return n(t, this.attributes, this.nativeState), this.indexBuffer && this.indexBuffer.bind(), this
                    }, i.prototype.addAttribute = function(t, e, r, i, n, o) {
                        return this.attributes.push({
                            buffer: t,
                            attribute: e,
                            location: e.location,
                            type: r || this.gl.FLOAT,
                            normalized: i || !1,
                            stride: n || 0,
                            start: o || 0
                        }), this.dirty = !0, this
                    }, i.prototype.addIndex = function(t) {
                        return this.indexBuffer = t, this.dirty = !0, this
                    }, i.prototype.clear = function() {
                        return this.nativeVao && this.nativeVaoExtension.bindVertexArrayOES(this.nativeVao), this.attributes.length = 0, this.indexBuffer = null, this
                    }, i.prototype.draw = function(t, e, r) {
                        var i = this.gl;
                        return this.indexBuffer ? i.drawElements(t, e || this.indexBuffer.data.length, i.UNSIGNED_SHORT, 2 * (r || 0)) : i.drawArrays(t, r, e || this.getSize()), this
                    }, i.prototype.destroy = function() {
                        this.gl = null, this.indexBuffer = null, this.attributes = null, this.nativeState = null, this.nativeVao && this.nativeVaoExtension.deleteVertexArrayOES(this.nativeVao), this.nativeVaoExtension = null, this.nativeVao = null
                    }, i.prototype.getSize = function() {
                        var t = this.attributes[0];
                        return t.buffer.data.length / (t.stride / 4 || t.attribute.size)
                    }
                }, {
                    "./setVertexAttribArrays": 16
                }],
                14: [function(t, e, r) {
                    var i = function(t, e) {
                        var r = t.getContext("webgl", e) || t.getContext("experimental-webgl", e);
                        if (!r) throw new Error("This browser does not support webGL. Try using the canvas renderer");
                        return r
                    };
                    e.exports = i
                }, {}],
                15: [function(t, e, r) {
                    var i = {
                        createContext: t("./createContext"),
                        setVertexAttribArrays: t("./setVertexAttribArrays"),
                        GLBuffer: t("./GLBuffer"),
                        GLFramebuffer: t("./GLFramebuffer"),
                        GLShader: t("./GLShader"),
                        GLTexture: t("./GLTexture"),
                        VertexArrayObject: t("./VertexArrayObject"),
                        shader: t("./shader")
                    };
                    void 0 !== e && e.exports && (e.exports = i), "undefined" != typeof window && (window.PIXI = window.PIXI || {}, window.PIXI.glCore = i)
                }, {
                    "./GLBuffer": 9,
                    "./GLFramebuffer": 10,
                    "./GLShader": 11,
                    "./GLTexture": 12,
                    "./VertexArrayObject": 13,
                    "./createContext": 14,
                    "./setVertexAttribArrays": 16,
                    "./shader": 22
                }],
                16: [function(t, e, r) {
                    var i = function(t, e, r) {
                        var i;
                        if (r) {
                            var n = r.tempAttribState,
                                o = r.attribState;
                            for (i = 0; i < n.length; i++) n[i] = !1;
                            for (i = 0; i < e.length; i++) n[e[i].attribute.location] = !0;
                            for (i = 0; i < o.length; i++) o[i] !== n[i] && (o[i] = n[i], r.attribState[i] ? t.enableVertexAttribArray(i) : t.disableVertexAttribArray(i))
                        } else
                            for (i = 0; i < e.length; i++) {
                                var a = e[i];
                                t.enableVertexAttribArray(a.attribute.location)
                            }
                    };
                    e.exports = i
                }, {}],
                17: [function(t, e, r) {
                    var i = function(t, e, r, i) {
                            var o = n(t, t.VERTEX_SHADER, e),
                                a = n(t, t.FRAGMENT_SHADER, r),
                                s = t.createProgram();
                            if (t.attachShader(s, o), t.attachShader(s, a), i)
                                for (var l in i) t.bindAttribLocation(s, i[l], l);
                            return t.linkProgram(s), t.getProgramParameter(s, t.LINK_STATUS) || (t.getProgramInfoLog(s), t.deleteProgram(s), s = null), t.deleteShader(o), t.deleteShader(a), s
                        },
                        n = function(t, e, r) {
                            var i = t.createShader(e);
                            return t.shaderSource(i, r), t.compileShader(i), t.getShaderParameter(i, t.COMPILE_STATUS) ? i : null
                        };
                    e.exports = i
                }, {}],
                18: [function(t, e, r) {
                    var i = function(t, e) {
                            switch (t) {
                                case "float":
                                    return 0;
                                case "vec2":
                                    return new Float32Array(2 * e);
                                case "vec3":
                                    return new Float32Array(3 * e);
                                case "vec4":
                                    return new Float32Array(4 * e);
                                case "int":
                                case "sampler2D":
                                    return 0;
                                case "ivec2":
                                    return new Int32Array(2 * e);
                                case "ivec3":
                                    return new Int32Array(3 * e);
                                case "ivec4":
                                    return new Int32Array(4 * e);
                                case "bool":
                                    return !1;
                                case "bvec2":
                                    return n(2 * e);
                                case "bvec3":
                                    return n(3 * e);
                                case "bvec4":
                                    return n(4 * e);
                                case "mat2":
                                    return new Float32Array([1, 0, 0, 1]);
                                case "mat3":
                                    return new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
                                case "mat4":
                                    return new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1])
                            }
                        },
                        n = function(t) {
                            for (var e = new Array(t), r = 0; r < e.length; r++) e[r] = !1;
                            return e
                        };
                    e.exports = i
                }, {}],
                19: [function(t, e, r) {
                    var i = t("./mapType"),
                        n = t("./mapSize"),
                        o = function(t, e) {
                            for (var r = {}, o = t.getProgramParameter(e, t.ACTIVE_ATTRIBUTES), s = 0; s < o; s++) {
                                var l = t.getActiveAttrib(e, s),
                                    u = i(t, l.type);
                                r[l.name] = {
                                    type: u,
                                    size: n(u),
                                    location: t.getAttribLocation(e, l.name),
                                    pointer: a
                                }
                            }
                            return r
                        },
                        a = function(t, e, r, i) {
                            gl.vertexAttribPointer(this.location, this.size, t || gl.FLOAT, e || !1, r || 0, i || 0)
                        };
                    e.exports = o
                }, {
                    "./mapSize": 23,
                    "./mapType": 24
                }],
                20: [function(t, e, r) {
                    var i = t("./mapType"),
                        n = t("./defaultValue"),
                        o = function(t, e) {
                            for (var r = {}, o = t.getProgramParameter(e, t.ACTIVE_UNIFORMS), a = 0; a < o; a++) {
                                var s = t.getActiveUniform(e, a),
                                    l = s.name.replace(/\[.*?\]/, ""),
                                    u = i(t, s.type);
                                r[l] = {
                                    type: u,
                                    size: s.size,
                                    location: t.getUniformLocation(e, l),
                                    value: n(u, s.size)
                                }
                            }
                            return r
                        };
                    e.exports = o
                }, {
                    "./defaultValue": 18,
                    "./mapType": 24
                }],
                21: [function(t, e, r) {
                    function i(t, e) {
                        return function(r) {
                            this.data[t].value = r;
                            var i = this.data[t].location;
                            1 === e.size ? s[e.type](this.gl, i, r) : l[e.type](this.gl, i, r)
                        }
                    }

                    function n(t, e) {
                        for (var r = e, i = 0; i < t.length - 1; i++) {
                            var n = r[t[i]] || {
                                data: {}
                            };
                            r[t[i]] = n, r = n
                        }
                        return r
                    }
                    var o = function(t, e) {
                            var r = {
                                data: {}
                            };
                            r.gl = t;
                            for (var o = Object.keys(e), s = 0; s < o.length; s++) {
                                var l = o[s],
                                    u = l.split("."),
                                    h = u[u.length - 1],
                                    c = n(u, r),
                                    d = e[l];
                                c.data[h] = d, c.gl = t, Object.defineProperty(c, h, {
                                    get: a(h),
                                    set: i(h, d)
                                })
                            }
                            return r
                        },
                        a = function(t) {
                            return function() {
                                return this.data[t].value
                            }
                        },
                        s = {
                            float: function(t, e, r) {
                                t.uniform1f(e, r)
                            },
                            vec2: function(t, e, r) {
                                t.uniform2f(e, r[0], r[1])
                            },
                            vec3: function(t, e, r) {
                                t.uniform3f(e, r[0], r[1], r[2])
                            },
                            vec4: function(t, e, r) {
                                t.uniform4f(e, r[0], r[1], r[2], r[3])
                            },
                            int: function(t, e, r) {
                                t.uniform1i(e, r)
                            },
                            ivec2: function(t, e, r) {
                                t.uniform2i(e, r[0], r[1])
                            },
                            ivec3: function(t, e, r) {
                                t.uniform3i(e, r[0], r[1], r[2])
                            },
                            ivec4: function(t, e, r) {
                                t.uniform4i(e, r[0], r[1], r[2], r[3])
                            },
                            bool: function(t, e, r) {
                                t.uniform1i(e, r)
                            },
                            bvec2: function(t, e, r) {
                                t.uniform2i(e, r[0], r[1])
                            },
                            bvec3: function(t, e, r) {
                                t.uniform3i(e, r[0], r[1], r[2])
                            },
                            bvec4: function(t, e, r) {
                                t.uniform4i(e, r[0], r[1], r[2], r[3])
                            },
                            mat2: function(t, e, r) {
                                t.uniformMatrix2fv(e, !1, r)
                            },
                            mat3: function(t, e, r) {
                                t.uniformMatrix3fv(e, !1, r)
                            },
                            mat4: function(t, e, r) {
                                t.uniformMatrix4fv(e, !1, r)
                            },
                            sampler2D: function(t, e, r) {
                                t.uniform1i(e, r)
                            }
                        },
                        l = {
                            float: function(t, e, r) {
                                t.uniform1fv(e, r)
                            },
                            vec2: function(t, e, r) {
                                t.uniform2fv(e, r)
                            },
                            vec3: function(t, e, r) {
                                t.uniform3fv(e, r)
                            },
                            vec4: function(t, e, r) {
                                t.uniform4fv(e, r)
                            },
                            int: function(t, e, r) {
                                t.uniform1iv(e, r)
                            },
                            ivec2: function(t, e, r) {
                                t.uniform2iv(e, r)
                            },
                            ivec3: function(t, e, r) {
                                t.uniform3iv(e, r)
                            },
                            ivec4: function(t, e, r) {
                                t.uniform4iv(e, r)
                            },
                            bool: function(t, e, r) {
                                t.uniform1iv(e, r)
                            },
                            bvec2: function(t, e, r) {
                                t.uniform2iv(e, r)
                            },
                            bvec3: function(t, e, r) {
                                t.uniform3iv(e, r)
                            },
                            bvec4: function(t, e, r) {
                                t.uniform4iv(e, r)
                            },
                            sampler2D: function(t, e, r) {
                                t.uniform1iv(e, r)
                            }
                        };
                    e.exports = o
                }, {}],
                22: [function(t, e, r) {
                    e.exports = {
                        compileProgram: t("./compileProgram"),
                        defaultValue: t("./defaultValue"),
                        extractAttributes: t("./extractAttributes"),
                        extractUniforms: t("./extractUniforms"),
                        generateUniformAccessObject: t("./generateUniformAccessObject"),
                        setPrecision: t("./setPrecision"),
                        mapSize: t("./mapSize"),
                        mapType: t("./mapType")
                    }
                }, {
                    "./compileProgram": 17,
                    "./defaultValue": 18,
                    "./extractAttributes": 19,
                    "./extractUniforms": 20,
                    "./generateUniformAccessObject": 21,
                    "./mapSize": 23,
                    "./mapType": 24,
                    "./setPrecision": 25
                }],
                23: [function(t, e, r) {
                    var i = function(t) {
                            return n[t]
                        },
                        n = {
                            float: 1,
                            vec2: 2,
                            vec3: 3,
                            vec4: 4,
                            int: 1,
                            ivec2: 2,
                            ivec3: 3,
                            ivec4: 4,
                            bool: 1,
                            bvec2: 2,
                            bvec3: 3,
                            bvec4: 4,
                            mat2: 4,
                            mat3: 9,
                            mat4: 16,
                            sampler2D: 1
                        };
                    e.exports = i
                }, {}],
                24: [function(t, e, r) {
                    var i = function(t, e) {
                            if (!n) {
                                var r = Object.keys(o);
                                n = {};
                                for (var i = 0; i < r.length; ++i) {
                                    var a = r[i];
                                    n[t[a]] = o[a]
                                }
                            }
                            return n[e]
                        },
                        n = null,
                        o = {
                            FLOAT: "float",
                            FLOAT_VEC2: "vec2",
                            FLOAT_VEC3: "vec3",
                            FLOAT_VEC4: "vec4",
                            INT: "int",
                            INT_VEC2: "ivec2",
                            INT_VEC3: "ivec3",
                            INT_VEC4: "ivec4",
                            BOOL: "bool",
                            BOOL_VEC2: "bvec2",
                            BOOL_VEC3: "bvec3",
                            BOOL_VEC4: "bvec4",
                            FLOAT_MAT2: "mat2",
                            FLOAT_MAT3: "mat3",
                            FLOAT_MAT4: "mat4",
                            SAMPLER_2D: "sampler2D"
                        };
                    e.exports = i
                }, {}],
                25: [function(t, e, r) {
                    var i = function(t, e) {
                        return "precision" !== t.substring(0, 9) ? "precision " + e + " float;\n" + t : t
                    };
                    e.exports = i
                }, {}],
                26: [function(t, e, r) {
                    function i() {
                        throw new Error("setTimeout has not been defined")
                    }

                    function n() {
                        throw new Error("clearTimeout has not been defined")
                    }

                    function o(t) {
                        if (c === setTimeout) return setTimeout(t, 0);
                        if ((c === i || !c) && setTimeout) return c = setTimeout, setTimeout(t, 0);
                        try {
                            return c(t, 0)
                        } catch (e) {
                            try {
                                return c.call(null, t, 0)
                            } catch (e) {
                                return c.call(this, t, 0)
                            }
                        }
                    }

                    function a(t) {
                        if (d === clearTimeout) return clearTimeout(t);
                        if ((d === n || !d) && clearTimeout) return d = clearTimeout, clearTimeout(t);
                        try {
                            return d(t)
                        } catch (e) {
                            try {
                                return d.call(null, t)
                            } catch (e) {
                                return d.call(this, t)
                            }
                        }
                    }

                    function s() {
                        y && p && (y = !1, p.length ? g = p.concat(g) : v = -1, g.length && l())
                    }

                    function l() {
                        if (!y) {
                            var t = o(s);
                            y = !0;
                            for (var e = g.length; e;) {
                                for (p = g, g = []; ++v < e;) p && p[v].run();
                                v = -1, e = g.length
                            }
                            p = null, y = !1, a(t)
                        }
                    }

                    function u(t, e) {
                        this.fun = t, this.array = e
                    }

                    function h() {}
                    var c, d, f = e.exports = {};
                    ! function() {
                        try {
                            c = "function" == typeof setTimeout ? setTimeout : i
                        } catch (t) {
                            c = i
                        }
                        try {
                            d = "function" == typeof clearTimeout ? clearTimeout : n
                        } catch (t) {
                            d = n
                        }
                    }();
                    var p, g = [],
                        y = !1,
                        v = -1;
                    f.nextTick = function(t) {
                        var e = new Array(arguments.length - 1);
                        if (arguments.length > 1)
                            for (var r = 1; r < arguments.length; r++) e[r - 1] = arguments[r];
                        g.push(new u(t, e)), 1 !== g.length || y || o(l)
                    }, u.prototype.run = function() {
                        this.fun.apply(null, this.array)
                    }, f.title = "browser", f.browser = !0, f.env = {}, f.argv = [], f.version = "", f.versions = {}, f.on = h, f.addListener = h, f.once = h, f.off = h, f.removeListener = h, f.removeAllListeners = h, f.emit = h, f.prependListener = h, f.prependOnceListener = h, f.listeners = function(t) {
                        return []
                    }, f.binding = function(t) {
                        throw new Error("process.binding is not supported")
                    }, f.cwd = function() {
                        return "/"
                    }, f.chdir = function(t) {
                        throw new Error("process.chdir is not supported")
                    }, f.umask = function() {
                        return 0
                    }
                }, {}],
                27: [function(e, r, i) {
                    (function(e) {
                        ! function(n) {
                            function o(t) {
                                throw new RangeError(L[t])
                            }

                            function a(t, e) {
                                for (var r = t.length, i = []; r--;) i[r] = e(t[r]);
                                return i
                            }

                            function s(t, e) {
                                var r = t.split("@"),
                                    i = "";
                                return r.length > 1 && (i = r[0] + "@", t = r[1]), t = t.replace(I, "."), i + a(t.split("."), e).join(".")
                            }

                            function l(t) {
                                for (var e, r, i = [], n = 0, o = t.length; n < o;) e = t.charCodeAt(n++), e >= 55296 && e <= 56319 && n < o ? (r = t.charCodeAt(n++), 56320 == (64512 & r) ? i.push(((1023 & e) << 10) + (1023 & r) + 65536) : (i.push(e), n--)) : i.push(e);
                                return i
                            }

                            function u(t) {
                                return a(t, function(t) {
                                    var e = "";
                                    return t > 65535 && (t -= 65536, e += N(t >>> 10 & 1023 | 55296), t = 56320 | 1023 & t), e += N(t)
                                }).join("")
                            }

                            function h(t) {
                                return t - 48 < 10 ? t - 22 : t - 65 < 26 ? t - 65 : t - 97 < 26 ? t - 97 : w
                            }

                            function c(t, e) {
                                return t + 22 + 75 * (t < 26) - ((0 != e) << 5)
                            }

                            function d(t, e, r) {
                                var i = 0;
                                for (t = r ? F(t / O) : t >> 1, t += F(t / e); t > k * E >> 1; i += w) t = F(t / k);
                                return F(i + (k + 1) * t / (t + C))
                            }

                            function f(t) {
                                var e, r, i, n, a, s, l, c, f, p, g = [],
                                    y = t.length,
                                    v = 0,
                                    m = P,
                                    x = M;
                                for (r = t.lastIndexOf(R), r < 0 && (r = 0), i = 0; i < r; ++i) t.charCodeAt(i) >= 128 && o("not-basic"), g.push(t.charCodeAt(i));
                                for (n = r > 0 ? r + 1 : 0; n < y;) {
                                    for (a = v, s = 1, l = w; n >= y && o("invalid-input"), c = h(t.charCodeAt(n++)), (c >= w || c > F((b - v) / s)) && o("overflow"), v += c * s, f = l <= x ? S : l >= x + E ? E : l - x, !(c < f); l += w) p = w - f, s > F(b / p) && o("overflow"), s *= p;
                                    e = g.length + 1, x = d(v - a, e, 0 == a), F(v / e) > b - m && o("overflow"), m += F(v / e), v %= e, g.splice(v++, 0, m)
                                }
                                return u(g)
                            }

                            function p(t) {
                                var e, r, i, n, a, s, u, h, f, p, g, y, v, m, x, _ = [];
                                for (t = l(t), y = t.length, e = P, r = 0, a = M, s = 0; s < y; ++s)(g = t[s]) < 128 && _.push(N(g));
                                for (i = n = _.length, n && _.push(R); i < y;) {
                                    for (u = b, s = 0; s < y; ++s)(g = t[s]) >= e && g < u && (u = g);
                                    for (v = i + 1, u - e > F((b - r) / v) && o("overflow"), r += (u - e) * v, e = u, s = 0; s < y; ++s)
                                        if (g = t[s], g < e && ++r > b && o("overflow"), g == e) {
                                            for (h = r, f = w; p = f <= a ? S : f >= a + E ? E : f - a, !(h < p); f += w) x = h - p, m = w - p, _.push(N(c(p + x % m, 0))), h = F(x / m);
                                            _.push(N(c(h, 0))), a = d(r, v, i == n), r = 0, ++i
                                        }++r, ++e
                                }
                                return _.join("")
                            }

                            function g(t) {
                                return s(t, function(t) {
                                    return A.test(t) ? f(t.slice(4).toLowerCase()) : t
                                })
                            }

                            function y(t) {
                                return s(t, function(t) {
                                    return D.test(t) ? "xn--" + p(t) : t
                                })
                            }
                            var v = "object" == typeof i && i && !i.nodeType && i,
                                m = "object" == typeof r && r && !r.nodeType && r,
                                x = "object" == typeof e && e;
                            x.global !== x && x.window !== x && x.self !== x || (n = x);
                            var _, T, b = 2147483647,
                                w = 36,
                                S = 1,
                                E = 26,
                                C = 38,
                                O = 700,
                                M = 72,
                                P = 128,
                                R = "-",
                                A = /^xn--/,
                                D = /[^\x20-\x7E]/,
                                I = /[\x2E\u3002\uFF0E\uFF61]/g,
                                L = {
                                    overflow: "Overflow: input needs wider integers to process",
                                    "not-basic": "Illegal input >= 0x80 (not a basic code point)",
                                    "invalid-input": "Invalid input"
                                },
                                k = w - S,
                                F = Math.floor,
                                N = String.fromCharCode;
                            if (_ = {
                                    version: "1.4.1",
                                    ucs2: {
                                        decode: l,
                                        encode: u
                                    },
                                    decode: f,
                                    encode: p,
                                    toASCII: y,
                                    toUnicode: g
                                }, "function" == typeof t && "object" == typeof t.amd && t.amd) t("punycode", function() {
                                return _
                            });
                            else if (v && m)
                                if (r.exports == v) m.exports = _;
                                else
                                    for (T in _) _.hasOwnProperty(T) && (v[T] = _[T]);
                            else n.punycode = _
                        }(this)
                    }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
                }, {}],
                28: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        return Object.prototype.hasOwnProperty.call(t, e)
                    }
                    e.exports = function(t, e, r, o) {
                        e = e || "&", r = r || "=";
                        var a = {};
                        if ("string" != typeof t || 0 === t.length) return a;
                        var s = /\+/g;
                        t = t.split(e);
                        var l = 1e3;
                        o && "number" == typeof o.maxKeys && (l = o.maxKeys);
                        var u = t.length;
                        l > 0 && u > l && (u = l);
                        for (var h = 0; h < u; ++h) {
                            var c, d, f, p, g = t[h].replace(s, "%20"),
                                y = g.indexOf(r);
                            y >= 0 ? (c = g.substr(0, y), d = g.substr(y + 1)) : (c = g, d = ""), f = decodeURIComponent(c), p = decodeURIComponent(d), i(a, f) ? n(a[f]) ? a[f].push(p) : a[f] = [a[f], p] : a[f] = p
                        }
                        return a
                    };
                    var n = Array.isArray || function(t) {
                        return "[object Array]" === Object.prototype.toString.call(t)
                    }
                }, {}],
                29: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (t.map) return t.map(e);
                        for (var r = [], i = 0; i < t.length; i++) r.push(e(t[i], i));
                        return r
                    }
                    var n = function(t) {
                        switch (typeof t) {
                            case "string":
                                return t;
                            case "boolean":
                                return t ? "true" : "false";
                            case "number":
                                return isFinite(t) ? t : "";
                            default:
                                return ""
                        }
                    };
                    e.exports = function(t, e, r, s) {
                        return e = e || "&", r = r || "=", null === t && (t = void 0), "object" == typeof t ? i(a(t), function(a) {
                            var s = encodeURIComponent(n(a)) + r;
                            return o(t[a]) ? i(t[a], function(t) {
                                return s + encodeURIComponent(n(t))
                            }).join(e) : s + encodeURIComponent(n(t[a]))
                        }).join(e) : s ? encodeURIComponent(n(s)) + r + encodeURIComponent(n(t)) : ""
                    };
                    var o = Array.isArray || function(t) {
                            return "[object Array]" === Object.prototype.toString.call(t)
                        },
                        a = Object.keys || function(t) {
                            var e = [];
                            for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && e.push(r);
                            return e
                        }
                }, {}],
                30: [function(t, e, r) {
                    "use strict";
                    r.decode = r.parse = t("./decode"), r.encode = r.stringify = t("./encode")
                }, {
                    "./decode": 28,
                    "./encode": 29
                }],
                31: [function(t, e, r) {
                    "use strict";
                    e.exports = function(t, e, r) {
                        var i, n = t.length;
                        if (!(e >= n || 0 === r)) {
                            r = e + r > n ? n - e : r;
                            var o = n - r;
                            for (i = e; i < o; ++i) t[i] = t[i + r];
                            t.length = o
                        }
                    }
                }, {}],
                32: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0, r.Loader = void 0;
                    var o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
                            return typeof t
                        } : function(t) {
                            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                        },
                        a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("mini-signals"),
                        l = i(s),
                        u = t("parse-uri"),
                        h = i(u),
                        c = t("./async"),
                        d = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(c),
                        f = t("./Resource"),
                        p = /(#[\w-]+)?$/,
                        g = r.Loader = function() {
                            function t() {
                                var e = this,
                                    r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                                    i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 10;
                                n(this, t), this.baseUrl = r, this.progress = 0, this.loading = !1, this.defaultQueryString = "", this._beforeMiddleware = [], this._afterMiddleware = [], this._resourcesParsing = [], this._boundLoadResource = function(t, r) {
                                    return e._loadResource(t, r)
                                }, this._queue = d.queue(this._boundLoadResource, i), this._queue.pause(), this.resources = {}, this.onProgress = new l.default, this.onError = new l.default, this.onLoad = new l.default, this.onStart = new l.default, this.onComplete = new l.default;
                                for (var o = 0; o < t._defaultBeforeMiddleware.length; ++o) this.pre(t._defaultBeforeMiddleware[o]);
                                for (var a = 0; a < t._defaultAfterMiddleware.length; ++a) this.use(t._defaultAfterMiddleware[a])
                            }
                            return t.prototype.add = function(t, e, r, i) {
                                if (Array.isArray(t)) {
                                    for (var n = 0; n < t.length; ++n) this.add(t[n]);
                                    return this
                                }
                                if ("object" === (void 0 === t ? "undefined" : o(t)) && (i = e || t.callback || t.onComplete, r = t, e = t.url, t = t.name || t.key || t.url), "string" != typeof e && (i = r, r = e, e = t), "string" != typeof e) throw new Error("No url passed to add resource to loader.");
                                if ("function" == typeof r && (i = r, r = null), this.loading && (!r || !r.parentResource)) throw new Error("Cannot add resources while the loader is running.");
                                if (this.resources[t]) throw new Error('Resource named "' + t + '" already exists.');
                                if (e = this._prepareUrl(e), this.resources[t] = new f.Resource(t, e, r), "function" == typeof i && this.resources[t].onAfterMiddleware.once(i), this.loading) {
                                    for (var a = r.parentResource, s = [], l = 0; l < a.children.length; ++l) a.children[l].isComplete || s.push(a.children[l]);
                                    var u = a.progressChunk * (s.length + 1),
                                        h = u / (s.length + 2);
                                    a.children.push(this.resources[t]), a.progressChunk = h;
                                    for (var c = 0; c < s.length; ++c) s[c].progressChunk = h;
                                    this.resources[t].progressChunk = h
                                }
                                return this._queue.push(this.resources[t]), this
                            }, t.prototype.pre = function(t) {
                                return this._beforeMiddleware.push(t), this
                            }, t.prototype.use = function(t) {
                                return this._afterMiddleware.push(t), this
                            }, t.prototype.reset = function() {
                                this.progress = 0, this.loading = !1, this._queue.kill(), this._queue.pause();
                                for (var t in this.resources) {
                                    var e = this.resources[t];
                                    e._onLoadBinding && e._onLoadBinding.detach(), e.isLoading && e.abort()
                                }
                                return this.resources = {}, this
                            }, t.prototype.load = function(t) {
                                if ("function" == typeof t && this.onComplete.once(t), this.loading) return this;
                                if (this._queue.idle()) this._onStart(), this._onComplete();
                                else {
                                    for (var e = this._queue._tasks.length, r = 100 / e, i = 0; i < this._queue._tasks.length; ++i) this._queue._tasks[i].data.progressChunk = r;
                                    this._onStart(), this._queue.resume()
                                }
                                return this
                            }, t.prototype._prepareUrl = function(t) {
                                var e = (0, h.default)(t, {
                                        strictMode: !0
                                    }),
                                    r = void 0;
                                if (r = e.protocol || !e.path || 0 === t.indexOf("//") ? t : this.baseUrl.length && this.baseUrl.lastIndexOf("/") !== this.baseUrl.length - 1 && "/" !== t.charAt(0) ? this.baseUrl + "/" + t : this.baseUrl + t, this.defaultQueryString) {
                                    var i = p.exec(r)[0];
                                    r = r.substr(0, r.length - i.length), -1 !== r.indexOf("?") ? r += "&" + this.defaultQueryString : r += "?" + this.defaultQueryString, r += i
                                }
                                return r
                            }, t.prototype._loadResource = function(t, e) {
                                var r = this;
                                t._dequeue = e, d.eachSeries(this._beforeMiddleware, function(e, i) {
                                    e.call(r, t, function() {
                                        i(t.isComplete ? {} : null)
                                    })
                                }, function() {
                                    t.isComplete ? r._onLoad(t) : (t._onLoadBinding = t.onComplete.once(r._onLoad, r), t.load())
                                }, !0)
                            }, t.prototype._onStart = function() {
                                this.progress = 0, this.loading = !0, this.onStart.dispatch(this)
                            }, t.prototype._onComplete = function() {
                                this.progress = 100, this.loading = !1, this.onComplete.dispatch(this, this.resources)
                            }, t.prototype._onLoad = function(t) {
                                var e = this;
                                t._onLoadBinding = null, this._resourcesParsing.push(t), t._dequeue(), d.eachSeries(this._afterMiddleware, function(r, i) {
                                    r.call(e, t, i)
                                }, function() {
                                    t.onAfterMiddleware.dispatch(t), e.progress = Math.min(100, e.progress + t.progressChunk), e.onProgress.dispatch(e, t), t.error ? e.onError.dispatch(t.error, e, t) : e.onLoad.dispatch(e, t), e._resourcesParsing.splice(e._resourcesParsing.indexOf(t), 1), e._queue.idle() && 0 === e._resourcesParsing.length && e._onComplete()
                                }, !0)
                            }, a(t, [{
                                key: "concurrency",
                                get: function() {
                                    return this._queue.concurrency
                                },
                                set: function(t) {
                                    this._queue.concurrency = t
                                }
                            }]), t
                        }();
                    g._defaultBeforeMiddleware = [], g._defaultAfterMiddleware = [], g.pre = function(t) {
                        return g._defaultBeforeMiddleware.push(t), g
                    }, g.use = function(t) {
                        return g._defaultAfterMiddleware.push(t), g
                    }
                }, {
                    "./Resource": 33,
                    "./async": 34,
                    "mini-signals": 5,
                    "parse-uri": 7
                }],
                33: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o() {}

                    function a(t, e, r) {
                        e && 0 === e.indexOf(".") && (e = e.substring(1)), e && (t[e] = r)
                    }

                    function s(t) {
                        return t.toString().replace("object ", "")
                    }
                    r.__esModule = !0, r.Resource = void 0;
                    var l = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        u = t("parse-uri"),
                        h = i(u),
                        c = t("mini-signals"),
                        d = i(c),
                        f = !(!window.XDomainRequest || "withCredentials" in new XMLHttpRequest),
                        p = null,
                        g = r.Resource = function() {
                            function t(e, r, i) {
                                if (n(this, t), "string" != typeof e || "string" != typeof r) throw new Error("Both name and url are required for constructing a resource.");
                                i = i || {}, this._flags = 0, this._setFlag(t.STATUS_FLAGS.DATA_URL, 0 === r.indexOf("data:")), this.name = e, this.url = r, this.extension = this._getExtension(), this.data = null, this.crossOrigin = !0 === i.crossOrigin ? "anonymous" : i.crossOrigin, this.timeout = i.timeout || 0, this.loadType = i.loadType || this._determineLoadType(), this.xhrType = i.xhrType, this.metadata = i.metadata || {}, this.error = null, this.xhr = null, this.children = [], this.type = t.TYPE.UNKNOWN, this.progressChunk = 0, this._dequeue = o, this._onLoadBinding = null, this._elementTimer = 0, this._boundComplete = this.complete.bind(this), this._boundOnError = this._onError.bind(this), this._boundOnProgress = this._onProgress.bind(this), this._boundOnTimeout = this._onTimeout.bind(this), this._boundXhrOnError = this._xhrOnError.bind(this), this._boundXhrOnTimeout = this._xhrOnTimeout.bind(this), this._boundXhrOnAbort = this._xhrOnAbort.bind(this), this._boundXhrOnLoad = this._xhrOnLoad.bind(this), this.onStart = new d.default, this.onProgress = new d.default, this.onComplete = new d.default, this.onAfterMiddleware = new d.default
                            }
                            return t.setExtensionLoadType = function(e, r) {
                                a(t._loadTypeMap, e, r)
                            }, t.setExtensionXhrType = function(e, r) {
                                a(t._xhrTypeMap, e, r)
                            }, t.prototype.complete = function() {
                                this._clearEvents(), this._finish()
                            }, t.prototype.abort = function(e) {
                                if (!this.error) {
                                    if (this.error = new Error(e), this._clearEvents(), this.xhr) this.xhr.abort();
                                    else if (this.xdr) this.xdr.abort();
                                    else if (this.data)
                                        if (this.data.src) this.data.src = t.EMPTY_GIF;
                                        else
                                            for (; this.data.firstChild;) this.data.removeChild(this.data.firstChild);
                                    this._finish()
                                }
                            }, t.prototype.load = function(e) {
                                var r = this;
                                if (!this.isLoading) {
                                    if (this.isComplete) return void(e && setTimeout(function() {
                                        return e(r)
                                    }, 1));
                                    switch (e && this.onComplete.once(e), this._setFlag(t.STATUS_FLAGS.LOADING, !0), this.onStart.dispatch(this), !1 !== this.crossOrigin && "string" == typeof this.crossOrigin || (this.crossOrigin = this._determineCrossOrigin(this.url)), this.loadType) {
                                        case t.LOAD_TYPE.IMAGE:
                                            this.type = t.TYPE.IMAGE, this._loadElement("image");
                                            break;
                                        case t.LOAD_TYPE.AUDIO:
                                            this.type = t.TYPE.AUDIO, this._loadSourceElement("audio");
                                            break;
                                        case t.LOAD_TYPE.VIDEO:
                                            this.type = t.TYPE.VIDEO, this._loadSourceElement("video");
                                            break;
                                        case t.LOAD_TYPE.XHR:
                                        default:
                                            f && this.crossOrigin ? this._loadXdr() : this._loadXhr()
                                    }
                                }
                            }, t.prototype._hasFlag = function(t) {
                                return 0 != (this._flags & t)
                            }, t.prototype._setFlag = function(t, e) {
                                this._flags = e ? this._flags | t : this._flags & ~t
                            }, t.prototype._clearEvents = function() {
                                clearTimeout(this._elementTimer), this.data && this.data.removeEventListener && (this.data.removeEventListener("error", this._boundOnError, !1), this.data.removeEventListener("load", this._boundComplete, !1), this.data.removeEventListener("progress", this._boundOnProgress, !1), this.data.removeEventListener("canplaythrough", this._boundComplete, !1)), this.xhr && (this.xhr.removeEventListener ? (this.xhr.removeEventListener("error", this._boundXhrOnError, !1), this.xhr.removeEventListener("timeout", this._boundXhrOnTimeout, !1), this.xhr.removeEventListener("abort", this._boundXhrOnAbort, !1), this.xhr.removeEventListener("progress", this._boundOnProgress, !1), this.xhr.removeEventListener("load", this._boundXhrOnLoad, !1)) : (this.xhr.onerror = null, this.xhr.ontimeout = null, this.xhr.onprogress = null, this.xhr.onload = null))
                            }, t.prototype._finish = function() {
                                if (this.isComplete) throw new Error("Complete called again for an already completed resource.");
                                this._setFlag(t.STATUS_FLAGS.COMPLETE, !0), this._setFlag(t.STATUS_FLAGS.LOADING, !1), this.onComplete.dispatch(this)
                            }, t.prototype._loadElement = function(t) {
                                this.metadata.loadElement ? this.data = this.metadata.loadElement : "image" === t && void 0 !== window.Image ? this.data = new Image : this.data = document.createElement(t), this.crossOrigin && (this.data.crossOrigin = this.crossOrigin), this.metadata.skipSource || (this.data.src = this.url), this.data.addEventListener("error", this._boundOnError, !1), this.data.addEventListener("load", this._boundComplete, !1), this.data.addEventListener("progress", this._boundOnProgress, !1), this.timeout && (this._elementTimer = setTimeout(this._boundOnTimeout, this.timeout))
                            }, t.prototype._loadSourceElement = function(t) {
                                if (this.metadata.loadElement ? this.data = this.metadata.loadElement : "audio" === t && void 0 !== window.Audio ? this.data = new Audio : this.data = document.createElement(t), null === this.data) return void this.abort("Unsupported element: " + t);
                                if (this.crossOrigin && (this.data.crossOrigin = this.crossOrigin), !this.metadata.skipSource)
                                    if (navigator.isCocoonJS) this.data.src = Array.isArray(this.url) ? this.url[0] : this.url;
                                    else if (Array.isArray(this.url))
                                    for (var e = this.metadata.mimeType, r = 0; r < this.url.length; ++r) this.data.appendChild(this._createSource(t, this.url[r], Array.isArray(e) ? e[r] : e));
                                else {
                                    var i = this.metadata.mimeType;
                                    this.data.appendChild(this._createSource(t, this.url, Array.isArray(i) ? i[0] : i))
                                }
                                this.data.addEventListener("error", this._boundOnError, !1), this.data.addEventListener("load", this._boundComplete, !1), this.data.addEventListener("progress", this._boundOnProgress, !1), this.data.addEventListener("canplaythrough", this._boundComplete, !1), this.data.load(), this.timeout && (this._elementTimer = setTimeout(this._boundOnTimeout, this.timeout))
                            }, t.prototype._loadXhr = function() {
                                "string" != typeof this.xhrType && (this.xhrType = this._determineXhrType());
                                var e = this.xhr = new XMLHttpRequest;
                                e.open("GET", this.url, !0), e.timeout = this.timeout, this.xhrType === t.XHR_RESPONSE_TYPE.JSON || this.xhrType === t.XHR_RESPONSE_TYPE.DOCUMENT ? e.responseType = t.XHR_RESPONSE_TYPE.TEXT : e.responseType = this.xhrType, e.addEventListener("error", this._boundXhrOnError, !1), e.addEventListener("timeout", this._boundXhrOnTimeout, !1), e.addEventListener("abort", this._boundXhrOnAbort, !1), e.addEventListener("progress", this._boundOnProgress, !1), e.addEventListener("load", this._boundXhrOnLoad, !1), e.send()
                            }, t.prototype._loadXdr = function() {
                                "string" != typeof this.xhrType && (this.xhrType = this._determineXhrType());
                                var t = this.xhr = new XDomainRequest;
                                t.timeout = this.timeout || 5e3, t.onerror = this._boundXhrOnError, t.ontimeout = this._boundXhrOnTimeout, t.onprogress = this._boundOnProgress, t.onload = this._boundXhrOnLoad, t.open("GET", this.url, !0), setTimeout(function() {
                                    return t.send()
                                }, 1)
                            }, t.prototype._createSource = function(t, e, r) {
                                r || (r = t + "/" + this._getExtension(e));
                                var i = document.createElement("source");
                                return i.src = e, i.type = r, i
                            }, t.prototype._onError = function(t) {
                                this.abort("Failed to load element using: " + t.target.nodeName)
                            }, t.prototype._onProgress = function(t) {
                                t && t.lengthComputable && this.onProgress.dispatch(this, t.loaded / t.total)
                            }, t.prototype._onTimeout = function() {
                                this.abort("Load timed out.")
                            }, t.prototype._xhrOnError = function() {
                                var t = this.xhr;
                                this.abort(s(t) + " Request failed. Status: " + t.status + ', text: "' + t.statusText + '"')
                            }, t.prototype._xhrOnTimeout = function() {
                                var t = this.xhr;
                                this.abort(s(t) + " Request timed out.")
                            }, t.prototype._xhrOnAbort = function() {
                                var t = this.xhr;
                                this.abort(s(t) + " Request was aborted by the user.")
                            }, t.prototype._xhrOnLoad = function() {
                                var e = this.xhr,
                                    r = "",
                                    i = void 0 === e.status ? 200 : e.status;
                                if ("" !== e.responseType && "text" !== e.responseType && void 0 !== e.responseType || (r = e.responseText), 0 === i && (r.length > 0 || e.responseType === t.XHR_RESPONSE_TYPE.BUFFER) ? i = 200 : 1223 === i && (i = 204), 2 != (i / 100 | 0)) return void this.abort("[" + e.status + "] " + e.statusText + ": " + e.responseURL);
                                if (this.xhrType === t.XHR_RESPONSE_TYPE.TEXT) this.data = r, this.type = t.TYPE.TEXT;
                                else if (this.xhrType === t.XHR_RESPONSE_TYPE.JSON) try {
                                    this.data = JSON.parse(r), this.type = t.TYPE.JSON
                                } catch (t) {
                                    return void this.abort("Error trying to parse loaded json: " + t)
                                } else if (this.xhrType === t.XHR_RESPONSE_TYPE.DOCUMENT) try {
                                    if (window.DOMParser) {
                                        var n = new DOMParser;
                                        this.data = n.parseFromString(r, "text/xml")
                                    } else {
                                        var o = document.createElement("div");
                                        o.innerHTML = r, this.data = o
                                    }
                                    this.type = t.TYPE.XML
                                } catch (t) {
                                    return void this.abort("Error trying to parse loaded xml: " + t)
                                } else this.data = e.response || r;
                                this.complete()
                            }, t.prototype._determineCrossOrigin = function(t, e) {
                                if (0 === t.indexOf("data:")) return "";
                                if (window.origin !== window.location.origin) return "anonymous";
                                e = e || window.location, p || (p = document.createElement("a")), p.href = t, t = (0, h.default)(p.href, {
                                    strictMode: !0
                                });
                                var r = !t.port && "" === e.port || t.port === e.port,
                                    i = t.protocol ? t.protocol + ":" : "";
                                return t.host === e.hostname && r && i === e.protocol ? "" : "anonymous"
                            }, t.prototype._determineXhrType = function() {
                                return t._xhrTypeMap[this.extension] || t.XHR_RESPONSE_TYPE.TEXT
                            }, t.prototype._determineLoadType = function() {
                                return t._loadTypeMap[this.extension] || t.LOAD_TYPE.XHR
                            }, t.prototype._getExtension = function() {
                                var t = this.url,
                                    e = "";
                                if (this.isDataUrl) {
                                    var r = t.indexOf("/");
                                    e = t.substring(r + 1, t.indexOf(";", r))
                                } else {
                                    var i = t.indexOf("?"),
                                        n = t.indexOf("#"),
                                        o = Math.min(i > -1 ? i : t.length, n > -1 ? n : t.length);
                                    t = t.substring(0, o), e = t.substring(t.lastIndexOf(".") + 1)
                                }
                                return e.toLowerCase()
                            }, t.prototype._getMimeFromXhrType = function(e) {
                                switch (e) {
                                    case t.XHR_RESPONSE_TYPE.BUFFER:
                                        return "application/octet-binary";
                                    case t.XHR_RESPONSE_TYPE.BLOB:
                                        return "application/blob";
                                    case t.XHR_RESPONSE_TYPE.DOCUMENT:
                                        return "application/xml";
                                    case t.XHR_RESPONSE_TYPE.JSON:
                                        return "application/json";
                                    case t.XHR_RESPONSE_TYPE.DEFAULT:
                                    case t.XHR_RESPONSE_TYPE.TEXT:
                                    default:
                                        return "text/plain"
                                }
                            }, l(t, [{
                                key: "isDataUrl",
                                get: function() {
                                    return this._hasFlag(t.STATUS_FLAGS.DATA_URL)
                                }
                            }, {
                                key: "isComplete",
                                get: function() {
                                    return this._hasFlag(t.STATUS_FLAGS.COMPLETE)
                                }
                            }, {
                                key: "isLoading",
                                get: function() {
                                    return this._hasFlag(t.STATUS_FLAGS.LOADING)
                                }
                            }]), t
                        }();
                    g.STATUS_FLAGS = {
                        NONE: 0,
                        DATA_URL: 1,
                        COMPLETE: 2,
                        LOADING: 4
                    }, g.TYPE = {
                        UNKNOWN: 0,
                        JSON: 1,
                        XML: 2,
                        IMAGE: 3,
                        AUDIO: 4,
                        VIDEO: 5,
                        TEXT: 6
                    }, g.LOAD_TYPE = {
                        XHR: 1,
                        IMAGE: 2,
                        AUDIO: 3,
                        VIDEO: 4
                    }, g.XHR_RESPONSE_TYPE = {
                        DEFAULT: "text",
                        BUFFER: "arraybuffer",
                        BLOB: "blob",
                        DOCUMENT: "document",
                        JSON: "json",
                        TEXT: "text"
                    }, g._loadTypeMap = {
                        gif: g.LOAD_TYPE.IMAGE,
                        png: g.LOAD_TYPE.IMAGE,
                        bmp: g.LOAD_TYPE.IMAGE,
                        jpg: g.LOAD_TYPE.IMAGE,
                        jpeg: g.LOAD_TYPE.IMAGE,
                        tif: g.LOAD_TYPE.IMAGE,
                        tiff: g.LOAD_TYPE.IMAGE,
                        webp: g.LOAD_TYPE.IMAGE,
                        tga: g.LOAD_TYPE.IMAGE,
                        svg: g.LOAD_TYPE.IMAGE,
                        "svg+xml": g.LOAD_TYPE.IMAGE,
                        mp3: g.LOAD_TYPE.AUDIO,
                        ogg: g.LOAD_TYPE.AUDIO,
                        wav: g.LOAD_TYPE.AUDIO,
                        mp4: g.LOAD_TYPE.VIDEO,
                        webm: g.LOAD_TYPE.VIDEO
                    }, g._xhrTypeMap = {
                        xhtml: g.XHR_RESPONSE_TYPE.DOCUMENT,
                        html: g.XHR_RESPONSE_TYPE.DOCUMENT,
                        htm: g.XHR_RESPONSE_TYPE.DOCUMENT,
                        xml: g.XHR_RESPONSE_TYPE.DOCUMENT,
                        tmx: g.XHR_RESPONSE_TYPE.DOCUMENT,
                        svg: g.XHR_RESPONSE_TYPE.DOCUMENT,
                        tsx: g.XHR_RESPONSE_TYPE.DOCUMENT,
                        gif: g.XHR_RESPONSE_TYPE.BLOB,
                        png: g.XHR_RESPONSE_TYPE.BLOB,
                        bmp: g.XHR_RESPONSE_TYPE.BLOB,
                        jpg: g.XHR_RESPONSE_TYPE.BLOB,
                        jpeg: g.XHR_RESPONSE_TYPE.BLOB,
                        tif: g.XHR_RESPONSE_TYPE.BLOB,
                        tiff: g.XHR_RESPONSE_TYPE.BLOB,
                        webp: g.XHR_RESPONSE_TYPE.BLOB,
                        tga: g.XHR_RESPONSE_TYPE.BLOB,
                        json: g.XHR_RESPONSE_TYPE.JSON,
                        text: g.XHR_RESPONSE_TYPE.TEXT,
                        txt: g.XHR_RESPONSE_TYPE.TEXT,
                        ttf: g.XHR_RESPONSE_TYPE.BUFFER,
                        otf: g.XHR_RESPONSE_TYPE.BUFFER
                    }, g.EMPTY_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", void 0 !== e && (e.exports.default = g)
                }, {
                    "mini-signals": 5,
                    "parse-uri": 7
                }],
                34: [function(t, e, r) {
                    "use strict";

                    function i() {}

                    function n(t, e, r, i) {
                        var n = 0,
                            o = t.length;
                        ! function a(s) {
                            if (s || n === o) return void(r && r(s));
                            i ? setTimeout(function() {
                                e(t[n++], a)
                            }, 1) : e(t[n++], a)
                        }()
                    }

                    function o(t) {
                        return function() {
                            if (null === t) throw new Error("Callback was already called.");
                            var e = t;
                            t = null, e.apply(this, arguments)
                        }
                    }

                    function a(t, e) {
                        function r(t, e, r) {
                            if (null != r && "function" != typeof r) throw new Error("task callback must be a function");
                            if (s.started = !0, null == t && s.idle()) return void setTimeout(function() {
                                return s.drain()
                            }, 1);
                            var n = {
                                data: t,
                                callback: "function" == typeof r ? r : i
                            };
                            e ? s._tasks.unshift(n) : s._tasks.push(n), setTimeout(function() {
                                return s.process()
                            }, 1)
                        }

                        function n(t) {
                            return function() {
                                a -= 1, t.callback.apply(t, arguments), null != arguments[0] && s.error(arguments[0], t.data), a <= s.concurrency - s.buffer && s.unsaturated(), s.idle() && s.drain(), s.process()
                            }
                        }
                        if (null == e) e = 1;
                        else if (0 === e) throw new Error("Concurrency must not be zero");
                        var a = 0,
                            s = {
                                _tasks: [],
                                concurrency: e,
                                saturated: i,
                                unsaturated: i,
                                buffer: e / 4,
                                empty: i,
                                drain: i,
                                error: i,
                                started: !1,
                                paused: !1,
                                push: function(t, e) {
                                    r(t, !1, e)
                                },
                                kill: function() {
                                    a = 0, s.drain = i, s.started = !1, s._tasks = []
                                },
                                unshift: function(t, e) {
                                    r(t, !0, e)
                                },
                                process: function() {
                                    for (; !s.paused && a < s.concurrency && s._tasks.length;) {
                                        var e = s._tasks.shift();
                                        0 === s._tasks.length && s.empty(), a += 1, a === s.concurrency && s.saturated(), t(e.data, o(n(e)))
                                    }
                                },
                                length: function() {
                                    return s._tasks.length
                                },
                                running: function() {
                                    return a
                                },
                                idle: function() {
                                    return s._tasks.length + a === 0
                                },
                                pause: function() {
                                    !0 !== s.paused && (s.paused = !0)
                                },
                                resume: function() {
                                    if (!1 !== s.paused) {
                                        s.paused = !1;
                                        for (var t = 1; t <= s.concurrency; t++) s.process()
                                    }
                                }
                            };
                        return s
                    }
                    r.__esModule = !0, r.eachSeries = n, r.queue = a
                }, {}],
                35: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        for (var e = "", r = 0; r < t.length;) {
                            for (var i = [0, 0, 0], o = [0, 0, 0, 0], a = 0; a < i.length; ++a) r < t.length ? i[a] = 255 & t.charCodeAt(r++) : i[a] = 0;
                            switch (o[0] = i[0] >> 2, o[1] = (3 & i[0]) << 4 | i[1] >> 4, o[2] = (15 & i[1]) << 2 | i[2] >> 6, o[3] = 63 & i[2], r - (t.length - 1)) {
                                case 2:
                                    o[3] = 64, o[2] = 64;
                                    break;
                                case 1:
                                    o[3] = 64
                            }
                            for (var s = 0; s < o.length; ++s) e += n.charAt(o[s])
                        }
                        return e
                    }
                    r.__esModule = !0, r.encodeBinary = i;
                    var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
                    void 0 !== e && (e.exports.default = i)
                }, {}],
                36: [function(t, e, r) {
                    "use strict";
                    var i = t("./Loader").Loader,
                        n = t("./Resource").Resource,
                        o = t("./async"),
                        a = t("./b64");
                    i.Resource = n, i.async = o, i.encodeBinary = a, i.base64 = a, e.exports = i, e.exports.Loader = i, e.exports.default = i
                }, {
                    "./Loader": 32,
                    "./Resource": 33,
                    "./async": 34,
                    "./b64": 35
                }],
                37: [function(t, e, r) {
                    "use strict";

                    function i() {
                        return function(t, e) {
                            if (!t.data) return void e();
                            if (t.xhr && t.xhrType === n.Resource.XHR_RESPONSE_TYPE.BLOB)
                                if (window.Blob && "string" != typeof t.data) {
                                    if (0 === t.data.type.indexOf("image")) {
                                        var r = a.createObjectURL(t.data);
                                        return t.blob = t.data, t.data = new Image, t.data.src = r, t.type = n.Resource.TYPE.IMAGE, void(t.data.onload = function() {
                                            a.revokeObjectURL(r), t.data.onload = null, e()
                                        })
                                    }
                                } else {
                                    var i = t.xhr.getResponseHeader("content-type");
                                    if (i && 0 === i.indexOf("image")) return t.data = new Image, t.data.src = "data:" + i + ";base64," + (0, o.encodeBinary)(t.xhr.responseText), t.type = n.Resource.TYPE.IMAGE, void(t.data.onload = function() {
                                        t.data.onload = null, e()
                                    })
                                }
                            e()
                        }
                    }
                    r.__esModule = !0, r.blobMiddlewareFactory = i;
                    var n = t("../../Resource"),
                        o = t("../../b64"),
                        a = window.URL || window.webkitURL
                }, {
                    "../../Resource": 33,
                    "../../b64": 35
                }],
                38: [function(t, e, r) {
                    "use strict";

                    function i() {
                        this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null
                    }

                    function n(t, e, r) {
                        if (t && u.isObject(t) && t instanceof i) return t;
                        var n = new i;
                        return n.parse(t, e, r), n
                    }

                    function o(t) {
                        return u.isString(t) && (t = n(t)), t instanceof i ? t.format() : i.prototype.format.call(t)
                    }

                    function a(t, e) {
                        return n(t, !1, !0).resolve(e)
                    }

                    function s(t, e) {
                        return t ? n(t, !1, !0).resolveObject(e) : e
                    }
                    var l = t("punycode"),
                        u = t("./util");
                    r.parse = n, r.resolve = a, r.resolveObject = s, r.format = o, r.Url = i;
                    var h = /^([a-z0-9.+-]+:)/i,
                        c = /:[0-9]*$/,
                        d = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
                        f = ["<", ">", '"', "`", " ", "\r", "\n", "\t"],
                        p = ["{", "}", "|", "\\", "^", "`"].concat(f),
                        g = ["'"].concat(p),
                        y = ["%", "/", "?", ";", "#"].concat(g),
                        v = ["/", "?", "#"],
                        m = /^[+a-z0-9A-Z_-]{0,63}$/,
                        x = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
                        _ = {
                            javascript: !0,
                            "javascript:": !0
                        },
                        T = {
                            javascript: !0,
                            "javascript:": !0
                        },
                        b = {
                            http: !0,
                            https: !0,
                            ftp: !0,
                            gopher: !0,
                            file: !0,
                            "http:": !0,
                            "https:": !0,
                            "ftp:": !0,
                            "gopher:": !0,
                            "file:": !0
                        },
                        w = t("querystring");
                    i.prototype.parse = function(t, e, r) {
                        if (!u.isString(t)) throw new TypeError("Parameter 'url' must be a string, not " + typeof t);
                        var i = t.indexOf("?"),
                            n = -1 !== i && i < t.indexOf("#") ? "?" : "#",
                            o = t.split(n),
                            a = /\\/g;
                        o[0] = o[0].replace(a, "/"), t = o.join(n);
                        var s = t;
                        if (s = s.trim(), !r && 1 === t.split("#").length) {
                            var c = d.exec(s);
                            if (c) return this.path = s, this.href = s, this.pathname = c[1], c[2] ? (this.search = c[2], this.query = e ? w.parse(this.search.substr(1)) : this.search.substr(1)) : e && (this.search = "", this.query = {}), this
                        }
                        var f = h.exec(s);
                        if (f) {
                            f = f[0];
                            var p = f.toLowerCase();
                            this.protocol = p, s = s.substr(f.length)
                        }
                        if (r || f || s.match(/^\/\/[^@\/]+@[^@\/]+/)) {
                            var S = "//" === s.substr(0, 2);
                            !S || f && T[f] || (s = s.substr(2), this.slashes = !0)
                        }
                        if (!T[f] && (S || f && !b[f])) {
                            for (var E = -1, C = 0; C < v.length; C++) {
                                var O = s.indexOf(v[C]); - 1 !== O && (-1 === E || O < E) && (E = O)
                            }
                            var M, P;
                            P = -1 === E ? s.lastIndexOf("@") : s.lastIndexOf("@", E), -1 !== P && (M = s.slice(0, P), s = s.slice(P + 1), this.auth = decodeURIComponent(M)), E = -1;
                            for (var C = 0; C < y.length; C++) {
                                var O = s.indexOf(y[C]); - 1 !== O && (-1 === E || O < E) && (E = O)
                            } - 1 === E && (E = s.length), this.host = s.slice(0, E), s = s.slice(E), this.parseHost(), this.hostname = this.hostname || "";
                            var R = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1];
                            if (!R)
                                for (var A = this.hostname.split(/\./), C = 0, D = A.length; C < D; C++) {
                                    var I = A[C];
                                    if (I && !I.match(m)) {
                                        for (var L = "", k = 0, F = I.length; k < F; k++) I.charCodeAt(k) > 127 ? L += "x" : L += I[k];
                                        if (!L.match(m)) {
                                            var N = A.slice(0, C),
                                                B = A.slice(C + 1),
                                                j = I.match(x);
                                            j && (N.push(j[1]), B.unshift(j[2])), B.length && (s = "/" + B.join(".") + s), this.hostname = N.join(".");
                                            break
                                        }
                                    }
                                }
                            this.hostname.length > 255 ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), R || (this.hostname = l.toASCII(this.hostname));
                            var U = this.port ? ":" + this.port : "",
                                W = this.hostname || "";
                            this.host = W + U, this.href += this.host, R && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== s[0] && (s = "/" + s))
                        }
                        if (!_[p])
                            for (var C = 0, D = g.length; C < D; C++) {
                                var H = g[C];
                                if (-1 !== s.indexOf(H)) {
                                    var X = encodeURIComponent(H);
                                    X === H && (X = escape(H)), s = s.split(H).join(X)
                                }
                            }
                        var G = s.indexOf("#"); - 1 !== G && (this.hash = s.substr(G), s = s.slice(0, G));
                        var z = s.indexOf("?");
                        if (-1 !== z ? (this.search = s.substr(z), this.query = s.substr(z + 1), e && (this.query = w.parse(this.query)), s = s.slice(0, z)) : e && (this.search = "", this.query = {}), s && (this.pathname = s), b[p] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) {
                            var U = this.pathname || "",
                                Y = this.search || "";
                            this.path = U + Y
                        }
                        return this.href = this.format(), this
                    }, i.prototype.format = function() {
                        var t = this.auth || "";
                        t && (t = encodeURIComponent(t), t = t.replace(/%3A/i, ":"), t += "@");
                        var e = this.protocol || "",
                            r = this.pathname || "",
                            i = this.hash || "",
                            n = !1,
                            o = "";
                        this.host ? n = t + this.host : this.hostname && (n = t + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]"), this.port && (n += ":" + this.port)), this.query && u.isObject(this.query) && Object.keys(this.query).length && (o = w.stringify(this.query));
                        var a = this.search || o && "?" + o || "";
                        return e && ":" !== e.substr(-1) && (e += ":"), this.slashes || (!e || b[e]) && !1 !== n ? (n = "//" + (n || ""), r && "/" !== r.charAt(0) && (r = "/" + r)) : n || (n = ""), i && "#" !== i.charAt(0) && (i = "#" + i), a && "?" !== a.charAt(0) && (a = "?" + a), r = r.replace(/[?#]/g, function(t) {
                            return encodeURIComponent(t)
                        }), a = a.replace("#", "%23"), e + n + r + a + i
                    }, i.prototype.resolve = function(t) {
                        return this.resolveObject(n(t, !1, !0)).format()
                    }, i.prototype.resolveObject = function(t) {
                        if (u.isString(t)) {
                            var e = new i;
                            e.parse(t, !1, !0), t = e
                        }
                        for (var r = new i, n = Object.keys(this), o = 0; o < n.length; o++) {
                            var a = n[o];
                            r[a] = this[a]
                        }
                        if (r.hash = t.hash, "" === t.href) return r.href = r.format(), r;
                        if (t.slashes && !t.protocol) {
                            for (var s = Object.keys(t), l = 0; l < s.length; l++) {
                                var h = s[l];
                                "protocol" !== h && (r[h] = t[h])
                            }
                            return b[r.protocol] && r.hostname && !r.pathname && (r.path = r.pathname = "/"), r.href = r.format(), r
                        }
                        if (t.protocol && t.protocol !== r.protocol) {
                            if (!b[t.protocol]) {
                                for (var c = Object.keys(t), d = 0; d < c.length; d++) {
                                    var f = c[d];
                                    r[f] = t[f]
                                }
                                return r.href = r.format(), r
                            }
                            if (r.protocol = t.protocol, t.host || T[t.protocol]) r.pathname = t.pathname;
                            else {
                                for (var p = (t.pathname || "").split("/"); p.length && !(t.host = p.shift()););
                                t.host || (t.host = ""), t.hostname || (t.hostname = ""), "" !== p[0] && p.unshift(""), p.length < 2 && p.unshift(""), r.pathname = p.join("/")
                            }
                            if (r.search = t.search, r.query = t.query, r.host = t.host || "", r.auth = t.auth, r.hostname = t.hostname || t.host, r.port = t.port, r.pathname || r.search) {
                                var g = r.pathname || "",
                                    y = r.search || "";
                                r.path = g + y
                            }
                            return r.slashes = r.slashes || t.slashes, r.href = r.format(), r
                        }
                        var v = r.pathname && "/" === r.pathname.charAt(0),
                            m = t.host || t.pathname && "/" === t.pathname.charAt(0),
                            x = m || v || r.host && t.pathname,
                            _ = x,
                            w = r.pathname && r.pathname.split("/") || [],
                            p = t.pathname && t.pathname.split("/") || [],
                            S = r.protocol && !b[r.protocol];
                        if (S && (r.hostname = "", r.port = null, r.host && ("" === w[0] ? w[0] = r.host : w.unshift(r.host)), r.host = "", t.protocol && (t.hostname = null, t.port = null, t.host && ("" === p[0] ? p[0] = t.host : p.unshift(t.host)), t.host = null), x = x && ("" === p[0] || "" === w[0])), m) r.host = t.host || "" === t.host ? t.host : r.host, r.hostname = t.hostname || "" === t.hostname ? t.hostname : r.hostname, r.search = t.search, r.query = t.query, w = p;
                        else if (p.length) w || (w = []), w.pop(), w = w.concat(p), r.search = t.search, r.query = t.query;
                        else if (!u.isNullOrUndefined(t.search)) {
                            if (S) {
                                r.hostname = r.host = w.shift();
                                var E = !!(r.host && r.host.indexOf("@") > 0) && r.host.split("@");
                                E && (r.auth = E.shift(), r.host = r.hostname = E.shift())
                            }
                            return r.search = t.search, r.query = t.query, u.isNull(r.pathname) && u.isNull(r.search) || (r.path = (r.pathname ? r.pathname : "") + (r.search ? r.search : "")), r.href = r.format(), r
                        }
                        if (!w.length) return r.pathname = null, r.search ? r.path = "/" + r.search : r.path = null, r.href = r.format(), r;
                        for (var C = w.slice(-1)[0], O = (r.host || t.host || w.length > 1) && ("." === C || ".." === C) || "" === C, M = 0, P = w.length; P >= 0; P--) C = w[P], "." === C ? w.splice(P, 1) : ".." === C ? (w.splice(P, 1), M++) : M && (w.splice(P, 1), M--);
                        if (!x && !_)
                            for (; M--; M) w.unshift("..");
                        !x || "" === w[0] || w[0] && "/" === w[0].charAt(0) || w.unshift(""), O && "/" !== w.join("/").substr(-1) && w.push("");
                        var R = "" === w[0] || w[0] && "/" === w[0].charAt(0);
                        if (S) {
                            r.hostname = r.host = R ? "" : w.length ? w.shift() : "";
                            var E = !!(r.host && r.host.indexOf("@") > 0) && r.host.split("@");
                            E && (r.auth = E.shift(), r.host = r.hostname = E.shift())
                        }
                        return x = x || r.host && w.length, x && !R && w.unshift(""), w.length ? r.pathname = w.join("/") : (r.pathname = null, r.path = null), u.isNull(r.pathname) && u.isNull(r.search) || (r.path = (r.pathname ? r.pathname : "") + (r.search ? r.search : "")), r.auth = t.auth || r.auth, r.slashes = r.slashes || t.slashes, r.href = r.format(), r
                    }, i.prototype.parseHost = function() {
                        var t = this.host,
                            e = c.exec(t);
                        e && (e = e[0], ":" !== e && (this.port = e.substr(1)), t = t.substr(0, t.length - e.length)), t && (this.hostname = t)
                    }
                }, {
                    "./util": 39,
                    punycode: 27,
                    querystring: 30
                }],
                39: [function(t, e, r) {
                    "use strict";
                    e.exports = {
                        isString: function(t) {
                            return "string" == typeof t
                        },
                        isObject: function(t) {
                            return "object" == typeof t && null !== t
                        },
                        isNull: function(t) {
                            return null === t
                        },
                        isNullOrUndefined: function(t) {
                            return null == t
                        }
                    }
                }, {}],
                40: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var o = t("../core"),
                        a = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(o),
                        s = t("ismobilejs"),
                        l = i(s),
                        u = t("./accessibleTarget"),
                        h = i(u);
                    a.utils.mixins.delayMixin(a.DisplayObject.prototype, h.default);
                    var c = 100,
                        d = 0,
                        f = 0,
                        p = 2,
                        g = function() {
                            function t(e) {
                                n(this, t), !l.default.tablet && !l.default.phone || navigator.isCocoonJS || this.createTouchHook();
                                var r = document.createElement("div");
                                r.style.width = c + "px", r.style.height = c + "px", r.style.position = "absolute", r.style.top = d + "px", r.style.left = f + "px", r.style.zIndex = p, this.div = r, this.pool = [], this.renderId = 0, this.debug = !1, this.renderer = e, this.children = [], this._onKeyDown = this._onKeyDown.bind(this), this._onMouseMove = this._onMouseMove.bind(this), this.isActive = !1, this.isMobileAccessabillity = !1, window.addEventListener("keydown", this._onKeyDown, !1)
                            }
                            return t.prototype.createTouchHook = function() {
                                var t = this,
                                    e = document.createElement("button");
                                e.style.width = "1px", e.style.height = "1px", e.style.position = "absolute", e.style.top = "-1000px", e.style.left = "-1000px", e.style.zIndex = 2, e.style.backgroundColor = "#FF0000", e.title = "HOOK DIV", e.addEventListener("focus", function() {
                                    t.isMobileAccessabillity = !0, t.activate(), document.body.removeChild(e)
                                }), document.body.appendChild(e)
                            }, t.prototype.activate = function() {
                                this.isActive || (this.isActive = !0, window.document.addEventListener("mousemove", this._onMouseMove, !0), window.removeEventListener("keydown", this._onKeyDown, !1), this.renderer.on("postrender", this.update, this), this.renderer.view.parentNode && this.renderer.view.parentNode.appendChild(this.div))
                            }, t.prototype.deactivate = function() {
                                this.isActive && !this.isMobileAccessabillity && (this.isActive = !1, window.document.removeEventListener("mousemove", this._onMouseMove, !0), window.addEventListener("keydown", this._onKeyDown, !1), this.renderer.off("postrender", this.update), this.div.parentNode && this.div.parentNode.removeChild(this.div))
                            }, t.prototype.updateAccessibleObjects = function(t) {
                                if (t.visible) {
                                    t.accessible && t.interactive && (t._accessibleActive || this.addChild(t), t.renderId = this.renderId);
                                    for (var e = t.children, r = 0; r < e.length; r++) this.updateAccessibleObjects(e[r])
                                }
                            }, t.prototype.update = function() {
                                if (this.renderer.renderingToScreen) {
                                    this.updateAccessibleObjects(this.renderer._lastObjectRendered);
                                    var t = this.renderer.view.getBoundingClientRect(),
                                        e = t.width / this.renderer.width,
                                        r = t.height / this.renderer.height,
                                        i = this.div;
                                    i.style.left = t.left + "px", i.style.top = t.top + "px", i.style.width = this.renderer.width + "px", i.style.height = this.renderer.height + "px";
                                    for (var n = 0; n < this.children.length; n++) {
                                        var o = this.children[n];
                                        if (o.renderId !== this.renderId) o._accessibleActive = !1, a.utils.removeItems(this.children, n, 1), this.div.removeChild(o._accessibleDiv), this.pool.push(o._accessibleDiv), o._accessibleDiv = null, n--, 0 === this.children.length && this.deactivate();
                                        else {
                                            i = o._accessibleDiv;
                                            var s = o.hitArea,
                                                l = o.worldTransform;
                                            o.hitArea ? (i.style.left = (l.tx + s.x * l.a) * e + "px", i.style.top = (l.ty + s.y * l.d) * r + "px", i.style.width = s.width * l.a * e + "px", i.style.height = s.height * l.d * r + "px") : (s = o.getBounds(), this.capHitArea(s), i.style.left = s.x * e + "px", i.style.top = s.y * r + "px", i.style.width = s.width * e + "px", i.style.height = s.height * r + "px", i.title !== o.accessibleTitle && null !== o.accessibleTitle && (i.title = o.accessibleTitle), i.getAttribute("aria-label") !== o.accessibleHint && null !== o.accessibleHint && i.setAttribute("aria-label", o.accessibleHint))
                                        }
                                    }
                                    this.renderId++
                                }
                            }, t.prototype.capHitArea = function(t) {
                                t.x < 0 && (t.width += t.x, t.x = 0), t.y < 0 && (t.height += t.y, t.y = 0), t.x + t.width > this.renderer.width && (t.width = this.renderer.width - t.x), t.y + t.height > this.renderer.height && (t.height = this.renderer.height - t.y)
                            }, t.prototype.addChild = function(t) {
                                var e = this.pool.pop();
                                e || (e = document.createElement("button"), e.style.width = c + "px", e.style.height = c + "px", e.style.backgroundColor = this.debug ? "rgba(255,0,0,0.5)" : "transparent", e.style.position = "absolute", e.style.zIndex = p, e.style.borderStyle = "none", navigator.userAgent.toLowerCase().indexOf("chrome") > -1 ? e.setAttribute("aria-live", "off") : e.setAttribute("aria-live", "polite"), navigator.userAgent.match(/rv:.*Gecko\//) ? e.setAttribute("aria-relevant", "additions") : e.setAttribute("aria-relevant", "text"), e.addEventListener("click", this._onClick.bind(this)), e.addEventListener("focus", this._onFocus.bind(this)), e.addEventListener("focusout", this._onFocusOut.bind(this))), t.accessibleTitle && null !== t.accessibleTitle ? e.title = t.accessibleTitle : t.accessibleHint && null !== t.accessibleHint || (e.title = "displayObject " + t.tabIndex), t.accessibleHint && null !== t.accessibleHint && e.setAttribute("aria-label", t.accessibleHint), t._accessibleActive = !0, t._accessibleDiv = e, e.displayObject = t, this.children.push(t), this.div.appendChild(t._accessibleDiv), t._accessibleDiv.tabIndex = t.tabIndex
                            }, t.prototype._onClick = function(t) {
                                var e = this.renderer.plugins.interaction;
                                e.dispatchEvent(t.target.displayObject, "click", e.eventData)
                            }, t.prototype._onFocus = function(t) {
                                t.target.getAttribute("aria-live", "off") || t.target.setAttribute("aria-live", "assertive");
                                var e = this.renderer.plugins.interaction;
                                e.dispatchEvent(t.target.displayObject, "mouseover", e.eventData)
                            }, t.prototype._onFocusOut = function(t) {
                                t.target.getAttribute("aria-live", "off") || t.target.setAttribute("aria-live", "polite");
                                var e = this.renderer.plugins.interaction;
                                e.dispatchEvent(t.target.displayObject, "mouseout", e.eventData)
                            }, t.prototype._onKeyDown = function(t) {
                                9 === t.keyCode && this.activate()
                            }, t.prototype._onMouseMove = function(t) {
                                0 === t.movementX && 0 === t.movementY || this.deactivate()
                            }, t.prototype.destroy = function() {
                                this.div = null;
                                for (var t = 0; t < this.children.length; t++) this.children[t].div = null;
                                window.document.removeEventListener("mousemove", this._onMouseMove, !0), window.removeEventListener("keydown", this._onKeyDown), this.pool = null, this.children = null, this.renderer = null
                            }, t
                        }();
                    r.default = g, a.WebGLRenderer.registerPlugin("accessibility", g), a.CanvasRenderer.registerPlugin("accessibility", g)
                }, {
                    "../core": 65,
                    "./accessibleTarget": 41,
                    ismobilejs: 4
                }],
                41: [function(t, e, r) {
                    "use strict";
                    r.__esModule = !0, r.default = {
                        accessible: !1,
                        accessibleTitle: null,
                        accessibleHint: null,
                        tabIndex: 0,
                        _accessibleActive: !1,
                        _accessibleDiv: !1
                    }
                }, {}],
                42: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./accessibleTarget");
                    Object.defineProperty(r, "accessibleTarget", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./AccessibilityManager");
                    Object.defineProperty(r, "AccessibilityManager", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    })
                }, {
                    "./AccessibilityManager": 40,
                    "./accessibleTarget": 41
                }],
                43: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var o = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        a = t("./autoDetectRenderer"),
                        s = t("./display/Container"),
                        l = i(s),
                        u = t("./ticker"),
                        h = t("./settings"),
                        c = i(h),
                        d = t("./const"),
                        f = function() {
                            function t(e, r, i, o, s) {
                                n(this, t), "number" == typeof e && (e = Object.assign({
                                    width: e,
                                    height: r || c.default.RENDER_OPTIONS.height,
                                    forceCanvas: !!o,
                                    sharedTicker: !!s
                                }, i)), this._options = e = Object.assign({
                                    autoStart: !0,
                                    sharedTicker: !1,
                                    forceCanvas: !1,
                                    sharedLoader: !1
                                }, e), this.renderer = (0, a.autoDetectRenderer)(e), this.stage = new l.default, this._ticker = null, this.ticker = e.sharedTicker ? u.shared : new u.Ticker, e.autoStart && this.start()
                            }
                            return t.prototype.render = function() {
                                this.renderer.render(this.stage)
                            }, t.prototype.stop = function() {
                                this._ticker.stop()
                            }, t.prototype.start = function() {
                                this._ticker.start()
                            }, t.prototype.destroy = function(t, e) {
                                if (this._ticker) {
                                    var r = this._ticker;
                                    this.ticker = null, r.destroy()
                                }
                                this.stage.destroy(e), this.stage = null, this.renderer.destroy(t), this.renderer = null, this._options = null
                            }, o(t, [{
                                key: "ticker",
                                set: function(t) {
                                    this._ticker && this._ticker.remove(this.render, this), this._ticker = t, t && t.add(this.render, this, d.UPDATE_PRIORITY.LOW)
                                },
                                get: function() {
                                    return this._ticker
                                }
                            }, {
                                key: "view",
                                get: function() {
                                    return this.renderer.view
                                }
                            }, {
                                key: "screen",
                                get: function() {
                                    return this.renderer.screen
                                }
                            }]), t
                        }();
                    r.default = f
                }, {
                    "./autoDetectRenderer": 45,
                    "./const": 46,
                    "./display/Container": 48,
                    "./settings": 101,
                    "./ticker": 121
                }],
                44: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }

                    function a(t, e) {
                        if (t instanceof Array) {
                            if ("precision" !== t[0].substring(0, 9)) {
                                var r = t.slice(0);
                                return r.unshift("precision " + e + " float;"), r
                            }
                        } else if ("precision" !== t.trim().substring(0, 9)) return "precision " + e + " float;\n" + t;
                        return t
                    }
                    r.__esModule = !0;
                    var s = t("pixi-gl-core"),
                        l = t("./settings"),
                        u = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(l),
                        h = function(t) {
                            function e(r, o, s, l, h) {
                                return i(this, e), n(this, t.call(this, r, a(o, h || u.default.PRECISION_VERTEX), a(s, h || u.default.PRECISION_FRAGMENT), void 0, l))
                            }
                            return o(e, t), e
                        }(s.GLShader);
                    r.default = h
                }, {
                    "./settings": 101,
                    "pixi-gl-core": 15
                }],
                45: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e, r, i) {
                        var n = t && t.forceCanvas;
                        return void 0 !== i && (n = i), !n && a.isWebGLSupported() ? new h.default(t, e, r) : new l.default(t, e, r)
                    }
                    r.__esModule = !0, r.autoDetectRenderer = n;
                    var o = t("./utils"),
                        a = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(o),
                        s = t("./renderers/canvas/CanvasRenderer"),
                        l = i(s),
                        u = t("./renderers/webgl/WebGLRenderer"),
                        h = i(u)
                }, {
                    "./renderers/canvas/CanvasRenderer": 77,
                    "./renderers/webgl/WebGLRenderer": 84,
                    "./utils": 125
                }],
                46: [function(t, e, r) {
                    "use strict";
                    r.__esModule = !0, r.VERSION = "4.8.8", r.PI_2 = 2 * Math.PI, r.RAD_TO_DEG = 180 / Math.PI, r.DEG_TO_RAD = Math.PI / 180, r.RENDERER_TYPE = {
                        UNKNOWN: 0,
                        WEBGL: 1,
                        CANVAS: 2
                    }, r.BLEND_MODES = {
                        NORMAL: 0,
                        ADD: 1,
                        MULTIPLY: 2,
                        SCREEN: 3,
                        OVERLAY: 4,
                        DARKEN: 5,
                        LIGHTEN: 6,
                        COLOR_DODGE: 7,
                        COLOR_BURN: 8,
                        HARD_LIGHT: 9,
                        SOFT_LIGHT: 10,
                        DIFFERENCE: 11,
                        EXCLUSION: 12,
                        HUE: 13,
                        SATURATION: 14,
                        COLOR: 15,
                        LUMINOSITY: 16,
                        NORMAL_NPM: 17,
                        ADD_NPM: 18,
                        SCREEN_NPM: 19
                    }, r.DRAW_MODES = {
                        POINTS: 0,
                        LINES: 1,
                        LINE_LOOP: 2,
                        LINE_STRIP: 3,
                        TRIANGLES: 4,
                        TRIANGLE_STRIP: 5,
                        TRIANGLE_FAN: 6
                    }, r.SCALE_MODES = {
                        LINEAR: 0,
                        NEAREST: 1
                    }, r.WRAP_MODES = {
                        CLAMP: 0,
                        REPEAT: 1,
                        MIRRORED_REPEAT: 2
                    }, r.GC_MODES = {
                        AUTO: 0,
                        MANUAL: 1
                    }, r.URL_FILE_EXTENSION = /\.(\w{3,4})(?:$|\?|#)/i, r.DATA_URI = /^\s*data:(?:([\w-]+)\/([\w+.-]+))?(?:;charset=([\w-]+))?(?:;(base64))?,(.*)/i, r.SVG_SIZE = /<svg[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i, r.SHAPES = {
                        POLY: 0,
                        RECT: 1,
                        CIRC: 2,
                        ELIP: 3,
                        RREC: 4
                    }, r.PRECISION = {
                        LOW: "lowp",
                        MEDIUM: "mediump",
                        HIGH: "highp"
                    }, r.TRANSFORM_MODE = {
                        STATIC: 0,
                        DYNAMIC: 1
                    }, r.TEXT_GRADIENT = {
                        LINEAR_VERTICAL: 0,
                        LINEAR_HORIZONTAL: 1
                    }, r.UPDATE_PRIORITY = {
                        INTERACTION: 50,
                        HIGH: 25,
                        NORMAL: 0,
                        LOW: -25,
                        UTILITY: -50
                    }
                }, {}],
                47: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../math"),
                        o = function() {
                            function t() {
                                i(this, t), this.minX = 1 / 0, this.minY = 1 / 0, this.maxX = -1 / 0, this.maxY = -1 / 0, this.rect = null
                            }
                            return t.prototype.isEmpty = function() {
                                return this.minX > this.maxX || this.minY > this.maxY
                            }, t.prototype.clear = function() {
                                this.updateID++, this.minX = 1 / 0, this.minY = 1 / 0, this.maxX = -1 / 0, this.maxY = -1 / 0
                            }, t.prototype.getRectangle = function(t) {
                                return this.minX > this.maxX || this.minY > this.maxY ? n.Rectangle.EMPTY : (t = t || new n.Rectangle(0, 0, 1, 1), t.x = this.minX, t.y = this.minY, t.width = this.maxX - this.minX, t.height = this.maxY - this.minY, t)
                            }, t.prototype.addPoint = function(t) {
                                this.minX = Math.min(this.minX, t.x), this.maxX = Math.max(this.maxX, t.x), this.minY = Math.min(this.minY, t.y), this.maxY = Math.max(this.maxY, t.y)
                            }, t.prototype.addQuad = function(t) {
                                var e = this.minX,
                                    r = this.minY,
                                    i = this.maxX,
                                    n = this.maxY,
                                    o = t[0],
                                    a = t[1];
                                e = o < e ? o : e, r = a < r ? a : r, i = o > i ? o : i, n = a > n ? a : n, o = t[2], a = t[3], e = o < e ? o : e, r = a < r ? a : r, i = o > i ? o : i, n = a > n ? a : n, o = t[4], a = t[5], e = o < e ? o : e, r = a < r ? a : r, i = o > i ? o : i, n = a > n ? a : n, o = t[6], a = t[7], e = o < e ? o : e, r = a < r ? a : r, i = o > i ? o : i, n = a > n ? a : n, this.minX = e, this.minY = r, this.maxX = i, this.maxY = n
                            }, t.prototype.addFrame = function(t, e, r, i, n) {
                                var o = t.worldTransform,
                                    a = o.a,
                                    s = o.b,
                                    l = o.c,
                                    u = o.d,
                                    h = o.tx,
                                    c = o.ty,
                                    d = this.minX,
                                    f = this.minY,
                                    p = this.maxX,
                                    g = this.maxY,
                                    y = a * e + l * r + h,
                                    v = s * e + u * r + c;
                                d = y < d ? y : d, f = v < f ? v : f, p = y > p ? y : p, g = v > g ? v : g, y = a * i + l * r + h, v = s * i + u * r + c, d = y < d ? y : d, f = v < f ? v : f, p = y > p ? y : p, g = v > g ? v : g, y = a * e + l * n + h, v = s * e + u * n + c, d = y < d ? y : d, f = v < f ? v : f, p = y > p ? y : p, g = v > g ? v : g, y = a * i + l * n + h, v = s * i + u * n + c, d = y < d ? y : d, f = v < f ? v : f, p = y > p ? y : p, g = v > g ? v : g, this.minX = d, this.minY = f, this.maxX = p, this.maxY = g
                            }, t.prototype.addVertices = function(t, e, r, i) {
                                for (var n = t.worldTransform, o = n.a, a = n.b, s = n.c, l = n.d, u = n.tx, h = n.ty, c = this.minX, d = this.minY, f = this.maxX, p = this.maxY, g = r; g < i; g += 2) {
                                    var y = e[g],
                                        v = e[g + 1],
                                        m = o * y + s * v + u,
                                        x = l * v + a * y + h;
                                    c = m < c ? m : c, d = x < d ? x : d, f = m > f ? m : f, p = x > p ? x : p
                                }
                                this.minX = c, this.minY = d, this.maxX = f, this.maxY = p
                            }, t.prototype.addBounds = function(t) {
                                var e = this.minX,
                                    r = this.minY,
                                    i = this.maxX,
                                    n = this.maxY;
                                this.minX = t.minX < e ? t.minX : e, this.minY = t.minY < r ? t.minY : r, this.maxX = t.maxX > i ? t.maxX : i, this.maxY = t.maxY > n ? t.maxY : n
                            }, t.prototype.addBoundsMask = function(t, e) {
                                var r = t.minX > e.minX ? t.minX : e.minX,
                                    i = t.minY > e.minY ? t.minY : e.minY,
                                    n = t.maxX < e.maxX ? t.maxX : e.maxX,
                                    o = t.maxY < e.maxY ? t.maxY : e.maxY;
                                if (r <= n && i <= o) {
                                    var a = this.minX,
                                        s = this.minY,
                                        l = this.maxX,
                                        u = this.maxY;
                                    this.minX = r < a ? r : a, this.minY = i < s ? i : s, this.maxX = n > l ? n : l, this.maxY = o > u ? o : u
                                }
                            }, t.prototype.addBoundsArea = function(t, e) {
                                var r = t.minX > e.x ? t.minX : e.x,
                                    i = t.minY > e.y ? t.minY : e.y,
                                    n = t.maxX < e.x + e.width ? t.maxX : e.x + e.width,
                                    o = t.maxY < e.y + e.height ? t.maxY : e.y + e.height;
                                if (r <= n && i <= o) {
                                    var a = this.minX,
                                        s = this.minY,
                                        l = this.maxX,
                                        u = this.maxY;
                                    this.minX = r < a ? r : a, this.minY = i < s ? i : s, this.maxX = n > l ? n : l, this.maxY = o > u ? o : u
                                }
                            }, t
                        }();
                    r.default = o
                }, {
                    "../math": 70
                }],
                48: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../utils"),
                        l = t("./DisplayObject"),
                        u = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(l),
                        h = function(t) {
                            function e() {
                                i(this, e);
                                var r = n(this, t.call(this));
                                return r.children = [], r
                            }
                            return o(e, t), e.prototype.onChildrenChange = function() {}, e.prototype.addChild = function(t) {
                                var e = arguments.length;
                                if (e > 1)
                                    for (var r = 0; r < e; r++) this.addChild(arguments[r]);
                                else t.parent && t.parent.removeChild(t), t.parent = this, t.transform._parentID = -1, this.children.push(t), this._boundsID++, this.onChildrenChange(this.children.length - 1), t.emit("added", this);
                                return t
                            }, e.prototype.addChildAt = function(t, e) {
                                if (e < 0 || e > this.children.length) throw new Error(t + "addChildAt: The index " + e + " supplied is out of bounds " + this.children.length);
                                return t.parent && t.parent.removeChild(t), t.parent = this, t.transform._parentID = -1, this.children.splice(e, 0, t), this._boundsID++, this.onChildrenChange(e), t.emit("added", this), t
                            }, e.prototype.swapChildren = function(t, e) {
                                if (t !== e) {
                                    var r = this.getChildIndex(t),
                                        i = this.getChildIndex(e);
                                    this.children[r] = e, this.children[i] = t, this.onChildrenChange(r < i ? r : i)
                                }
                            }, e.prototype.getChildIndex = function(t) {
                                var e = this.children.indexOf(t);
                                if (-1 === e) throw new Error("The supplied DisplayObject must be a child of the caller");
                                return e
                            }, e.prototype.setChildIndex = function(t, e) {
                                if (e < 0 || e >= this.children.length) throw new Error("The index " + e + " supplied is out of bounds " + this.children.length);
                                var r = this.getChildIndex(t);
                                (0, s.removeItems)(this.children, r, 1), this.children.splice(e, 0, t), this.onChildrenChange(e)
                            }, e.prototype.getChildAt = function(t) {
                                if (t < 0 || t >= this.children.length) throw new Error("getChildAt: Index (" + t + ") does not exist.");
                                return this.children[t]
                            }, e.prototype.removeChild = function(t) {
                                var e = arguments.length;
                                if (e > 1)
                                    for (var r = 0; r < e; r++) this.removeChild(arguments[r]);
                                else {
                                    var i = this.children.indexOf(t);
                                    if (-1 === i) return null;
                                    t.parent = null, t.transform._parentID = -1, (0, s.removeItems)(this.children, i, 1), this._boundsID++, this.onChildrenChange(i), t.emit("removed", this)
                                }
                                return t
                            }, e.prototype.removeChildAt = function(t) {
                                var e = this.getChildAt(t);
                                return e.parent = null, e.transform._parentID = -1, (0, s.removeItems)(this.children, t, 1), this._boundsID++, this.onChildrenChange(t), e.emit("removed", this), e
                            }, e.prototype.removeChildren = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    e = arguments[1],
                                    r = t,
                                    i = "number" == typeof e ? e : this.children.length,
                                    n = i - r,
                                    o = void 0;
                                if (n > 0 && n <= i) {
                                    o = this.children.splice(r, n);
                                    for (var a = 0; a < o.length; ++a) o[a].parent = null, o[a].transform && (o[a].transform._parentID = -1);
                                    this._boundsID++, this.onChildrenChange(t);
                                    for (var s = 0; s < o.length; ++s) o[s].emit("removed", this);
                                    return o
                                }
                                if (0 === n && 0 === this.children.length) return [];
                                throw new RangeError("removeChildren: numeric values are outside the acceptable range.")
                            }, e.prototype.updateTransform = function() {
                                this._boundsID++, this.transform.updateTransform(this.parent.transform), this.worldAlpha = this.alpha * this.parent.worldAlpha;
                                for (var t = 0, e = this.children.length; t < e; ++t) {
                                    var r = this.children[t];
                                    r.visible && r.updateTransform()
                                }
                            }, e.prototype.calculateBounds = function() {
                                this._bounds.clear(), this._calculateBounds();
                                for (var t = 0; t < this.children.length; t++) {
                                    var e = this.children[t];
                                    e.visible && e.renderable && (e.calculateBounds(), e._mask ? (e._mask.calculateBounds(), this._bounds.addBoundsMask(e._bounds, e._mask._bounds)) : e.filterArea ? this._bounds.addBoundsArea(e._bounds, e.filterArea) : this._bounds.addBounds(e._bounds))
                                }
                                this._lastBoundsID = this._boundsID
                            }, e.prototype._calculateBounds = function() {}, e.prototype.renderWebGL = function(t) {
                                if (this.visible && !(this.worldAlpha <= 0) && this.renderable)
                                    if (this._mask || this._filters) this.renderAdvancedWebGL(t);
                                    else {
                                        this._renderWebGL(t);
                                        for (var e = 0, r = this.children.length; e < r; ++e) this.children[e].renderWebGL(t)
                                    }
                            }, e.prototype.renderAdvancedWebGL = function(t) {
                                t.flush();
                                var e = this._filters,
                                    r = this._mask;
                                if (e) {
                                    this._enabledFilters || (this._enabledFilters = []), this._enabledFilters.length = 0;
                                    for (var i = 0; i < e.length; i++) e[i].enabled && this._enabledFilters.push(e[i]);
                                    this._enabledFilters.length && t.filterManager.pushFilter(this, this._enabledFilters)
                                }
                                r && t.maskManager.pushMask(this, this._mask), this._renderWebGL(t);
                                for (var n = 0, o = this.children.length; n < o; n++) this.children[n].renderWebGL(t);
                                t.flush(), r && t.maskManager.popMask(this, this._mask), e && this._enabledFilters && this._enabledFilters.length && t.filterManager.popFilter()
                            }, e.prototype._renderWebGL = function(t) {}, e.prototype._renderCanvas = function(t) {}, e.prototype.renderCanvas = function(t) {
                                if (this.visible && !(this.worldAlpha <= 0) && this.renderable) {
                                    this._mask && t.maskManager.pushMask(this._mask), this._renderCanvas(t);
                                    for (var e = 0, r = this.children.length; e < r; ++e) this.children[e].renderCanvas(t);
                                    this._mask && t.maskManager.popMask(t)
                                }
                            }, e.prototype.destroy = function(e) {
                                t.prototype.destroy.call(this);
                                var r = "boolean" == typeof e ? e : e && e.children,
                                    i = this.removeChildren(0, this.children.length);
                                if (r)
                                    for (var n = 0; n < i.length; ++n) i[n].destroy(e)
                            }, a(e, [{
                                key: "width",
                                get: function() {
                                    return this.scale.x * this.getLocalBounds().width
                                },
                                set: function(t) {
                                    var e = this.getLocalBounds().width;
                                    this.scale.x = 0 !== e ? t / e : 1, this._width = t
                                }
                            }, {
                                key: "height",
                                get: function() {
                                    return this.scale.y * this.getLocalBounds().height
                                },
                                set: function(t) {
                                    var e = this.getLocalBounds().height;
                                    this.scale.y = 0 !== e ? t / e : 1, this._height = t
                                }
                            }]), e
                        }(u.default);
                    r.default = h, h.prototype.containerUpdateTransform = h.prototype.updateTransform
                }, {
                    "../utils": 125,
                    "./DisplayObject": 49
                }],
                49: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("eventemitter3"),
                        u = i(l),
                        h = t("../const"),
                        c = t("../settings"),
                        d = i(c),
                        f = t("./TransformStatic"),
                        p = i(f),
                        g = t("./Transform"),
                        y = i(g),
                        v = t("./Bounds"),
                        m = i(v),
                        x = t("../math"),
                        _ = function(t) {
                            function e() {
                                n(this, e);
                                var r = o(this, t.call(this)),
                                    i = d.default.TRANSFORM_MODE === h.TRANSFORM_MODE.STATIC ? p.default : y.default;
                                return r.tempDisplayObjectParent = null, r.transform = new i, r.alpha = 1, r.visible = !0, r.renderable = !0, r.parent = null, r.worldAlpha = 1, r.filterArea = null, r._filters = null, r._enabledFilters = null, r._bounds = new m.default, r._boundsID = 0, r._lastBoundsID = -1, r._boundsRect = null, r._localBoundsRect = null, r._mask = null, r._destroyed = !1, r
                            }
                            return a(e, t), e.prototype.updateTransform = function() {
                                this.transform.updateTransform(this.parent.transform), this.worldAlpha = this.alpha * this.parent.worldAlpha, this._bounds.updateID++
                            }, e.prototype._recursivePostUpdateTransform = function() {
                                this.parent ? (this.parent._recursivePostUpdateTransform(), this.transform.updateTransform(this.parent.transform)) : this.transform.updateTransform(this._tempDisplayObjectParent.transform)
                            }, e.prototype.getBounds = function(t, e) {
                                return t || (this.parent ? (this._recursivePostUpdateTransform(), this.updateTransform()) : (this.parent = this._tempDisplayObjectParent, this.updateTransform(), this.parent = null)), this._boundsID !== this._lastBoundsID && this.calculateBounds(), e || (this._boundsRect || (this._boundsRect = new x.Rectangle), e = this._boundsRect), this._bounds.getRectangle(e)
                            }, e.prototype.getLocalBounds = function(t) {
                                var e = this.transform,
                                    r = this.parent;
                                this.parent = null, this.transform = this._tempDisplayObjectParent.transform, t || (this._localBoundsRect || (this._localBoundsRect = new x.Rectangle), t = this._localBoundsRect);
                                var i = this.getBounds(!1, t);
                                return this.parent = r, this.transform = e, i
                            }, e.prototype.toGlobal = function(t, e) {
                                return arguments.length > 2 && void 0 !== arguments[2] && arguments[2] || (this._recursivePostUpdateTransform(), this.parent ? this.displayObjectUpdateTransform() : (this.parent = this._tempDisplayObjectParent, this.displayObjectUpdateTransform(), this.parent = null)), this.worldTransform.apply(t, e)
                            }, e.prototype.toLocal = function(t, e, r, i) {
                                return e && (t = e.toGlobal(t, r, i)), i || (this._recursivePostUpdateTransform(), this.parent ? this.displayObjectUpdateTransform() : (this.parent = this._tempDisplayObjectParent, this.displayObjectUpdateTransform(), this.parent = null)), this.worldTransform.applyInverse(t, r)
                            }, e.prototype.renderWebGL = function(t) {}, e.prototype.renderCanvas = function(t) {}, e.prototype.setParent = function(t) {
                                if (!t || !t.addChild) throw new Error("setParent: Argument must be a Container");
                                return t.addChild(this), t
                            }, e.prototype.setTransform = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                                    r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1,
                                    i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1,
                                    n = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0,
                                    o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0,
                                    a = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : 0,
                                    s = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : 0,
                                    l = arguments.length > 8 && void 0 !== arguments[8] ? arguments[8] : 0;
                                return this.position.x = t, this.position.y = e, this.scale.x = r || 1, this.scale.y = i || 1, this.rotation = n, this.skew.x = o, this.skew.y = a, this.pivot.x = s, this.pivot.y = l, this
                            }, e.prototype.destroy = function() {
                                this.removeAllListeners(), this.parent && this.parent.removeChild(this), this.transform = null, this.parent = null, this._bounds = null, this._currentBounds = null, this._mask = null, this.filterArea = null, this.interactive = !1, this.interactiveChildren = !1, this._destroyed = !0
                            }, s(e, [{
                                key: "_tempDisplayObjectParent",
                                get: function() {
                                    return null === this.tempDisplayObjectParent && (this.tempDisplayObjectParent = new e), this.tempDisplayObjectParent
                                }
                            }, {
                                key: "x",
                                get: function() {
                                    return this.position.x
                                },
                                set: function(t) {
                                    this.transform.position.x = t
                                }
                            }, {
                                key: "y",
                                get: function() {
                                    return this.position.y
                                },
                                set: function(t) {
                                    this.transform.position.y = t
                                }
                            }, {
                                key: "worldTransform",
                                get: function() {
                                    return this.transform.worldTransform
                                }
                            }, {
                                key: "localTransform",
                                get: function() {
                                    return this.transform.localTransform
                                }
                            }, {
                                key: "position",
                                get: function() {
                                    return this.transform.position
                                },
                                set: function(t) {
                                    this.transform.position.copy(t)
                                }
                            }, {
                                key: "scale",
                                get: function() {
                                    return this.transform.scale
                                },
                                set: function(t) {
                                    this.transform.scale.copy(t)
                                }
                            }, {
                                key: "pivot",
                                get: function() {
                                    return this.transform.pivot
                                },
                                set: function(t) {
                                    this.transform.pivot.copy(t)
                                }
                            }, {
                                key: "skew",
                                get: function() {
                                    return this.transform.skew
                                },
                                set: function(t) {
                                    this.transform.skew.copy(t)
                                }
                            }, {
                                key: "rotation",
                                get: function() {
                                    return this.transform.rotation
                                },
                                set: function(t) {
                                    this.transform.rotation = t
                                }
                            }, {
                                key: "worldVisible",
                                get: function() {
                                    var t = this;
                                    do {
                                        if (!t.visible) return !1;
                                        t = t.parent
                                    } while (t);
                                    return !0
                                }
                            }, {
                                key: "mask",
                                get: function() {
                                    return this._mask
                                },
                                set: function(t) {
                                    this._mask && (this._mask.renderable = !0, this._mask.isMask = !1), this._mask = t, this._mask && (this._mask.renderable = !1, this._mask.isMask = !0)
                                }
                            }, {
                                key: "filters",
                                get: function() {
                                    return this._filters && this._filters.slice()
                                },
                                set: function(t) {
                                    this._filters = t && t.slice()
                                }
                            }]), e
                        }(u.default);
                    r.default = _, _.prototype.displayObjectUpdateTransform = _.prototype.updateTransform
                }, {
                    "../const": 46,
                    "../math": 70,
                    "../settings": 101,
                    "./Bounds": 47,
                    "./Transform": 50,
                    "./TransformStatic": 52,
                    eventemitter3: 3
                }],
                50: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../math"),
                        l = t("./TransformBase"),
                        u = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(l),
                        h = function(t) {
                            function e() {
                                i(this, e);
                                var r = n(this, t.call(this));
                                return r.position = new s.Point(0, 0), r.scale = new s.Point(1, 1), r.skew = new s.ObservablePoint(r.updateSkew, r, 0, 0), r.pivot = new s.Point(0, 0), r._rotation = 0, r._cx = 1, r._sx = 0, r._cy = 0, r._sy = 1, r
                            }
                            return o(e, t), e.prototype.updateSkew = function() {
                                this._cx = Math.cos(this._rotation + this.skew._y), this._sx = Math.sin(this._rotation + this.skew._y), this._cy = -Math.sin(this._rotation - this.skew._x), this._sy = Math.cos(this._rotation - this.skew._x)
                            }, e.prototype.updateLocalTransform = function() {
                                var t = this.localTransform;
                                t.a = this._cx * this.scale.x, t.b = this._sx * this.scale.x, t.c = this._cy * this.scale.y, t.d = this._sy * this.scale.y, t.tx = this.position.x - (this.pivot.x * t.a + this.pivot.y * t.c), t.ty = this.position.y - (this.pivot.x * t.b + this.pivot.y * t.d)
                            }, e.prototype.updateTransform = function(t) {
                                var e = this.localTransform;
                                e.a = this._cx * this.scale.x, e.b = this._sx * this.scale.x, e.c = this._cy * this.scale.y, e.d = this._sy * this.scale.y, e.tx = this.position.x - (this.pivot.x * e.a + this.pivot.y * e.c), e.ty = this.position.y - (this.pivot.x * e.b + this.pivot.y * e.d);
                                var r = t.worldTransform,
                                    i = this.worldTransform;
                                i.a = e.a * r.a + e.b * r.c, i.b = e.a * r.b + e.b * r.d, i.c = e.c * r.a + e.d * r.c, i.d = e.c * r.b + e.d * r.d, i.tx = e.tx * r.a + e.ty * r.c + r.tx, i.ty = e.tx * r.b + e.ty * r.d + r.ty, this._worldID++
                            }, e.prototype.setFromMatrix = function(t) {
                                t.decompose(this)
                            }, a(e, [{
                                key: "rotation",
                                get: function() {
                                    return this._rotation
                                },
                                set: function(t) {
                                    this._rotation = t, this.updateSkew()
                                }
                            }]), e
                        }(u.default);
                    r.default = h
                }, {
                    "../math": 70,
                    "./TransformBase": 51
                }],
                51: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../math"),
                        o = function() {
                            function t() {
                                i(this, t), this.worldTransform = new n.Matrix, this.localTransform = new n.Matrix, this._worldID = 0, this._parentID = 0
                            }
                            return t.prototype.updateLocalTransform = function() {}, t.prototype.updateTransform = function(t) {
                                var e = t.worldTransform,
                                    r = this.worldTransform,
                                    i = this.localTransform;
                                r.a = i.a * e.a + i.b * e.c, r.b = i.a * e.b + i.b * e.d, r.c = i.c * e.a + i.d * e.c, r.d = i.c * e.b + i.d * e.d, r.tx = i.tx * e.a + i.ty * e.c + e.tx, r.ty = i.tx * e.b + i.ty * e.d + e.ty, this._worldID++
                            }, t
                        }();
                    r.default = o, o.prototype.updateWorldTransform = o.prototype.updateTransform, o.IDENTITY = new o
                }, {
                    "../math": 70
                }],
                52: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../math"),
                        l = t("./TransformBase"),
                        u = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(l),
                        h = function(t) {
                            function e() {
                                i(this, e);
                                var r = n(this, t.call(this));
                                return r.position = new s.ObservablePoint(r.onChange, r, 0, 0), r.scale = new s.ObservablePoint(r.onChange, r, 1, 1), r.pivot = new s.ObservablePoint(r.onChange, r, 0, 0), r.skew = new s.ObservablePoint(r.updateSkew, r, 0, 0), r._rotation = 0, r._cx = 1, r._sx = 0, r._cy = 0, r._sy = 1, r._localID = 0, r._currentLocalID = 0, r
                            }
                            return o(e, t), e.prototype.onChange = function() {
                                this._localID++
                            }, e.prototype.updateSkew = function() {
                                this._cx = Math.cos(this._rotation + this.skew._y), this._sx = Math.sin(this._rotation + this.skew._y), this._cy = -Math.sin(this._rotation - this.skew._x), this._sy = Math.cos(this._rotation - this.skew._x), this._localID++
                            }, e.prototype.updateLocalTransform = function() {
                                var t = this.localTransform;
                                this._localID !== this._currentLocalID && (t.a = this._cx * this.scale._x, t.b = this._sx * this.scale._x, t.c = this._cy * this.scale._y, t.d = this._sy * this.scale._y, t.tx = this.position._x - (this.pivot._x * t.a + this.pivot._y * t.c), t.ty = this.position._y - (this.pivot._x * t.b + this.pivot._y * t.d), this._currentLocalID = this._localID, this._parentID = -1)
                            }, e.prototype.updateTransform = function(t) {
                                var e = this.localTransform;
                                if (this._localID !== this._currentLocalID && (e.a = this._cx * this.scale._x, e.b = this._sx * this.scale._x, e.c = this._cy * this.scale._y, e.d = this._sy * this.scale._y, e.tx = this.position._x - (this.pivot._x * e.a + this.pivot._y * e.c), e.ty = this.position._y - (this.pivot._x * e.b + this.pivot._y * e.d), this._currentLocalID = this._localID, this._parentID = -1), this._parentID !== t._worldID) {
                                    var r = t.worldTransform,
                                        i = this.worldTransform;
                                    i.a = e.a * r.a + e.b * r.c, i.b = e.a * r.b + e.b * r.d, i.c = e.c * r.a + e.d * r.c, i.d = e.c * r.b + e.d * r.d, i.tx = e.tx * r.a + e.ty * r.c + r.tx, i.ty = e.tx * r.b + e.ty * r.d + r.ty, this._parentID = t._worldID, this._worldID++
                                }
                            }, e.prototype.setFromMatrix = function(t) {
                                t.decompose(this), this._localID++
                            }, a(e, [{
                                key: "rotation",
                                get: function() {
                                    return this._rotation
                                },
                                set: function(t) {
                                    this._rotation !== t && (this._rotation = t, this.updateSkew())
                                }
                            }]), e
                        }(u.default);
                    r.default = h
                }, {
                    "../math": 70,
                    "./TransformBase": 51
                }],
                53: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../display/Container"),
                        l = i(s),
                        u = t("../textures/RenderTexture"),
                        h = i(u),
                        c = t("../textures/Texture"),
                        d = i(c),
                        f = t("./GraphicsData"),
                        p = i(f),
                        g = t("../sprites/Sprite"),
                        y = i(g),
                        v = t("../math"),
                        m = t("../utils"),
                        x = t("../const"),
                        _ = t("../display/Bounds"),
                        T = i(_),
                        b = t("./utils/bezierCurveTo"),
                        w = i(b),
                        S = t("../renderers/canvas/CanvasRenderer"),
                        E = i(S),
                        C = void 0,
                        O = new v.Matrix,
                        M = new v.Point,
                        P = new Float32Array(4),
                        R = new Float32Array(4),
                        A = function(t) {
                            function e() {
                                var r = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                                n(this, e);
                                var i = o(this, t.call(this));
                                return i.fillAlpha = 1, i.lineWidth = 0, i.nativeLines = r, i.lineColor = 0, i.lineAlignment = .5, i.graphicsData = [], i.tint = 16777215, i._prevTint = 16777215, i.blendMode = x.BLEND_MODES.NORMAL, i.currentPath = null, i._webGL = {}, i.isMask = !1, i.boundsPadding = 0, i._localBounds = new T.default, i.dirty = 0, i.fastRectDirty = -1, i.clearDirty = 0, i.boundsDirty = -1, i.cachedSpriteDirty = !1, i._spriteRect = null, i._fastRect = !1, i._prevRectTint = null, i._prevRectFillColor = null, i
                            }
                            return a(e, t), e.prototype.clone = function() {
                                var t = new e;
                                t.renderable = this.renderable, t.fillAlpha = this.fillAlpha, t.lineWidth = this.lineWidth, t.lineColor = this.lineColor, t.lineAlignment = this.lineAlignment, t.tint = this.tint, t.blendMode = this.blendMode, t.isMask = this.isMask, t.boundsPadding = this.boundsPadding, t.dirty = 0, t.cachedSpriteDirty = this.cachedSpriteDirty;
                                for (var r = 0; r < this.graphicsData.length; ++r) t.graphicsData.push(this.graphicsData[r].clone());
                                return t.currentPath = t.graphicsData[t.graphicsData.length - 1], t.updateLocalBounds(), t
                            }, e.prototype._quadraticCurveLength = function(t, e, r, i, n, o) {
                                var a = t - 2 * r + n,
                                    s = e - 2 * i + o,
                                    l = 2 * r - 2 * t,
                                    u = 2 * i - 2 * e,
                                    h = 4 * (a * a + s * s),
                                    c = 4 * (a * l + s * u),
                                    d = l * l + u * u,
                                    f = 2 * Math.sqrt(h + c + d),
                                    p = Math.sqrt(h),
                                    g = 2 * h * p,
                                    y = 2 * Math.sqrt(d),
                                    v = c / p;
                                return (g * f + p * c * (f - y) + (4 * d * h - c * c) * Math.log((2 * p + v + f) / (v + y))) / (4 * g)
                            }, e.prototype._bezierCurveLength = function(t, e, r, i, n, o, a, s) {
                                for (var l = 0, u = 0, h = 0, c = 0, d = 0, f = 0, p = 0, g = 0, y = 0, v = 0, m = 0, x = t, _ = e, T = 1; T <= 10; ++T) u = T / 10, h = u * u, c = h * u, d = 1 - u, f = d * d, p = f * d, g = p * t + 3 * f * u * r + 3 * d * h * n + c * a, y = p * e + 3 * f * u * i + 3 * d * h * o + c * s, v = x - g, m = _ - y, x = g, _ = y, l += Math.sqrt(v * v + m * m);
                                return l
                            }, e.prototype._segmentsCount = function(t) {
                                var r = Math.ceil(t / e.CURVES.maxLength);
                                return r < e.CURVES.minSegments ? r = e.CURVES.minSegments : r > e.CURVES.maxSegments && (r = e.CURVES.maxSegments), r
                            }, e.prototype.lineStyle = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                                    r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1,
                                    i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : .5;
                                if (this.lineWidth = t, this.lineColor = e, this.lineAlpha = r, this.lineAlignment = i, this.currentPath)
                                    if (this.currentPath.shape.points.length) {
                                        var n = new v.Polygon(this.currentPath.shape.points.slice(-2));
                                        n.closed = !1, this.drawShape(n)
                                    } else this.currentPath.lineWidth = this.lineWidth, this.currentPath.lineColor = this.lineColor, this.currentPath.lineAlpha = this.lineAlpha, this.currentPath.lineAlignment = this.lineAlignment;
                                return this
                            }, e.prototype.moveTo = function(t, e) {
                                var r = new v.Polygon([t, e]);
                                return r.closed = !1, this.drawShape(r), this
                            }, e.prototype.lineTo = function(t, e) {
                                var r = this.currentPath.shape.points,
                                    i = r[r.length - 2],
                                    n = r[r.length - 1];
                                return i === t && n === e || (r.push(t, e), this.dirty++), this
                            }, e.prototype.quadraticCurveTo = function(t, r, i, n) {
                                this.currentPath ? 0 === this.currentPath.shape.points.length && (this.currentPath.shape.points = [0, 0]) : this.moveTo(0, 0);
                                var o = this.currentPath.shape.points,
                                    a = 0,
                                    s = 0;
                                0 === o.length && this.moveTo(0, 0);
                                for (var l = o[o.length - 2], u = o[o.length - 1], h = e.CURVES.adaptive ? this._segmentsCount(this._quadraticCurveLength(l, u, t, r, i, n)) : 20, c = 1; c <= h; ++c) {
                                    var d = c / h;
                                    a = l + (t - l) * d, s = u + (r - u) * d, o.push(a + (t + (i - t) * d - a) * d, s + (r + (n - r) * d - s) * d)
                                }
                                return this.dirty++, this
                            }, e.prototype.bezierCurveTo = function(t, r, i, n, o, a) {
                                this.currentPath ? 0 === this.currentPath.shape.points.length && (this.currentPath.shape.points = [0, 0]) : this.moveTo(0, 0);
                                var s = this.currentPath.shape.points,
                                    l = s[s.length - 2],
                                    u = s[s.length - 1];
                                s.length -= 2;
                                var h = e.CURVES.adaptive ? this._segmentsCount(this._bezierCurveLength(l, u, t, r, i, n, o, a)) : 20;
                                return (0, w.default)(l, u, t, r, i, n, o, a, h, s), this.dirty++, this
                            }, e.prototype.arcTo = function(t, e, r, i, n) {
                                this.currentPath ? 0 === this.currentPath.shape.points.length && this.currentPath.shape.points.push(t, e) : this.moveTo(t, e);
                                var o = this.currentPath.shape.points,
                                    a = o[o.length - 2],
                                    s = o[o.length - 1],
                                    l = s - e,
                                    u = a - t,
                                    h = i - e,
                                    c = r - t,
                                    d = Math.abs(l * c - u * h);
                                if (d < 1e-8 || 0 === n) o[o.length - 2] === t && o[o.length - 1] === e || o.push(t, e);
                                else {
                                    var f = l * l + u * u,
                                        p = h * h + c * c,
                                        g = l * h + u * c,
                                        y = n * Math.sqrt(f) / d,
                                        v = n * Math.sqrt(p) / d,
                                        m = y * g / f,
                                        x = v * g / p,
                                        _ = y * c + v * u,
                                        T = y * h + v * l,
                                        b = u * (v + m),
                                        w = l * (v + m),
                                        S = c * (y + x),
                                        E = h * (y + x),
                                        C = Math.atan2(w - T, b - _),
                                        O = Math.atan2(E - T, S - _);
                                    this.arc(_ + t, T + e, n, C, O, u * h > c * l)
                                }
                                return this.dirty++, this
                            }, e.prototype.arc = function(t, r, i, n, o) {
                                var a = arguments.length > 5 && void 0 !== arguments[5] && arguments[5];
                                if (n === o) return this;
                                !a && o <= n ? o += x.PI_2 : a && n <= o && (n += x.PI_2);
                                var s = o - n,
                                    l = e.CURVES.adaptive ? this._segmentsCount(Math.abs(s) * i) : 40 * Math.ceil(Math.abs(s) / x.PI_2);
                                if (0 === s) return this;
                                var u = t + Math.cos(n) * i,
                                    h = r + Math.sin(n) * i,
                                    c = this.currentPath ? this.currentPath.shape.points : null;
                                if (c) {
                                    var d = Math.abs(c[c.length - 2] - u),
                                        f = Math.abs(c[c.length - 1] - h);
                                    d < .001 && f < .001 || c.push(u, h)
                                } else this.moveTo(u, h), c = this.currentPath.shape.points;
                                for (var p = s / (2 * l), g = 2 * p, y = Math.cos(p), v = Math.sin(p), m = l - 1, _ = m % 1 / m, T = 0; T <= m; ++T) {
                                    var b = T + _ * T,
                                        w = p + n + g * b,
                                        S = Math.cos(w),
                                        E = -Math.sin(w);
                                    c.push((y * S + v * E) * i + t, (y * -E + v * S) * i + r)
                                }
                                return this.dirty++, this
                            }, e.prototype.beginFill = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1;
                                return this.filling = !0, this.fillColor = t, this.fillAlpha = e, this.currentPath && this.currentPath.shape.points.length <= 2 && (this.currentPath.fill = this.filling, this.currentPath.fillColor = this.fillColor, this.currentPath.fillAlpha = this.fillAlpha), this
                            }, e.prototype.endFill = function() {
                                return this.filling = !1, this.fillColor = null, this.fillAlpha = 1, this
                            }, e.prototype.drawRect = function(t, e, r, i) {
                                return this.drawShape(new v.Rectangle(t, e, r, i)), this
                            }, e.prototype.drawRoundedRect = function(t, e, r, i, n) {
                                return this.drawShape(new v.RoundedRectangle(t, e, r, i, n)), this
                            }, e.prototype.drawCircle = function(t, e, r) {
                                return this.drawShape(new v.Circle(t, e, r)), this
                            }, e.prototype.drawEllipse = function(t, e, r, i) {
                                return this.drawShape(new v.Ellipse(t, e, r, i)), this
                            }, e.prototype.drawPolygon = function(t) {
                                var e = t,
                                    r = !0;
                                if (e instanceof v.Polygon && (r = e.closed, e = e.points), !Array.isArray(e)) {
                                    e = new Array(arguments.length);
                                    for (var i = 0; i < e.length; ++i) e[i] = arguments[i]
                                }
                                var n = new v.Polygon(e);
                                return n.closed = r, this.drawShape(n), this
                            }, e.prototype.drawStar = function(t, e, r, i, n) {
                                var o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0;
                                n = n || i / 2;
                                for (var a = -1 * Math.PI / 2 + o, s = 2 * r, l = x.PI_2 / s, u = [], h = 0; h < s; h++) {
                                    var c = h % 2 ? n : i,
                                        d = h * l + a;
                                    u.push(t + c * Math.cos(d), e + c * Math.sin(d))
                                }
                                return this.drawPolygon(u)
                            }, e.prototype.clear = function() {
                                return (this.lineWidth || this.filling || this.graphicsData.length > 0) && (this.lineWidth = 0, this.lineAlignment = .5, this.filling = !1, this.boundsDirty = -1, this.canvasTintDirty = -1, this.dirty++, this.clearDirty++, this.graphicsData.length = 0), this.currentPath = null, this._spriteRect = null, this
                            }, e.prototype.isFastRect = function() {
                                return 1 === this.graphicsData.length && this.graphicsData[0].shape.type === x.SHAPES.RECT && !this.graphicsData[0].lineWidth
                            }, e.prototype._renderWebGL = function(t) {
                                this.dirty !== this.fastRectDirty && (this.fastRectDirty = this.dirty, this._fastRect = this.isFastRect()), this._fastRect ? this._renderSpriteRect(t) : (t.setObjectRenderer(t.plugins.graphics), t.plugins.graphics.render(this))
                            }, e.prototype._renderSpriteRect = function(t) {
                                var e = this.graphicsData[0].shape;
                                this._spriteRect || (this._spriteRect = new y.default(new d.default(d.default.WHITE)));
                                var r = this._spriteRect,
                                    i = this.graphicsData[0].fillColor;
                                if (16777215 === this.tint) r.tint = i;
                                else if (this.tint !== this._prevRectTint || i !== this._prevRectFillColor) {
                                    var n = P,
                                        o = R;
                                    (0, m.hex2rgb)(i, n), (0, m.hex2rgb)(this.tint, o), n[0] *= o[0], n[1] *= o[1], n[2] *= o[2], r.tint = (0, m.rgb2hex)(n), this._prevRectTint = this.tint, this._prevRectFillColor = i
                                }
                                r.alpha = this.graphicsData[0].fillAlpha, r.worldAlpha = this.worldAlpha * r.alpha, r.blendMode = this.blendMode, r._texture._frame.width = e.width, r._texture._frame.height = e.height, r.transform.worldTransform = this.transform.worldTransform, r.anchor.set(-e.x / e.width, -e.y / e.height), r._onAnchorUpdate(), r._renderWebGL(t)
                            }, e.prototype._renderCanvas = function(t) {
                                !0 !== this.isMask && t.plugins.graphics.render(this)
                            }, e.prototype._calculateBounds = function() {
                                this.boundsDirty !== this.dirty && (this.boundsDirty = this.dirty, this.updateLocalBounds(), this.cachedSpriteDirty = !0);
                                var t = this._localBounds;
                                this._bounds.addFrame(this.transform, t.minX, t.minY, t.maxX, t.maxY)
                            }, e.prototype.containsPoint = function(t) {
                                this.worldTransform.applyInverse(t, M);
                                for (var e = this.graphicsData, r = 0; r < e.length; ++r) {
                                    var i = e[r];
                                    if (i.fill && i.shape && i.shape.contains(M.x, M.y)) {
                                        if (i.holes)
                                            for (var n = 0; n < i.holes.length; n++) {
                                                var o = i.holes[n];
                                                if (o.contains(M.x, M.y)) return !1
                                            }
                                        return !0
                                    }
                                }
                                return !1
                            }, e.prototype.updateLocalBounds = function() {
                                var t = 1 / 0,
                                    e = -1 / 0,
                                    r = 1 / 0,
                                    i = -1 / 0;
                                if (this.graphicsData.length)
                                    for (var n = 0, o = 0, a = 0, s = 0, l = 0, u = 0; u < this.graphicsData.length; u++) {
                                        var h = this.graphicsData[u],
                                            c = h.type,
                                            d = h.lineWidth,
                                            f = h.lineAlignment,
                                            p = d * f;
                                        if (n = h.shape, c === x.SHAPES.RECT || c === x.SHAPES.RREC) o = n.x - p, a = n.y - p, s = n.width + 2 * p, l = n.height + 2 * p, t = o < t ? o : t, e = o + s > e ? o + s : e, r = a < r ? a : r, i = a + l > i ? a + l : i;
                                        else if (c === x.SHAPES.CIRC) o = n.x, a = n.y, s = n.radius + p, l = n.radius + p, t = o - s < t ? o - s : t, e = o + s > e ? o + s : e, r = a - l < r ? a - l : r, i = a + l > i ? a + l : i;
                                        else if (c === x.SHAPES.ELIP) o = n.x, a = n.y, s = n.width + p, l = n.height + p, t = o - s < t ? o - s : t, e = o + s > e ? o + s : e, r = a - l < r ? a - l : r, i = a + l > i ? a + l : i;
                                        else
                                            for (var g = n.points, y = 0, v = 0, m = 0, _ = 0, T = 0, b = 0, w = 0, S = 0, E = 0; E + 2 < g.length; E += 2) o = g[E], a = g[E + 1], y = g[E + 2], v = g[E + 3], m = Math.abs(y - o), _ = Math.abs(v - a), l = 2 * p, (s = Math.sqrt(m * m + _ * _)) < 1e-9 || (T = (l / s * _ + m) / 2, b = (l / s * m + _) / 2, w = (y + o) / 2, S = (v + a) / 2, t = w - T < t ? w - T : t, e = w + T > e ? w + T : e, r = S - b < r ? S - b : r, i = S + b > i ? S + b : i)
                                    } else t = 0, e = 0, r = 0, i = 0;
                                var C = this.boundsPadding;
                                this._localBounds.minX = t - C, this._localBounds.maxX = e + C, this._localBounds.minY = r - C, this._localBounds.maxY = i + C
                            }, e.prototype.drawShape = function(t) {
                                this.currentPath && this.currentPath.shape.points.length <= 2 && this.graphicsData.pop(), this.currentPath = null;
                                var e = new p.default(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, this.nativeLines, t, this.lineAlignment);
                                return this.graphicsData.push(e), e.type === x.SHAPES.POLY && (e.shape.closed = e.shape.closed, this.currentPath = e), this.dirty++, e
                            }, e.prototype.generateCanvasTexture = function(t) {
                                var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1,
                                    r = this.getLocalBounds(),
                                    i = h.default.create(r.width, r.height, t, e);
                                C || (C = new E.default), this.transform.updateLocalTransform(), this.transform.localTransform.copy(O), O.invert(), O.tx -= r.x, O.ty -= r.y, C.render(this, i, !0, O);
                                var n = d.default.fromCanvas(i.baseTexture._canvasRenderTarget.canvas, t, "graphics");
                                return n.baseTexture.resolution = e, n.baseTexture.update(), n
                            }, e.prototype.closePath = function() {
                                var t = this.currentPath;
                                return t && t.shape && t.shape.close(), this
                            }, e.prototype.addHole = function() {
                                var t = this.graphicsData.pop();
                                return this.currentPath = this.graphicsData[this.graphicsData.length - 1], this.currentPath.addHole(t.shape), this.currentPath = null, this
                            }, e.prototype.destroy = function(e) {
                                t.prototype.destroy.call(this, e);
                                for (var r = 0; r < this.graphicsData.length; ++r) this.graphicsData[r].destroy();
                                for (var i in this._webGL)
                                    for (var n = 0; n < this._webGL[i].data.length; ++n) this._webGL[i].data[n].destroy();
                                this._spriteRect && this._spriteRect.destroy(), this.graphicsData = null, this.currentPath = null, this._webGL = null, this._localBounds = null
                            }, e
                        }(l.default);
                    r.default = A, A._SPRITE_TEXTURE = null, A.CURVES = {
                        adaptive: !1,
                        maxLength: 10,
                        minSegments: 8,
                        maxSegments: 2048
                    }
                }, {
                    "../const": 46,
                    "../display/Bounds": 47,
                    "../display/Container": 48,
                    "../math": 70,
                    "../renderers/canvas/CanvasRenderer": 77,
                    "../sprites/Sprite": 102,
                    "../textures/RenderTexture": 113,
                    "../textures/Texture": 115,
                    "../utils": 125,
                    "./GraphicsData": 54,
                    "./utils/bezierCurveTo": 56
                }],
                54: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t(e, r, n, o, a, s, l, u, h) {
                            i(this, t), this.lineWidth = e, this.lineAlignment = h, this.nativeLines = l, this.lineColor = r, this.lineAlpha = n, this._lineTint = r, this.fillColor = o, this.fillAlpha = a, this._fillTint = o, this.fill = s, this.holes = [], this.shape = u, this.type = u.type
                        }
                        return t.prototype.clone = function() {
                            return new t(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.fill, this.nativeLines, this.shape, this.lineAlignment)
                        }, t.prototype.addHole = function(t) {
                            this.holes.push(t)
                        }, t.prototype.destroy = function() {
                            this.shape = null, this.holes = null
                        }, t
                    }();
                    r.default = n
                }, {}],
                55: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../../renderers/canvas/CanvasRenderer"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = t("../../const"),
                        s = function() {
                            function t(e) {
                                i(this, t), this.renderer = e
                            }
                            return t.prototype.render = function(t) {
                                    var e = this.renderer,
                                        r = e.context,
                                        i = t.worldAlpha,
                                        n = t.transform.worldTransform,
                                        o = e.resolution;
                                    r.setTransform(n.a * o, n.b * o, n.c * o, n.d * o, n.tx * o, n.ty * o), t.canvasTintDirty === t.dirty && t._prevTint === t.tint || this.updateGraphicsTint(t), e.setBlendMode(t.blendMode);
                                    for (var s = 0; s < t.graphicsData.length; s++) {
                                        var l = t.graphicsData[s],
                                            u = l.shape,
                                            h = l._fillTint,
                                            c = l._lineTint;
                                        if (r.lineWidth = l.lineWidth, l.type === a.SHAPES.POLY) {
                                            r.beginPath();
                                            var d = u.points,
                                                f = l.holes,
                                                p = void 0,
                                                g = void 0,
                                                y = void 0,
                                                v = void 0;
                                            r.moveTo(d[0], d[1]);
                                            for (var m = 2; m < d.length; m += 2) r.lineTo(d[m], d[m + 1]);
                                            if (u.closed && r.closePath(), f.length > 0) {
                                                p = 0, y = d[0], v = d[1];
                                                for (var x = 2; x + 2 < d.length; x += 2) p += (d[x] - y) * (d[x + 3] - v) - (d[x + 2] - y) * (d[x + 1] - v);
                                                for (var _ = 0; _ < f.length; _++)
                                                    if (d = f[_].points) {
                                                        g = 0, y = d[0], v = d[1];
                                                        for (var T = 2; T + 2 < d.length; T += 2) g += (d[T] - y) * (d[T + 3] - v) - (d[T + 2] - y) * (d[T + 1] - v);
                                                        if (g * p < 0) {
                                                            r.moveTo(d[0], d[1]);
                                                            for (var b = 2; b < d.length; b += 2) r.lineTo(d[b], d[b + 1])
                                                        } else {
                                                            r.moveTo(d[d.length - 2], d[d.length - 1]);
                                                            for (var w = d.length - 4; w >= 0; w -= 2) r.lineTo(d[w], d[w + 1])
                                                        }
                                                        f[_].close && r.closePath()
                                                    }
                                            }
                                            l.fill && (r.globalAlpha = l.fillAlpha * i, r.fillStyle = "#" + ("00000" + (0 | h).toString(16)).substr(-6), r.fill()), l.lineWidth && (r.globalAlpha = l.lineAlpha * i, r.strokeStyle = "#" + ("00000" + (0 | c).toString(16)).substr(-6), r.stroke())
                                        } else if (l.type === a.SHAPES.RECT)(l.fillColor || 0 === l.fillColor) && (r.globalAlpha = l.fillAlpha * i, r.fillStyle = "#" + ("00000" + (0 | h).toString(16)).substr(-6), r.fillRect(u.x, u.y, u.width, u.height)), l.lineWidth && (r.globalAlpha = l.lineAlpha * i, r.strokeStyle = "#" + ("00000" + (0 | c).toString(16)).substr(-6), r.strokeRect(u.x, u.y, u.width, u.height));
                                        else if (l.type === a.SHAPES.CIRC) r.beginPath(), r.arc(u.x, u.y, u.radius, 0, 2 * Math.PI), r.closePath(), l.fill && (r.globalAlpha = l.fillAlpha * i, r.fillStyle = "#" + ("00000" + (0 | h).toString(16)).substr(-6), r.fill()), l.lineWidth && (r.globalAlpha = l.lineAlpha * i, r.strokeStyle = "#" + ("00000" + (0 | c).toString(16)).substr(-6), r.stroke());
                                        else if (l.type === a.SHAPES.ELIP) {
                                            var S = 2 * u.width,
                                                E = 2 * u.height,
                                                C = u.x - S / 2,
                                                O = u.y - E / 2;
                                            r.beginPath();
                                            var M = S / 2 * .5522848,
                                                P = E / 2 * .5522848,
                                                R = C + S,
                                                A = O + E,
                                                D = C + S / 2,
                                                I = O + E / 2;
                                            r.moveTo(C, I), r.bezierCurveTo(C, I - P, D - M, O, D, O), r.bezierCurveTo(D + M, O, R, I - P, R, I), r.bezierCurveTo(R, I + P, D + M, A, D, A), r.bezierCurveTo(D - M, A, C, I + P, C, I), r.closePath(), l.fill && (r.globalAlpha = l.fillAlpha * i, r.fillStyle = "#" + ("00000" + (0 | h).toString(16)).substr(-6), r.fill()), l.lineWidth && (r.globalAlpha = l.lineAlpha * i, r.strokeStyle = "#" + ("00000" + (0 | c).toString(16)).substr(-6), r.stroke())
                                        } else if (l.type === a.SHAPES.RREC) {
                                            var L = u.x,
                                                k = u.y,
                                                F = u.width,
                                                N = u.height,
                                                B = u.radius,
                                                j = Math.min(F, N) / 2 | 0;
                                            B = B > j ? j : B, r.beginPath(), r.moveTo(L, k + B), r.lineTo(L, k + N - B), r.quadraticCurveTo(L, k + N, L + B, k + N), r.lineTo(L + F - B, k + N), r.quadraticCurveTo(L + F, k + N, L + F, k + N - B), r.lineTo(L + F, k + B), r.quadraticCurveTo(L + F, k, L + F - B, k), r.lineTo(L + B, k), r.quadraticCurveTo(L, k, L, k + B), r.closePath(), (l.fillColor || 0 === l.fillColor) && (r.globalAlpha = l.fillAlpha * i, r.fillStyle = "#" + ("00000" + (0 | h).toString(16)).substr(-6), r.fill()), l.lineWidth && (r.globalAlpha = l.lineAlpha * i, r.strokeStyle = "#" + ("00000" + (0 | c).toString(16)).substr(-6), r.stroke())
                                        }
                                    }
                                },
                                t.prototype.updateGraphicsTint = function(t) {
                                    t._prevTint = t.tint, t.canvasTintDirty = t.dirty;
                                    for (var e = (t.tint >> 16 & 255) / 255, r = (t.tint >> 8 & 255) / 255, i = (255 & t.tint) / 255, n = 0; n < t.graphicsData.length; ++n) {
                                        var o = t.graphicsData[n],
                                            a = 0 | o.fillColor,
                                            s = 0 | o.lineColor;
                                        o._fillTint = ((a >> 16 & 255) / 255 * e * 255 << 16) + ((a >> 8 & 255) / 255 * r * 255 << 8) + (255 & a) / 255 * i * 255, o._lineTint = ((s >> 16 & 255) / 255 * e * 255 << 16) + ((s >> 8 & 255) / 255 * r * 255 << 8) + (255 & s) / 255 * i * 255
                                    }
                                }, t.prototype.renderPolygon = function(t, e, r) {
                                    r.moveTo(t[0], t[1]);
                                    for (var i = 1; i < t.length / 2; ++i) r.lineTo(t[2 * i], t[2 * i + 1]);
                                    e && r.closePath()
                                }, t.prototype.destroy = function() {
                                    this.renderer = null
                                }, t
                        }();
                    r.default = s, o.default.registerPlugin("graphics", s)
                }, {
                    "../../const": 46,
                    "../../renderers/canvas/CanvasRenderer": 77
                }],
                56: [function(t, e, r) {
                    "use strict";

                    function i(t, e, r, i, n, o, a, s, l) {
                        var u = arguments.length > 9 && void 0 !== arguments[9] ? arguments[9] : [],
                            h = 0,
                            c = 0,
                            d = 0,
                            f = 0,
                            p = 0;
                        u.push(t, e);
                        for (var g = 1, y = 0; g <= l; ++g) y = g / l, h = 1 - y, c = h * h, d = c * h, f = y * y, p = f * y, u.push(d * t + 3 * c * y * r + 3 * h * f * n + p * a, d * e + 3 * c * y * i + 3 * h * f * o + p * s);
                        return u
                    }
                    r.__esModule = !0, r.default = i
                }, {}],
                57: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../../utils"),
                        l = t("../../const"),
                        u = t("../../renderers/webgl/utils/ObjectRenderer"),
                        h = i(u),
                        c = t("../../renderers/webgl/WebGLRenderer"),
                        d = i(c),
                        f = t("./WebGLGraphicsData"),
                        p = i(f),
                        g = t("./shaders/PrimitiveShader"),
                        y = i(g),
                        v = t("./utils/buildPoly"),
                        m = i(v),
                        x = t("./utils/buildRectangle"),
                        _ = i(x),
                        T = t("./utils/buildRoundedRectangle"),
                        b = i(T),
                        w = t("./utils/buildCircle"),
                        S = i(w),
                        E = function(t) {
                            function e(r) {
                                n(this, e);
                                var i = o(this, t.call(this, r));
                                return i.graphicsDataPool = [], i.primitiveShader = null, i.gl = r.gl, i.CONTEXT_UID = 0, i
                            }
                            return a(e, t), e.prototype.onContextChange = function() {
                                this.gl = this.renderer.gl, this.CONTEXT_UID = this.renderer.CONTEXT_UID, this.primitiveShader = new y.default(this.gl)
                            }, e.prototype.destroy = function() {
                                h.default.prototype.destroy.call(this);
                                for (var t = 0; t < this.graphicsDataPool.length; ++t) this.graphicsDataPool[t].destroy();
                                this.graphicsDataPool = null
                            }, e.prototype.render = function(t) {
                                var e = this.renderer,
                                    r = e.gl,
                                    i = void 0,
                                    n = t._webGL[this.CONTEXT_UID];
                                n && t.dirty === n.dirty || (this.updateGraphics(t), n = t._webGL[this.CONTEXT_UID]);
                                var o = this.primitiveShader;
                                e.bindShader(o), e.state.setBlendMode(t.blendMode);
                                for (var a = 0, l = n.data.length; a < l; a++) {
                                    i = n.data[a];
                                    var u = i.shader;
                                    e.bindShader(u), u.uniforms.translationMatrix = t.transform.worldTransform.toArray(!0), u.uniforms.tint = (0, s.hex2rgb)(t.tint), u.uniforms.alpha = t.worldAlpha, e.bindVao(i.vao), i.nativeLines ? r.drawArrays(r.LINES, 0, i.points.length / 6) : i.vao.draw(r.TRIANGLE_STRIP, i.indices.length)
                                }
                            }, e.prototype.updateGraphics = function(t) {
                                var e = this.renderer.gl,
                                    r = t._webGL[this.CONTEXT_UID];
                                if (r || (r = t._webGL[this.CONTEXT_UID] = {
                                        lastIndex: 0,
                                        data: [],
                                        gl: e,
                                        clearDirty: -1,
                                        dirty: -1
                                    }), r.dirty = t.dirty, t.clearDirty !== r.clearDirty) {
                                    r.clearDirty = t.clearDirty;
                                    for (var i = 0; i < r.data.length; i++) this.graphicsDataPool.push(r.data[i]);
                                    r.data.length = 0, r.lastIndex = 0
                                }
                                for (var n = void 0, o = void 0, a = r.lastIndex; a < t.graphicsData.length; a++) {
                                    var s = t.graphicsData[a];
                                    n = this.getWebGLData(r, 0), s.nativeLines && s.lineWidth && (o = this.getWebGLData(r, 0, !0), r.lastIndex++), s.type === l.SHAPES.POLY && (0, m.default)(s, n, o), s.type === l.SHAPES.RECT ? (0, _.default)(s, n, o) : s.type === l.SHAPES.CIRC || s.type === l.SHAPES.ELIP ? (0, S.default)(s, n, o) : s.type === l.SHAPES.RREC && (0, b.default)(s, n, o), r.lastIndex++
                                }
                                this.renderer.bindVao(null);
                                for (var u = 0; u < r.data.length; u++) n = r.data[u], n.dirty && n.upload()
                            }, e.prototype.getWebGLData = function(t, e, r) {
                                var i = t.data[t.data.length - 1];
                                return (!i || i.nativeLines !== r || i.points.length > 32e4) && (i = this.graphicsDataPool.pop() || new p.default(this.renderer.gl, this.primitiveShader, this.renderer.state.attribsState), i.nativeLines = r, i.reset(e), t.data.push(i)), i.dirty = !0, i
                            }, e
                        }(h.default);
                    r.default = E, d.default.registerPlugin("graphics", E)
                }, {
                    "../../const": 46,
                    "../../renderers/webgl/WebGLRenderer": 84,
                    "../../renderers/webgl/utils/ObjectRenderer": 94,
                    "../../utils": 125,
                    "./WebGLGraphicsData": 58,
                    "./shaders/PrimitiveShader": 59,
                    "./utils/buildCircle": 60,
                    "./utils/buildPoly": 62,
                    "./utils/buildRectangle": 63,
                    "./utils/buildRoundedRectangle": 64
                }],
                58: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("pixi-gl-core"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = function() {
                            function t(e, r, n) {
                                i(this, t), this.gl = e, this.color = [0, 0, 0], this.points = [], this.indices = [], this.buffer = o.default.GLBuffer.createVertexBuffer(e), this.indexBuffer = o.default.GLBuffer.createIndexBuffer(e), this.dirty = !0, this.nativeLines = !1, this.glPoints = null, this.glIndices = null, this.shader = r, this.vao = new o.default.VertexArrayObject(e, n).addIndex(this.indexBuffer).addAttribute(this.buffer, r.attributes.aVertexPosition, e.FLOAT, !1, 24, 0).addAttribute(this.buffer, r.attributes.aColor, e.FLOAT, !1, 24, 8)
                            }
                            return t.prototype.reset = function() {
                                this.points.length = 0, this.indices.length = 0
                            }, t.prototype.upload = function() {
                                this.glPoints = new Float32Array(this.points), this.buffer.upload(this.glPoints), this.glIndices = new Uint16Array(this.indices), this.indexBuffer.upload(this.glIndices), this.dirty = !1
                            }, t.prototype.destroy = function() {
                                this.color = null, this.points = null, this.indices = null, this.vao.destroy(), this.buffer.destroy(), this.indexBuffer.destroy(), this.gl = null, this.buffer = null, this.indexBuffer = null, this.glPoints = null, this.glIndices = null
                            }, t
                        }();
                    r.default = a
                }, {
                    "pixi-gl-core": 15
                }],
                59: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = t("../../../Shader"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = function(t) {
                            function e(r) {
                                return i(this, e), n(this, t.call(this, r, ["attribute vec2 aVertexPosition;", "attribute vec4 aColor;", "uniform mat3 translationMatrix;", "uniform mat3 projectionMatrix;", "uniform float alpha;", "uniform vec3 tint;", "varying vec4 vColor;", "void main(void){", "   gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);", "   vColor = aColor * vec4(tint * alpha, alpha);", "}"].join("\n"), ["varying vec4 vColor;", "void main(void){", "   gl_FragColor = vColor;", "}"].join("\n")))
                            }
                            return o(e, t), e
                        }(s.default);
                    r.default = l
                }, {
                    "../../../Shader": 44
                }],
                60: [function(t, e, r) {
                    "use strict";

                    function i(t, e, r) {
                        var i = t.shape,
                            n = i.x,
                            l = i.y,
                            u = void 0,
                            h = void 0;
                        if (t.type === a.SHAPES.CIRC ? (u = i.radius, h = i.radius) : (u = i.width, h = i.height), 0 !== u && 0 !== h) {
                            var c = Math.floor(30 * Math.sqrt(i.radius)) || Math.floor(15 * Math.sqrt(i.width + i.height)),
                                d = 2 * Math.PI / c;
                            if (t.fill) {
                                var f = (0, s.hex2rgb)(t.fillColor),
                                    p = t.fillAlpha,
                                    g = f[0] * p,
                                    y = f[1] * p,
                                    v = f[2] * p,
                                    m = e.points,
                                    x = e.indices,
                                    _ = m.length / 6;
                                x.push(_);
                                for (var T = 0; T < c + 1; T++) m.push(n, l, g, y, v, p), m.push(n + Math.sin(d * T) * u, l + Math.cos(d * T) * h, g, y, v, p), x.push(_++, _++);
                                x.push(_ - 1)
                            }
                            if (t.lineWidth) {
                                var b = t.points;
                                t.points = [];
                                for (var w = 0; w < c; w++) t.points.push(n + Math.sin(d * -w) * u, l + Math.cos(d * -w) * h);
                                t.points.push(t.points[0], t.points[1]), (0, o.default)(t, e, r), t.points = b
                            }
                        }
                    }
                    r.__esModule = !0, r.default = i;
                    var n = t("./buildLine"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = t("../../../const"),
                        s = t("../../../utils")
                }, {
                    "../../../const": 46,
                    "../../../utils": 125,
                    "./buildLine": 61
                }],
                61: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        var r = t.points;
                        if (0 !== r.length) {
                            var i = new o.Point(r[0], r[1]),
                                n = new o.Point(r[r.length - 2], r[r.length - 1]);
                            if (i.x === n.x && i.y === n.y) {
                                r = r.slice(), r.pop(), r.pop(), n = new o.Point(r[r.length - 2], r[r.length - 1]);
                                var s = n.x + .5 * (i.x - n.x),
                                    l = n.y + .5 * (i.y - n.y);
                                r.unshift(s, l), r.push(s, l)
                            }
                            var u = e.points,
                                h = e.indices,
                                c = r.length / 2,
                                d = r.length,
                                f = u.length / 6,
                                p = t.lineWidth / 2,
                                g = (0, a.hex2rgb)(t.lineColor),
                                y = t.lineAlpha,
                                v = g[0] * y,
                                m = g[1] * y,
                                x = g[2] * y,
                                _ = r[0],
                                T = r[1],
                                b = r[2],
                                w = r[3],
                                S = 0,
                                E = 0,
                                C = -(T - w),
                                O = _ - b,
                                M = 0,
                                P = 0,
                                R = 0,
                                A = 0,
                                D = Math.sqrt(C * C + O * O);
                            C /= D, O /= D, C *= p, O *= p;
                            var I = t.lineAlignment,
                                L = 2 * (1 - I),
                                k = 2 * I;
                            u.push(_ - C * L, T - O * L, v, m, x, y), u.push(_ + C * k, T + O * k, v, m, x, y);
                            for (var F = 1; F < c - 1; ++F) {
                                _ = r[2 * (F - 1)], T = r[2 * (F - 1) + 1], b = r[2 * F], w = r[2 * F + 1], S = r[2 * (F + 1)], E = r[2 * (F + 1) + 1], C = -(T - w), O = _ - b, D = Math.sqrt(C * C + O * O), C /= D, O /= D, C *= p, O *= p, M = -(w - E), P = b - S, D = Math.sqrt(M * M + P * P), M /= D, P /= D, M *= p, P *= p;
                                var N = -O + T - (-O + w),
                                    B = -C + b - (-C + _),
                                    j = (-C + _) * (-O + w) - (-C + b) * (-O + T),
                                    U = -P + E - (-P + w),
                                    W = -M + b - (-M + S),
                                    H = (-M + S) * (-P + w) - (-M + b) * (-P + E),
                                    X = N * W - U * B;
                                if (Math.abs(X) < .1) X += 10.1, u.push(b - C * L, w - O * L, v, m, x, y), u.push(b + C * k, w + O * k, v, m, x, y);
                                else {
                                    var G = (B * H - W * j) / X,
                                        z = (U * j - N * H) / X;
                                    (G - b) * (G - b) + (z - w) * (z - w) > 196 * p * p ? (R = C - M, A = O - P, D = Math.sqrt(R * R + A * A), R /= D, A /= D, R *= p, A *= p, u.push(b - R * L, w - A * L), u.push(v, m, x, y), u.push(b + R * k, w + A * k), u.push(v, m, x, y), u.push(b - R * k * L, w - A * L), u.push(v, m, x, y), d++) : (u.push(b + (G - b) * L, w + (z - w) * L), u.push(v, m, x, y), u.push(b - (G - b) * k, w - (z - w) * k), u.push(v, m, x, y))
                                }
                            }
                            _ = r[2 * (c - 2)], T = r[2 * (c - 2) + 1], b = r[2 * (c - 1)], w = r[2 * (c - 1) + 1], C = -(T - w), O = _ - b, D = Math.sqrt(C * C + O * O), C /= D, O /= D, C *= p, O *= p, u.push(b - C * L, w - O * L), u.push(v, m, x, y), u.push(b + C * k, w + O * k), u.push(v, m, x, y), h.push(f);
                            for (var Y = 0; Y < d; ++Y) h.push(f++);
                            h.push(f - 1)
                        }
                    }

                    function n(t, e) {
                        var r = 0,
                            i = t.points;
                        if (0 !== i.length) {
                            var n = e.points,
                                o = i.length / 2,
                                s = (0, a.hex2rgb)(t.lineColor),
                                l = t.lineAlpha,
                                u = s[0] * l,
                                h = s[1] * l,
                                c = s[2] * l;
                            for (r = 1; r < o; r++) {
                                var d = i[2 * (r - 1)],
                                    f = i[2 * (r - 1) + 1],
                                    p = i[2 * r],
                                    g = i[2 * r + 1];
                                n.push(d, f), n.push(u, h, c, l), n.push(p, g), n.push(u, h, c, l)
                            }
                        }
                    }
                    r.__esModule = !0, r.default = function(t, e, r) {
                        t.nativeLines ? n(t, r) : i(t, e)
                    };
                    var o = t("../../../math"),
                        a = t("../../../utils")
                }, {
                    "../../../math": 70,
                    "../../../utils": 125
                }],
                62: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e, r) {
                        t.points = t.shape.points.slice();
                        var i = t.points;
                        if (t.fill && i.length >= 6) {
                            for (var n = [], o = t.holes, l = 0; l < o.length; l++) {
                                var h = o[l];
                                n.push(i.length / 2), i = i.concat(h.points)
                            }
                            var c = e.points,
                                d = e.indices,
                                f = i.length / 2,
                                p = (0, s.hex2rgb)(t.fillColor),
                                g = t.fillAlpha,
                                y = p[0] * g,
                                v = p[1] * g,
                                m = p[2] * g,
                                x = (0, u.default)(i, n, 2);
                            if (!x) return;
                            for (var _ = c.length / 6, T = 0; T < x.length; T += 3) d.push(x[T] + _), d.push(x[T] + _), d.push(x[T + 1] + _), d.push(x[T + 2] + _), d.push(x[T + 2] + _);
                            for (var b = 0; b < f; b++) c.push(i[2 * b], i[2 * b + 1], y, v, m, g)
                        }
                        t.lineWidth > 0 && (0, a.default)(t, e, r)
                    }
                    r.__esModule = !0, r.default = n;
                    var o = t("./buildLine"),
                        a = i(o),
                        s = t("../../../utils"),
                        l = t("earcut"),
                        u = i(l)
                }, {
                    "../../../utils": 125,
                    "./buildLine": 61,
                    earcut: 2
                }],
                63: [function(t, e, r) {
                    "use strict";

                    function i(t, e, r) {
                        var i = t.shape,
                            n = i.x,
                            s = i.y,
                            l = i.width,
                            u = i.height;
                        if (t.fill) {
                            var h = (0, a.hex2rgb)(t.fillColor),
                                c = t.fillAlpha,
                                d = h[0] * c,
                                f = h[1] * c,
                                p = h[2] * c,
                                g = e.points,
                                y = e.indices,
                                v = g.length / 6;
                            g.push(n, s), g.push(d, f, p, c), g.push(n + l, s), g.push(d, f, p, c), g.push(n, s + u), g.push(d, f, p, c), g.push(n + l, s + u), g.push(d, f, p, c), y.push(v, v, v + 1, v + 2, v + 3, v + 3)
                        }
                        if (t.lineWidth) {
                            var m = t.points;
                            t.points = [n, s, n + l, s, n + l, s + u, n, s + u, n, s], (0, o.default)(t, e, r), t.points = m
                        }
                    }
                    r.__esModule = !0, r.default = i;
                    var n = t("./buildLine"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = t("../../../utils")
                }, {
                    "../../../utils": 125,
                    "./buildLine": 61
                }],
                64: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e, r) {
                        var i = t.shape,
                            n = i.x,
                            o = i.y,
                            s = i.width,
                            u = i.height,
                            d = i.radius,
                            f = [];
                        if (f.push(n + d, o), a(n + s - d, o, n + s, o, n + s, o + d, f), a(n + s, o + u - d, n + s, o + u, n + s - d, o + u, f), a(n + d, o + u, n, o + u, n, o + u - d, f), a(n, o + d, n, o, n + d + 1e-10, o, f), t.fill) {
                            for (var p = (0, c.hex2rgb)(t.fillColor), g = t.fillAlpha, y = p[0] * g, v = p[1] * g, m = p[2] * g, x = e.points, _ = e.indices, T = x.length / 6, b = (0, l.default)(f, null, 2), w = 0, S = b.length; w < S; w += 3) _.push(b[w] + T), _.push(b[w] + T), _.push(b[w + 1] + T), _.push(b[w + 2] + T), _.push(b[w + 2] + T);
                            for (var E = 0, C = f.length; E < C; E++) x.push(f[E], f[++E], y, v, m, g)
                        }
                        if (t.lineWidth) {
                            var O = t.points;
                            t.points = f, (0, h.default)(t, e, r), t.points = O
                        }
                    }

                    function o(t, e, r) {
                        return t + (e - t) * r
                    }

                    function a(t, e, r, i, n, a) {
                        for (var s = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : [], l = s, u = 0, h = 0, c = 0, d = 0, f = 0, p = 0, g = 0, y = 0; g <= 20; ++g) y = g / 20, u = o(t, r, y), h = o(e, i, y), c = o(r, n, y), d = o(i, a, y), f = o(u, c, y), p = o(h, d, y), l.push(f, p);
                        return l
                    }
                    r.__esModule = !0, r.default = n;
                    var s = t("earcut"),
                        l = i(s),
                        u = t("./buildLine"),
                        h = i(u),
                        c = t("../../../utils")
                }, {
                    "../../../utils": 125,
                    "./buildLine": 61,
                    earcut: 2
                }],
                65: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        if (t && t.__esModule) return t;
                        var e = {};
                        if (null != t)
                            for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                        return e.default = t, e
                    }

                    function n(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0, r.autoDetectRenderer = r.Application = r.Filter = r.SpriteMaskFilter = r.Quad = r.RenderTarget = r.ObjectRenderer = r.WebGLManager = r.Shader = r.CanvasRenderTarget = r.TextureUvs = r.VideoBaseTexture = r.BaseRenderTexture = r.RenderTexture = r.BaseTexture = r.TextureMatrix = r.Texture = r.Spritesheet = r.CanvasGraphicsRenderer = r.GraphicsRenderer = r.GraphicsData = r.Graphics = r.TextMetrics = r.TextStyle = r.Text = r.SpriteRenderer = r.CanvasTinter = r.CanvasSpriteRenderer = r.Sprite = r.TransformBase = r.TransformStatic = r.Transform = r.Container = r.DisplayObject = r.Bounds = r.glCore = r.WebGLRenderer = r.CanvasRenderer = r.ticker = r.utils = r.settings = void 0;
                    var o = t("./const");
                    Object.keys(o).forEach(function(t) {
                        "default" !== t && "__esModule" !== t && Object.defineProperty(r, t, {
                            enumerable: !0,
                            get: function() {
                                return o[t]
                            }
                        })
                    });
                    var a = t("./math");
                    Object.keys(a).forEach(function(t) {
                        "default" !== t && "__esModule" !== t && Object.defineProperty(r, t, {
                            enumerable: !0,
                            get: function() {
                                return a[t]
                            }
                        })
                    });
                    var s = t("pixi-gl-core");
                    Object.defineProperty(r, "glCore", {
                        enumerable: !0,
                        get: function() {
                            return n(s).default
                        }
                    });
                    var l = t("./display/Bounds");
                    Object.defineProperty(r, "Bounds", {
                        enumerable: !0,
                        get: function() {
                            return n(l).default
                        }
                    });
                    var u = t("./display/DisplayObject");
                    Object.defineProperty(r, "DisplayObject", {
                        enumerable: !0,
                        get: function() {
                            return n(u).default
                        }
                    });
                    var h = t("./display/Container");
                    Object.defineProperty(r, "Container", {
                        enumerable: !0,
                        get: function() {
                            return n(h).default
                        }
                    });
                    var c = t("./display/Transform");
                    Object.defineProperty(r, "Transform", {
                        enumerable: !0,
                        get: function() {
                            return n(c).default
                        }
                    });
                    var d = t("./display/TransformStatic");
                    Object.defineProperty(r, "TransformStatic", {
                        enumerable: !0,
                        get: function() {
                            return n(d).default
                        }
                    });
                    var f = t("./display/TransformBase");
                    Object.defineProperty(r, "TransformBase", {
                        enumerable: !0,
                        get: function() {
                            return n(f).default
                        }
                    });
                    var p = t("./sprites/Sprite");
                    Object.defineProperty(r, "Sprite", {
                        enumerable: !0,
                        get: function() {
                            return n(p).default
                        }
                    });
                    var g = t("./sprites/canvas/CanvasSpriteRenderer");
                    Object.defineProperty(r, "CanvasSpriteRenderer", {
                        enumerable: !0,
                        get: function() {
                            return n(g).default
                        }
                    });
                    var y = t("./sprites/canvas/CanvasTinter");
                    Object.defineProperty(r, "CanvasTinter", {
                        enumerable: !0,
                        get: function() {
                            return n(y).default
                        }
                    });
                    var v = t("./sprites/webgl/SpriteRenderer");
                    Object.defineProperty(r, "SpriteRenderer", {
                        enumerable: !0,
                        get: function() {
                            return n(v).default
                        }
                    });
                    var m = t("./text/Text");
                    Object.defineProperty(r, "Text", {
                        enumerable: !0,
                        get: function() {
                            return n(m).default
                        }
                    });
                    var x = t("./text/TextStyle");
                    Object.defineProperty(r, "TextStyle", {
                        enumerable: !0,
                        get: function() {
                            return n(x).default
                        }
                    });
                    var _ = t("./text/TextMetrics");
                    Object.defineProperty(r, "TextMetrics", {
                        enumerable: !0,
                        get: function() {
                            return n(_).default
                        }
                    });
                    var T = t("./graphics/Graphics");
                    Object.defineProperty(r, "Graphics", {
                        enumerable: !0,
                        get: function() {
                            return n(T).default
                        }
                    });
                    var b = t("./graphics/GraphicsData");
                    Object.defineProperty(r, "GraphicsData", {
                        enumerable: !0,
                        get: function() {
                            return n(b).default
                        }
                    });
                    var w = t("./graphics/webgl/GraphicsRenderer");
                    Object.defineProperty(r, "GraphicsRenderer", {
                        enumerable: !0,
                        get: function() {
                            return n(w).default
                        }
                    });
                    var S = t("./graphics/canvas/CanvasGraphicsRenderer");
                    Object.defineProperty(r, "CanvasGraphicsRenderer", {
                        enumerable: !0,
                        get: function() {
                            return n(S).default
                        }
                    });
                    var E = t("./textures/Spritesheet");
                    Object.defineProperty(r, "Spritesheet", {
                        enumerable: !0,
                        get: function() {
                            return n(E).default
                        }
                    });
                    var C = t("./textures/Texture");
                    Object.defineProperty(r, "Texture", {
                        enumerable: !0,
                        get: function() {
                            return n(C).default
                        }
                    });
                    var O = t("./textures/TextureMatrix");
                    Object.defineProperty(r, "TextureMatrix", {
                        enumerable: !0,
                        get: function() {
                            return n(O).default
                        }
                    });
                    var M = t("./textures/BaseTexture");
                    Object.defineProperty(r, "BaseTexture", {
                        enumerable: !0,
                        get: function() {
                            return n(M).default
                        }
                    });
                    var P = t("./textures/RenderTexture");
                    Object.defineProperty(r, "RenderTexture", {
                        enumerable: !0,
                        get: function() {
                            return n(P).default
                        }
                    });
                    var R = t("./textures/BaseRenderTexture");
                    Object.defineProperty(r, "BaseRenderTexture", {
                        enumerable: !0,
                        get: function() {
                            return n(R).default
                        }
                    });
                    var A = t("./textures/VideoBaseTexture");
                    Object.defineProperty(r, "VideoBaseTexture", {
                        enumerable: !0,
                        get: function() {
                            return n(A).default
                        }
                    });
                    var D = t("./textures/TextureUvs");
                    Object.defineProperty(r, "TextureUvs", {
                        enumerable: !0,
                        get: function() {
                            return n(D).default
                        }
                    });
                    var I = t("./renderers/canvas/utils/CanvasRenderTarget");
                    Object.defineProperty(r, "CanvasRenderTarget", {
                        enumerable: !0,
                        get: function() {
                            return n(I).default
                        }
                    });
                    var L = t("./Shader");
                    Object.defineProperty(r, "Shader", {
                        enumerable: !0,
                        get: function() {
                            return n(L).default
                        }
                    });
                    var k = t("./renderers/webgl/managers/WebGLManager");
                    Object.defineProperty(r, "WebGLManager", {
                        enumerable: !0,
                        get: function() {
                            return n(k).default
                        }
                    });
                    var F = t("./renderers/webgl/utils/ObjectRenderer");
                    Object.defineProperty(r, "ObjectRenderer", {
                        enumerable: !0,
                        get: function() {
                            return n(F).default
                        }
                    });
                    var N = t("./renderers/webgl/utils/RenderTarget");
                    Object.defineProperty(r, "RenderTarget", {
                        enumerable: !0,
                        get: function() {
                            return n(N).default
                        }
                    });
                    var B = t("./renderers/webgl/utils/Quad");
                    Object.defineProperty(r, "Quad", {
                        enumerable: !0,
                        get: function() {
                            return n(B).default
                        }
                    });
                    var j = t("./renderers/webgl/filters/spriteMask/SpriteMaskFilter");
                    Object.defineProperty(r, "SpriteMaskFilter", {
                        enumerable: !0,
                        get: function() {
                            return n(j).default
                        }
                    });
                    var U = t("./renderers/webgl/filters/Filter");
                    Object.defineProperty(r, "Filter", {
                        enumerable: !0,
                        get: function() {
                            return n(U).default
                        }
                    });
                    var W = t("./Application");
                    Object.defineProperty(r, "Application", {
                        enumerable: !0,
                        get: function() {
                            return n(W).default
                        }
                    });
                    var H = t("./autoDetectRenderer");
                    Object.defineProperty(r, "autoDetectRenderer", {
                        enumerable: !0,
                        get: function() {
                            return H.autoDetectRenderer
                        }
                    });
                    var X = t("./utils"),
                        G = i(X),
                        z = t("./ticker"),
                        Y = i(z),
                        V = t("./settings"),
                        q = n(V),
                        J = t("./renderers/canvas/CanvasRenderer"),
                        K = n(J),
                        Z = t("./renderers/webgl/WebGLRenderer"),
                        Q = n(Z);
                    r.settings = q.default, r.utils = G, r.ticker = Y, r.CanvasRenderer = K.default, r.WebGLRenderer = Q.default
                }, {
                    "./Application": 43,
                    "./Shader": 44,
                    "./autoDetectRenderer": 45,
                    "./const": 46,
                    "./display/Bounds": 47,
                    "./display/Container": 48,
                    "./display/DisplayObject": 49,
                    "./display/Transform": 50,
                    "./display/TransformBase": 51,
                    "./display/TransformStatic": 52,
                    "./graphics/Graphics": 53,
                    "./graphics/GraphicsData": 54,
                    "./graphics/canvas/CanvasGraphicsRenderer": 55,
                    "./graphics/webgl/GraphicsRenderer": 57,
                    "./math": 70,
                    "./renderers/canvas/CanvasRenderer": 77,
                    "./renderers/canvas/utils/CanvasRenderTarget": 79,
                    "./renderers/webgl/WebGLRenderer": 84,
                    "./renderers/webgl/filters/Filter": 86,
                    "./renderers/webgl/filters/spriteMask/SpriteMaskFilter": 89,
                    "./renderers/webgl/managers/WebGLManager": 93,
                    "./renderers/webgl/utils/ObjectRenderer": 94,
                    "./renderers/webgl/utils/Quad": 95,
                    "./renderers/webgl/utils/RenderTarget": 96,
                    "./settings": 101,
                    "./sprites/Sprite": 102,
                    "./sprites/canvas/CanvasSpriteRenderer": 103,
                    "./sprites/canvas/CanvasTinter": 104,
                    "./sprites/webgl/SpriteRenderer": 106,
                    "./text/Text": 108,
                    "./text/TextMetrics": 109,
                    "./text/TextStyle": 110,
                    "./textures/BaseRenderTexture": 111,
                    "./textures/BaseTexture": 112,
                    "./textures/RenderTexture": 113,
                    "./textures/Spritesheet": 114,
                    "./textures/Texture": 115,
                    "./textures/TextureMatrix": 116,
                    "./textures/TextureUvs": 117,
                    "./textures/VideoBaseTexture": 118,
                    "./ticker": 121,
                    "./utils": 125,
                    "pixi-gl-core": 15
                }],
                66: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t < 0 ? -1 : t > 0 ? 1 : 0
                    }
                    r.__esModule = !0;
                    var n = t("./Matrix"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1],
                        s = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1],
                        l = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1],
                        u = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1],
                        h = [],
                        c = [];
                    ! function() {
                        for (var t = 0; t < 16; t++) {
                            var e = [];
                            c.push(e);
                            for (var r = 0; r < 16; r++)
                                for (var n = i(a[t] * a[r] + l[t] * s[r]), d = i(s[t] * a[r] + u[t] * s[r]), f = i(a[t] * l[r] + l[t] * u[r]), p = i(s[t] * l[r] + u[t] * u[r]), g = 0; g < 16; g++)
                                    if (a[g] === n && s[g] === d && l[g] === f && u[g] === p) {
                                        e.push(g);
                                        break
                                    }
                        }
                        for (var y = 0; y < 16; y++) {
                            var v = new o.default;
                            v.set(a[y], s[y], l[y], u[y], 0, 0), h.push(v)
                        }
                    }();
                    var d = {
                        E: 0,
                        SE: 1,
                        S: 2,
                        SW: 3,
                        W: 4,
                        NW: 5,
                        N: 6,
                        NE: 7,
                        MIRROR_VERTICAL: 8,
                        MIRROR_HORIZONTAL: 12,
                        uX: function(t) {
                            return a[t]
                        },
                        uY: function(t) {
                            return s[t]
                        },
                        vX: function(t) {
                            return l[t]
                        },
                        vY: function(t) {
                            return u[t]
                        },
                        inv: function(t) {
                            return 8 & t ? 15 & t : 7 & -t
                        },
                        add: function(t, e) {
                            return c[t][e]
                        },
                        sub: function(t, e) {
                            return c[t][d.inv(e)]
                        },
                        rotate180: function(t) {
                            return 4 ^ t
                        },
                        isVertical: function(t) {
                            return 2 == (3 & t)
                        },
                        byDirection: function(t, e) {
                            return 2 * Math.abs(t) <= Math.abs(e) ? e >= 0 ? d.S : d.N : 2 * Math.abs(e) <= Math.abs(t) ? t > 0 ? d.E : d.W : e > 0 ? t > 0 ? d.SE : d.SW : t > 0 ? d.NE : d.NW
                        },
                        matrixAppendRotationInv: function(t, e) {
                            var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
                                i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
                                n = h[d.inv(e)];
                            n.tx = r, n.ty = i, t.append(n)
                        }
                    };
                    r.default = d
                }, {
                    "./Matrix": 67
                }],
                67: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        o = t("./Point"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o),
                        s = t("../const"),
                        l = function() {
                            function t() {
                                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1,
                                    r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                                    n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
                                    o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1,
                                    a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0,
                                    s = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0;
                                i(this, t), this.a = e, this.b = r, this.c = n, this.d = o, this.tx = a, this.ty = s, this.array = null
                            }
                            return t.prototype.fromArray = function(t) {
                                this.a = t[0], this.b = t[1], this.c = t[3], this.d = t[4], this.tx = t[2], this.ty = t[5]
                            }, t.prototype.set = function(t, e, r, i, n, o) {
                                return this.a = t, this.b = e, this.c = r, this.d = i, this.tx = n, this.ty = o, this
                            }, t.prototype.toArray = function(t, e) {
                                this.array || (this.array = new Float32Array(9));
                                var r = e || this.array;
                                return t ? (r[0] = this.a, r[1] = this.b, r[2] = 0, r[3] = this.c, r[4] = this.d, r[5] = 0, r[6] = this.tx, r[7] = this.ty, r[8] = 1) : (r[0] = this.a, r[1] = this.c, r[2] = this.tx, r[3] = this.b, r[4] = this.d, r[5] = this.ty, r[6] = 0, r[7] = 0, r[8] = 1), r
                            }, t.prototype.apply = function(t, e) {
                                e = e || new a.default;
                                var r = t.x,
                                    i = t.y;
                                return e.x = this.a * r + this.c * i + this.tx, e.y = this.b * r + this.d * i + this.ty, e
                            }, t.prototype.applyInverse = function(t, e) {
                                e = e || new a.default;
                                var r = 1 / (this.a * this.d + this.c * -this.b),
                                    i = t.x,
                                    n = t.y;
                                return e.x = this.d * r * i + -this.c * r * n + (this.ty * this.c - this.tx * this.d) * r, e.y = this.a * r * n + -this.b * r * i + (-this.ty * this.a + this.tx * this.b) * r, e
                            }, t.prototype.translate = function(t, e) {
                                return this.tx += t, this.ty += e, this
                            }, t.prototype.scale = function(t, e) {
                                return this.a *= t, this.d *= e, this.c *= t, this.b *= e, this.tx *= t, this.ty *= e, this
                            }, t.prototype.rotate = function(t) {
                                var e = Math.cos(t),
                                    r = Math.sin(t),
                                    i = this.a,
                                    n = this.c,
                                    o = this.tx;
                                return this.a = i * e - this.b * r, this.b = i * r + this.b * e, this.c = n * e - this.d * r, this.d = n * r + this.d * e, this.tx = o * e - this.ty * r, this.ty = o * r + this.ty * e, this
                            }, t.prototype.append = function(t) {
                                var e = this.a,
                                    r = this.b,
                                    i = this.c,
                                    n = this.d;
                                return this.a = t.a * e + t.b * i, this.b = t.a * r + t.b * n, this.c = t.c * e + t.d * i, this.d = t.c * r + t.d * n, this.tx = t.tx * e + t.ty * i + this.tx, this.ty = t.tx * r + t.ty * n + this.ty, this
                            }, t.prototype.setTransform = function(t, e, r, i, n, o, a, s, l) {
                                return this.a = Math.cos(a + l) * n, this.b = Math.sin(a + l) * n, this.c = -Math.sin(a - s) * o, this.d = Math.cos(a - s) * o, this.tx = t - (r * this.a + i * this.c), this.ty = e - (r * this.b + i * this.d), this
                            }, t.prototype.prepend = function(t) {
                                var e = this.tx;
                                if (1 !== t.a || 0 !== t.b || 0 !== t.c || 1 !== t.d) {
                                    var r = this.a,
                                        i = this.c;
                                    this.a = r * t.a + this.b * t.c, this.b = r * t.b + this.b * t.d, this.c = i * t.a + this.d * t.c, this.d = i * t.b + this.d * t.d
                                }
                                return this.tx = e * t.a + this.ty * t.c + t.tx, this.ty = e * t.b + this.ty * t.d + t.ty, this
                            }, t.prototype.decompose = function(t) {
                                var e = this.a,
                                    r = this.b,
                                    i = this.c,
                                    n = this.d,
                                    o = -Math.atan2(-i, n),
                                    a = Math.atan2(r, e),
                                    l = Math.abs(o + a);
                                return l < 1e-5 || Math.abs(s.PI_2 - l) < 1e-5 ? (t.rotation = a, t.skew.x = t.skew.y = 0) : (t.rotation = 0, t.skew.x = o, t.skew.y = a), t.scale.x = Math.sqrt(e * e + r * r), t.scale.y = Math.sqrt(i * i + n * n), t.position.x = this.tx, t.position.y = this.ty, t
                            }, t.prototype.invert = function() {
                                var t = this.a,
                                    e = this.b,
                                    r = this.c,
                                    i = this.d,
                                    n = this.tx,
                                    o = t * i - e * r;
                                return this.a = i / o, this.b = -e / o, this.c = -r / o, this.d = t / o, this.tx = (r * this.ty - i * n) / o, this.ty = -(t * this.ty - e * n) / o, this
                            }, t.prototype.identity = function() {
                                return this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.tx = 0, this.ty = 0, this
                            }, t.prototype.clone = function() {
                                var e = new t;
                                return e.a = this.a, e.b = this.b, e.c = this.c, e.d = this.d, e.tx = this.tx, e.ty = this.ty, e
                            }, t.prototype.copy = function(t) {
                                return t.a = this.a, t.b = this.b, t.c = this.c, t.d = this.d, t.tx = this.tx, t.ty = this.ty, t
                            }, n(t, null, [{
                                key: "IDENTITY",
                                get: function() {
                                    return new t
                                }
                            }, {
                                key: "TEMP_MATRIX",
                                get: function() {
                                    return new t
                                }
                            }]), t
                        }();
                    r.default = l
                }, {
                    "../const": 46,
                    "./Point": 69
                }],
                68: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        o = function() {
                            function t(e, r) {
                                var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
                                    o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0;
                                i(this, t), this._x = n, this._y = o, this.cb = e, this.scope = r
                            }
                            return t.prototype.clone = function() {
                                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
                                    r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
                                return new t(e || this.cb, r || this.scope, this._x, this._y)
                            }, t.prototype.set = function(t, e) {
                                var r = t || 0,
                                    i = e || (0 !== e ? r : 0);
                                this._x === r && this._y === i || (this._x = r, this._y = i, this.cb.call(this.scope))
                            }, t.prototype.copy = function(t) {
                                this._x === t.x && this._y === t.y || (this._x = t.x, this._y = t.y, this.cb.call(this.scope))
                            }, t.prototype.equals = function(t) {
                                return t.x === this._x && t.y === this._y
                            }, n(t, [{
                                key: "x",
                                get: function() {
                                    return this._x
                                },
                                set: function(t) {
                                    this._x !== t && (this._x = t, this.cb.call(this.scope))
                                }
                            }, {
                                key: "y",
                                get: function() {
                                    return this._y
                                },
                                set: function(t) {
                                    this._y !== t && (this._y = t, this.cb.call(this.scope))
                                }
                            }]), t
                        }();
                    r.default = o
                }, {}],
                69: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t() {
                            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
                            i(this, t), this.x = e, this.y = r
                        }
                        return t.prototype.clone = function() {
                            return new t(this.x, this.y)
                        }, t.prototype.copy = function(t) {
                            this.set(t.x, t.y)
                        }, t.prototype.equals = function(t) {
                            return t.x === this.x && t.y === this.y
                        }, t.prototype.set = function(t, e) {
                            this.x = t || 0, this.y = e || (0 !== e ? this.x : 0)
                        }, t
                    }();
                    r.default = n
                }, {}],
                70: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./Point");
                    Object.defineProperty(r, "Point", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./ObservablePoint");
                    Object.defineProperty(r, "ObservablePoint", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    });
                    var a = t("./Matrix");
                    Object.defineProperty(r, "Matrix", {
                        enumerable: !0,
                        get: function() {
                            return i(a).default
                        }
                    });
                    var s = t("./GroupD8");
                    Object.defineProperty(r, "GroupD8", {
                        enumerable: !0,
                        get: function() {
                            return i(s).default
                        }
                    });
                    var l = t("./shapes/Circle");
                    Object.defineProperty(r, "Circle", {
                        enumerable: !0,
                        get: function() {
                            return i(l).default
                        }
                    });
                    var u = t("./shapes/Ellipse");
                    Object.defineProperty(r, "Ellipse", {
                        enumerable: !0,
                        get: function() {
                            return i(u).default
                        }
                    });
                    var h = t("./shapes/Polygon");
                    Object.defineProperty(r, "Polygon", {
                        enumerable: !0,
                        get: function() {
                            return i(h).default
                        }
                    });
                    var c = t("./shapes/Rectangle");
                    Object.defineProperty(r, "Rectangle", {
                        enumerable: !0,
                        get: function() {
                            return i(c).default
                        }
                    });
                    var d = t("./shapes/RoundedRectangle");
                    Object.defineProperty(r, "RoundedRectangle", {
                        enumerable: !0,
                        get: function() {
                            return i(d).default
                        }
                    })
                }, {
                    "./GroupD8": 66,
                    "./Matrix": 67,
                    "./ObservablePoint": 68,
                    "./Point": 69,
                    "./shapes/Circle": 71,
                    "./shapes/Ellipse": 72,
                    "./shapes/Polygon": 73,
                    "./shapes/Rectangle": 74,
                    "./shapes/RoundedRectangle": 75
                }],
                71: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("./Rectangle"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = t("../../const"),
                        s = function() {
                            function t() {
                                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                                    n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;
                                i(this, t), this.x = e, this.y = r, this.radius = n, this.type = a.SHAPES.CIRC
                            }
                            return t.prototype.clone = function() {
                                return new t(this.x, this.y, this.radius)
                            }, t.prototype.contains = function(t, e) {
                                if (this.radius <= 0) return !1;
                                var r = this.radius * this.radius,
                                    i = this.x - t,
                                    n = this.y - e;
                                return i *= i, n *= n, i + n <= r
                            }, t.prototype.getBounds = function() {
                                return new o.default(this.x - this.radius, this.y - this.radius, 2 * this.radius, 2 * this.radius)
                            }, t
                        }();
                    r.default = s
                }, {
                    "../../const": 46,
                    "./Rectangle": 74
                }],
                72: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("./Rectangle"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = t("../../const"),
                        s = function() {
                            function t() {
                                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                                    n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
                                    o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0;
                                i(this, t), this.x = e, this.y = r, this.width = n, this.height = o, this.type = a.SHAPES.ELIP
                            }
                            return t.prototype.clone = function() {
                                return new t(this.x, this.y, this.width, this.height)
                            }, t.prototype.contains = function(t, e) {
                                if (this.width <= 0 || this.height <= 0) return !1;
                                var r = (t - this.x) / this.width,
                                    i = (e - this.y) / this.height;
                                return r *= r, i *= i, r + i <= 1
                            }, t.prototype.getBounds = function() {
                                return new o.default(this.x - this.width, this.y - this.height, this.width, this.height)
                            }, t
                        }();
                    r.default = s
                }, {
                    "../../const": 46,
                    "./Rectangle": 74
                }],
                73: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../Point"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = t("../../const"),
                        s = function() {
                            function t() {
                                for (var e = arguments.length, r = Array(e), n = 0; n < e; n++) r[n] = arguments[n];
                                if (i(this, t), Array.isArray(r[0]) && (r = r[0]), r[0] instanceof o.default) {
                                    for (var s = [], l = 0, u = r.length; l < u; l++) s.push(r[l].x, r[l].y);
                                    r = s
                                }
                                this.closed = !0, this.points = r, this.type = a.SHAPES.POLY
                            }
                            return t.prototype.clone = function() {
                                return new t(this.points.slice())
                            }, t.prototype.close = function() {
                                var t = this.points;
                                t[0] === t[t.length - 2] && t[1] === t[t.length - 1] || t.push(t[0], t[1])
                            }, t.prototype.contains = function(t, e) {
                                for (var r = !1, i = this.points.length / 2, n = 0, o = i - 1; n < i; o = n++) {
                                    var a = this.points[2 * n],
                                        s = this.points[2 * n + 1],
                                        l = this.points[2 * o],
                                        u = this.points[2 * o + 1];
                                    s > e != u > e && t < (e - s) / (u - s) * (l - a) + a && (r = !r)
                                }
                                return r
                            }, t
                        }();
                    r.default = s
                }, {
                    "../../const": 46,
                    "../Point": 69
                }],
                74: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        o = t("../../const"),
                        a = function() {
                            function t() {
                                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                                    n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
                                    a = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0;
                                i(this, t), this.x = Number(e), this.y = Number(r), this.width = Number(n), this.height = Number(a), this.type = o.SHAPES.RECT
                            }
                            return t.prototype.clone = function() {
                                return new t(this.x, this.y, this.width, this.height)
                            }, t.prototype.copy = function(t) {
                                return this.x = t.x, this.y = t.y, this.width = t.width, this.height = t.height, this
                            }, t.prototype.contains = function(t, e) {
                                return !(this.width <= 0 || this.height <= 0) && t >= this.x && t < this.x + this.width && e >= this.y && e < this.y + this.height
                            }, t.prototype.pad = function(t, e) {
                                t = t || 0, e = e || (0 !== e ? t : 0), this.x -= t, this.y -= e, this.width += 2 * t, this.height += 2 * e
                            }, t.prototype.fit = function(t) {
                                var e = Math.max(this.x, t.x),
                                    r = Math.min(this.x + this.width, t.x + t.width),
                                    i = Math.max(this.y, t.y),
                                    n = Math.min(this.y + this.height, t.y + t.height);
                                this.x = e, this.width = Math.max(r - e, 0), this.y = i, this.height = Math.max(n - i, 0)
                            }, t.prototype.enlarge = function(t) {
                                var e = Math.min(this.x, t.x),
                                    r = Math.max(this.x + this.width, t.x + t.width),
                                    i = Math.min(this.y, t.y),
                                    n = Math.max(this.y + this.height, t.y + t.height);
                                this.x = e, this.width = r - e, this.y = i, this.height = n - i
                            }, t.prototype.ceil = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1,
                                    e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : .001,
                                    r = Math.ceil((this.x + this.width - e) * t) / t,
                                    i = Math.ceil((this.y + this.height - e) * t) / t;
                                this.x = Math.floor((this.x + e) * t) / t, this.y = Math.floor((this.y + e) * t) / t, this.width = r - this.x, this.height = i - this.y
                            }, n(t, [{
                                key: "left",
                                get: function() {
                                    return this.x
                                }
                            }, {
                                key: "right",
                                get: function() {
                                    return this.x + this.width
                                }
                            }, {
                                key: "top",
                                get: function() {
                                    return this.y
                                }
                            }, {
                                key: "bottom",
                                get: function() {
                                    return this.y + this.height
                                }
                            }], [{
                                key: "EMPTY",
                                get: function() {
                                    return new t(0, 0, 0, 0)
                                }
                            }]), t
                        }();
                    r.default = a
                }, {
                    "../../const": 46
                }],
                75: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../../const"),
                        o = function() {
                            function t() {
                                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                                    o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
                                    a = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
                                    s = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 20;
                                i(this, t), this.x = e, this.y = r, this.width = o, this.height = a, this.radius = s, this.type = n.SHAPES.RREC
                            }
                            return t.prototype.clone = function() {
                                return new t(this.x, this.y, this.width, this.height, this.radius)
                            }, t.prototype.contains = function(t, e) {
                                if (this.width <= 0 || this.height <= 0) return !1;
                                if (t >= this.x && t <= this.x + this.width && e >= this.y && e <= this.y + this.height) {
                                    if (e >= this.y + this.radius && e <= this.y + this.height - this.radius || t >= this.x + this.radius && t <= this.x + this.width - this.radius) return !0;
                                    var r = t - (this.x + this.radius),
                                        i = e - (this.y + this.radius),
                                        n = this.radius * this.radius;
                                    if (r * r + i * i <= n) return !0;
                                    if ((r = t - (this.x + this.width - this.radius)) * r + i * i <= n) return !0;
                                    if (i = e - (this.y + this.height - this.radius), r * r + i * i <= n) return !0;
                                    if ((r = t - (this.x + this.radius)) * r + i * i <= n) return !0
                                }
                                return !1
                            }, t
                        }();
                    r.default = o
                }, {
                    "../../const": 46
                }],
                76: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("../utils"),
                        u = t("../math"),
                        h = t("../const"),
                        c = t("../settings"),
                        d = i(c),
                        f = t("../display/Container"),
                        p = i(f),
                        g = t("../textures/RenderTexture"),
                        y = i(g),
                        v = t("eventemitter3"),
                        m = i(v),
                        x = new u.Matrix,
                        _ = function(t) {
                            function e(r, i, a, s) {
                                n(this, e);
                                var c = o(this, t.call(this));
                                return (0, l.sayHello)(r), "number" == typeof i && (i = Object.assign({
                                    width: i,
                                    height: a || d.default.RENDER_OPTIONS.height
                                }, s)), i = Object.assign({}, d.default.RENDER_OPTIONS, i), c.options = i, c.type = h.RENDERER_TYPE.UNKNOWN, c.screen = new u.Rectangle(0, 0, i.width, i.height), c.view = i.view || document.createElement("canvas"), c.resolution = i.resolution || d.default.RESOLUTION, c.transparent = i.transparent, c.autoResize = i.autoResize || !1, c.blendModes = null, c.preserveDrawingBuffer = i.preserveDrawingBuffer, c.clearBeforeRender = i.clearBeforeRender, c.roundPixels = i.roundPixels, c._backgroundColor = 0, c._backgroundColorRgba = [0, 0, 0, 0], c._backgroundColorString = "#000000", c.backgroundColor = i.backgroundColor || c._backgroundColor, c._tempDisplayObjectParent = new p.default, c._lastObjectRendered = c._tempDisplayObjectParent, c
                            }
                            return a(e, t), e.prototype.resize = function(t, e) {
                                this.screen.width = t, this.screen.height = e, this.view.width = t * this.resolution, this.view.height = e * this.resolution, this.autoResize && (this.view.style.width = t + "px", this.view.style.height = e + "px")
                            }, e.prototype.generateTexture = function(t, e, r, i) {
                                i = i || t.getLocalBounds();
                                var n = y.default.create(0 | i.width, 0 | i.height, e, r);
                                return x.tx = -i.x, x.ty = -i.y, this.render(t, n, !1, x, !!t.parent), n
                            }, e.prototype.destroy = function(t) {
                                t && this.view.parentNode && this.view.parentNode.removeChild(this.view), this.type = h.RENDERER_TYPE.UNKNOWN, this.view = null, this.screen = null, this.resolution = 0, this.transparent = !1, this.autoResize = !1, this.blendModes = null, this.options = null, this.preserveDrawingBuffer = !1, this.clearBeforeRender = !1, this.roundPixels = !1, this._backgroundColor = 0, this._backgroundColorRgba = null, this._backgroundColorString = null, this._tempDisplayObjectParent = null, this._lastObjectRendered = null
                            }, s(e, [{
                                key: "width",
                                get: function() {
                                    return this.view.width
                                }
                            }, {
                                key: "height",
                                get: function() {
                                    return this.view.height
                                }
                            }, {
                                key: "backgroundColor",
                                get: function() {
                                    return this._backgroundColor
                                },
                                set: function(t) {
                                    this._backgroundColor = t, this._backgroundColorString = (0, l.hex2string)(t), (0, l.hex2rgb)(t, this._backgroundColorRgba)
                                }
                            }]), e
                        }(m.default);
                    r.default = _
                }, {
                    "../const": 46,
                    "../display/Container": 48,
                    "../math": 70,
                    "../settings": 101,
                    "../textures/RenderTexture": 113,
                    "../utils": 125,
                    eventemitter3: 3
                }],
                77: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../SystemRenderer"),
                        l = i(s),
                        u = t("./utils/CanvasMaskManager"),
                        h = i(u),
                        c = t("./utils/CanvasRenderTarget"),
                        d = i(c),
                        f = t("./utils/mapCanvasBlendModesToPixi"),
                        p = i(f),
                        g = t("../../utils"),
                        y = t("../../const"),
                        v = t("../../settings"),
                        m = i(v),
                        x = function(t) {
                            function e(r, i, a) {
                                n(this, e);
                                var s = o(this, t.call(this, "Canvas", r, i, a));
                                return s.type = y.RENDERER_TYPE.CANVAS, s.rootContext = s.view.getContext("2d", {
                                    alpha: s.transparent
                                }), s.context = s.rootContext, s.refresh = !0, s.maskManager = new h.default(s), s.smoothProperty = "imageSmoothingEnabled", s.rootContext.imageSmoothingEnabled || (s.rootContext.webkitImageSmoothingEnabled ? s.smoothProperty = "webkitImageSmoothingEnabled" : s.rootContext.mozImageSmoothingEnabled ? s.smoothProperty = "mozImageSmoothingEnabled" : s.rootContext.oImageSmoothingEnabled ? s.smoothProperty = "oImageSmoothingEnabled" : s.rootContext.msImageSmoothingEnabled && (s.smoothProperty = "msImageSmoothingEnabled")), s.initPlugins(), s.blendModes = (0, p.default)(), s._activeBlendMode = null, s.renderingToScreen = !1, s.resize(s.options.width, s.options.height), s
                            }
                            return a(e, t), e.prototype.render = function(t, e, r, i, n) {
                                if (this.view) {
                                    this.renderingToScreen = !e, this.emit("prerender");
                                    var o = this.resolution;
                                    e ? (e = e.baseTexture || e, e._canvasRenderTarget || (e._canvasRenderTarget = new d.default(e.width, e.height, e.resolution), e.source = e._canvasRenderTarget.canvas, e.valid = !0), this.context = e._canvasRenderTarget.context, this.resolution = e._canvasRenderTarget.resolution) : this.context = this.rootContext;
                                    var a = this.context;
                                    if (e || (this._lastObjectRendered = t), !n) {
                                        var s = t.parent,
                                            l = this._tempDisplayObjectParent.transform.worldTransform;
                                        i ? (i.copy(l), this._tempDisplayObjectParent.transform._worldID = -1) : l.identity(), t.parent = this._tempDisplayObjectParent, t.updateTransform(), t.parent = s
                                    }
                                    a.save(), a.setTransform(1, 0, 0, 1, 0, 0), a.globalAlpha = 1, this._activeBlendMode = y.BLEND_MODES.NORMAL, a.globalCompositeOperation = this.blendModes[y.BLEND_MODES.NORMAL], navigator.isCocoonJS && this.view.screencanvas && (a.fillStyle = "black", a.clear()), (void 0 !== r ? r : this.clearBeforeRender) && this.renderingToScreen && (this.transparent ? a.clearRect(0, 0, this.width, this.height) : (a.fillStyle = this._backgroundColorString, a.fillRect(0, 0, this.width, this.height)));
                                    var u = this.context;
                                    this.context = a, t.renderCanvas(this), this.context = u, a.restore(), this.resolution = o, this.emit("postrender")
                                }
                            }, e.prototype.clear = function(t) {
                                var e = this.context;
                                t = t || this._backgroundColorString, !this.transparent && t ? (e.fillStyle = t, e.fillRect(0, 0, this.width, this.height)) : e.clearRect(0, 0, this.width, this.height)
                            }, e.prototype.setBlendMode = function(t) {
                                this._activeBlendMode !== t && (this._activeBlendMode = t, this.context.globalCompositeOperation = this.blendModes[t])
                            }, e.prototype.destroy = function(e) {
                                this.destroyPlugins(), t.prototype.destroy.call(this, e), this.context = null, this.refresh = !0, this.maskManager.destroy(), this.maskManager = null, this.smoothProperty = null
                            }, e.prototype.resize = function(e, r) {
                                t.prototype.resize.call(this, e, r), this.smoothProperty && (this.rootContext[this.smoothProperty] = m.default.SCALE_MODE === y.SCALE_MODES.LINEAR)
                            }, e.prototype.invalidateBlendMode = function() {
                                this._activeBlendMode = this.blendModes.indexOf(this.context.globalCompositeOperation)
                            }, e
                        }(l.default);
                    r.default = x, g.pluginTarget.mixin(x)
                }, {
                    "../../const": 46,
                    "../../settings": 101,
                    "../../utils": 125,
                    "../SystemRenderer": 76,
                    "./utils/CanvasMaskManager": 78,
                    "./utils/CanvasRenderTarget": 79,
                    "./utils/mapCanvasBlendModesToPixi": 81
                }],
                78: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../../../const"),
                        o = function() {
                            function t(e) {
                                i(this, t), this.renderer = e
                            }
                            return t.prototype.pushMask = function(t) {
                                var e = this.renderer;
                                e.context.save();
                                var r = t.alpha,
                                    i = t.transform.worldTransform,
                                    n = e.resolution;
                                e.context.setTransform(i.a * n, i.b * n, i.c * n, i.d * n, i.tx * n, i.ty * n), t._texture || (this.renderGraphicsShape(t), e.context.clip()), t.worldAlpha = r
                            }, t.prototype.renderGraphicsShape = function(t) {
                                var e = this.renderer.context,
                                    r = t.graphicsData.length;
                                if (0 !== r) {
                                    e.beginPath();
                                    for (var i = 0; i < r; i++) {
                                        var o = t.graphicsData[i],
                                            a = o.shape;
                                        if (o.type === n.SHAPES.POLY) {
                                            var s = a.points,
                                                l = o.holes,
                                                u = void 0,
                                                h = void 0;
                                            e.moveTo(s[0], s[1]);
                                            for (var c = 2; c < s.length; c += 2) e.lineTo(s[c], s[c + 1]);
                                            if (s[0] === s[s.length - 2] && s[1] === s[s.length - 1] && e.closePath(), l.length > 0) {
                                                u = 0;
                                                for (var d = 0; d < s.length; d += 2) u += s[d] * s[d + 3] - s[d + 1] * s[d + 2];
                                                for (var f = 0; f < l.length; f++) {
                                                    s = l[f].points, h = 0;
                                                    for (var p = 0; p < s.length; p += 2) h += s[p] * s[p + 3] - s[p + 1] * s[p + 2];
                                                    if (e.moveTo(s[0], s[1]), h * u < 0)
                                                        for (var g = 2; g < s.length; g += 2) e.lineTo(s[g], s[g + 1]);
                                                    else
                                                        for (var y = s.length - 2; y >= 2; y -= 2) e.lineTo(s[y], s[y + 1])
                                                }
                                            }
                                        } else if (o.type === n.SHAPES.RECT) e.rect(a.x, a.y, a.width, a.height), e.closePath();
                                        else if (o.type === n.SHAPES.CIRC) e.arc(a.x, a.y, a.radius, 0, 2 * Math.PI), e.closePath();
                                        else if (o.type === n.SHAPES.ELIP) {
                                            var v = 2 * a.width,
                                                m = 2 * a.height,
                                                x = a.x - v / 2,
                                                _ = a.y - m / 2,
                                                T = v / 2 * .5522848,
                                                b = m / 2 * .5522848,
                                                w = x + v,
                                                S = _ + m,
                                                E = x + v / 2,
                                                C = _ + m / 2;
                                            e.moveTo(x, C), e.bezierCurveTo(x, C - b, E - T, _, E, _), e.bezierCurveTo(E + T, _, w, C - b, w, C), e.bezierCurveTo(w, C + b, E + T, S, E, S), e.bezierCurveTo(E - T, S, x, C + b, x, C), e.closePath()
                                        } else if (o.type === n.SHAPES.RREC) {
                                            var O = a.x,
                                                M = a.y,
                                                P = a.width,
                                                R = a.height,
                                                A = a.radius,
                                                D = Math.min(P, R) / 2 | 0;
                                            A = A > D ? D : A, e.moveTo(O, M + A), e.lineTo(O, M + R - A), e.quadraticCurveTo(O, M + R, O + A, M + R), e.lineTo(O + P - A, M + R), e.quadraticCurveTo(O + P, M + R, O + P, M + R - A), e.lineTo(O + P, M + A), e.quadraticCurveTo(O + P, M, O + P - A, M), e.lineTo(O + A, M), e.quadraticCurveTo(O, M, O, M + A), e.closePath()
                                        }
                                    }
                                }
                            }, t.prototype.popMask = function(t) {
                                t.context.restore(), t.invalidateBlendMode()
                            }, t.prototype.destroy = function() {}, t
                        }();
                    r.default = o
                }, {
                    "../../../const": 46
                }],
                79: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        o = t("../../../settings"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o),
                        s = function() {
                            function t(e, r, n) {
                                i(this, t), this.canvas = document.createElement("canvas"), this.context = this.canvas.getContext("2d"), this.resolution = n || a.default.RESOLUTION, this.resize(e, r)
                            }
                            return t.prototype.clear = function() {
                                this.context.setTransform(1, 0, 0, 1, 0, 0), this.context.clearRect(0, 0, this.canvas.width, this.canvas.height)
                            }, t.prototype.resize = function(t, e) {
                                this.canvas.width = t * this.resolution, this.canvas.height = e * this.resolution
                            }, t.prototype.destroy = function() {
                                this.context = null, this.canvas = null
                            }, n(t, [{
                                key: "width",
                                get: function() {
                                    return this.canvas.width
                                },
                                set: function(t) {
                                    this.canvas.width = t
                                }
                            }, {
                                key: "height",
                                get: function() {
                                    return this.canvas.height
                                },
                                set: function(t) {
                                    this.canvas.height = t
                                }
                            }]), t
                        }();
                    r.default = s
                }, {
                    "../../../settings": 101
                }],
                80: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        var e = document.createElement("canvas");
                        e.width = 6, e.height = 1;
                        var r = e.getContext("2d");
                        return r.fillStyle = t, r.fillRect(0, 0, 6, 1), e
                    }

                    function n() {
                        if ("undefined" == typeof document) return !1;
                        var t = i("#ff00ff"),
                            e = i("#ffff00"),
                            r = document.createElement("canvas");
                        r.width = 6, r.height = 1;
                        var n = r.getContext("2d");
                        n.globalCompositeOperation = "multiply", n.drawImage(t, 0, 0), n.drawImage(e, 2, 0);
                        var o = n.getImageData(2, 0, 1, 1);
                        if (!o) return !1;
                        var a = o.data;
                        return 255 === a[0] && 0 === a[1] && 0 === a[2]
                    }
                    r.__esModule = !0, r.default = n
                }, {}],
                81: [function(t, e, r) {
                    "use strict";

                    function i() {
                        var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
                        return (0, a.default)() ? (t[n.BLEND_MODES.NORMAL] = "source-over", t[n.BLEND_MODES.ADD] = "lighter", t[n.BLEND_MODES.MULTIPLY] = "multiply", t[n.BLEND_MODES.SCREEN] = "screen", t[n.BLEND_MODES.OVERLAY] = "overlay", t[n.BLEND_MODES.DARKEN] = "darken", t[n.BLEND_MODES.LIGHTEN] = "lighten", t[n.BLEND_MODES.COLOR_DODGE] = "color-dodge", t[n.BLEND_MODES.COLOR_BURN] = "color-burn", t[n.BLEND_MODES.HARD_LIGHT] = "hard-light", t[n.BLEND_MODES.SOFT_LIGHT] = "soft-light", t[n.BLEND_MODES.DIFFERENCE] = "difference", t[n.BLEND_MODES.EXCLUSION] = "exclusion", t[n.BLEND_MODES.HUE] = "hue", t[n.BLEND_MODES.SATURATION] = "saturate", t[n.BLEND_MODES.COLOR] = "color", t[n.BLEND_MODES.LUMINOSITY] = "luminosity") : (t[n.BLEND_MODES.NORMAL] = "source-over", t[n.BLEND_MODES.ADD] = "lighter", t[n.BLEND_MODES.MULTIPLY] = "source-over", t[n.BLEND_MODES.SCREEN] = "source-over", t[n.BLEND_MODES.OVERLAY] = "source-over", t[n.BLEND_MODES.DARKEN] = "source-over", t[n.BLEND_MODES.LIGHTEN] = "source-over", t[n.BLEND_MODES.COLOR_DODGE] = "source-over", t[n.BLEND_MODES.COLOR_BURN] = "source-over", t[n.BLEND_MODES.HARD_LIGHT] = "source-over", t[n.BLEND_MODES.SOFT_LIGHT] = "source-over", t[n.BLEND_MODES.DIFFERENCE] = "source-over", t[n.BLEND_MODES.EXCLUSION] = "source-over", t[n.BLEND_MODES.HUE] = "source-over", t[n.BLEND_MODES.SATURATION] = "source-over", t[n.BLEND_MODES.COLOR] = "source-over", t[n.BLEND_MODES.LUMINOSITY] = "source-over"), t[n.BLEND_MODES.NORMAL_NPM] = t[n.BLEND_MODES.NORMAL], t[n.BLEND_MODES.ADD_NPM] = t[n.BLEND_MODES.ADD], t[n.BLEND_MODES.SCREEN_NPM] = t[n.BLEND_MODES.SCREEN], t
                    }
                    r.__esModule = !0, r.default = i;
                    var n = t("../../../const"),
                        o = t("./canUseNewCanvasBlendModes"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o)
                }, {
                    "../../../const": 46,
                    "./canUseNewCanvasBlendModes": 80
                }],
                82: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../../const"),
                        o = t("../../settings"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o),
                        s = function() {
                            function t(e) {
                                i(this, t), this.renderer = e, this.count = 0, this.checkCount = 0, this.maxIdle = a.default.GC_MAX_IDLE, this.checkCountMax = a.default.GC_MAX_CHECK_COUNT, this.mode = a.default.GC_MODE
                            }
                            return t.prototype.update = function() {
                                this.count++, this.mode !== n.GC_MODES.MANUAL && ++this.checkCount > this.checkCountMax && (this.checkCount = 0, this.run())
                            }, t.prototype.run = function() {
                                for (var t = this.renderer.textureManager, e = t._managedTextures, r = !1, i = 0; i < e.length; i++) {
                                    var n = e[i];
                                    !n._glRenderTargets && this.count - n.touched > this.maxIdle && (t.destroyTexture(n, !0), e[i] = null, r = !0)
                                }
                                if (r) {
                                    for (var o = 0, a = 0; a < e.length; a++) null !== e[a] && (e[o++] = e[a]);
                                    e.length = o
                                }
                            }, t.prototype.unload = function(t) {
                                var e = this.renderer.textureManager;
                                t._texture && t._texture._glRenderTargets && e.destroyTexture(t._texture, !0);
                                for (var r = t.children.length - 1; r >= 0; r--) this.unload(t.children[r])
                            }, t
                        }();
                    r.default = s
                }, {
                    "../../const": 46,
                    "../../settings": 101
                }],
                83: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("pixi-gl-core"),
                        o = t("../../const"),
                        a = t("./utils/RenderTarget"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = t("../../utils"),
                        u = function() {
                            function t(e) {
                                i(this, t), this.renderer = e, this.gl = e.gl, this._managedTextures = []
                            }
                            return t.prototype.bindTexture = function() {}, t.prototype.getTexture = function() {}, t.prototype.updateTexture = function(t, e) {
                                var r = this.gl,
                                    i = !!t._glRenderTargets;
                                if (!t.hasLoaded) return null;
                                var a = this.renderer.boundTextures;
                                if (void 0 === e) {
                                    e = 0;
                                    for (var l = 0; l < a.length; ++l)
                                        if (a[l] === t) {
                                            e = l;
                                            break
                                        }
                                }
                                a[e] = t, r.activeTexture(r.TEXTURE0 + e);
                                var u = t._glTextures[this.renderer.CONTEXT_UID];
                                if (u) i ? t._glRenderTargets[this.renderer.CONTEXT_UID].resize(t.width, t.height) : u.upload(t.source);
                                else {
                                    if (i) {
                                        var h = new s.default(this.gl, t.width, t.height, t.scaleMode, t.resolution);
                                        h.resize(t.width, t.height), t._glRenderTargets[this.renderer.CONTEXT_UID] = h, u = h.texture, this.renderer._activeRenderTarget.root || this.renderer._activeRenderTarget.frameBuffer.bind()
                                    } else u = new n.GLTexture(this.gl, null, null, null, null), u.bind(e), u.premultiplyAlpha = !0, u.upload(t.source);
                                    t._glTextures[this.renderer.CONTEXT_UID] = u, t.on("update", this.updateTexture, this), t.on("dispose", this.destroyTexture, this), this._managedTextures.push(t), t.isPowerOfTwo ? (t.mipmap && u.enableMipmap(), t.wrapMode === o.WRAP_MODES.CLAMP ? u.enableWrapClamp() : t.wrapMode === o.WRAP_MODES.REPEAT ? u.enableWrapRepeat() : u.enableWrapMirrorRepeat()) : u.enableWrapClamp(), t.scaleMode === o.SCALE_MODES.NEAREST ? u.enableNearestScaling() : u.enableLinearScaling()
                                }
                                return u
                            }, t.prototype.destroyTexture = function(t, e) {
                                if (t = t.baseTexture || t, t.hasLoaded) {
                                    var r = this.renderer,
                                        i = r.CONTEXT_UID,
                                        n = t._glTextures,
                                        o = t._glRenderTargets;
                                    if (n[i] && (r.unbindTexture(t), n[i].destroy(), t.off("update", this.updateTexture, this), t.off("dispose", this.destroyTexture, this), delete n[i], !e)) {
                                        var a = this._managedTextures.indexOf(t); - 1 !== a && (0, l.removeItems)(this._managedTextures, a, 1)
                                    }
                                    o && o[i] && (r._activeRenderTarget === o[i] && r.bindRenderTarget(r.rootRenderTarget), o[i].destroy(), delete o[i])
                                }
                            }, t.prototype.removeAll = function() {
                                for (var t = 0; t < this._managedTextures.length; ++t) {
                                    var e = this._managedTextures[t];
                                    e._glTextures[this.renderer.CONTEXT_UID] && delete e._glTextures[this.renderer.CONTEXT_UID]
                                }
                            }, t.prototype.destroy = function() {
                                for (var t = 0; t < this._managedTextures.length; ++t) {
                                    var e = this._managedTextures[t];
                                    this.destroyTexture(e, !0), e.off("update", this.updateTexture, this), e.off("dispose", this.destroyTexture, this)
                                }
                                this._managedTextures = null
                            }, t
                        }();
                    r.default = u
                }, {
                    "../../const": 46,
                    "../../utils": 125,
                    "./utils/RenderTarget": 96,
                    "pixi-gl-core": 15
                }],
                84: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../SystemRenderer"),
                        l = i(s),
                        u = t("./managers/MaskManager"),
                        h = i(u),
                        c = t("./managers/StencilManager"),
                        d = i(c),
                        f = t("./managers/FilterManager"),
                        p = i(f),
                        g = t("./utils/RenderTarget"),
                        y = i(g),
                        v = t("./utils/ObjectRenderer"),
                        m = i(v),
                        x = t("./TextureManager"),
                        _ = i(x),
                        T = t("../../textures/BaseTexture"),
                        b = i(T),
                        w = t("./TextureGarbageCollector"),
                        S = i(w),
                        E = t("./WebGLState"),
                        C = i(E),
                        O = t("./utils/mapWebGLDrawModesToPixi"),
                        M = i(O),
                        P = t("./utils/validateContext"),
                        R = i(P),
                        A = t("../../utils"),
                        D = t("pixi-gl-core"),
                        I = i(D),
                        L = t("../../const"),
                        k = 0,
                        F = function(t) {
                            function e(r, i, a) {
                                n(this, e);
                                var s = o(this, t.call(this, "WebGL", r, i, a));
                                return s.legacy = s.options.legacy, s.legacy && (I.default.VertexArrayObject.FORCE_NATIVE = !0), s.type = L.RENDERER_TYPE.WEBGL, s.handleContextLost = s.handleContextLost.bind(s), s.handleContextRestored = s.handleContextRestored.bind(s), s.view.addEventListener("webglcontextlost", s.handleContextLost, !1), s.view.addEventListener("webglcontextrestored", s.handleContextRestored, !1), s._contextOptions = {
                                    alpha: s.transparent,
                                    antialias: s.options.antialias,
                                    premultipliedAlpha: s.transparent && "notMultiplied" !== s.transparent,
                                    stencil: !0,
                                    preserveDrawingBuffer: s.options.preserveDrawingBuffer,
                                    powerPreference: s.options.powerPreference
                                }, s._backgroundColorRgba[3] = s.transparent ? 0 : 1, s.maskManager = new h.default(s), s.stencilManager = new d.default(s), s.emptyRenderer = new m.default(s), s.currentRenderer = s.emptyRenderer, s.textureManager = null, s.filterManager = null, s.initPlugins(), s.options.context && (0, R.default)(s.options.context), s.gl = s.options.context || I.default.createContext(s.view, s._contextOptions), s.CONTEXT_UID = k++, s.state = new C.default(s.gl), s.renderingToScreen = !0, s.boundTextures = null, s._activeShader = null, s._activeVao = null, s._activeRenderTarget = null, s._initContext(), s.drawModes = (0, M.default)(s.gl), s._nextTextureLocation = 0, s.setBlendMode(0), s
                            }
                            return a(e, t), e.prototype._initContext = function() {
                                var t = this.gl;
                                t.isContextLost() && t.getExtension("WEBGL_lose_context") && t.getExtension("WEBGL_lose_context").restoreContext();
                                var e = t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);
                                this._activeShader = null, this._activeVao = null, this.boundTextures = new Array(e), this.emptyTextures = new Array(e), this._unknownBoundTextures = !1, this.textureManager = new _.default(this), this.filterManager = new p.default(this), this.textureGC = new S.default(this), this.state.resetToDefault(), this.rootRenderTarget = new y.default(t, this.width, this.height, null, this.resolution, !0), this.rootRenderTarget.clearColor = this._backgroundColorRgba, this.bindRenderTarget(this.rootRenderTarget);
                                var r = new I.default.GLTexture.fromData(t, null, 1, 1),
                                    i = {
                                        _glTextures: {}
                                    };
                                i._glTextures[this.CONTEXT_UID] = {};
                                for (var n = 0; n < e; n++) {
                                    var o = new b.default;
                                    o._glTextures[this.CONTEXT_UID] = r, this.boundTextures[n] = i, this.emptyTextures[n] = o, this.bindTexture(null, n)
                                }
                                this.emit("context", t), this.resize(this.screen.width, this.screen.height)
                            }, e.prototype.render = function(t, e, r, i, n) {
                                if (this.renderingToScreen = !e, this.emit("prerender"), this.gl && !this.gl.isContextLost()) {
                                    if (this._nextTextureLocation = 0, e || (this._lastObjectRendered = t), !n) {
                                        var o = t.parent;
                                        t.parent = this._tempDisplayObjectParent, t.updateTransform(), t.parent = o
                                    }
                                    this.bindRenderTexture(e, i), this.currentRenderer.start(), (void 0 !== r ? r : this.clearBeforeRender) && this._activeRenderTarget.clear(), t.renderWebGL(this), this.currentRenderer.flush(), this.textureGC.update(), this.emit("postrender")
                                }
                            }, e.prototype.setObjectRenderer = function(t) {
                                this.currentRenderer !== t && (this.currentRenderer.stop(), this.currentRenderer = t, this.currentRenderer.start())
                            }, e.prototype.flush = function() {
                                this.setObjectRenderer(this.emptyRenderer)
                            }, e.prototype.resize = function(t, e) {
                                l.default.prototype.resize.call(this, t, e), this.rootRenderTarget.resize(t, e), this._activeRenderTarget === this.rootRenderTarget && (this.rootRenderTarget.activate(), this._activeShader && (this._activeShader.uniforms.projectionMatrix = this.rootRenderTarget.projectionMatrix.toArray(!0)))
                            }, e.prototype.setBlendMode = function(t) {
                                this.state.setBlendMode(t)
                            }, e.prototype.clear = function(t) {
                                this._activeRenderTarget.clear(t)
                            }, e.prototype.setTransform = function(t) {
                                this._activeRenderTarget.transform = t
                            }, e.prototype.clearRenderTexture = function(t, e) {
                                var r = t.baseTexture,
                                    i = r._glRenderTargets[this.CONTEXT_UID];
                                return i && i.clear(e), this
                            }, e.prototype.bindRenderTexture = function(t, e) {
                                var r = void 0;
                                if (t) {
                                    var i = t.baseTexture;
                                    i._glRenderTargets[this.CONTEXT_UID] || this.textureManager.updateTexture(i, 0), this.unbindTexture(i), r = i._glRenderTargets[this.CONTEXT_UID], r.setFrame(t.frame)
                                } else r = this.rootRenderTarget;
                                return r.transform = e, this.bindRenderTarget(r), this
                            }, e.prototype.bindRenderTarget = function(t) {
                                return t !== this._activeRenderTarget && (this._activeRenderTarget = t, t.activate(), this._activeShader && (this._activeShader.uniforms.projectionMatrix = t.projectionMatrix.toArray(!0)), this.stencilManager.setMaskStack(t.stencilMaskStack)), this
                            }, e.prototype.bindShader = function(t, e) {
                                return this._activeShader !== t && (this._activeShader = t, t.bind(), !1 !== e && (t.uniforms.projectionMatrix = this._activeRenderTarget.projectionMatrix.toArray(!0))), this
                            }, e.prototype.bindTexture = function(t, e, r) {
                                if (t = t || this.emptyTextures[e], t = t.baseTexture || t, t.touched = this.textureGC.count, r) e = e || 0;
                                else {
                                    for (var i = 0; i < this.boundTextures.length; i++)
                                        if (this.boundTextures[i] === t) return i;
                                    void 0 === e && (this._nextTextureLocation++, this._nextTextureLocation %= this.boundTextures.length, e = this.boundTextures.length - this._nextTextureLocation - 1)
                                }
                                var n = this.gl,
                                    o = t._glTextures[this.CONTEXT_UID];
                                return o ? (this.boundTextures[e] = t, n.activeTexture(n.TEXTURE0 + e), n.bindTexture(n.TEXTURE_2D, o.texture)) : this.textureManager.updateTexture(t, e), e
                            }, e.prototype.unbindTexture = function(t) {
                                var e = this.gl;
                                if (t = t.baseTexture || t, this._unknownBoundTextures) {
                                    this._unknownBoundTextures = !1;
                                    for (var r = 0; r < this.boundTextures.length; r++) this.boundTextures[r] === this.emptyTextures[r] && (e.activeTexture(e.TEXTURE0 + r), e.bindTexture(e.TEXTURE_2D, this.emptyTextures[r]._glTextures[this.CONTEXT_UID].texture))
                                }
                                for (var i = 0; i < this.boundTextures.length; i++) this.boundTextures[i] === t && (this.boundTextures[i] = this.emptyTextures[i], e.activeTexture(e.TEXTURE0 + i), e.bindTexture(e.TEXTURE_2D, this.emptyTextures[i]._glTextures[this.CONTEXT_UID].texture));
                                return this
                            }, e.prototype.createVao = function() {
                                return new I.default.VertexArrayObject(this.gl, this.state.attribState)
                            }, e.prototype.bindVao = function(t) {
                                return this._activeVao === t ? this : (t ? t.bind() : this._activeVao && this._activeVao.unbind(), this._activeVao = t, this)
                            }, e.prototype.reset = function() {
                                this.setObjectRenderer(this.emptyRenderer), this.bindVao(null), this._activeShader = null, this._activeRenderTarget = this.rootRenderTarget, this._unknownBoundTextures = !0;
                                for (var t = 0; t < this.boundTextures.length; t++) this.boundTextures[t] = this.emptyTextures[t];
                                return this.rootRenderTarget.activate(), this.state.resetToDefault(), this
                            }, e.prototype.handleContextLost = function(t) {
                                t.preventDefault()
                            }, e.prototype.handleContextRestored = function() {
                                this.textureManager.removeAll(), this.filterManager.destroy(!0), this._initContext()
                            }, e.prototype.destroy = function(e) {
                                this.destroyPlugins(), this.view.removeEventListener("webglcontextlost", this.handleContextLost), this.view.removeEventListener("webglcontextrestored", this.handleContextRestored), this.textureManager.destroy(), t.prototype.destroy.call(this, e), this.uid = 0, this.maskManager.destroy(), this.stencilManager.destroy(), this.filterManager.destroy(), this.maskManager = null, this.filterManager = null, this.textureManager = null, this.currentRenderer = null, this.handleContextLost = null, this.handleContextRestored = null, this._contextOptions = null, this.gl.useProgram(null), this.gl.getExtension("WEBGL_lose_context") && this.gl.getExtension("WEBGL_lose_context").loseContext(), this.gl = null
                            }, e
                        }(l.default);
                    r.default = F, A.pluginTarget.mixin(F)
                }, {
                    "../../const": 46,
                    "../../textures/BaseTexture": 112,
                    "../../utils": 125,
                    "../SystemRenderer": 76,
                    "./TextureGarbageCollector": 82,
                    "./TextureManager": 83,
                    "./WebGLState": 85,
                    "./managers/FilterManager": 90,
                    "./managers/MaskManager": 91,
                    "./managers/StencilManager": 92,
                    "./utils/ObjectRenderer": 94,
                    "./utils/RenderTarget": 96,
                    "./utils/mapWebGLDrawModesToPixi": 99,
                    "./utils/validateContext": 100,
                    "pixi-gl-core": 15
                }],
                85: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("./utils/mapWebGLBlendModesToPixi"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = function() {
                            function t(e) {
                                i(this, t), this.activeState = new Uint8Array(16), this.defaultState = new Uint8Array(16), this.defaultState[0] = 1, this.stackIndex = 0, this.stack = [], this.gl = e, this.maxAttribs = e.getParameter(e.MAX_VERTEX_ATTRIBS), this.attribState = {
                                    tempAttribState: new Array(this.maxAttribs),
                                    attribState: new Array(this.maxAttribs)
                                }, this.blendModes = (0, o.default)(e), this.nativeVaoExtension = e.getExtension("OES_vertex_array_object") || e.getExtension("MOZ_OES_vertex_array_object") || e.getExtension("WEBKIT_OES_vertex_array_object")
                            }
                            return t.prototype.push = function() {
                                var t = this.stack[this.stackIndex];
                                t || (t = this.stack[this.stackIndex] = new Uint8Array(16)), ++this.stackIndex;
                                for (var e = 0; e < this.activeState.length; e++) t[e] = this.activeState[e]
                            }, t.prototype.pop = function() {
                                var t = this.stack[--this.stackIndex];
                                this.setState(t)
                            }, t.prototype.setState = function(t) {
                                this.setBlend(t[0]), this.setDepthTest(t[1]), this.setFrontFace(t[2]), this.setCullFace(t[3]), this.setBlendMode(t[4])
                            }, t.prototype.setBlend = function(t) {
                                t = t ? 1 : 0, this.activeState[0] !== t && (this.activeState[0] = t, this.gl[t ? "enable" : "disable"](this.gl.BLEND))
                            }, t.prototype.setBlendMode = function(t) {
                                if (t !== this.activeState[4]) {
                                    this.activeState[4] = t;
                                    var e = this.blendModes[t];
                                    2 === e.length ? this.gl.blendFunc(e[0], e[1]) : this.gl.blendFuncSeparate(e[0], e[1], e[2], e[3])
                                }
                            }, t.prototype.setDepthTest = function(t) {
                                t = t ? 1 : 0, this.activeState[1] !== t && (this.activeState[1] = t, this.gl[t ? "enable" : "disable"](this.gl.DEPTH_TEST))
                            }, t.prototype.setCullFace = function(t) {
                                t = t ? 1 : 0, this.activeState[3] !== t && (this.activeState[3] = t, this.gl[t ? "enable" : "disable"](this.gl.CULL_FACE))
                            }, t.prototype.setFrontFace = function(t) {
                                t = t ? 1 : 0, this.activeState[2] !== t && (this.activeState[2] = t, this.gl.frontFace(this.gl[t ? "CW" : "CCW"]))
                            }, t.prototype.resetAttributes = function() {
                                for (var t = 0; t < this.attribState.tempAttribState.length; t++) this.attribState.tempAttribState[t] = 0;
                                for (var e = 0; e < this.attribState.attribState.length; e++) this.attribState.attribState[e] = 0;
                                for (var r = 1; r < this.maxAttribs; r++) this.gl.disableVertexAttribArray(r)
                            }, t.prototype.resetToDefault = function() {
                                this.nativeVaoExtension && this.nativeVaoExtension.bindVertexArrayOES(null), this.resetAttributes();
                                for (var t = 0; t < this.activeState.length; ++t) this.activeState[t] = 32;
                                this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL, !1), this.setState(this.defaultState)
                            }, t
                        }();
                    r.default = a
                }, {
                    "./utils/mapWebGLBlendModesToPixi": 98
                }],
                86: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var o = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        a = t("./extractUniformsFromSrc"),
                        s = i(a),
                        l = t("../../../utils"),
                        u = t("../../../const"),
                        h = t("../../../settings"),
                        c = i(h),
                        d = {},
                        f = function() {
                            function t(e, r, i) {
                                n(this, t), this.vertexSrc = e || t.defaultVertexSrc, this.fragmentSrc = r || t.defaultFragmentSrc, this._blendMode = u.BLEND_MODES.NORMAL, this.uniformData = i || (0, s.default)(this.vertexSrc, this.fragmentSrc, "projectionMatrix|uSampler"), this.uniforms = {};
                                for (var o in this.uniformData) this.uniforms[o] = this.uniformData[o].value, this.uniformData[o].type && (this.uniformData[o].type = this.uniformData[o].type.toLowerCase());
                                this.glShaders = {}, d[this.vertexSrc + this.fragmentSrc] || (d[this.vertexSrc + this.fragmentSrc] = (0, l.uid)()), this.glShaderKey = d[this.vertexSrc + this.fragmentSrc], this.padding = 4, this.resolution = c.default.FILTER_RESOLUTION, this.enabled = !0, this.autoFit = !0
                            }
                            return t.prototype.apply = function(t, e, r, i, n) {
                                t.applyFilter(this, e, r, i)
                            }, o(t, [{
                                key: "blendMode",
                                get: function() {
                                    return this._blendMode
                                },
                                set: function(t) {
                                    this._blendMode = t
                                }
                            }], [{
                                key: "defaultVertexSrc",
                                get: function() {
                                    return ["attribute vec2 aVertexPosition;", "attribute vec2 aTextureCoord;", "uniform mat3 projectionMatrix;", "uniform mat3 filterMatrix;", "varying vec2 vTextureCoord;", "varying vec2 vFilterCoord;", "void main(void){", "   gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);", "   vFilterCoord = ( filterMatrix * vec3( aTextureCoord, 1.0)  ).xy;", "   vTextureCoord = aTextureCoord ;", "}"].join("\n")
                                }
                            }, {
                                key: "defaultFragmentSrc",
                                get: function() {
                                    return ["varying vec2 vTextureCoord;", "varying vec2 vFilterCoord;", "uniform sampler2D uSampler;", "uniform sampler2D filterSampler;", "void main(void){", "   vec4 masky = texture2D(filterSampler, vFilterCoord);", "   vec4 sample = texture2D(uSampler, vTextureCoord);", "   vec4 color;", "   if(mod(vFilterCoord.x, 1.0) > 0.5)", "   {", "     color = vec4(1.0, 0.0, 0.0, 1.0);", "   }", "   else", "   {", "     color = vec4(0.0, 1.0, 0.0, 1.0);", "   }", "   gl_FragColor = mix(sample, masky, 0.5);", "   gl_FragColor *= sample.a;", "}"].join("\n")
                                }
                            }]), t
                        }();
                    r.default = f
                }, {
                    "../../../const": 46,
                    "../../../settings": 101,
                    "../../../utils": 125,
                    "./extractUniformsFromSrc": 87
                }],
                87: [function(t, e, r) {
                    "use strict";

                    function i(t, e, r) {
                        var i = n(t),
                            o = n(e);
                        return Object.assign(i, o)
                    }

                    function n(t) {
                        for (var e = new RegExp("^(projectionMatrix|uSampler|filterArea|filterClamp)$"), r = {}, i = void 0, n = t.replace(/\s+/g, " ").split(/\s*;\s*/), o = 0; o < n.length; o++) {
                            var a = n[o].trim();
                            if (a.indexOf("uniform") > -1) {
                                var l = a.split(" "),
                                    u = l[1],
                                    h = l[2],
                                    c = 1;
                                h.indexOf("[") > -1 && (i = h.split(/\[|]/), h = i[0], c *= Number(i[1])), h.match(e) || (r[h] = {
                                    value: s(u, c),
                                    name: h,
                                    type: u
                                })
                            }
                        }
                        return r
                    }
                    r.__esModule = !0, r.default = i;
                    var o = t("pixi-gl-core"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o),
                        s = a.default.shader.defaultValue
                }, {
                    "pixi-gl-core": 15
                }],
                88: [function(t, e, r) {
                    "use strict";

                    function i(t, e, r) {
                        var i = t.identity();
                        return i.translate(e.x / r.width, e.y / r.height), i.scale(r.width, r.height), i
                    }

                    function n(t, e, r) {
                        var i = t.identity();
                        i.translate(e.x / r.width, e.y / r.height);
                        var n = r.width / e.width,
                            o = r.height / e.height;
                        return i.scale(n, o), i
                    }

                    function o(t, e, r, i) {
                        var n = i._texture.orig,
                            o = t.set(r.width, 0, 0, r.height, e.x, e.y),
                            s = i.worldTransform.copy(a.Matrix.TEMP_MATRIX);
                        return s.invert(), o.prepend(s), o.scale(1 / n.width, 1 / n.height), o.translate(i.anchor.x, i.anchor.y), o
                    }
                    r.__esModule = !0, r.calculateScreenSpaceMatrix = i, r.calculateNormalizedScreenSpaceMatrix = n, r.calculateSpriteMatrix = o;
                    var a = t("../../../math")
                }, {
                    "../../../math": 70
                }],
                89: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../Filter"),
                        l = i(s),
                        u = t("../../../../math"),
                        h = (t("path"), t("../../../../textures/TextureMatrix")),
                        c = i(h),
                        d = function(t) {
                            function e(r) {
                                n(this, e);
                                var i = new u.Matrix,
                                    a = o(this, t.call(this, "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 otherMatrix;\n\nvarying vec2 vMaskCoord;\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = aTextureCoord;\n    vMaskCoord = ( otherMatrix * vec3( aTextureCoord, 1.0)  ).xy;\n}\n", "varying vec2 vMaskCoord;\nvarying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform sampler2D mask;\nuniform float alpha;\nuniform vec4 maskClamp;\n\nvoid main(void)\n{\n    float clip = step(3.5,\n        step(maskClamp.x, vMaskCoord.x) +\n        step(maskClamp.y, vMaskCoord.y) +\n        step(vMaskCoord.x, maskClamp.z) +\n        step(vMaskCoord.y, maskClamp.w));\n\n    vec4 original = texture2D(uSampler, vTextureCoord);\n    vec4 masky = texture2D(mask, vMaskCoord);\n\n    original *= (masky.r * masky.a * alpha * clip);\n\n    gl_FragColor = original;\n}\n"));
                                return r.renderable = !1, a.maskSprite = r, a.maskMatrix = i, a
                            }
                            return a(e, t), e.prototype.apply = function(t, e, r, i) {
                                var n = this.maskSprite,
                                    o = this.maskSprite.texture;
                                o.valid && (o.transform || (o.transform = new c.default(o, 0)), o.transform.update(), this.uniforms.mask = o, this.uniforms.otherMatrix = t.calculateSpriteMatrix(this.maskMatrix, n).prepend(o.transform.mapCoord), this.uniforms.alpha = n.worldAlpha, this.uniforms.maskClamp = o.transform.uClampFrame, t.applyFilter(this, e, r, i))
                            }, e
                        }(l.default);
                    r.default = d
                }, {
                    "../../../../math": 70,
                    "../../../../textures/TextureMatrix": 116,
                    "../Filter": 86,
                    path: 8
                }],
                90: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }

                    function a(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var s = t("./WebGLManager"),
                        l = i(s),
                        u = t("../utils/RenderTarget"),
                        h = i(u),
                        c = t("../utils/Quad"),
                        d = i(c),
                        f = t("../../../math"),
                        p = t("../../../Shader"),
                        g = i(p),
                        y = t("../filters/filterTransforms"),
                        v = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(y),
                        m = t("bit-twiddle"),
                        x = i(m),
                        _ = function() {
                            function t() {
                                a(this, t), this.renderTarget = null, this.target = null, this.resolution = 1, this.sourceFrame = new f.Rectangle, this.destinationFrame = new f.Rectangle, this.filters = []
                            }
                            return t.prototype.clear = function() {
                                this.filters = null, this.target = null, this.renderTarget = null
                            }, t
                        }(),
                        T = function(t) {
                            function e(r) {
                                a(this, e);
                                var i = n(this, t.call(this, r));
                                return i.gl = i.renderer.gl, i.quad = new d.default(i.gl, r.state.attribState), i.shaderCache = {}, i.pool = {}, i.filterData = null, i.managedFilters = [], i.renderer.on("prerender", i.onPrerender, i), i._screenWidth = r.view.width, i._screenHeight = r.view.height, i
                            }
                            return o(e, t), e.prototype.pushFilter = function(t, e) {
                                var r = this.renderer,
                                    i = this.filterData;
                                if (!i) {
                                    i = this.renderer._activeRenderTarget.filterStack;
                                    var n = new _;
                                    n.sourceFrame = n.destinationFrame = this.renderer._activeRenderTarget.size, n.renderTarget = r._activeRenderTarget, this.renderer._activeRenderTarget.filterData = i = {
                                        index: 0,
                                        stack: [n]
                                    }, this.filterData = i
                                }
                                var o = i.stack[++i.index],
                                    a = i.stack[0].destinationFrame;
                                o || (o = i.stack[i.index] = new _);
                                var s = t.filterArea && 0 === t.filterArea.x && 0 === t.filterArea.y && t.filterArea.width === r.screen.width && t.filterArea.height === r.screen.height,
                                    l = e[0].resolution,
                                    u = 0 | e[0].padding,
                                    h = s ? r.screen : t.filterArea || t.getBounds(!0),
                                    c = o.sourceFrame,
                                    d = o.destinationFrame;
                                c.x = (h.x * l | 0) / l, c.y = (h.y * l | 0) / l, c.width = (h.width * l | 0) / l, c.height = (h.height * l | 0) / l, s || (i.stack[0].renderTarget.transform || e[0].autoFit && c.fit(a), c.pad(u)), d.width = c.width, d.height = c.height;
                                var f = this.getPotRenderTarget(r.gl, c.width, c.height, l);
                                o.target = t, o.filters = e, o.resolution = l, o.renderTarget = f, f.setFrame(d, c), r.bindRenderTarget(f), f.clear()
                            }, e.prototype.popFilter = function() {
                                var t = this.filterData,
                                    e = t.stack[t.index - 1],
                                    r = t.stack[t.index];
                                this.quad.map(r.renderTarget.size, r.sourceFrame).upload();
                                var i = r.filters;
                                if (1 === i.length) i[0].apply(this, r.renderTarget, e.renderTarget, !1, r), this.freePotRenderTarget(r.renderTarget);
                                else {
                                    var n = r.renderTarget,
                                        o = this.getPotRenderTarget(this.renderer.gl, r.sourceFrame.width, r.sourceFrame.height, r.resolution);
                                    o.setFrame(r.destinationFrame, r.sourceFrame), o.clear();
                                    var a = 0;
                                    for (a = 0; a < i.length - 1; ++a) {
                                        i[a].apply(this, n, o, !0, r);
                                        var s = n;
                                        n = o, o = s
                                    }
                                    i[a].apply(this, n, e.renderTarget, !1, r), this.freePotRenderTarget(n), this.freePotRenderTarget(o)
                                }
                                r.clear(), 0 == --t.index && (this.filterData = null)
                            }, e.prototype.applyFilter = function(t, e, r, i) {
                                var n = this.renderer,
                                    o = n.gl,
                                    a = t.glShaders[n.CONTEXT_UID];
                                a || (t.glShaderKey ? (a = this.shaderCache[t.glShaderKey]) || (a = new g.default(this.gl, t.vertexSrc, t.fragmentSrc), t.glShaders[n.CONTEXT_UID] = this.shaderCache[t.glShaderKey] = a, this.managedFilters.push(t)) : (a = t.glShaders[n.CONTEXT_UID] = new g.default(this.gl, t.vertexSrc, t.fragmentSrc), this.managedFilters.push(t)), n.bindVao(null), this.quad.initVao(a)), n.bindVao(this.quad.vao), n.bindRenderTarget(r), i && (o.disable(o.SCISSOR_TEST), n.clear(), o.enable(o.SCISSOR_TEST)), r === n.maskManager.scissorRenderTarget && n.maskManager.pushScissorMask(null, n.maskManager.scissorData), n.bindShader(a);
                                var s = this.renderer.emptyTextures[0];
                                this.renderer.boundTextures[0] = s, this.syncUniforms(a, t), n.state.setBlendMode(t.blendMode), o.activeTexture(o.TEXTURE0), o.bindTexture(o.TEXTURE_2D, e.texture.texture), this.quad.vao.draw(this.renderer.gl.TRIANGLES, 6, 0), o.bindTexture(o.TEXTURE_2D, s._glTextures[this.renderer.CONTEXT_UID].texture)
                            }, e.prototype.syncUniforms = function(t, e) {
                                var r = e.uniformData,
                                    i = e.uniforms,
                                    n = 1,
                                    o = void 0;
                                if (t.uniforms.filterArea) {
                                    o = this.filterData.stack[this.filterData.index];
                                    var a = t.uniforms.filterArea;
                                    a[0] = o.renderTarget.size.width, a[1] = o.renderTarget.size.height, a[2] = o.sourceFrame.x, a[3] = o.sourceFrame.y, t.uniforms.filterArea = a
                                }
                                if (t.uniforms.filterClamp) {
                                    o = o || this.filterData.stack[this.filterData.index];
                                    var s = t.uniforms.filterClamp;
                                    s[0] = 0, s[1] = 0, s[2] = (o.sourceFrame.width - 1) / o.renderTarget.size.width, s[3] = (o.sourceFrame.height - 1) / o.renderTarget.size.height, t.uniforms.filterClamp = s
                                }
                                for (var l in r)
                                    if (t.uniforms.data[l]) {
                                        var u = r[l].type;
                                        if ("sampler2d" === u && 0 !== i[l]) {
                                            if (i[l].baseTexture) t.uniforms[l] = this.renderer.bindTexture(i[l].baseTexture, n);
                                            else {
                                                t.uniforms[l] = n;
                                                var h = this.renderer.gl;
                                                this.renderer.boundTextures[n] = this.renderer.emptyTextures[n], h.activeTexture(h.TEXTURE0 + n), i[l].texture.bind()
                                            }
                                            n++
                                        } else if ("mat3" === u) void 0 !== i[l].a ? t.uniforms[l] = i[l].toArray(!0) : t.uniforms[l] = i[l];
                                        else if ("vec2" === u)
                                            if (void 0 !== i[l].x) {
                                                var c = t.uniforms[l] || new Float32Array(2);
                                                c[0] = i[l].x, c[1] = i[l].y, t.uniforms[l] = c
                                            } else t.uniforms[l] = i[l];
                                        else "float" === u ? t.uniforms.data[l].value !== r[l] && (t.uniforms[l] = i[l]) : t.uniforms[l] = i[l]
                                    }
                            }, e.prototype.getRenderTarget = function(t, e) {
                                var r = this.filterData.stack[this.filterData.index],
                                    i = this.getPotRenderTarget(this.renderer.gl, r.sourceFrame.width, r.sourceFrame.height, e || r.resolution);
                                return i.setFrame(r.destinationFrame, r.sourceFrame), i
                            }, e.prototype.returnRenderTarget = function(t) {
                                this.freePotRenderTarget(t)
                            }, e.prototype.calculateScreenSpaceMatrix = function(t) {
                                var e = this.filterData.stack[this.filterData.index];
                                return v.calculateScreenSpaceMatrix(t, e.sourceFrame, e.renderTarget.size)
                            }, e.prototype.calculateNormalizedScreenSpaceMatrix = function(t) {
                                var e = this.filterData.stack[this.filterData.index];
                                return v.calculateNormalizedScreenSpaceMatrix(t, e.sourceFrame, e.renderTarget.size, e.destinationFrame)
                            }, e.prototype.calculateSpriteMatrix = function(t, e) {
                                var r = this.filterData.stack[this.filterData.index];
                                return v.calculateSpriteMatrix(t, r.sourceFrame, r.renderTarget.size, e)
                            }, e.prototype.destroy = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
                                    e = this.renderer,
                                    r = this.managedFilters;
                                e.off("prerender", this.onPrerender, this);
                                for (var i = 0; i < r.length; i++) t || r[i].glShaders[e.CONTEXT_UID].destroy(), delete r[i].glShaders[e.CONTEXT_UID];
                                this.shaderCache = {}, t ? this.pool = {} : this.emptyPool()
                            }, e.prototype.getPotRenderTarget = function(t, e, r, i) {
                                var n = "screen";
                                e *= i, r *= i, e === this._screenWidth && r === this._screenHeight || (e = x.default.nextPow2(e), r = x.default.nextPow2(r), n = (65535 & e) << 16 | 65535 & r), this.pool[n] || (this.pool[n] = []);
                                var o = this.pool[n].pop();
                                if (!o) {
                                    var a = this.renderer.boundTextures[0];
                                    t.activeTexture(t.TEXTURE0), o = new h.default(t, e, r, null, 1), t.bindTexture(t.TEXTURE_2D, a._glTextures[this.renderer.CONTEXT_UID].texture)
                                }
                                return o.resolution = i, o.defaultFrame.width = o.size.width = e / i, o.defaultFrame.height = o.size.height = r / i, o.filterPoolKey = n, o
                            }, e.prototype.emptyPool = function() {
                                for (var t in this.pool) {
                                    var e = this.pool[t];
                                    if (e)
                                        for (var r = 0; r < e.length; r++) e[r].destroy(!0)
                                }
                                this.pool = {}
                            }, e.prototype.freePotRenderTarget = function(t) {
                                this.pool[t.filterPoolKey].push(t)
                            }, e.prototype.onPrerender = function() {
                                if (this._screenWidth !== this.renderer.view.width || this._screenHeight !== this.renderer.view.height) {
                                    this._screenWidth = this.renderer.view.width, this._screenHeight = this.renderer.view.height;
                                    var t = this.pool.screen;
                                    if (t)
                                        for (var e = 0; e < t.length; e++) t[e].destroy(!0);
                                    this.pool.screen = []
                                }
                            }, e
                        }(l.default);
                    r.default = T
                }, {
                    "../../../Shader": 44,
                    "../../../math": 70,
                    "../filters/filterTransforms": 88,
                    "../utils/Quad": 95,
                    "../utils/RenderTarget": 96,
                    "./WebGLManager": 93,
                    "bit-twiddle": 1
                }],
                91: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("./WebGLManager"),
                        l = i(s),
                        u = t("../filters/spriteMask/SpriteMaskFilter"),
                        h = i(u),
                        c = function(t) {
                            function e(r) {
                                n(this, e);
                                var i = o(this, t.call(this, r));
                                return i.scissor = !1, i.scissorData = null, i.scissorRenderTarget = null, i.enableScissor = !0, i.alphaMaskPool = [], i.alphaMaskIndex = 0, i
                            }
                            return a(e, t), e.prototype.pushMask = function(t, e) {
                                if (e.texture) this.pushSpriteMask(t, e);
                                else if (this.enableScissor && !this.scissor && this.renderer._activeRenderTarget.root && !this.renderer.stencilManager.stencilMaskStack.length && e.isFastRect()) {
                                    var r = e.worldTransform,
                                        i = Math.atan2(r.b, r.a);
                                    i = Math.round(i * (180 / Math.PI)), i % 90 ? this.pushStencilMask(e) : this.pushScissorMask(t, e)
                                } else this.pushStencilMask(e)
                            }, e.prototype.popMask = function(t, e) {
                                e.texture ? this.popSpriteMask(t, e) : this.enableScissor && !this.renderer.stencilManager.stencilMaskStack.length ? this.popScissorMask(t, e) : this.popStencilMask(t, e)
                            }, e.prototype.pushSpriteMask = function(t, e) {
                                var r = this.alphaMaskPool[this.alphaMaskIndex];
                                r || (r = this.alphaMaskPool[this.alphaMaskIndex] = [new h.default(e)]), r[0].resolution = this.renderer.resolution, r[0].maskSprite = e;
                                var i = t.filterArea;
                                t.filterArea = e.getBounds(!0), this.renderer.filterManager.pushFilter(t, r), t.filterArea = i, this.alphaMaskIndex++
                            }, e.prototype.popSpriteMask = function() {
                                this.renderer.filterManager.popFilter(), this.alphaMaskIndex--
                            }, e.prototype.pushStencilMask = function(t) {
                                this.renderer.currentRenderer.stop(), this.renderer.stencilManager.pushStencil(t)
                            }, e.prototype.popStencilMask = function() {
                                this.renderer.currentRenderer.stop(), this.renderer.stencilManager.popStencil()
                            }, e.prototype.pushScissorMask = function(t, e) {
                                e.renderable = !0;
                                var r = this.renderer._activeRenderTarget,
                                    i = e.getBounds();
                                i.fit(r.size), e.renderable = !1, this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST);
                                var n = this.renderer.resolution;
                                this.renderer.gl.scissor(i.x * n, (r.root ? r.size.height - i.y - i.height : i.y) * n, i.width * n, i.height * n), this.scissorRenderTarget = r, this.scissorData = e, this.scissor = !0
                            }, e.prototype.popScissorMask = function() {
                                this.scissorRenderTarget = null, this.scissorData = null, this.scissor = !1;
                                var t = this.renderer.gl;
                                t.disable(t.SCISSOR_TEST)
                            }, e
                        }(l.default);
                    r.default = c
                }, {
                    "../filters/spriteMask/SpriteMaskFilter": 89,
                    "./WebGLManager": 93
                }],
                92: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = t("./WebGLManager"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = function(t) {
                            function e(r) {
                                i(this, e);
                                var o = n(this, t.call(this, r));
                                return o.stencilMaskStack = null, o
                            }
                            return o(e, t), e.prototype.setMaskStack = function(t) {
                                this.stencilMaskStack = t;
                                var e = this.renderer.gl;
                                0 === t.length ? e.disable(e.STENCIL_TEST) : e.enable(e.STENCIL_TEST)
                            }, e.prototype.pushStencil = function(t) {
                                this.renderer.setObjectRenderer(this.renderer.plugins.graphics), this.renderer._activeRenderTarget.attachStencilBuffer();
                                var e = this.renderer.gl,
                                    r = this.stencilMaskStack.length;
                                0 === r && e.enable(e.STENCIL_TEST), this.stencilMaskStack.push(t), e.colorMask(!1, !1, !1, !1), e.stencilFunc(e.EQUAL, r, this._getBitwiseMask()), e.stencilOp(e.KEEP, e.KEEP, e.INCR), this.renderer.plugins.graphics.render(t), this._useCurrent()
                            }, e.prototype.popStencil = function() {
                                this.renderer.setObjectRenderer(this.renderer.plugins.graphics);
                                var t = this.renderer.gl,
                                    e = this.stencilMaskStack.pop();
                                0 === this.stencilMaskStack.length ? (t.disable(t.STENCIL_TEST), t.clear(t.STENCIL_BUFFER_BIT), t.clearStencil(0)) : (t.colorMask(!1, !1, !1, !1), t.stencilOp(t.KEEP, t.KEEP, t.DECR), this.renderer.plugins.graphics.render(e), this._useCurrent())
                            }, e.prototype._useCurrent = function() {
                                var t = this.renderer.gl;
                                t.colorMask(!0, !0, !0, !0), t.stencilFunc(t.EQUAL, this.stencilMaskStack.length, this._getBitwiseMask()), t.stencilOp(t.KEEP, t.KEEP, t.KEEP)
                            }, e.prototype._getBitwiseMask = function() {
                                return (1 << this.stencilMaskStack.length) - 1
                            }, e.prototype.destroy = function() {
                                s.default.prototype.destroy.call(this), this.stencilMaskStack.stencilStack = null
                            }, e
                        }(s.default);
                    r.default = l
                }, {
                    "./WebGLManager": 93
                }],
                93: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t(e) {
                            i(this, t), this.renderer = e, this.renderer.on("context", this.onContextChange, this)
                        }
                        return t.prototype.onContextChange = function() {}, t.prototype.destroy = function() {
                            this.renderer.off("context", this.onContextChange, this), this.renderer = null
                        }, t
                    }();
                    r.default = n
                }, {}],
                94: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = t("../managers/WebGLManager"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = function(t) {
                            function e() {
                                return i(this, e), n(this, t.apply(this, arguments))
                            }
                            return o(e, t), e.prototype.start = function() {}, e.prototype.stop = function() {
                                this.flush()
                            }, e.prototype.flush = function() {}, e.prototype.render = function(t) {}, e
                        }(s.default);
                    r.default = l
                }, {
                    "../managers/WebGLManager": 93
                }],
                95: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var o = t("pixi-gl-core"),
                        a = i(o),
                        s = t("../../../utils/createIndicesForQuads"),
                        l = i(s),
                        u = function() {
                            function t(e, r) {
                                n(this, t), this.gl = e, this.vertices = new Float32Array([-1, -1, 1, -1, 1, 1, -1, 1]), this.uvs = new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]), this.interleaved = new Float32Array(16);
                                for (var i = 0; i < 4; i++) this.interleaved[4 * i] = this.vertices[2 * i], this.interleaved[4 * i + 1] = this.vertices[2 * i + 1], this.interleaved[4 * i + 2] = this.uvs[2 * i], this.interleaved[4 * i + 3] = this.uvs[2 * i + 1];
                                this.indices = (0, l.default)(1), this.vertexBuffer = a.default.GLBuffer.createVertexBuffer(e, this.interleaved, e.STATIC_DRAW), this.indexBuffer = a.default.GLBuffer.createIndexBuffer(e, this.indices, e.STATIC_DRAW), this.vao = new a.default.VertexArrayObject(e, r)
                            }
                            return t.prototype.initVao = function(t) {
                                this.vao.clear().addIndex(this.indexBuffer).addAttribute(this.vertexBuffer, t.attributes.aVertexPosition, this.gl.FLOAT, !1, 16, 0).addAttribute(this.vertexBuffer, t.attributes.aTextureCoord, this.gl.FLOAT, !1, 16, 8)
                            }, t.prototype.map = function(t, e) {
                                var r = 0,
                                    i = 0;
                                return this.uvs[0] = r, this.uvs[1] = i, this.uvs[2] = r + e.width / t.width, this.uvs[3] = i, this.uvs[4] = r + e.width / t.width, this.uvs[5] = i + e.height / t.height, this.uvs[6] = r, this.uvs[7] = i + e.height / t.height, r = e.x, i = e.y, this.vertices[0] = r, this.vertices[1] = i, this.vertices[2] = r + e.width, this.vertices[3] = i, this.vertices[4] = r + e.width, this.vertices[5] = i + e.height, this.vertices[6] = r, this.vertices[7] = i + e.height, this
                            }, t.prototype.upload = function() {
                                for (var t = 0; t < 4; t++) this.interleaved[4 * t] = this.vertices[2 * t], this.interleaved[4 * t + 1] = this.vertices[2 * t + 1], this.interleaved[4 * t + 2] = this.uvs[2 * t], this.interleaved[4 * t + 3] = this.uvs[2 * t + 1];
                                return this.vertexBuffer.upload(this.interleaved), this
                            }, t.prototype.destroy = function() {
                                var t = this.gl;
                                t.deleteBuffer(this.vertexBuffer), t.deleteBuffer(this.indexBuffer)
                            }, t
                        }();
                    r.default = u
                }, {
                    "../../../utils/createIndicesForQuads": 123,
                    "pixi-gl-core": 15
                }],
                96: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../../../math"),
                        o = t("../../../const"),
                        a = t("../../../settings"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = t("pixi-gl-core"),
                        u = function() {
                            function t(e, r, a, u, h, c) {
                                i(this, t), this.gl = e, this.frameBuffer = null, this.texture = null, this.clearColor = [0, 0, 0, 0], this.size = new n.Rectangle(0, 0, 1, 1), this.resolution = h || s.default.RESOLUTION, this.projectionMatrix = new n.Matrix, this.transform = null, this.frame = null, this.defaultFrame = new n.Rectangle, this.destinationFrame = null, this.sourceFrame = null, this.stencilBuffer = null, this.stencilMaskStack = [], this.filterData = null, this.filterPoolKey = "", this.scaleMode = void 0 !== u ? u : s.default.SCALE_MODE, this.root = c || !1, this.root ? (this.frameBuffer = new l.GLFramebuffer(e, 100, 100), this.frameBuffer.framebuffer = null) : (this.frameBuffer = l.GLFramebuffer.createRGBA(e, 100, 100), this.scaleMode === o.SCALE_MODES.NEAREST ? this.frameBuffer.texture.enableNearestScaling() : this.frameBuffer.texture.enableLinearScaling(), this.texture = this.frameBuffer.texture), this.setFrame(), this.resize(r, a)
                            }
                            return t.prototype.clear = function(t) {
                                var e = t || this.clearColor;
                                this.frameBuffer.clear(e[0], e[1], e[2], e[3])
                            }, t.prototype.attachStencilBuffer = function() {
                                this.root || this.frameBuffer.enableStencil()
                            }, t.prototype.setFrame = function(t, e) {
                                this.destinationFrame = t || this.destinationFrame || this.defaultFrame, this.sourceFrame = e || this.sourceFrame || this.destinationFrame
                            }, t.prototype.activate = function() {
                                var t = this.gl;
                                this.frameBuffer.bind(), this.calculateProjection(this.destinationFrame, this.sourceFrame), this.transform && this.projectionMatrix.append(this.transform), this.destinationFrame !== this.sourceFrame ? (t.enable(t.SCISSOR_TEST), t.scissor(0 | this.destinationFrame.x, 0 | this.destinationFrame.y, this.destinationFrame.width * this.resolution | 0, this.destinationFrame.height * this.resolution | 0)) : t.disable(t.SCISSOR_TEST), t.viewport(0 | this.destinationFrame.x, 0 | this.destinationFrame.y, this.destinationFrame.width * this.resolution | 0, this.destinationFrame.height * this.resolution | 0)
                            }, t.prototype.calculateProjection = function(t, e) {
                                var r = this.projectionMatrix;
                                e = e || t, r.identity(), this.root ? (r.a = 1 / t.width * 2, r.d = -1 / t.height * 2, r.tx = -1 - e.x * r.a, r.ty = 1 - e.y * r.d) : (r.a = 1 / t.width * 2, r.d = 1 / t.height * 2, r.tx = -1 - e.x * r.a, r.ty = -1 - e.y * r.d)
                            }, t.prototype.resize = function(t, e) {
                                if (t |= 0, e |= 0, this.size.width !== t || this.size.height !== e) {
                                    this.size.width = t, this.size.height = e, this.defaultFrame.width = t, this.defaultFrame.height = e, this.frameBuffer.resize(t * this.resolution, e * this.resolution);
                                    var r = this.frame || this.size;
                                    this.calculateProjection(r)
                                }
                            }, t.prototype.destroy = function() {
                                this.frameBuffer.stencil && this.gl.deleteRenderbuffer(this.frameBuffer.stencil), this.frameBuffer.destroy(), this.frameBuffer = null, this.texture = null
                            }, t
                        }();
                    r.default = u
                }, {
                    "../../../const": 46,
                    "../../../math": 70,
                    "../../../settings": 101,
                    "pixi-gl-core": 15
                }],
                97: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        var r = !e;
                        if (r) {
                            var i = document.createElement("canvas");
                            i.width = 1, i.height = 1, e = a.default.createContext(i)
                        }
                        for (var o = e.createShader(e.FRAGMENT_SHADER);;) {
                            var l = s.replace(/%forloop%/gi, n(t));
                            if (e.shaderSource(o, l), e.compileShader(o), e.getShaderParameter(o, e.COMPILE_STATUS)) break;
                            t = t / 2 | 0
                        }
                        return r && e.getExtension("WEBGL_lose_context") && e.getExtension("WEBGL_lose_context").loseContext(), t
                    }

                    function n(t) {
                        for (var e = "", r = 0; r < t; ++r) r > 0 && (e += "\nelse "), r < t - 1 && (e += "if(test == " + r + ".0){}");
                        return e
                    }
                    r.__esModule = !0, r.default = i;
                    var o = t("pixi-gl-core"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o),
                        s = ["precision mediump float;", "void main(void){", "float test = 0.1;", "%forloop%", "gl_FragColor = vec4(0.0);", "}"].join("\n")
                }, {
                    "pixi-gl-core": 15
                }],
                98: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
                        return e[n.BLEND_MODES.NORMAL] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.ADD] = [t.ONE, t.ONE], e[n.BLEND_MODES.MULTIPLY] = [t.DST_COLOR, t.ONE_MINUS_SRC_ALPHA, t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.SCREEN] = [t.ONE, t.ONE_MINUS_SRC_COLOR, t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.OVERLAY] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.DARKEN] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.LIGHTEN] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.COLOR_DODGE] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.COLOR_BURN] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.HARD_LIGHT] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.SOFT_LIGHT] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.DIFFERENCE] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.EXCLUSION] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.HUE] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.SATURATION] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.COLOR] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.LUMINOSITY] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.NORMAL_NPM] = [t.SRC_ALPHA, t.ONE_MINUS_SRC_ALPHA, t.ONE, t.ONE_MINUS_SRC_ALPHA], e[n.BLEND_MODES.ADD_NPM] = [t.SRC_ALPHA, t.ONE, t.ONE, t.ONE], e[n.BLEND_MODES.SCREEN_NPM] = [t.SRC_ALPHA, t.ONE_MINUS_SRC_COLOR, t.ONE, t.ONE_MINUS_SRC_ALPHA], e
                    }
                    r.__esModule = !0, r.default = i;
                    var n = t("../../../const")
                }, {
                    "../../../const": 46
                }],
                99: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                        return e[n.DRAW_MODES.POINTS] = t.POINTS, e[n.DRAW_MODES.LINES] = t.LINES, e[n.DRAW_MODES.LINE_LOOP] = t.LINE_LOOP, e[n.DRAW_MODES.LINE_STRIP] = t.LINE_STRIP, e[n.DRAW_MODES.TRIANGLES] = t.TRIANGLES, e[n.DRAW_MODES.TRIANGLE_STRIP] = t.TRIANGLE_STRIP, e[n.DRAW_MODES.TRIANGLE_FAN] = t.TRIANGLE_FAN, e
                    }
                    r.__esModule = !0, r.default = i;
                    var n = t("../../../const")
                }, {
                    "../../../const": 46
                }],
                100: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        t.getContextAttributes().stencil
                    }
                    r.__esModule = !0, r.default = i
                }, {}],
                101: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./utils/maxRecommendedTextures"),
                        o = i(n),
                        a = t("./utils/canUploadSameBuffer"),
                        s = i(a);
                    r.default = {
                        TARGET_FPMS: .06,
                        MIPMAP_TEXTURES: !0,
                        RESOLUTION: 1,
                        FILTER_RESOLUTION: 1,
                        SPRITE_MAX_TEXTURES: (0, o.default)(32),
                        SPRITE_BATCH_SIZE: 4096,
                        RETINA_PREFIX: /@([0-9\.]+)x/,
                        RENDER_OPTIONS: {
                            view: null,
                            antialias: !1,
                            forceFXAA: !1,
                            autoResize: !1,
                            transparent: !1,
                            backgroundColor: 0,
                            clearBeforeRender: !0,
                            preserveDrawingBuffer: !1,
                            roundPixels: !1,
                            width: 800,
                            height: 600,
                            legacy: !1
                        },
                        TRANSFORM_MODE: 0,
                        GC_MODE: 0,
                        GC_MAX_IDLE: 3600,
                        GC_MAX_CHECK_COUNT: 600,
                        WRAP_MODE: 0,
                        SCALE_MODE: 0,
                        PRECISION_VERTEX: "highp",
                        PRECISION_FRAGMENT: "mediump",
                        CAN_UPLOAD_SAME_BUFFER: (0, s.default)(),
                        MESH_CANVAS_PADDING: 0
                    }
                }, {
                    "./utils/canUploadSameBuffer": 122,
                    "./utils/maxRecommendedTextures": 127
                }],
                102: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("../math"),
                        u = t("../utils"),
                        h = t("../const"),
                        c = t("../textures/Texture"),
                        d = i(c),
                        f = t("../display/Container"),
                        p = i(f),
                        g = new l.Point,
                        y = function(t) {
                            function e(r) {
                                n(this, e);
                                var i = o(this, t.call(this));
                                return i._anchor = new l.ObservablePoint(i._onAnchorUpdate, i, r ? r.defaultAnchor.x : 0, r ? r.defaultAnchor.y : 0), i._texture = null, i._width = 0, i._height = 0, i._tint = null, i._tintRGB = null, i.tint = 16777215, i.blendMode = h.BLEND_MODES.NORMAL, i.shader = null, i.cachedTint = 16777215, i.texture = r || d.default.EMPTY, i.vertexData = new Float32Array(8), i.vertexTrimmedData = null, i._transformID = -1, i._textureID = -1, i._transformTrimmedID = -1, i._textureTrimmedID = -1, i.pluginName = "sprite", i
                            }
                            return a(e, t), e.prototype._onTextureUpdate = function() {
                                this._textureID = -1, this._textureTrimmedID = -1, this.cachedTint = 16777215, this._width && (this.scale.x = (0, u.sign)(this.scale.x) * this._width / this._texture.orig.width), this._height && (this.scale.y = (0, u.sign)(this.scale.y) * this._height / this._texture.orig.height)
                            }, e.prototype._onAnchorUpdate = function() {
                                this._transformID = -1, this._transformTrimmedID = -1
                            }, e.prototype.calculateVertices = function() {
                                if (this._transformID !== this.transform._worldID || this._textureID !== this._texture._updateID) {
                                    this._transformID = this.transform._worldID, this._textureID = this._texture._updateID;
                                    var t = this._texture,
                                        e = this.transform.worldTransform,
                                        r = e.a,
                                        i = e.b,
                                        n = e.c,
                                        o = e.d,
                                        a = e.tx,
                                        s = e.ty,
                                        l = this.vertexData,
                                        u = t.trim,
                                        h = t.orig,
                                        c = this._anchor,
                                        d = 0,
                                        f = 0,
                                        p = 0,
                                        g = 0;
                                    u ? (f = u.x - c._x * h.width, d = f + u.width, g = u.y - c._y * h.height, p = g + u.height) : (f = -c._x * h.width, d = f + h.width, g = -c._y * h.height, p = g + h.height), l[0] = r * f + n * g + a, l[1] = o * g + i * f + s, l[2] = r * d + n * g + a, l[3] = o * g + i * d + s, l[4] = r * d + n * p + a, l[5] = o * p + i * d + s, l[6] = r * f + n * p + a, l[7] = o * p + i * f + s
                                }
                            }, e.prototype.calculateTrimmedVertices = function() {
                                if (this.vertexTrimmedData) {
                                    if (this._transformTrimmedID === this.transform._worldID && this._textureTrimmedID === this._texture._updateID) return
                                } else this.vertexTrimmedData = new Float32Array(8);
                                this._transformTrimmedID = this.transform._worldID, this._textureTrimmedID = this._texture._updateID;
                                var t = this._texture,
                                    e = this.vertexTrimmedData,
                                    r = t.orig,
                                    i = this._anchor,
                                    n = this.transform.worldTransform,
                                    o = n.a,
                                    a = n.b,
                                    s = n.c,
                                    l = n.d,
                                    u = n.tx,
                                    h = n.ty,
                                    c = -i._x * r.width,
                                    d = c + r.width,
                                    f = -i._y * r.height,
                                    p = f + r.height;
                                e[0] = o * c + s * f + u, e[1] = l * f + a * c + h, e[2] = o * d + s * f + u, e[3] = l * f + a * d + h, e[4] = o * d + s * p + u, e[5] = l * p + a * d + h, e[6] = o * c + s * p + u, e[7] = l * p + a * c + h
                            }, e.prototype._renderWebGL = function(t) {
                                this.calculateVertices(), t.setObjectRenderer(t.plugins[this.pluginName]), t.plugins[this.pluginName].render(this)
                            }, e.prototype._renderCanvas = function(t) {
                                t.plugins[this.pluginName].render(this)
                            }, e.prototype._calculateBounds = function() {
                                var t = this._texture.trim,
                                    e = this._texture.orig;
                                !t || t.width === e.width && t.height === e.height ? (this.calculateVertices(), this._bounds.addQuad(this.vertexData)) : (this.calculateTrimmedVertices(), this._bounds.addQuad(this.vertexTrimmedData))
                            }, e.prototype.getLocalBounds = function(e) {
                                return 0 === this.children.length ? (this._bounds.minX = this._texture.orig.width * -this._anchor._x, this._bounds.minY = this._texture.orig.height * -this._anchor._y, this._bounds.maxX = this._texture.orig.width * (1 - this._anchor._x), this._bounds.maxY = this._texture.orig.height * (1 - this._anchor._y), e || (this._localBoundsRect || (this._localBoundsRect = new l.Rectangle), e = this._localBoundsRect), this._bounds.getRectangle(e)) : t.prototype.getLocalBounds.call(this, e)
                            }, e.prototype.containsPoint = function(t) {
                                this.worldTransform.applyInverse(t, g);
                                var e = this._texture.orig.width,
                                    r = this._texture.orig.height,
                                    i = -e * this.anchor.x,
                                    n = 0;
                                return g.x >= i && g.x < i + e && (n = -r * this.anchor.y, g.y >= n && g.y < n + r)
                            }, e.prototype.destroy = function(e) {
                                if (t.prototype.destroy.call(this, e), this._texture.off("update", this._onTextureUpdate, this), this._anchor = null, "boolean" == typeof e ? e : e && e.texture) {
                                    var r = "boolean" == typeof e ? e : e && e.baseTexture;
                                    this._texture.destroy(!!r)
                                }
                                this._texture = null, this.shader = null
                            }, e.from = function(t) {
                                return new e(d.default.from(t))
                            }, e.fromFrame = function(t) {
                                var r = u.TextureCache[t];
                                if (!r) throw new Error('The frameId "' + t + '" does not exist in the texture cache');
                                return new e(r)
                            }, e.fromImage = function(t, r, i) {
                                return new e(d.default.fromImage(t, r, i))
                            }, s(e, [{
                                key: "width",
                                get: function() {
                                    return Math.abs(this.scale.x) * this._texture.orig.width
                                },
                                set: function(t) {
                                    var e = (0, u.sign)(this.scale.x) || 1;
                                    this.scale.x = e * t / this._texture.orig.width, this._width = t
                                }
                            }, {
                                key: "height",
                                get: function() {
                                    return Math.abs(this.scale.y) * this._texture.orig.height
                                },
                                set: function(t) {
                                    var e = (0, u.sign)(this.scale.y) || 1;
                                    this.scale.y = e * t / this._texture.orig.height, this._height = t
                                }
                            }, {
                                key: "anchor",
                                get: function() {
                                    return this._anchor
                                },
                                set: function(t) {
                                    this._anchor.copy(t)
                                }
                            }, {
                                key: "tint",
                                get: function() {
                                    return this._tint
                                },
                                set: function(t) {
                                    this._tint = t, this._tintRGB = (t >> 16) + (65280 & t) + ((255 & t) << 16)
                                }
                            }, {
                                key: "texture",
                                get: function() {
                                    return this._texture
                                },
                                set: function(t) {
                                    this._texture !== t && (this._texture = t || d.default.EMPTY, this.cachedTint = 16777215, this._textureID = -1, this._textureTrimmedID = -1, t && (t.baseTexture.hasLoaded ? this._onTextureUpdate() : t.once("update", this._onTextureUpdate, this)))
                                }
                            }]), e
                        }(p.default);
                    r.default = y
                }, {
                    "../const": 46,
                    "../display/Container": 48,
                    "../math": 70,
                    "../textures/Texture": 115,
                    "../utils": 125
                }],
                103: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var o = t("../../renderers/canvas/CanvasRenderer"),
                        a = i(o),
                        s = t("../../const"),
                        l = t("../../math"),
                        u = t("./CanvasTinter"),
                        h = i(u),
                        c = new l.Matrix,
                        d = function() {
                            function t(e) {
                                n(this, t), this.renderer = e
                            }
                            return t.prototype.render = function(t) {
                                var e = t._texture,
                                    r = this.renderer,
                                    i = e._frame.width,
                                    n = e._frame.height,
                                    o = t.transform.worldTransform,
                                    a = 0,
                                    u = 0;
                                if (!(e.orig.width <= 0 || e.orig.height <= 0) && e.baseTexture.source && (r.setBlendMode(t.blendMode), e.valid)) {
                                    r.context.globalAlpha = t.worldAlpha;
                                    var d = e.baseTexture.scaleMode === s.SCALE_MODES.LINEAR;
                                    r.smoothProperty && r.context[r.smoothProperty] !== d && (r.context[r.smoothProperty] = d), e.trim ? (a = e.trim.width / 2 + e.trim.x - t.anchor.x * e.orig.width, u = e.trim.height / 2 + e.trim.y - t.anchor.y * e.orig.height) : (a = (.5 - t.anchor.x) * e.orig.width, u = (.5 - t.anchor.y) * e.orig.height), e.rotate && (o.copy(c), o = c, l.GroupD8.matrixAppendRotationInv(o, e.rotate, a, u), a = 0, u = 0), a -= i / 2, u -= n / 2, r.roundPixels ? (r.context.setTransform(o.a, o.b, o.c, o.d, o.tx * r.resolution | 0, o.ty * r.resolution | 0), a |= 0, u |= 0) : r.context.setTransform(o.a, o.b, o.c, o.d, o.tx * r.resolution, o.ty * r.resolution);
                                    var f = e.baseTexture.resolution;
                                    16777215 !== t.tint ? (t.cachedTint === t.tint && t.tintedTexture.tintId === t._texture._updateID || (t.cachedTint = t.tint, t.tintedTexture = h.default.getTintedTexture(t, t.tint)), r.context.drawImage(t.tintedTexture, 0, 0, i * f, n * f, a * r.resolution, u * r.resolution, i * r.resolution, n * r.resolution)) : r.context.drawImage(e.baseTexture.source, e._frame.x * f, e._frame.y * f, i * f, n * f, a * r.resolution, u * r.resolution, i * r.resolution, n * r.resolution)
                                }
                            }, t.prototype.destroy = function() {
                                this.renderer = null
                            }, t
                        }();
                    r.default = d, a.default.registerPlugin("sprite", d)
                }, {
                    "../../const": 46,
                    "../../math": 70,
                    "../../renderers/canvas/CanvasRenderer": 77,
                    "./CanvasTinter": 104
                }],
                104: [function(t, e, r) {
                    "use strict";
                    r.__esModule = !0;
                    var i = t("../../utils"),
                        n = t("../../renderers/canvas/utils/canUseNewCanvasBlendModes"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = {
                            getTintedTexture: function(t, e) {
                                var r = t._texture;
                                e = a.roundColor(e);
                                var i = "#" + ("00000" + (0 | e).toString(16)).substr(-6);
                                r.tintCache = r.tintCache || {};
                                var n = r.tintCache[i],
                                    o = void 0;
                                if (n) {
                                    if (n.tintId === r._updateID) return r.tintCache[i];
                                    o = r.tintCache[i]
                                } else o = a.canvas || document.createElement("canvas");
                                if (a.tintMethod(r, e, o), o.tintId = r._updateID, a.convertTintToImage) {
                                    var s = new Image;
                                    s.src = o.toDataURL(), r.tintCache[i] = s
                                } else r.tintCache[i] = o, a.canvas = null;
                                return o
                            },
                            tintWithMultiply: function(t, e, r) {
                                var i = r.getContext("2d"),
                                    n = t._frame.clone(),
                                    o = t.baseTexture.resolution;
                                n.x *= o, n.y *= o, n.width *= o, n.height *= o, r.width = Math.ceil(n.width), r.height = Math.ceil(n.height), i.save(), i.fillStyle = "#" + ("00000" + (0 | e).toString(16)).substr(-6), i.fillRect(0, 0, n.width, n.height), i.globalCompositeOperation = "multiply", i.drawImage(t.baseTexture.source, n.x, n.y, n.width, n.height, 0, 0, n.width, n.height), i.globalCompositeOperation = "destination-atop", i.drawImage(t.baseTexture.source, n.x, n.y, n.width, n.height, 0, 0, n.width, n.height), i.restore()
                            },
                            tintWithOverlay: function(t, e, r) {
                                var i = r.getContext("2d"),
                                    n = t._frame.clone(),
                                    o = t.baseTexture.resolution;
                                n.x *= o, n.y *= o, n.width *= o, n.height *= o, r.width = Math.ceil(n.width), r.height = Math.ceil(n.height), i.save(), i.globalCompositeOperation = "copy", i.fillStyle = "#" + ("00000" + (0 | e).toString(16)).substr(-6), i.fillRect(0, 0, n.width, n.height), i.globalCompositeOperation = "destination-atop", i.drawImage(t.baseTexture.source, n.x, n.y, n.width, n.height, 0, 0, n.width, n.height), i.restore()
                            },
                            tintWithPerPixel: function(t, e, r) {
                                var n = r.getContext("2d"),
                                    o = t._frame.clone(),
                                    a = t.baseTexture.resolution;
                                o.x *= a, o.y *= a, o.width *= a, o.height *= a, r.width = Math.ceil(o.width), r.height = Math.ceil(o.height), n.save(), n.globalCompositeOperation = "copy", n.drawImage(t.baseTexture.source, o.x, o.y, o.width, o.height, 0, 0, o.width, o.height), n.restore();
                                for (var s = (0, i.hex2rgb)(e), l = s[0], u = s[1], h = s[2], c = n.getImageData(0, 0, o.width, o.height), d = c.data, f = 0; f < d.length; f += 4) d[f + 0] *= l, d[f + 1] *= u, d[f + 2] *= h;
                                n.putImageData(c, 0, 0)
                            },
                            roundColor: function(t) {
                                var e = a.cacheStepsPerColorChannel,
                                    r = (0, i.hex2rgb)(t);
                                return r[0] = Math.min(255, r[0] / e * e), r[1] = Math.min(255, r[1] / e * e), r[2] = Math.min(255, r[2] / e * e), (0, i.rgb2hex)(r)
                            },
                            cacheStepsPerColorChannel: 8,
                            convertTintToImage: !1,
                            canUseMultiply: (0, o.default)(),
                            tintMethod: 0
                        };
                    a.tintMethod = a.canUseMultiply ? a.tintWithMultiply : a.tintWithPerPixel, r.default = a
                }, {
                    "../../renderers/canvas/utils/canUseNewCanvasBlendModes": 80,
                    "../../utils": 125
                }],
                105: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t(e) {
                            i(this, t), this.vertices = new ArrayBuffer(e), this.float32View = new Float32Array(this.vertices), this.uint32View = new Uint32Array(this.vertices)
                        }
                        return t.prototype.destroy = function() {
                            this.vertices = null, this.positions = null, this.uvs = null, this.colors = null
                        }, t
                    }();
                    r.default = n
                }, {}],
                106: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../../renderers/webgl/utils/ObjectRenderer"),
                        l = i(s),
                        u = t("../../renderers/webgl/WebGLRenderer"),
                        h = i(u),
                        c = t("../../utils/createIndicesForQuads"),
                        d = i(c),
                        f = t("./generateMultiTextureShader"),
                        p = i(f),
                        g = t("../../renderers/webgl/utils/checkMaxIfStatmentsInShader"),
                        y = i(g),
                        v = t("./BatchBuffer"),
                        m = i(v),
                        x = t("../../settings"),
                        _ = i(x),
                        T = t("../../utils"),
                        b = t("pixi-gl-core"),
                        w = i(b),
                        S = t("bit-twiddle"),
                        E = i(S),
                        C = 0,
                        O = 0,
                        M = function(t) {
                            function e(r) {
                                n(this, e);
                                var i = o(this, t.call(this, r));
                                i.vertSize = 5, i.vertByteSize = 4 * i.vertSize, i.size = _.default.SPRITE_BATCH_SIZE, i.buffers = [];
                                for (var a = 1; a <= E.default.nextPow2(i.size); a *= 2) i.buffers.push(new m.default(4 * a * i.vertByteSize));
                                i.indices = (0, d.default)(i.size), i.shader = null, i.currentIndex = 0, i.groups = [];
                                for (var s = 0; s < i.size; s++) i.groups[s] = {
                                    textures: [],
                                    textureCount: 0,
                                    ids: [],
                                    size: 0,
                                    start: 0,
                                    blend: 0
                                };
                                return i.sprites = [], i.vertexBuffers = [], i.vaos = [], i.vaoMax = 2, i.vertexCount = 0, i.renderer.on("prerender", i.onPrerender, i), i
                            }
                            return a(e, t), e.prototype.onContextChange = function() {
                                var t = this.renderer.gl;
                                this.renderer.legacy ? this.MAX_TEXTURES = 1 : (this.MAX_TEXTURES = Math.min(t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS), _.default.SPRITE_MAX_TEXTURES), this.MAX_TEXTURES = (0, y.default)(this.MAX_TEXTURES, t)), this.shader = (0, p.default)(t, this.MAX_TEXTURES), this.indexBuffer = w.default.GLBuffer.createIndexBuffer(t, this.indices, t.STATIC_DRAW), this.renderer.bindVao(null);
                                for (var e = this.shader.attributes, r = 0; r < this.vaoMax; r++) {
                                    var i = this.vertexBuffers[r] = w.default.GLBuffer.createVertexBuffer(t, null, t.STREAM_DRAW),
                                        n = this.renderer.createVao().addIndex(this.indexBuffer).addAttribute(i, e.aVertexPosition, t.FLOAT, !1, this.vertByteSize, 0).addAttribute(i, e.aTextureCoord, t.UNSIGNED_SHORT, !0, this.vertByteSize, 8).addAttribute(i, e.aColor, t.UNSIGNED_BYTE, !0, this.vertByteSize, 12);
                                    e.aTextureId && n.addAttribute(i, e.aTextureId, t.FLOAT, !1, this.vertByteSize, 16), this.vaos[r] = n
                                }
                                this.vao = this.vaos[0], this.currentBlendMode = 99999, this.boundTextures = new Array(this.MAX_TEXTURES)
                            }, e.prototype.onPrerender = function() {
                                this.vertexCount = 0
                            }, e.prototype.render = function(t) {
                                this.currentIndex >= this.size && this.flush(), t._texture._uvs && (this.sprites[this.currentIndex++] = t)
                            }, e.prototype.flush = function() {
                                if (0 !== this.currentIndex) {
                                    var t = this.renderer.gl,
                                        e = this.MAX_TEXTURES,
                                        r = E.default.nextPow2(this.currentIndex),
                                        i = E.default.log2(r),
                                        n = this.buffers[i],
                                        o = this.sprites,
                                        a = this.groups,
                                        s = n.float32View,
                                        l = n.uint32View,
                                        u = this.boundTextures,
                                        h = this.renderer.boundTextures,
                                        c = this.renderer.textureGC.count,
                                        d = 0,
                                        f = void 0,
                                        p = void 0,
                                        g = 1,
                                        y = 0,
                                        v = a[0],
                                        m = void 0,
                                        x = void 0,
                                        b = T.premultiplyBlendMode[o[0]._texture.baseTexture.premultipliedAlpha ? 1 : 0][o[0].blendMode];
                                    v.textureCount = 0, v.start = 0, v.blend = b, C++;
                                    var S = void 0;
                                    for (S = 0; S < e; ++S) {
                                        var M = h[S];
                                        M._enabled !== C ? (u[S] = M, M._virtalBoundId = S, M._enabled = C) : u[S] = this.renderer.emptyTextures[S]
                                    }
                                    for (C++, S = 0; S < this.currentIndex; ++S) {
                                        var P = o[S];
                                        o[S] = null, f = P._texture.baseTexture;
                                        var R = T.premultiplyBlendMode[Number(f.premultipliedAlpha)][P.blendMode];
                                        if (b !== R && (b = R, p = null, y = e, C++), p !== f && (p = f, f._enabled !== C)) {
                                            if (y === e && (C++, v.size = S - v.start, y = 0, v = a[g++], v.blend = b, v.textureCount = 0, v.start = S), f.touched = c, -1 === f._virtalBoundId)
                                                for (var A = 0; A < e; ++A) {
                                                    var D = (A + O) % e,
                                                        I = u[D];
                                                    if (I._enabled !== C) {
                                                        O++, I._virtalBoundId = -1, f._virtalBoundId = D, u[D] = f;
                                                        break
                                                    }
                                                }
                                            f._enabled = C, v.textureCount++, v.ids[y] = f._virtalBoundId, v.textures[y++] = f
                                        }
                                        if (m = P.vertexData, x = P._texture._uvs.uvsUint32, this.renderer.roundPixels) {
                                            var L = this.renderer.resolution;
                                            s[d] = (m[0] * L | 0) / L, s[d + 1] = (m[1] * L | 0) / L, s[d + 5] = (m[2] * L | 0) / L, s[d + 6] = (m[3] * L | 0) / L, s[d + 10] = (m[4] * L | 0) / L, s[d + 11] = (m[5] * L | 0) / L, s[d + 15] = (m[6] * L | 0) / L, s[d + 16] = (m[7] * L | 0) / L
                                        } else s[d] = m[0], s[d + 1] = m[1], s[d + 5] = m[2], s[d + 6] = m[3], s[d + 10] = m[4], s[d + 11] = m[5], s[d + 15] = m[6], s[d + 16] = m[7];
                                        l[d + 2] = x[0], l[d + 7] = x[1], l[d + 12] = x[2], l[d + 17] = x[3];
                                        var k = Math.min(P.worldAlpha, 1),
                                            F = k < 1 && f.premultipliedAlpha ? (0, T.premultiplyTint)(P._tintRGB, k) : P._tintRGB + (255 * k << 24);
                                        l[d + 3] = l[d + 8] = l[d + 13] = l[d + 18] = F, s[d + 4] = s[d + 9] = s[d + 14] = s[d + 19] = f._virtalBoundId, d += 20
                                    }
                                    if (v.size = S - v.start, _.default.CAN_UPLOAD_SAME_BUFFER) this.vertexBuffers[this.vertexCount].upload(n.vertices, 0, !0);
                                    else {
                                        if (this.vaoMax <= this.vertexCount) {
                                            this.vaoMax++;
                                            var N = this.shader.attributes,
                                                B = this.vertexBuffers[this.vertexCount] = w.default.GLBuffer.createVertexBuffer(t, null, t.STREAM_DRAW),
                                                j = this.renderer.createVao().addIndex(this.indexBuffer).addAttribute(B, N.aVertexPosition, t.FLOAT, !1, this.vertByteSize, 0).addAttribute(B, N.aTextureCoord, t.UNSIGNED_SHORT, !0, this.vertByteSize, 8).addAttribute(B, N.aColor, t.UNSIGNED_BYTE, !0, this.vertByteSize, 12);
                                            N.aTextureId && j.addAttribute(B, N.aTextureId, t.FLOAT, !1, this.vertByteSize, 16), this.vaos[this.vertexCount] = j
                                        }
                                        this.renderer.bindVao(this.vaos[this.vertexCount]), this.vertexBuffers[this.vertexCount].upload(n.vertices, 0, !1), this.vertexCount++
                                    }
                                    for (S = 0; S < e; ++S) h[S]._virtalBoundId = -1;
                                    for (S = 0; S < g; ++S) {
                                        for (var U = a[S], W = U.textureCount, H = 0; H < W; H++) p = U.textures[H], h[U.ids[H]] !== p && this.renderer.bindTexture(p, U.ids[H], !0), p._virtalBoundId = -1;
                                        this.renderer.state.setBlendMode(U.blend), t.drawElements(t.TRIANGLES, 6 * U.size, t.UNSIGNED_SHORT, 6 * U.start * 2)
                                    }
                                    this.currentIndex = 0
                                }
                            }, e.prototype.start = function() {
                                this.renderer.bindShader(this.shader), _.default.CAN_UPLOAD_SAME_BUFFER && (this.renderer.bindVao(this.vaos[this.vertexCount]), this.vertexBuffers[this.vertexCount].bind())
                            }, e.prototype.stop = function() {
                                this.flush()
                            }, e.prototype.destroy = function() {
                                for (var e = 0; e < this.vaoMax; e++) this.vertexBuffers[e] && this.vertexBuffers[e].destroy(), this.vaos[e] && this.vaos[e].destroy();
                                this.indexBuffer && this.indexBuffer.destroy(), this.renderer.off("prerender", this.onPrerender, this), t.prototype.destroy.call(this), this.shader && (this.shader.destroy(), this.shader = null), this.vertexBuffers = null, this.vaos = null, this.indexBuffer = null, this.indices = null, this.sprites = null;
                                for (var r = 0; r < this.buffers.length; ++r) this.buffers[r].destroy()
                            }, e
                        }(l.default);
                    r.default = M, h.default.registerPlugin("sprite", M)
                }, {
                    "../../renderers/webgl/WebGLRenderer": 84,
                    "../../renderers/webgl/utils/ObjectRenderer": 94,
                    "../../renderers/webgl/utils/checkMaxIfStatmentsInShader": 97,
                    "../../settings": 101,
                    "../../utils": 125,
                    "../../utils/createIndicesForQuads": 123,
                    "./BatchBuffer": 105,
                    "./generateMultiTextureShader": 107,
                    "bit-twiddle": 1,
                    "pixi-gl-core": 15
                }],
                107: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        var r = s;
                        r = r.replace(/%count%/gi, e), r = r.replace(/%forloop%/gi, n(e));
                        for (var i = new a.default(t, "precision highp float;\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec4 aColor;\nattribute float aTextureId;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nvarying float vTextureId;\n\nvoid main(void){\n    gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = aTextureCoord;\n    vTextureId = aTextureId;\n    vColor = aColor;\n}\n", r), o = [], l = 0; l < e; l++) o[l] = l;
                        return i.bind(), i.uniforms.uSamplers = o, i
                    }

                    function n(t) {
                        var e = "";
                        e += "\n", e += "\n";
                        for (var r = 0; r < t; r++) r > 0 && (e += "\nelse "), r < t - 1 && (e += "if(vTextureId < " + r + ".5)"), e += "\n{", e += "\n\tcolor = texture2D(uSamplers[" + r + "], vTextureCoord);", e += "\n}";
                        return e += "\n", e += "\n"
                    }
                    r.__esModule = !0, r.default = i;
                    var o = t("../../Shader"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o),
                        s = (t("path"), ["varying vec2 vTextureCoord;", "varying vec4 vColor;", "varying float vTextureId;", "uniform sampler2D uSamplers[%count%];", "void main(void){", "vec4 color;", "%forloop%", "gl_FragColor = color * vColor;", "}"].join("\n"))
                }, {
                    "../../Shader": 44,
                    path: 8
                }],
                108: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("../sprites/Sprite"),
                        u = i(l),
                        h = t("../textures/Texture"),
                        c = i(h),
                        d = t("../math"),
                        f = t("../utils"),
                        p = t("../const"),
                        g = t("../settings"),
                        y = i(g),
                        v = t("./TextStyle"),
                        m = i(v),
                        x = t("./TextMetrics"),
                        _ = i(x),
                        T = t("../utils/trimCanvas"),
                        b = i(T),
                        w = {
                            texture: !0,
                            children: !1,
                            baseTexture: !0
                        },
                        S = function(t) {
                            function e(r, i, a) {
                                n(this, e), a = a || document.createElement("canvas"), a.width = 3, a.height = 3;
                                var s = c.default.fromCanvas(a, y.default.SCALE_MODE, "text");
                                s.orig = new d.Rectangle, s.trim = new d.Rectangle;
                                var l = o(this, t.call(this, s));
                                return c.default.addToCache(l._texture, l._texture.baseTexture.textureCacheIds[0]), l.canvas = a, l.context = l.canvas.getContext("2d"), l.resolution = y.default.RESOLUTION, l._text = null, l._style = null, l._styleListener = null, l._font = "", l.text = r, l.style = i, l.localStyleID = -1, l
                            }
                            return a(e, t), e.prototype.updateText = function(t) {
                                var e = this._style;
                                if (this.localStyleID !== e.styleID && (this.dirty = !0, this.localStyleID = e.styleID), this.dirty || !t) {
                                    this._font = this._style.toFontString();
                                    var r = this.context,
                                        i = _.default.measureText(this._text, this._style, this._style.wordWrap, this.canvas),
                                        n = i.width,
                                        o = i.height,
                                        a = i.lines,
                                        s = i.lineHeight,
                                        l = i.lineWidths,
                                        u = i.maxLineWidth,
                                        h = i.fontProperties;
                                    this.canvas.width = Math.ceil((Math.max(1, n) + 2 * e.padding) * this.resolution), this.canvas.height = Math.ceil((Math.max(1, o) + 2 * e.padding) * this.resolution), r.scale(this.resolution, this.resolution), r.clearRect(0, 0, this.canvas.width, this.canvas.height), r.font = this._font, r.strokeStyle = e.stroke, r.lineWidth = e.strokeThickness, r.textBaseline = e.textBaseline, r.lineJoin = e.lineJoin, r.miterLimit = e.miterLimit;
                                    var c = void 0,
                                        d = void 0;
                                    if (e.dropShadow) {
                                        r.fillStyle = e.dropShadowColor, r.globalAlpha = e.dropShadowAlpha, r.shadowBlur = e.dropShadowBlur, e.dropShadowBlur > 0 && (r.shadowColor = e.dropShadowColor);
                                        for (var f = Math.cos(e.dropShadowAngle) * e.dropShadowDistance, p = Math.sin(e.dropShadowAngle) * e.dropShadowDistance, g = 0; g < a.length; g++) c = e.strokeThickness / 2, d = e.strokeThickness / 2 + g * s + h.ascent, "right" === e.align ? c += u - l[g] : "center" === e.align && (c += (u - l[g]) / 2), e.fill && (this.drawLetterSpacing(a[g], c + f + e.padding, d + p + e.padding), e.stroke && e.strokeThickness && (r.strokeStyle = e.dropShadowColor, this.drawLetterSpacing(a[g], c + f + e.padding, d + p + e.padding, !0), r.strokeStyle = e.stroke))
                                    }
                                    r.shadowBlur = 0, r.globalAlpha = 1, r.fillStyle = this._generateFillStyle(e, a);
                                    for (var y = 0; y < a.length; y++) c = e.strokeThickness / 2, d = e.strokeThickness / 2 + y * s + h.ascent, "right" === e.align ? c += u - l[y] : "center" === e.align && (c += (u - l[y]) / 2), e.stroke && e.strokeThickness && this.drawLetterSpacing(a[y], c + e.padding, d + e.padding, !0), e.fill && this.drawLetterSpacing(a[y], c + e.padding, d + e.padding);
                                    this.updateTexture()
                                }
                            }, e.prototype.drawLetterSpacing = function(t, e, r) {
                                var i = arguments.length > 3 && void 0 !== arguments[3] && arguments[3],
                                    n = this._style,
                                    o = n.letterSpacing;
                                if (0 === o) return void(i ? this.context.strokeText(t, e, r) : this.context.fillText(t, e, r));
                                for (var a = String.prototype.split.call(t, ""), s = e, l = 0, u = ""; l < t.length;) u = a[l++], i ? this.context.strokeText(u, s, r) : this.context.fillText(u, s, r), s += this.context.measureText(u).width + o
                            }, e.prototype.updateTexture = function() {
                                var t = this.canvas;
                                if (this._style.trim) {
                                    var e = (0, b.default)(t);
                                    e.data && (t.width = e.width, t.height = e.height, this.context.putImageData(e.data, 0, 0))
                                }
                                var r = this._texture,
                                    i = this._style,
                                    n = i.trim ? 0 : i.padding,
                                    o = r.baseTexture;
                                o.hasLoaded = !0, o.resolution = this.resolution, o.realWidth = t.width, o.realHeight = t.height, o.width = t.width / this.resolution, o.height = t.height / this.resolution, r.trim.width = r._frame.width = t.width / this.resolution, r.trim.height = r._frame.height = t.height / this.resolution, r.trim.x = -n, r.trim.y = -n, r.orig.width = r._frame.width - 2 * n, r.orig.height = r._frame.height - 2 * n, this._onTextureUpdate(), o.emit("update", o), this.dirty = !1
                            }, e.prototype.renderWebGL = function(e) {
                                this.resolution !== e.resolution && (this.resolution = e.resolution, this.dirty = !0), this.updateText(!0), t.prototype.renderWebGL.call(this, e)
                            }, e.prototype._renderCanvas = function(e) {
                                this.resolution !== e.resolution && (this.resolution = e.resolution, this.dirty = !0), this.updateText(!0), t.prototype._renderCanvas.call(this, e)
                            }, e.prototype.getLocalBounds = function(e) {
                                return this.updateText(!0), t.prototype.getLocalBounds.call(this, e)
                            }, e.prototype._calculateBounds = function() {
                                this.updateText(!0), this.calculateVertices(), this._bounds.addQuad(this.vertexData)
                            }, e.prototype._onStyleChange = function() {
                                this.dirty = !0
                            }, e.prototype._generateFillStyle = function(t, e) {
                                if (!Array.isArray(t.fill)) return t.fill;
                                if (navigator.isCocoonJS) return t.fill[0];
                                var r = void 0,
                                    i = void 0,
                                    n = void 0,
                                    o = void 0,
                                    a = this.canvas.width / this.resolution,
                                    s = this.canvas.height / this.resolution,
                                    l = t.fill.slice(),
                                    u = t.fillGradientStops.slice();
                                if (!u.length)
                                    for (var h = l.length + 1, c = 1; c < h; ++c) u.push(c / h);
                                if (l.unshift(t.fill[0]), u.unshift(0), l.push(t.fill[t.fill.length - 1]), u.push(1), t.fillGradientType === p.TEXT_GRADIENT.LINEAR_VERTICAL) {
                                    r = this.context.createLinearGradient(a / 2, 0, a / 2, s), i = (l.length + 1) * e.length, n = 0;
                                    for (var d = 0; d < e.length; d++) {
                                        n += 1;
                                        for (var f = 0; f < l.length; f++) o = "number" == typeof u[f] ? u[f] / e.length + d / e.length : n / i, r.addColorStop(o, l[f]), n++
                                    }
                                } else {
                                    r = this.context.createLinearGradient(0, s / 2, a, s / 2), i = l.length + 1, n = 1;
                                    for (var g = 0; g < l.length; g++) o = "number" == typeof u[g] ? u[g] : n / i, r.addColorStop(o, l[g]), n++
                                }
                                return r
                            }, e.prototype.destroy = function(e) {
                                "boolean" == typeof e && (e = {
                                    children: e
                                }), e = Object.assign({}, w, e), t.prototype.destroy.call(this, e), this.context = null, this.canvas = null, this._style = null
                            }, s(e, [{
                                key: "width",
                                get: function() {
                                    return this.updateText(!0), Math.abs(this.scale.x) * this._texture.orig.width
                                },
                                set: function(t) {
                                    this.updateText(!0);
                                    var e = (0, f.sign)(this.scale.x) || 1;
                                    this.scale.x = e * t / this._texture.orig.width, this._width = t
                                }
                            }, {
                                key: "height",
                                get: function() {
                                    return this.updateText(!0), Math.abs(this.scale.y) * this._texture.orig.height
                                },
                                set: function(t) {
                                    this.updateText(!0);
                                    var e = (0, f.sign)(this.scale.y) || 1;
                                    this.scale.y = e * t / this._texture.orig.height, this._height = t
                                }
                            }, {
                                key: "style",
                                get: function() {
                                    return this._style
                                },
                                set: function(t) {
                                    t = t || {}, t instanceof m.default ? this._style = t : this._style = new m.default(t), this.localStyleID = -1, this.dirty = !0
                                }
                            }, {
                                key: "text",
                                get: function() {
                                    return this._text
                                },
                                set: function(t) {
                                    t = String("" === t || null === t || void 0 === t ? " " : t), this._text !== t && (this._text = t, this.dirty = !0)
                                }
                            }]), e
                        }(u.default);
                    r.default = S
                }, {
                    "../const": 46,
                    "../math": 70,
                    "../settings": 101,
                    "../sprites/Sprite": 102,
                    "../textures/Texture": 115,
                    "../utils": 125,
                    "../utils/trimCanvas": 130,
                    "./TextMetrics": 109,
                    "./TextStyle": 110
                }],
                109: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t(e, r, n, o, a, s, l, u, h) {
                            i(this, t), this.text = e, this.style = r, this.width = n, this.height = o, this.lines = a, this.lineWidths = s, this.lineHeight = l, this.maxLineWidth = u, this.fontProperties = h
                        }
                        return t.measureText = function(e, r, i) {
                            var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : t._canvas;
                            i = void 0 === i || null === i ? r.wordWrap : i;
                            var o = r.toFontString(),
                                a = t.measureFont(o),
                                s = n.getContext("2d");
                            s.font = o;
                            for (var l = i ? t.wordWrap(e, r, n) : e, u = l.split(/(?:\r\n|\r|\n)/), h = new Array(u.length), c = 0, d = 0; d < u.length; d++) {
                                var f = s.measureText(u[d]).width + (u[d].length - 1) * r.letterSpacing;
                                h[d] = f, c = Math.max(c, f)
                            }
                            var p = c + r.strokeThickness;
                            r.dropShadow && (p += r.dropShadowDistance);
                            var g = r.lineHeight || a.fontSize + r.strokeThickness,
                                y = Math.max(g, a.fontSize + r.strokeThickness) + (u.length - 1) * (g + r.leading);
                            return r.dropShadow && (y += r.dropShadowDistance), new t(e, r, p, y, u, h, g + r.leading, c, a)
                        }, t.wordWrap = function(e, r) {
                            for (var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : t._canvas, n = i.getContext("2d"), o = 0, a = "", s = "", l = {}, u = r.letterSpacing, h = r.whiteSpace, c = t.collapseSpaces(h), d = t.collapseNewlines(h), f = !c, p = r.wordWrapWidth + u, g = t.tokenize(e), y = 0; y < g.length; y++) {
                                var v = g[y];
                                if (t.isNewline(v)) {
                                    if (!d) {
                                        s += t.addLine(a), f = !c, a = "", o = 0;
                                        continue
                                    }
                                    v = " "
                                }
                                if (c) {
                                    var m = t.isBreakingSpace(v),
                                        x = t.isBreakingSpace(a[a.length - 1]);
                                    if (m && x) continue
                                }
                                var _ = t.getFromCache(v, u, l, n);
                                if (_ > p)
                                    if ("" !== a && (s += t.addLine(a), a = "", o = 0), t.canBreakWords(v, r.breakWords))
                                        for (var T = v.split(""), b = 0; b < T.length; b++) {
                                            for (var w = T[b], S = 1; T[b + S];) {
                                                var E = T[b + S],
                                                    C = w[w.length - 1];
                                                if (t.canBreakChars(C, E, v, b, r.breakWords)) break;
                                                w += E, S++
                                            }
                                            b += w.length - 1;
                                            var O = t.getFromCache(w, u, l, n);
                                            O + o > p && (s += t.addLine(a), f = !1, a = "", o = 0), a += w, o += O
                                        } else {
                                            a.length > 0 && (s += t.addLine(a), a = "", o = 0);
                                            var M = y === g.length - 1;
                                            s += t.addLine(v, !M), f = !1, a = "", o = 0
                                        } else _ + o > p && (f = !1, s += t.addLine(a), a = "", o = 0), (a.length > 0 || !t.isBreakingSpace(v) || f) && (a += v, o += _)
                            }
                            return s += t.addLine(a, !1)
                        }, t.addLine = function(e) {
                            var r = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];
                            return e = t.trimRight(e), e = r ? e + "\n" : e
                        }, t.getFromCache = function(t, e, r, i) {
                            var n = r[t];
                            if (void 0 === n) {
                                var o = t.length * e;
                                n = i.measureText(t).width + o, r[t] = n
                            }
                            return n
                        }, t.collapseSpaces = function(t) {
                            return "normal" === t || "pre-line" === t
                        }, t.collapseNewlines = function(t) {
                            return "normal" === t
                        }, t.trimRight = function(e) {
                            if ("string" != typeof e) return "";
                            for (var r = e.length - 1; r >= 0; r--) {
                                var i = e[r];
                                if (!t.isBreakingSpace(i)) break;
                                e = e.slice(0, -1)
                            }
                            return e
                        }, t.isNewline = function(e) {
                            return "string" == typeof e && t._newlines.indexOf(e.charCodeAt(0)) >= 0
                        }, t.isBreakingSpace = function(e) {
                            return "string" == typeof e && t._breakingSpaces.indexOf(e.charCodeAt(0)) >= 0
                        }, t.tokenize = function(e) {
                            var r = [],
                                i = "";
                            if ("string" != typeof e) return r;
                            for (var n = 0; n < e.length; n++) {
                                var o = e[n];
                                t.isBreakingSpace(o) || t.isNewline(o) ? ("" !== i && (r.push(i), i = ""), r.push(o)) : i += o
                            }
                            return "" !== i && r.push(i), r
                        }, t.canBreakWords = function(t, e) {
                            return e
                        }, t.canBreakChars = function(t, e, r, i, n) {
                            return !0
                        }, t.measureFont = function(e) {
                            if (t._fonts[e]) return t._fonts[e];
                            var r = {},
                                i = t._canvas,
                                n = t._context;
                            n.font = e;
                            var o = t.METRICS_STRING + t.BASELINE_SYMBOL,
                                a = Math.ceil(n.measureText(o).width),
                                s = Math.ceil(n.measureText(t.BASELINE_SYMBOL).width),
                                l = 2 * s;
                            s = s * t.BASELINE_MULTIPLIER | 0, i.width = a, i.height = l, n.fillStyle = "#f00", n.fillRect(0, 0, a, l), n.font = e, n.textBaseline = "alphabetic", n.fillStyle = "#000", n.fillText(o, 0, s);
                            var u = n.getImageData(0, 0, a, l).data,
                                h = u.length,
                                c = 4 * a,
                                d = 0,
                                f = 0,
                                p = !1;
                            for (d = 0; d < s; ++d) {
                                for (var g = 0; g < c; g += 4)
                                    if (255 !== u[f + g]) {
                                        p = !0;
                                        break
                                    }
                                if (p) break;
                                f += c
                            }
                            for (r.ascent = s - d, f = h - c, p = !1, d = l; d > s; --d) {
                                for (var y = 0; y < c; y += 4)
                                    if (255 !== u[f + y]) {
                                        p = !0;
                                        break
                                    }
                                if (p) break;
                                f -= c
                            }
                            return r.descent = d - s, r.fontSize = r.ascent + r.descent, t._fonts[e] = r, r
                        }, t.clearMetrics = function() {
                            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
                            e ? delete t._fonts[e] : t._fonts = {}
                        }, t
                    }();
                    r.default = n;
                    var o = document.createElement("canvas");
                    o.width = o.height = 10, n._canvas = o, n._context = o.getContext("2d"), n._fonts = {}, n.METRICS_STRING = "|Éq", n.BASELINE_SYMBOL = "M", n.BASELINE_MULTIPLIER = 1.4, n._newlines = [10, 13], n._breakingSpaces = [9, 32, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8200, 8201, 8202, 8287, 12288]
                }, {}],
                110: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t) {
                        return "number" == typeof t ? (0, h.hex2string)(t) : ("string" == typeof t && 0 === t.indexOf("0x") && (t = t.replace("0x", "#")), t)
                    }

                    function o(t) {
                        if (Array.isArray(t)) {
                            for (var e = 0; e < t.length; ++e) t[e] = n(t[e]);
                            return t
                        }
                        return n(t)
                    }

                    function a(t, e) {
                        if (!Array.isArray(t) || !Array.isArray(e)) return !1;
                        if (t.length !== e.length) return !1;
                        for (var r = 0; r < t.length; ++r)
                            if (t[r] !== e[r]) return !1;
                        return !0
                    }

                    function s(t, e, r) {
                        for (var i in r) Array.isArray(e[i]) ? t[i] = e[i].slice() : t[i] = e[i]
                    }
                    r.__esModule = !0;
                    var l = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        u = t("../const"),
                        h = t("../utils"),
                        c = {
                            align: "left",
                            breakWords: !1,
                            dropShadow: !1,
                            dropShadowAlpha: 1,
                            dropShadowAngle: Math.PI / 6,
                            dropShadowBlur: 0,
                            dropShadowColor: "black",
                            dropShadowDistance: 5,
                            fill: "black",
                            fillGradientType: u.TEXT_GRADIENT.LINEAR_VERTICAL,
                            fillGradientStops: [],
                            fontFamily: "Arial",
                            fontSize: 26,
                            fontStyle: "normal",
                            fontVariant: "normal",
                            fontWeight: "normal",
                            letterSpacing: 0,
                            lineHeight: 0,
                            lineJoin: "miter",
                            miterLimit: 10,
                            padding: 0,
                            stroke: "black",
                            strokeThickness: 0,
                            textBaseline: "alphabetic",
                            trim: !1,
                            whiteSpace: "pre",
                            wordWrap: !1,
                            wordWrapWidth: 100,
                            leading: 0
                        },
                        d = ["serif", "sans-serif", "monospace", "cursive", "fantasy", "system-ui"],
                        f = function() {
                            function t(e) {
                                i(this, t), this.styleID = 0, this.reset(), s(this, e, e)
                            }
                            return t.prototype.clone = function() {
                                var e = {};
                                return s(e, this, c), new t(e)
                            }, t.prototype.reset = function() {
                                s(this, c, c)
                            }, t.prototype.toFontString = function() {
                                var t = "number" == typeof this.fontSize ? this.fontSize + "px" : this.fontSize,
                                    e = this.fontFamily;
                                Array.isArray(this.fontFamily) || (e = this.fontFamily.split(","));
                                for (var r = e.length - 1; r >= 0; r--) {
                                    var i = e[r].trim();
                                    !/([\"\'])[^\'\"]+\1/.test(i) && d.indexOf(i) < 0 && (i = '"' + i + '"'), e[r] = i
                                }
                                return this.fontStyle + " " + this.fontVariant + " " + this.fontWeight + " " + t + " " + e.join(",")
                            }, l(t, [{
                                key: "align",
                                get: function() {
                                    return this._align
                                },
                                set: function(t) {
                                    this._align !== t && (this._align = t, this.styleID++)
                                }
                            }, {
                                key: "breakWords",
                                get: function() {
                                    return this._breakWords
                                },
                                set: function(t) {
                                    this._breakWords !== t && (this._breakWords = t, this.styleID++)
                                }
                            }, {
                                key: "dropShadow",
                                get: function() {
                                    return this._dropShadow
                                },
                                set: function(t) {
                                    this._dropShadow !== t && (this._dropShadow = t, this.styleID++)
                                }
                            }, {
                                key: "dropShadowAlpha",
                                get: function() {
                                    return this._dropShadowAlpha
                                },
                                set: function(t) {
                                    this._dropShadowAlpha !== t && (this._dropShadowAlpha = t, this.styleID++)
                                }
                            }, {
                                key: "dropShadowAngle",
                                get: function() {
                                    return this._dropShadowAngle
                                },
                                set: function(t) {
                                    this._dropShadowAngle !== t && (this._dropShadowAngle = t, this.styleID++)
                                }
                            }, {
                                key: "dropShadowBlur",
                                get: function() {
                                    return this._dropShadowBlur
                                },
                                set: function(t) {
                                    this._dropShadowBlur !== t && (this._dropShadowBlur = t, this.styleID++)
                                }
                            }, {
                                key: "dropShadowColor",
                                get: function() {
                                    return this._dropShadowColor
                                },
                                set: function(t) {
                                    var e = o(t);
                                    this._dropShadowColor !== e && (this._dropShadowColor = e, this.styleID++)
                                }
                            }, {
                                key: "dropShadowDistance",
                                get: function() {
                                    return this._dropShadowDistance
                                },
                                set: function(t) {
                                    this._dropShadowDistance !== t && (this._dropShadowDistance = t, this.styleID++)
                                }
                            }, {
                                key: "fill",
                                get: function() {
                                    return this._fill
                                },
                                set: function(t) {
                                    var e = o(t);
                                    this._fill !== e && (this._fill = e, this.styleID++)
                                }
                            }, {
                                key: "fillGradientType",
                                get: function() {
                                    return this._fillGradientType
                                },
                                set: function(t) {
                                    this._fillGradientType !== t && (this._fillGradientType = t, this.styleID++)
                                }
                            }, {
                                key: "fillGradientStops",
                                get: function() {
                                    return this._fillGradientStops
                                },
                                set: function(t) {
                                    a(this._fillGradientStops, t) || (this._fillGradientStops = t, this.styleID++)
                                }
                            }, {
                                key: "fontFamily",
                                get: function() {
                                    return this._fontFamily
                                },
                                set: function(t) {
                                    this.fontFamily !== t && (this._fontFamily = t, this.styleID++)
                                }
                            }, {
                                key: "fontSize",
                                get: function() {
                                    return this._fontSize
                                },
                                set: function(t) {
                                    this._fontSize !== t && (this._fontSize = t, this.styleID++)
                                }
                            }, {
                                key: "fontStyle",
                                get: function() {
                                    return this._fontStyle
                                },
                                set: function(t) {
                                    this._fontStyle !== t && (this._fontStyle = t, this.styleID++)
                                }
                            }, {
                                key: "fontVariant",
                                get: function() {
                                    return this._fontVariant
                                },
                                set: function(t) {
                                    this._fontVariant !== t && (this._fontVariant = t, this.styleID++)
                                }
                            }, {
                                key: "fontWeight",
                                get: function() {
                                    return this._fontWeight
                                },
                                set: function(t) {
                                    this._fontWeight !== t && (this._fontWeight = t, this.styleID++)
                                }
                            }, {
                                key: "letterSpacing",
                                get: function() {
                                    return this._letterSpacing
                                },
                                set: function(t) {
                                    this._letterSpacing !== t && (this._letterSpacing = t, this.styleID++)
                                }
                            }, {
                                key: "lineHeight",
                                get: function() {
                                    return this._lineHeight
                                },
                                set: function(t) {
                                    this._lineHeight !== t && (this._lineHeight = t, this.styleID++)
                                }
                            }, {
                                key: "leading",
                                get: function() {
                                    return this._leading
                                },
                                set: function(t) {
                                    this._leading !== t && (this._leading = t, this.styleID++)
                                }
                            }, {
                                key: "lineJoin",
                                get: function() {
                                    return this._lineJoin
                                },
                                set: function(t) {
                                    this._lineJoin !== t && (this._lineJoin = t, this.styleID++)
                                }
                            }, {
                                key: "miterLimit",
                                get: function() {
                                    return this._miterLimit
                                },
                                set: function(t) {
                                    this._miterLimit !== t && (this._miterLimit = t, this.styleID++)
                                }
                            }, {
                                key: "padding",
                                get: function() {
                                    return this._padding
                                },
                                set: function(t) {
                                    this._padding !== t && (this._padding = t, this.styleID++)
                                }
                            }, {
                                key: "stroke",
                                get: function() {
                                    return this._stroke
                                },
                                set: function(t) {
                                    var e = o(t);
                                    this._stroke !== e && (this._stroke = e, this.styleID++)
                                }
                            }, {
                                key: "strokeThickness",
                                get: function() {
                                    return this._strokeThickness
                                },
                                set: function(t) {
                                    this._strokeThickness !== t && (this._strokeThickness = t, this.styleID++)
                                }
                            }, {
                                key: "textBaseline",
                                get: function() {
                                    return this._textBaseline
                                },
                                set: function(t) {
                                    this._textBaseline !== t && (this._textBaseline = t, this.styleID++)
                                }
                            }, {
                                key: "trim",
                                get: function() {
                                    return this._trim
                                },
                                set: function(t) {
                                    this._trim !== t && (this._trim = t, this.styleID++)
                                }
                            }, {
                                key: "whiteSpace",
                                get: function() {
                                    return this._whiteSpace
                                },
                                set: function(t) {
                                    this._whiteSpace !== t && (this._whiteSpace = t, this.styleID++)
                                }
                            }, {
                                key: "wordWrap",
                                get: function() {
                                    return this._wordWrap
                                },
                                set: function(t) {
                                    this._wordWrap !== t && (this._wordWrap = t, this.styleID++)
                                }
                            }, {
                                key: "wordWrapWidth",
                                get: function() {
                                    return this._wordWrapWidth
                                },
                                set: function(t) {
                                    this._wordWrapWidth !== t && (this._wordWrapWidth = t, this.styleID++)
                                }
                            }]), t
                        }();
                    r.default = f
                }, {
                    "../const": 46,
                    "../utils": 125
                }],
                111: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("./BaseTexture"),
                        l = i(s),
                        u = t("../settings"),
                        h = i(u),
                        c = function(t) {
                            function e() {
                                var r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 100,
                                    i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 100,
                                    a = arguments[2],
                                    s = arguments[3];
                                n(this, e);
                                var l = o(this, t.call(this, null, a));
                                return l.resolution = s || h.default.RESOLUTION, l.width = Math.ceil(r), l.height = Math.ceil(i), l.realWidth = l.width * l.resolution, l.realHeight = l.height * l.resolution, l.scaleMode = void 0 !== a ? a : h.default.SCALE_MODE, l.hasLoaded = !0, l._glRenderTargets = {}, l._canvasRenderTarget = null, l.valid = !1, l
                            }
                            return a(e, t), e.prototype.resize = function(t, e) {
                                t = Math.ceil(t), e = Math.ceil(e), t === this.width && e === this.height || (this.valid = t > 0 && e > 0, this.width = t, this.height = e, this.realWidth = this.width * this.resolution, this.realHeight = this.height * this.resolution, this.valid && this.emit("update", this))
                            }, e.prototype.destroy = function() {
                                t.prototype.destroy.call(this, !0), this.renderer = null
                            }, e
                        }(l.default);
                    r.default = c
                }, {
                    "../settings": 101,
                    "./BaseTexture": 112
                }],
                112: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../utils"),
                        l = t("../settings"),
                        u = i(l),
                        h = t("eventemitter3"),
                        c = i(h),
                        d = t("../utils/determineCrossOrigin"),
                        f = i(d),
                        p = t("bit-twiddle"),
                        g = i(p),
                        y = function(t) {
                            function e(r, i, a) {
                                n(this, e);
                                var l = o(this, t.call(this));
                                return l.uid = (0, s.uid)(), l.touched = 0, l.resolution = a || u.default.RESOLUTION, l.width = 100, l.height = 100, l.realWidth = 100, l.realHeight = 100, l.scaleMode = void 0 !== i ? i : u.default.SCALE_MODE, l.hasLoaded = !1, l.isLoading = !1, l.source = null, l.origSource = null, l.imageType = null, l.sourceScale = 1, l.premultipliedAlpha = !0, l.imageUrl = null, l.isPowerOfTwo = !1, l.mipmap = u.default.MIPMAP_TEXTURES, l.wrapMode = u.default.WRAP_MODE, l._glTextures = {}, l._enabled = 0, l._virtalBoundId = -1, l._destroyed = !1, l.textureCacheIds = [], r && l.loadSource(r), l
                            }
                            return a(e, t), e.prototype.update = function() {
                                "svg" !== this.imageType && (this.realWidth = this.source.naturalWidth || this.source.videoWidth || this.source.width, this.realHeight = this.source.naturalHeight || this.source.videoHeight || this.source.height, this._updateDimensions()), this.emit("update", this)
                            }, e.prototype._updateDimensions = function() {
                                this.width = this.realWidth / this.resolution, this.height = this.realHeight / this.resolution, this.isPowerOfTwo = g.default.isPow2(this.realWidth) && g.default.isPow2(this.realHeight)
                            }, e.prototype.loadSource = function(t) {
                                var e = this.isLoading;
                                this.hasLoaded = !1, this.isLoading = !1, e && this.source && (this.source.onload = null, this.source.onerror = null);
                                var r = !this.source;
                                if (this.source = t, (t.src && t.complete || t.getContext) && t.width && t.height) this._updateImageType(), "svg" === this.imageType ? this._loadSvgSource() : this._sourceLoaded(), r && this.emit("loaded", this);
                                else if (!t.getContext) {
                                    this.isLoading = !0;
                                    var i = this;
                                    if (t.onload = function() {
                                            if (i._updateImageType(), t.onload = null, t.onerror = null, i.isLoading) {
                                                if (i.isLoading = !1, i._sourceLoaded(), "svg" === i.imageType) return void i._loadSvgSource();
                                                i.emit("loaded", i)
                                            }
                                        }, t.onerror = function() {
                                            t.onload = null, t.onerror = null, i.isLoading && (i.isLoading = !1, i.emit("error", i))
                                        }, t.complete && t.src) {
                                        if (t.onload = null, t.onerror = null, "svg" === i.imageType) return void i._loadSvgSource();
                                        this.isLoading = !1, t.width && t.height ? (this._sourceLoaded(), e && this.emit("loaded", this)) : e && this.emit("error", this)
                                    }
                                }
                            }, e.prototype._updateImageType = function() {
                                if (this.imageUrl) {
                                    var t = (0, s.decomposeDataUri)(this.imageUrl),
                                        e = void 0;
                                    if (t && "image" === t.mediaType) {
                                        var r = t.subType.split("+")[0];
                                        if (!(e = (0, s.getUrlFileExtension)("." + r))) throw new Error("Invalid image type in data URI.")
                                    } else(e = (0, s.getUrlFileExtension)(this.imageUrl)) || (e = "png");
                                    this.imageType = e
                                }
                            }, e.prototype._loadSvgSource = function() {
                                if ("svg" === this.imageType) {
                                    var t = (0, s.decomposeDataUri)(this.imageUrl);
                                    t ? this._loadSvgSourceUsingDataUri(t) : this._loadSvgSourceUsingXhr()
                                }
                            }, e.prototype._loadSvgSourceUsingDataUri = function(t) {
                                var e = void 0;
                                if ("base64" === t.encoding) {
                                    if (!atob) throw new Error("Your browser doesn't support base64 conversions.");
                                    e = atob(t.data)
                                } else e = t.data;
                                this._loadSvgSourceUsingString(e)
                            }, e.prototype._loadSvgSourceUsingXhr = function() {
                                var t = this,
                                    e = new XMLHttpRequest;
                                e.onload = function() {
                                    if (e.readyState !== e.DONE || 200 !== e.status) throw new Error("Failed to load SVG using XHR.");
                                    t._loadSvgSourceUsingString(e.response)
                                }, e.onerror = function() {
                                    return t.emit("error", t)
                                }, e.open("GET", this.imageUrl, !0), e.send()
                            }, e.prototype._loadSvgSourceUsingString = function(t) {
                                var r = (0, s.getSvgSize)(t),
                                    i = r.width,
                                    n = r.height;
                                if (!i || !n) throw new Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");
                                this.realWidth = Math.round(i * this.sourceScale), this.realHeight = Math.round(n * this.sourceScale), this._updateDimensions();
                                var o = document.createElement("canvas");
                                o.width = this.realWidth, o.height = this.realHeight, o._pixiId = "canvas_" + (0, s.uid)(), o.getContext("2d").drawImage(this.source, 0, 0, i, n, 0, 0, this.realWidth, this.realHeight), this.origSource = this.source, this.source = o, e.addToCache(this, o._pixiId), this.isLoading = !1, this._sourceLoaded(), this.emit("loaded", this)
                            }, e.prototype._sourceLoaded = function() {
                                this.hasLoaded = !0, this.update()
                            }, e.prototype.destroy = function() {
                                this.imageUrl && (delete s.TextureCache[this.imageUrl], this.imageUrl = null, navigator.isCocoonJS || (this.source.src = "")), this.source = null, this.dispose(), e.removeFromCache(this), this.textureCacheIds = null, this._destroyed = !0
                            }, e.prototype.dispose = function() {
                                this.emit("dispose", this)
                            }, e.prototype.updateSourceImage = function(t) {
                                this.source.src = t, this.loadSource(this.source)
                            }, e.fromImage = function(t, r, i, n) {
                                var o = s.BaseTextureCache[t];
                                if (!o) {
                                    var a = new Image;
                                    void 0 === r && 0 !== t.indexOf("data:") ? a.crossOrigin = (0, f.default)(t) : r && (a.crossOrigin = "string" == typeof r ? r : "anonymous"), o = new e(a, i), o.imageUrl = t, n && (o.sourceScale = n), o.resolution = (0, s.getResolutionOfUrl)(t), a.src = t, e.addToCache(o, t)
                                }
                                return o
                            }, e.fromCanvas = function(t, r) {
                                var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "canvas";
                                t._pixiId || (t._pixiId = i + "_" + (0, s.uid)());
                                var n = s.BaseTextureCache[t._pixiId];
                                return n || (n = new e(t, r), e.addToCache(n, t._pixiId)), n
                            }, e.from = function(t, r, i) {
                                if ("string" == typeof t) return e.fromImage(t, void 0, r, i);
                                if (t instanceof HTMLImageElement) {
                                    var n = t.src,
                                        o = s.BaseTextureCache[n];
                                    return o || (o = new e(t, r), o.imageUrl = n, i && (o.sourceScale = i), o.resolution = (0, s.getResolutionOfUrl)(n), e.addToCache(o, n)), o
                                }
                                return t instanceof HTMLCanvasElement ? e.fromCanvas(t, r) : t
                            }, e.addToCache = function(t, e) {
                                e && (-1 === t.textureCacheIds.indexOf(e) && t.textureCacheIds.push(e), s.BaseTextureCache[e] = t)
                            }, e.removeFromCache = function(t) {
                                if ("string" == typeof t) {
                                    var e = s.BaseTextureCache[t];
                                    if (e) {
                                        var r = e.textureCacheIds.indexOf(t);
                                        return r > -1 && e.textureCacheIds.splice(r, 1), delete s.BaseTextureCache[t], e
                                    }
                                } else if (t && t.textureCacheIds) {
                                    for (var i = 0; i < t.textureCacheIds.length; ++i) delete s.BaseTextureCache[t.textureCacheIds[i]];
                                    return t.textureCacheIds.length = 0, t
                                }
                                return null
                            }, e
                        }(c.default);
                    r.default = y
                }, {
                    "../settings": 101,
                    "../utils": 125,
                    "../utils/determineCrossOrigin": 124,
                    "bit-twiddle": 1,
                    eventemitter3: 3
                }],
                113: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("./BaseRenderTexture"),
                        l = i(s),
                        u = t("./Texture"),
                        h = i(u),
                        c = function(t) {
                            function e(r, i) {
                                n(this, e);
                                var a = null;
                                if (!(r instanceof l.default)) {
                                    var s = arguments[1],
                                        u = arguments[2],
                                        h = arguments[3],
                                        c = arguments[4];
                                    a = arguments[0], i = null, r = new l.default(s, u, h, c)
                                }
                                var d = o(this, t.call(this, r, i));
                                return d.legacyRenderer = a, d.valid = !0, d._updateUvs(), d
                            }
                            return a(e, t), e.prototype.resize = function(t, e, r) {
                                t = Math.ceil(t), e = Math.ceil(e), this.valid = t > 0 && e > 0, this._frame.width = this.orig.width = t, this._frame.height = this.orig.height = e, r || this.baseTexture.resize(t, e), this._updateUvs()
                            }, e.create = function(t, r, i, n) {
                                return new e(new l.default(t, r, i, n))
                            }, e
                        }(h.default);
                    r.default = c
                }, {
                    "./BaseRenderTexture": 111,
                    "./Texture": 115
                }],
                114: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        o = t("../"),
                        a = t("../utils"),
                        s = function() {
                            function t(e, r) {
                                var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;
                                i(this, t), this.baseTexture = e, this.textures = {}, this.animations = {}, this.data = r, this.resolution = this._updateResolution(n || this.baseTexture.imageUrl), this._frames = this.data.frames, this._frameKeys = Object.keys(this._frames), this._batchIndex = 0, this._callback = null
                            }
                            return n(t, null, [{
                                key: "BATCH_SIZE",
                                get: function() {
                                    return 1e3
                                }
                            }]), t.prototype._updateResolution = function(t) {
                                var e = this.data.meta.scale,
                                    r = (0, a.getResolutionOfUrl)(t, null);
                                return null === r && (r = void 0 !== e ? parseFloat(e) : 1), 1 !== r && (this.baseTexture.resolution = r, this.baseTexture.update()), r
                            }, t.prototype.parse = function(e) {
                                this._batchIndex = 0, this._callback = e, this._frameKeys.length <= t.BATCH_SIZE ? (this._processFrames(0), this._processAnimations(), this._parseComplete()) : this._nextBatch()
                            }, t.prototype._processFrames = function(e) {
                                for (var r = e, i = t.BATCH_SIZE, n = this.baseTexture.sourceScale; r - e < i && r < this._frameKeys.length;) {
                                    var a = this._frameKeys[r],
                                        s = this._frames[a],
                                        l = s.frame;
                                    if (l) {
                                        var u = null,
                                            h = null,
                                            c = !1 !== s.trimmed && s.sourceSize ? s.sourceSize : s.frame,
                                            d = new o.Rectangle(0, 0, Math.floor(c.w * n) / this.resolution, Math.floor(c.h * n) / this.resolution);
                                        u = s.rotated ? new o.Rectangle(Math.floor(l.x * n) / this.resolution, Math.floor(l.y * n) / this.resolution, Math.floor(l.h * n) / this.resolution, Math.floor(l.w * n) / this.resolution) : new o.Rectangle(Math.floor(l.x * n) / this.resolution, Math.floor(l.y * n) / this.resolution, Math.floor(l.w * n) / this.resolution, Math.floor(l.h * n) / this.resolution), !1 !== s.trimmed && s.spriteSourceSize && (h = new o.Rectangle(Math.floor(s.spriteSourceSize.x * n) / this.resolution, Math.floor(s.spriteSourceSize.y * n) / this.resolution, Math.floor(l.w * n) / this.resolution, Math.floor(l.h * n) / this.resolution)), this.textures[a] = new o.Texture(this.baseTexture, u, d, h, s.rotated ? 2 : 0, s.anchor), o.Texture.addToCache(this.textures[a], a)
                                    }
                                    r++
                                }
                            }, t.prototype._processAnimations = function() {
                                var t = this.data.animations || {};
                                for (var e in t) {
                                    this.animations[e] = [];
                                    for (var r = t[e], i = Array.isArray(r), n = 0, r = i ? r : r[Symbol.iterator]();;) {
                                        var o;
                                        if (i) {
                                            if (n >= r.length) break;
                                            o = r[n++]
                                        } else {
                                            if (n = r.next(), n.done) break;
                                            o = n.value
                                        }
                                        var a = o;
                                        this.animations[e].push(this.textures[a])
                                    }
                                }
                            }, t.prototype._parseComplete = function() {
                                var t = this._callback;
                                this._callback = null, this._batchIndex = 0, t.call(this, this.textures)
                            }, t.prototype._nextBatch = function() {
                                var e = this;
                                this._processFrames(this._batchIndex * t.BATCH_SIZE), this._batchIndex++, setTimeout(function() {
                                    e._batchIndex * t.BATCH_SIZE < e._frameKeys.length ? e._nextBatch() : (e._processAnimations(), e._parseComplete())
                                }, 0)
                            }, t.prototype.destroy = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                                for (var e in this.textures) this.textures[e].destroy();
                                this._frames = null, this._frameKeys = null, this.data = null, this.textures = null, t && this.baseTexture.destroy(), this.baseTexture = null
                            }, t
                        }();
                    r.default = s
                }, {
                    "../": 65,
                    "../utils": 125
                }],
                115: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }

                    function s(t) {
                        t.destroy = function() {}, t.on = function() {}, t.once = function() {}, t.emit = function() {}
                    }
                    r.__esModule = !0;
                    var l = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        u = t("./BaseTexture"),
                        h = i(u),
                        c = t("./VideoBaseTexture"),
                        d = i(c),
                        f = t("./TextureUvs"),
                        p = i(f),
                        g = t("eventemitter3"),
                        y = i(g),
                        v = t("../math"),
                        m = t("../utils"),
                        x = t("../settings"),
                        _ = i(x),
                        T = function(t) {
                            function e(r, i, a, s, l, u) {
                                n(this, e);
                                var h = o(this, t.call(this));
                                if (h.noFrame = !1, i || (h.noFrame = !0, i = new v.Rectangle(0, 0, 1, 1)), r instanceof e && (r = r.baseTexture), h.baseTexture = r, h._frame = i, h.trim = s, h.valid = !1, h.requiresUpdate = !1, h._uvs = null, h.orig = a || i, h._rotate = Number(l || 0), !0 === l) h._rotate = 2;
                                else if (h._rotate % 2 != 0) throw new Error("attempt to use diamond-shaped UVs. If you are sure, set rotation manually");
                                return r.hasLoaded ? (h.noFrame && (i = new v.Rectangle(0, 0, r.width, r.height), r.on("update", h.onBaseTextureUpdated, h)), h.frame = i) : r.once("loaded", h.onBaseTextureLoaded, h), h.defaultAnchor = u ? new v.Point(u.x, u.y) : new v.Point(0, 0), h._updateID = 0, h.transform = null, h.textureCacheIds = [], h
                            }
                            return a(e, t), e.prototype.update = function() {
                                this.baseTexture.update()
                            }, e.prototype.onBaseTextureLoaded = function(t) {
                                this._updateID++, this.noFrame ? this.frame = new v.Rectangle(0, 0, t.width, t.height) : this.frame = this._frame, this.baseTexture.on("update", this.onBaseTextureUpdated, this), this.emit("update", this)
                            }, e.prototype.onBaseTextureUpdated = function(t) {
                                this._updateID++, this._frame.width = t.width, this._frame.height = t.height, this.emit("update", this)
                            }, e.prototype.destroy = function(t) {
                                this.baseTexture && (t && (m.TextureCache[this.baseTexture.imageUrl] && e.removeFromCache(this.baseTexture.imageUrl), this.baseTexture.destroy()), this.baseTexture.off("update", this.onBaseTextureUpdated, this), this.baseTexture.off("loaded", this.onBaseTextureLoaded, this), this.baseTexture = null), this._frame = null, this._uvs = null, this.trim = null, this.orig = null, this.valid = !1, e.removeFromCache(this), this.textureCacheIds = null
                            }, e.prototype.clone = function() {
                                return new e(this.baseTexture, this.frame, this.orig, this.trim, this.rotate, this.defaultAnchor)
                            }, e.prototype._updateUvs = function() {
                                this._uvs || (this._uvs = new p.default), this._uvs.set(this._frame, this.baseTexture, this.rotate), this._updateID++
                            }, e.fromImage = function(t, r, i, n) {
                                var o = m.TextureCache[t];
                                return o || (o = new e(h.default.fromImage(t, r, i, n)), e.addToCache(o, t)), o
                            }, e.fromFrame = function(t) {
                                var e = m.TextureCache[t];
                                if (!e) throw new Error('The frameId "' + t + '" does not exist in the texture cache');
                                return e
                            }, e.fromCanvas = function(t, r) {
                                var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "canvas";
                                return new e(h.default.fromCanvas(t, r, i))
                            }, e.fromVideo = function(t, r, i, n) {
                                return "string" == typeof t ? e.fromVideoUrl(t, r, i, n) : new e(d.default.fromVideo(t, r, n))
                            }, e.fromVideoUrl = function(t, r, i, n) {
                                return new e(d.default.fromUrl(t, r, i, n))
                            }, e.from = function(t) {
                                if ("string" == typeof t) {
                                    var r = m.TextureCache[t];
                                    return r || (null !== t.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) ? e.fromVideoUrl(t) : e.fromImage(t))
                                }
                                return t instanceof HTMLImageElement ? new e(h.default.from(t)) : t instanceof HTMLCanvasElement ? e.fromCanvas(t, _.default.SCALE_MODE, "HTMLCanvasElement") : t instanceof HTMLVideoElement ? e.fromVideo(t) : t instanceof h.default ? new e(t) : t
                            }, e.fromLoader = function(t, r, i) {
                                var n = new h.default(t, void 0, (0, m.getResolutionOfUrl)(r)),
                                    o = new e(n);
                                return n.imageUrl = r, i || (i = r), h.default.addToCache(o.baseTexture, i), e.addToCache(o, i), i !== r && (h.default.addToCache(o.baseTexture, r), e.addToCache(o, r)), o
                            }, e.addToCache = function(t, e) {
                                e && (-1 === t.textureCacheIds.indexOf(e) && t.textureCacheIds.push(e), m.TextureCache[e] = t)
                            }, e.removeFromCache = function(t) {
                                if ("string" == typeof t) {
                                    var e = m.TextureCache[t];
                                    if (e) {
                                        var r = e.textureCacheIds.indexOf(t);
                                        return r > -1 && e.textureCacheIds.splice(r, 1), delete m.TextureCache[t], e
                                    }
                                } else if (t && t.textureCacheIds) {
                                    for (var i = 0; i < t.textureCacheIds.length; ++i) m.TextureCache[t.textureCacheIds[i]] === t && delete m.TextureCache[t.textureCacheIds[i]];
                                    return t.textureCacheIds.length = 0, t
                                }
                                return null
                            }, l(e, [{
                                key: "frame",
                                get: function() {
                                    return this._frame
                                },
                                set: function(t) {
                                    this._frame = t, this.noFrame = !1;
                                    var e = t.x,
                                        r = t.y,
                                        i = t.width,
                                        n = t.height,
                                        o = e + i > this.baseTexture.width,
                                        a = r + n > this.baseTexture.height;
                                    if (o || a) {
                                        var s = o && a ? "and" : "or",
                                            l = "X: " + e + " + " + i + " = " + (e + i) + " > " + this.baseTexture.width,
                                            u = "Y: " + r + " + " + n + " = " + (r + n) + " > " + this.baseTexture.height;
                                        throw new Error("Texture Error: frame does not fit inside the base Texture dimensions: " + l + " " + s + " " + u)
                                    }
                                    this.valid = i && n && this.baseTexture.hasLoaded, this.trim || this.rotate || (this.orig = t), this.valid && this._updateUvs()
                                }
                            }, {
                                key: "rotate",
                                get: function() {
                                    return this._rotate
                                },
                                set: function(t) {
                                    this._rotate = t, this.valid && this._updateUvs()
                                }
                            }, {
                                key: "width",
                                get: function() {
                                    return this.orig.width
                                }
                            }, {
                                key: "height",
                                get: function() {
                                    return this.orig.height
                                }
                            }]), e
                        }(y.default);
                    r.default = T, T.EMPTY = new T(new h.default), s(T.EMPTY), s(T.EMPTY.baseTexture), T.WHITE = function() {
                        var t = document.createElement("canvas");
                        t.width = 10, t.height = 10;
                        var e = t.getContext("2d");
                        return e.fillStyle = "white", e.fillRect(0, 0, 10, 10), new T(new h.default(t))
                    }(), s(T.WHITE), s(T.WHITE.baseTexture)
                }, {
                    "../math": 70,
                    "../settings": 101,
                    "../utils": 125,
                    "./BaseTexture": 112,
                    "./TextureUvs": 117,
                    "./VideoBaseTexture": 118,
                    eventemitter3: 3
                }],
                116: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        o = t("../math/Matrix"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o),
                        s = new a.default,
                        l = function() {
                            function t(e, r) {
                                i(this, t), this._texture = e, this.mapCoord = new a.default, this.uClampFrame = new Float32Array(4), this.uClampOffset = new Float32Array(2), this._lastTextureID = -1, this.clampOffset = 0, this.clampMargin = void 0 === r ? .5 : r
                            }
                            return t.prototype.multiplyUvs = function(t, e) {
                                void 0 === e && (e = t);
                                for (var r = this.mapCoord, i = 0; i < t.length; i += 2) {
                                    var n = t[i],
                                        o = t[i + 1];
                                    e[i] = n * r.a + o * r.c + r.tx, e[i + 1] = n * r.b + o * r.d + r.ty
                                }
                                return e
                            }, t.prototype.update = function(t) {
                                var e = this._texture;
                                if (!e || !e.valid) return !1;
                                if (!t && this._lastTextureID === e._updateID) return !1;
                                this._lastTextureID = e._updateID;
                                var r = e._uvs;
                                this.mapCoord.set(r.x1 - r.x0, r.y1 - r.y0, r.x3 - r.x0, r.y3 - r.y0, r.x0, r.y0);
                                var i = e.orig,
                                    n = e.trim;
                                n && (s.set(i.width / n.width, 0, 0, i.height / n.height, -n.x / n.width, -n.y / n.height), this.mapCoord.append(s));
                                var o = e.baseTexture,
                                    a = this.uClampFrame,
                                    l = this.clampMargin / o.resolution,
                                    u = this.clampOffset;
                                return a[0] = (e._frame.x + l + u) / o.width, a[1] = (e._frame.y + l + u) / o.height, a[2] = (e._frame.x + e._frame.width - l + u) / o.width, a[3] = (e._frame.y + e._frame.height - l + u) / o.height, this.uClampOffset[0] = u / o.realWidth, this.uClampOffset[1] = u / o.realHeight, !0
                            }, n(t, [{
                                key: "texture",
                                get: function() {
                                    return this._texture
                                },
                                set: function(t) {
                                    this._texture = t, this._lastTextureID = -1
                                }
                            }]), t
                        }();
                    r.default = l
                }, {
                    "../math/Matrix": 67
                }],
                117: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../math/GroupD8"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = function() {
                            function t() {
                                i(this, t), this.x0 = 0, this.y0 = 0, this.x1 = 1, this.y1 = 0, this.x2 = 1, this.y2 = 1, this.x3 = 0, this.y3 = 1, this.uvsUint32 = new Uint32Array(4)
                            }
                            return t.prototype.set = function(t, e, r) {
                                var i = e.width,
                                    n = e.height;
                                if (r) {
                                    var a = t.width / 2 / i,
                                        s = t.height / 2 / n,
                                        l = t.x / i + a,
                                        u = t.y / n + s;
                                    r = o.default.add(r, o.default.NW), this.x0 = l + a * o.default.uX(r), this.y0 = u + s * o.default.uY(r), r = o.default.add(r, 2), this.x1 = l + a * o.default.uX(r), this.y1 = u + s * o.default.uY(r), r = o.default.add(r, 2), this.x2 = l + a * o.default.uX(r), this.y2 = u + s * o.default.uY(r), r = o.default.add(r, 2), this.x3 = l + a * o.default.uX(r), this.y3 = u + s * o.default.uY(r)
                                } else this.x0 = t.x / i, this.y0 = t.y / n, this.x1 = (t.x + t.width) / i, this.y1 = t.y / n, this.x2 = (t.x + t.width) / i, this.y2 = (t.y + t.height) / n, this.x3 = t.x / i, this.y3 = (t.y + t.height) / n;
                                this.uvsUint32[0] = (65535 & Math.round(65535 * this.y0)) << 16 | 65535 & Math.round(65535 * this.x0), this.uvsUint32[1] = (65535 & Math.round(65535 * this.y1)) << 16 | 65535 & Math.round(65535 * this.x1), this.uvsUint32[2] = (65535 & Math.round(65535 * this.y2)) << 16 | 65535 & Math.round(65535 * this.x2), this.uvsUint32[3] = (65535 & Math.round(65535 * this.y3)) << 16 | 65535 & Math.round(65535 * this.x3)
                            }, t
                        }();
                    r.default = a
                }, {
                    "../math/GroupD8": 66
                }],
                118: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }

                    function s(t, e) {
                        if (!e) {
                            var r = t.split("?").shift().toLowerCase();
                            e = "video/" + r.substr(r.lastIndexOf(".") + 1)
                        }
                        var i = document.createElement("source");
                        return i.src = t, i.type = e, i
                    }
                    r.__esModule = !0;
                    var l = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        u = t("./BaseTexture"),
                        h = i(u),
                        c = t("../utils"),
                        d = t("../ticker"),
                        f = t("../const"),
                        p = t("../utils/determineCrossOrigin"),
                        g = i(p),
                        y = function(t) {
                            function e(r, i) {
                                var a = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2];
                                if (n(this, e), !r) throw new Error("No video source element specified.");
                                (r.readyState === r.HAVE_ENOUGH_DATA || r.readyState === r.HAVE_FUTURE_DATA) && r.width && r.height && (r.complete = !0);
                                var s = o(this, t.call(this, r, i));
                                return s.width = r.videoWidth, s.height = r.videoHeight, s._autoUpdate = !0, s._isAutoUpdating = !1, s.autoPlay = a, s.update = s.update.bind(s), s._onCanPlay = s._onCanPlay.bind(s), r.addEventListener("play", s._onPlayStart.bind(s)), r.addEventListener("pause", s._onPlayStop.bind(s)), s.hasLoaded = !1, s.__loaded = !1, s._isSourceReady() ? s._onCanPlay() : (r.addEventListener("canplay", s._onCanPlay), r.addEventListener("canplaythrough", s._onCanPlay)), s
                            }
                            return a(e, t), e.prototype._isSourcePlaying = function() {
                                var t = this.source;
                                return t.currentTime > 0 && !1 === t.paused && !1 === t.ended && t.readyState > 2
                            }, e.prototype._isSourceReady = function() {
                                return 3 === this.source.readyState || 4 === this.source.readyState
                            }, e.prototype._onPlayStart = function() {
                                this.hasLoaded || this._onCanPlay(), !this._isAutoUpdating && this.autoUpdate && (d.shared.add(this.update, this, f.UPDATE_PRIORITY.HIGH), this._isAutoUpdating = !0)
                            }, e.prototype._onPlayStop = function() {
                                this._isAutoUpdating && (d.shared.remove(this.update, this), this._isAutoUpdating = !1)
                            }, e.prototype._onCanPlay = function() {
                                this.hasLoaded = !0, this.source && (this.source.removeEventListener("canplay", this._onCanPlay), this.source.removeEventListener("canplaythrough", this._onCanPlay), this.width = this.source.videoWidth, this.height = this.source.videoHeight, this.__loaded || (this.__loaded = !0, this.emit("loaded", this)), this._isSourcePlaying() ? this._onPlayStart() : this.autoPlay && this.source.play())
                            }, e.prototype.destroy = function() {
                                this._isAutoUpdating && d.shared.remove(this.update, this), this.source && this.source._pixiId && (h.default.removeFromCache(this.source._pixiId), delete this.source._pixiId, this.source.pause(), this.source.src = "", this.source.load()), t.prototype.destroy.call(this)
                            }, e.fromVideo = function(t, r, i) {
                                t._pixiId || (t._pixiId = "video_" + (0, c.uid)());
                                var n = c.BaseTextureCache[t._pixiId];
                                return n || (n = new e(t, r, i), h.default.addToCache(n, t._pixiId)), n
                            }, e.fromUrl = function(t, r, i, n) {
                                var o = document.createElement("video");
                                o.setAttribute("webkit-playsinline", ""), o.setAttribute("playsinline", "");
                                var a = Array.isArray(t) ? t[0].src || t[0] : t.src || t;
                                if (void 0 === i && 0 !== a.indexOf("data:") ? o.crossOrigin = (0, g.default)(a) : i && (o.crossOrigin = "string" == typeof i ? i : "anonymous"), Array.isArray(t))
                                    for (var l = 0; l < t.length; ++l) o.appendChild(s(t[l].src || t[l], t[l].mime));
                                else o.appendChild(s(a, t.mime));
                                return o.load(), e.fromVideo(o, r, n)
                            }, l(e, [{
                                key: "autoUpdate",
                                get: function() {
                                    return this._autoUpdate
                                },
                                set: function(t) {
                                    t !== this._autoUpdate && (this._autoUpdate = t, !this._autoUpdate && this._isAutoUpdating ? (d.shared.remove(this.update, this), this._isAutoUpdating = !1) : this._autoUpdate && !this._isAutoUpdating && (d.shared.add(this.update, this, f.UPDATE_PRIORITY.HIGH), this._isAutoUpdating = !0))
                                }
                            }]), e
                        }(h.default);
                    r.default = y, y.fromUrls = y.fromUrl
                }, {
                    "../const": 46,
                    "../ticker": 121,
                    "../utils": 125,
                    "../utils/determineCrossOrigin": 124,
                    "./BaseTexture": 112
                }],
                119: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var o = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        a = t("../settings"),
                        s = i(a),
                        l = t("../const"),
                        u = t("./TickerListener"),
                        h = i(u),
                        c = function() {
                            function t() {
                                var e = this;
                                n(this, t), this._head = new h.default(null, null, 1 / 0), this._requestId = null, this._maxElapsedMS = 100, this.autoStart = !1, this.deltaTime = 1, this.elapsedMS = 1 / s.default.TARGET_FPMS, this.lastTime = -1, this.speed = 1, this.started = !1, this._tick = function(t) {
                                    e._requestId = null, e.started && (e.update(t), e.started && null === e._requestId && e._head.next && (e._requestId = requestAnimationFrame(e._tick)))
                                }
                            }
                            return t.prototype._requestIfNeeded = function() {
                                null === this._requestId && this._head.next && (this.lastTime = performance.now(), this._requestId = requestAnimationFrame(this._tick))
                            }, t.prototype._cancelIfNeeded = function() {
                                null !== this._requestId && (cancelAnimationFrame(this._requestId), this._requestId = null)
                            }, t.prototype._startIfPossible = function() {
                                this.started ? this._requestIfNeeded() : this.autoStart && this.start()
                            }, t.prototype.add = function(t, e) {
                                var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : l.UPDATE_PRIORITY.NORMAL;
                                return this._addListener(new h.default(t, e, r))
                            }, t.prototype.addOnce = function(t, e) {
                                var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : l.UPDATE_PRIORITY.NORMAL;
                                return this._addListener(new h.default(t, e, r, !0))
                            }, t.prototype._addListener = function(t) {
                                var e = this._head.next,
                                    r = this._head;
                                if (e) {
                                    for (; e;) {
                                        if (t.priority > e.priority) {
                                            t.connect(r);
                                            break
                                        }
                                        r = e, e = e.next
                                    }
                                    t.previous || t.connect(r)
                                } else t.connect(r);
                                return this._startIfPossible(), this
                            }, t.prototype.remove = function(t, e) {
                                for (var r = this._head.next; r;) r = r.match(t, e) ? r.destroy() : r.next;
                                return this._head.next || this._cancelIfNeeded(), this
                            }, t.prototype.start = function() {
                                this.started || (this.started = !0, this._requestIfNeeded())
                            }, t.prototype.stop = function() {
                                this.started && (this.started = !1, this._cancelIfNeeded())
                            }, t.prototype.destroy = function() {
                                this.stop();
                                for (var t = this._head.next; t;) t = t.destroy(!0);
                                this._head.destroy(), this._head = null
                            }, t.prototype.update = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : performance.now(),
                                    e = void 0;
                                if (t > this.lastTime) {
                                    e = this.elapsedMS = t - this.lastTime, e > this._maxElapsedMS && (e = this._maxElapsedMS), this.deltaTime = e * s.default.TARGET_FPMS * this.speed;
                                    for (var r = this._head, i = r.next; i;) i = i.emit(this.deltaTime);
                                    r.next || this._cancelIfNeeded()
                                } else this.deltaTime = this.elapsedMS = 0;
                                this.lastTime = t
                            }, o(t, [{
                                key: "FPS",
                                get: function() {
                                    return 1e3 / this.elapsedMS
                                }
                            }, {
                                key: "minFPS",
                                get: function() {
                                    return 1e3 / this._maxElapsedMS
                                },
                                set: function(t) {
                                    var e = Math.min(Math.max(0, t) / 1e3, s.default.TARGET_FPMS);
                                    this._maxElapsedMS = 1 / e
                                }
                            }]), t
                        }();
                    r.default = c
                }, {
                    "../const": 46,
                    "../settings": 101,
                    "./TickerListener": 120
                }],
                120: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t(e) {
                            var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,
                                n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
                                o = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
                            i(this, t), this.fn = e, this.context = r, this.priority = n, this.once = o, this.next = null, this.previous = null, this._destroyed = !1
                        }
                        return t.prototype.match = function(t, e) {
                                return e = e || null, this.fn === t && this.context === e
                            }, t.prototype.emit = function(t) {
                                this.fn && (this.context ? this.fn.call(this.context, t) : this.fn(t));
                                var e = this.next;
                                return this.once && this.destroy(!0), this._destroyed && (this.next = null), e
                            },
                            t.prototype.connect = function(t) {
                                this.previous = t, t.next && (t.next.previous = this), this.next = t.next, t.next = this
                            }, t.prototype.destroy = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                                this._destroyed = !0, this.fn = null, this.context = null, this.previous && (this.previous.next = this.next), this.next && (this.next.previous = this.previous);
                                var e = this.next;
                                return this.next = t ? null : e, this.previous = null, e
                            }, t
                    }();
                    r.default = n
                }, {}],
                121: [function(t, e, r) {
                    "use strict";
                    r.__esModule = !0, r.Ticker = r.shared = void 0;
                    var i = t("./Ticker"),
                        n = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(i),
                        o = new n.default;
                    o.autoStart = !0, o.destroy = function() {}, r.shared = o, r.Ticker = n.default
                }, {
                    "./Ticker": 119
                }],
                122: [function(t, e, r) {
                    "use strict";

                    function i() {
                        return !(navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform))
                    }
                    r.__esModule = !0, r.default = i
                }, {}],
                123: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        for (var e = 6 * t, r = new Uint16Array(e), i = 0, n = 0; i < e; i += 6, n += 4) r[i + 0] = n + 0, r[i + 1] = n + 1, r[i + 2] = n + 2, r[i + 3] = n + 0, r[i + 4] = n + 2, r[i + 5] = n + 3;
                        return r
                    }
                    r.__esModule = !0, r.default = i
                }, {}],
                124: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : window.location;
                        if (0 === t.indexOf("data:")) return "";
                        e = e || window.location, a || (a = document.createElement("a")), a.href = t, t = o.default.parse(a.href);
                        var r = !t.port && "" === e.port || t.port === e.port;
                        return t.hostname === e.hostname && r && t.protocol === e.protocol ? "" : "anonymous"
                    }
                    r.__esModule = !0, r.default = i;
                    var n = t("url"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n),
                        a = void 0
                }, {
                    url: 38
                }],
                125: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        if (t && t.__esModule) return t;
                        var e = {};
                        if (null != t)
                            for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                        return e.default = t, e
                    }

                    function n(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function o() {
                        return ++U
                    }

                    function a(t, e) {
                        return e = e || [], e[0] = (t >> 16 & 255) / 255, e[1] = (t >> 8 & 255) / 255, e[2] = (255 & t) / 255, e
                    }

                    function s(t) {
                        return t = t.toString(16), "#" + (t = "000000".substr(0, 6 - t.length) + t)
                    }

                    function l(t) {
                        return (255 * t[0] << 16) + (255 * t[1] << 8) + (255 * t[2] | 0)
                    }

                    function u(t, e) {
                        var r = E.default.RETINA_PREFIX.exec(t);
                        return r ? parseFloat(r[1]) : void 0 !== e ? e : 1
                    }

                    function h(t) {
                        var e = w.DATA_URI.exec(t);
                        if (e) return {
                            mediaType: e[1] ? e[1].toLowerCase() : void 0,
                            subType: e[2] ? e[2].toLowerCase() : void 0,
                            charset: e[3] ? e[3].toLowerCase() : void 0,
                            encoding: e[4] ? e[4].toLowerCase() : void 0,
                            data: e[5]
                        }
                    }

                    function c(t) {
                        var e = w.URL_FILE_EXTENSION.exec(t);
                        if (e) return e[1].toLowerCase()
                    }

                    function d(t) {
                        var e = w.SVG_SIZE.exec(t),
                            r = {};
                        return e && (r[e[1]] = Math.round(parseFloat(e[3])), r[e[5]] = Math.round(parseFloat(e[7]))), r
                    }

                    function f() {
                        W = !0
                    }

                    function p(t) {
                        if (!W) {
                            if (navigator.userAgent.toLowerCase().indexOf("chrome") > -1) {
                                var e = ["\n %c %c %c PixiJS " + w.VERSION + " - ✰ " + t + " ✰  %c  %c  http://www.pixijs.com/  %c %c ♥%c♥%c♥ \n\n", "background: #ff66a5; padding:5px 0;", "background: #ff66a5; padding:5px 0;", "color: #ff66a5; background: #030307; padding:5px 0;", "background: #ff66a5; padding:5px 0;", "background: #ffc3dc; padding:5px 0;", "background: #ff66a5; padding:5px 0;", "color: #ff2424; background: #fff; padding:5px 0;", "color: #ff2424; background: #fff; padding:5px 0;", "color: #ff2424; background: #fff; padding:5px 0;"];
                                window.console.log.apply(console, e)
                            } else window.console && window.console.log("PixiJS " + w.VERSION + " - " + t + " - http://www.pixijs.com/");
                            W = !0
                        }
                    }

                    function g() {
                        var t = {
                            stencil: !0,
                            failIfMajorPerformanceCaveat: !0
                        };
                        try {
                            if (!window.WebGLRenderingContext) return !1;
                            var e = document.createElement("canvas"),
                                r = e.getContext("webgl", t) || e.getContext("experimental-webgl", t),
                                i = !(!r || !r.getContextAttributes().stencil);
                            if (r) {
                                var n = r.getExtension("WEBGL_lose_context");
                                n && n.loseContext()
                            }
                            return r = null, i
                        } catch (t) {
                            return !1
                        }
                    }

                    function y(t) {
                        return 0 === t ? 0 : t < 0 ? -1 : 1
                    }

                    function v() {
                        var t = void 0;
                        for (t in H) H[t].destroy();
                        for (t in X) X[t].destroy()
                    }

                    function m() {
                        var t = void 0;
                        for (t in H) delete H[t];
                        for (t in X) delete X[t]
                    }

                    function x(t, e) {
                        return G[e ? 1 : 0][t]
                    }

                    function _(t, e) {
                        if (1 === e) return (255 * e << 24) + t;
                        if (0 === e) return 0;
                        var r = t >> 16 & 255,
                            i = t >> 8 & 255,
                            n = 255 & t;
                        return r = r * e + .5 | 0, i = i * e + .5 | 0, n = n * e + .5 | 0, (255 * e << 24) + (r << 16) + (i << 8) + n
                    }

                    function T(t, e, r, i) {
                        return r = r || new Float32Array(4), i || void 0 === i ? (r[0] = t[0] * e, r[1] = t[1] * e, r[2] = t[2] * e) : (r[0] = t[0], r[1] = t[1], r[2] = t[2]), r[3] = e, r
                    }

                    function b(t, e, r, i) {
                        return r = r || new Float32Array(4), r[0] = (t >> 16 & 255) / 255, r[1] = (t >> 8 & 255) / 255, r[2] = (255 & t) / 255, (i || void 0 === i) && (r[0] *= e, r[1] *= e, r[2] *= e), r[3] = e, r
                    }
                    r.__esModule = !0, r.premultiplyBlendMode = r.BaseTextureCache = r.TextureCache = r.earcut = r.mixins = r.pluginTarget = r.EventEmitter = r.removeItems = r.isMobile = void 0, r.uid = o, r.hex2rgb = a, r.hex2string = s, r.rgb2hex = l, r.getResolutionOfUrl = u, r.decomposeDataUri = h, r.getUrlFileExtension = c, r.getSvgSize = d, r.skipHello = f, r.sayHello = p, r.isWebGLSupported = g, r.sign = y, r.destroyTextureCache = v, r.clearTextureCache = m, r.correctBlendMode = x, r.premultiplyTint = _, r.premultiplyRgba = T, r.premultiplyTintToRgba = b;
                    var w = t("../const"),
                        S = t("../settings"),
                        E = n(S),
                        C = t("eventemitter3"),
                        O = n(C),
                        M = t("./pluginTarget"),
                        P = n(M),
                        R = t("./mixin"),
                        A = i(R),
                        D = t("ismobilejs"),
                        I = i(D),
                        L = t("remove-array-items"),
                        k = n(L),
                        F = t("./mapPremultipliedBlendModes"),
                        N = n(F),
                        B = t("earcut"),
                        j = n(B),
                        U = 0,
                        W = !1;
                    r.isMobile = I, r.removeItems = k.default, r.EventEmitter = O.default, r.pluginTarget = P.default, r.mixins = A, r.earcut = j.default;
                    var H = r.TextureCache = Object.create(null),
                        X = r.BaseTextureCache = Object.create(null),
                        G = r.premultiplyBlendMode = (0, N.default)()
                }, {
                    "../const": 46,
                    "../settings": 101,
                    "./mapPremultipliedBlendModes": 126,
                    "./mixin": 128,
                    "./pluginTarget": 129,
                    earcut: 2,
                    eventemitter3: 3,
                    ismobilejs: 4,
                    "remove-array-items": 31
                }],
                126: [function(t, e, r) {
                    "use strict";

                    function i() {
                        for (var t = [], e = [], r = 0; r < 32; r++) t[r] = r, e[r] = r;
                        t[n.BLEND_MODES.NORMAL_NPM] = n.BLEND_MODES.NORMAL, t[n.BLEND_MODES.ADD_NPM] = n.BLEND_MODES.ADD, t[n.BLEND_MODES.SCREEN_NPM] = n.BLEND_MODES.SCREEN, e[n.BLEND_MODES.NORMAL] = n.BLEND_MODES.NORMAL_NPM, e[n.BLEND_MODES.ADD] = n.BLEND_MODES.ADD_NPM, e[n.BLEND_MODES.SCREEN] = n.BLEND_MODES.SCREEN_NPM;
                        var i = [];
                        return i.push(e), i.push(t), i
                    }
                    r.__esModule = !0, r.default = i;
                    var n = t("../const")
                }, {
                    "../const": 46
                }],
                127: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return o.default.tablet || o.default.phone ? 4 : t
                    }
                    r.__esModule = !0, r.default = i;
                    var n = t("ismobilejs"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n)
                }, {
                    ismobilejs: 4
                }],
                128: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (t && e)
                            for (var r = Object.keys(e), i = 0; i < r.length; ++i) {
                                var n = r[i];
                                Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(e, n))
                            }
                    }

                    function n(t, e) {
                        a.push(t, e)
                    }

                    function o() {
                        for (var t = 0; t < a.length; t += 2) i(a[t], a[t + 1]);
                        a.length = 0
                    }
                    r.__esModule = !0, r.mixin = i, r.delayMixin = n, r.performMixins = o;
                    var a = []
                }, {}],
                129: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        t.__plugins = {}, t.registerPlugin = function(e, r) {
                            t.__plugins[e] = r
                        }, t.prototype.initPlugins = function() {
                            this.plugins = this.plugins || {};
                            for (var e in t.__plugins) this.plugins[e] = new t.__plugins[e](this)
                        }, t.prototype.destroyPlugins = function() {
                            for (var t in this.plugins) this.plugins[t].destroy(), this.plugins[t] = null;
                            this.plugins = null
                        }
                    }
                    r.__esModule = !0, r.default = {
                        mixin: function(t) {
                            i(t)
                        }
                    }
                }, {}],
                130: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        var e = t.width,
                            r = t.height,
                            i = t.getContext("2d"),
                            n = i.getImageData(0, 0, e, r),
                            o = n.data,
                            a = o.length,
                            s = {
                                top: null,
                                left: null,
                                right: null,
                                bottom: null
                            },
                            l = null,
                            u = void 0,
                            h = void 0,
                            c = void 0;
                        for (u = 0; u < a; u += 4) 0 !== o[u + 3] && (h = u / 4 % e, c = ~~(u / 4 / e), null === s.top && (s.top = c), null === s.left ? s.left = h : h < s.left && (s.left = h), null === s.right ? s.right = h + 1 : s.right < h && (s.right = h + 1), null === s.bottom ? s.bottom = c : s.bottom < c && (s.bottom = c));
                        return null !== s.top && (e = s.right - s.left, r = s.bottom - s.top + 1, l = i.getImageData(s.left, s.top, e, r)), {
                            height: r,
                            width: e,
                            data: l
                        }
                    }
                    r.__esModule = !0, r.default = i
                }, {}],
                131: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        if (!o[t]) {
                            var e = (new Error).stack;
                            void 0 === e || (e = e.split("\n").splice(3).join("\n"), console.groupCollapsed), o[t] = !0
                        }
                    }

                    function n(t) {
                        var e = t.mesh,
                            r = t.particles,
                            n = t.extras,
                            o = t.filters,
                            a = t.prepare,
                            s = t.loaders,
                            l = t.interaction;
                        Object.defineProperties(t, {
                            SpriteBatch: {
                                get: function() {
                                    throw new ReferenceError("SpriteBatch does not exist any more, please use the new ParticleContainer instead.")
                                }
                            },
                            AssetLoader: {
                                get: function() {
                                    throw new ReferenceError("The loader system was overhauled in PixiJS v3, please see the new PIXI.loaders.Loader class.")
                                }
                            },
                            Stage: {
                                get: function() {
                                    return i("You do not need to use a PIXI Stage any more, you can simply render any container."), t.Container
                                }
                            },
                            DisplayObjectContainer: {
                                get: function() {
                                    return i("DisplayObjectContainer has been shortened to Container, please use Container from now on."), t.Container
                                }
                            },
                            Strip: {
                                get: function() {
                                    return i("The Strip class has been renamed to Mesh and moved to mesh.Mesh, please use mesh.Mesh from now on."), e.Mesh
                                }
                            },
                            Rope: {
                                get: function() {
                                    return i("The Rope class has been moved to mesh.Rope, please use mesh.Rope from now on."), e.Rope
                                }
                            },
                            ParticleContainer: {
                                get: function() {
                                    return i("The ParticleContainer class has been moved to particles.ParticleContainer, please use particles.ParticleContainer from now on."), r.ParticleContainer
                                }
                            },
                            MovieClip: {
                                get: function() {
                                    return i("The MovieClip class has been moved to extras.AnimatedSprite, please use extras.AnimatedSprite."), n.AnimatedSprite
                                }
                            },
                            TilingSprite: {
                                get: function() {
                                    return i("The TilingSprite class has been moved to extras.TilingSprite, please use extras.TilingSprite from now on."), n.TilingSprite
                                }
                            },
                            BitmapText: {
                                get: function() {
                                    return i("The BitmapText class has been moved to extras.BitmapText, please use extras.BitmapText from now on."), n.BitmapText
                                }
                            },
                            blendModes: {
                                get: function() {
                                    return i("The blendModes has been moved to BLEND_MODES, please use BLEND_MODES from now on."), t.BLEND_MODES
                                }
                            },
                            scaleModes: {
                                get: function() {
                                    return i("The scaleModes has been moved to SCALE_MODES, please use SCALE_MODES from now on."), t.SCALE_MODES
                                }
                            },
                            BaseTextureCache: {
                                get: function() {
                                    return i("The BaseTextureCache class has been moved to utils.BaseTextureCache, please use utils.BaseTextureCache from now on."), t.utils.BaseTextureCache
                                }
                            },
                            TextureCache: {
                                get: function() {
                                    return i("The TextureCache class has been moved to utils.TextureCache, please use utils.TextureCache from now on."), t.utils.TextureCache
                                }
                            },
                            math: {
                                get: function() {
                                    return i("The math namespace is deprecated, please access members already accessible on PIXI."), t
                                }
                            },
                            AbstractFilter: {
                                get: function() {
                                    return i("AstractFilter has been renamed to Filter, please use PIXI.Filter"), t.Filter
                                }
                            },
                            TransformManual: {
                                get: function() {
                                    return i("TransformManual has been renamed to TransformBase, please update your pixi-spine"), t.TransformBase
                                }
                            },
                            TARGET_FPMS: {
                                get: function() {
                                    return i("PIXI.TARGET_FPMS has been deprecated, please use PIXI.settings.TARGET_FPMS"), t.settings.TARGET_FPMS
                                },
                                set: function(e) {
                                    i("PIXI.TARGET_FPMS has been deprecated, please use PIXI.settings.TARGET_FPMS"), t.settings.TARGET_FPMS = e
                                }
                            },
                            FILTER_RESOLUTION: {
                                get: function() {
                                    return i("PIXI.FILTER_RESOLUTION has been deprecated, please use PIXI.settings.FILTER_RESOLUTION"), t.settings.FILTER_RESOLUTION
                                },
                                set: function(e) {
                                    i("PIXI.FILTER_RESOLUTION has been deprecated, please use PIXI.settings.FILTER_RESOLUTION"), t.settings.FILTER_RESOLUTION = e
                                }
                            },
                            RESOLUTION: {
                                get: function() {
                                    return i("PIXI.RESOLUTION has been deprecated, please use PIXI.settings.RESOLUTION"), t.settings.RESOLUTION
                                },
                                set: function(e) {
                                    i("PIXI.RESOLUTION has been deprecated, please use PIXI.settings.RESOLUTION"), t.settings.RESOLUTION = e
                                }
                            },
                            MIPMAP_TEXTURES: {
                                get: function() {
                                    return i("PIXI.MIPMAP_TEXTURES has been deprecated, please use PIXI.settings.MIPMAP_TEXTURES"), t.settings.MIPMAP_TEXTURES
                                },
                                set: function(e) {
                                    i("PIXI.MIPMAP_TEXTURES has been deprecated, please use PIXI.settings.MIPMAP_TEXTURES"), t.settings.MIPMAP_TEXTURES = e
                                }
                            },
                            SPRITE_BATCH_SIZE: {
                                get: function() {
                                    return i("PIXI.SPRITE_BATCH_SIZE has been deprecated, please use PIXI.settings.SPRITE_BATCH_SIZE"), t.settings.SPRITE_BATCH_SIZE
                                },
                                set: function(e) {
                                    i("PIXI.SPRITE_BATCH_SIZE has been deprecated, please use PIXI.settings.SPRITE_BATCH_SIZE"), t.settings.SPRITE_BATCH_SIZE = e
                                }
                            },
                            SPRITE_MAX_TEXTURES: {
                                get: function() {
                                    return i("PIXI.SPRITE_MAX_TEXTURES has been deprecated, please use PIXI.settings.SPRITE_MAX_TEXTURES"), t.settings.SPRITE_MAX_TEXTURES
                                },
                                set: function(e) {
                                    i("PIXI.SPRITE_MAX_TEXTURES has been deprecated, please use PIXI.settings.SPRITE_MAX_TEXTURES"), t.settings.SPRITE_MAX_TEXTURES = e
                                }
                            },
                            RETINA_PREFIX: {
                                get: function() {
                                    return i("PIXI.RETINA_PREFIX has been deprecated, please use PIXI.settings.RETINA_PREFIX"), t.settings.RETINA_PREFIX
                                },
                                set: function(e) {
                                    i("PIXI.RETINA_PREFIX has been deprecated, please use PIXI.settings.RETINA_PREFIX"), t.settings.RETINA_PREFIX = e
                                }
                            },
                            DEFAULT_RENDER_OPTIONS: {
                                get: function() {
                                    return i("PIXI.DEFAULT_RENDER_OPTIONS has been deprecated, please use PIXI.settings.DEFAULT_RENDER_OPTIONS"), t.settings.RENDER_OPTIONS
                                }
                            }
                        });
                        for (var u = [{
                                parent: "TRANSFORM_MODE",
                                target: "TRANSFORM_MODE"
                            }, {
                                parent: "GC_MODES",
                                target: "GC_MODE"
                            }, {
                                parent: "WRAP_MODES",
                                target: "WRAP_MODE"
                            }, {
                                parent: "SCALE_MODES",
                                target: "SCALE_MODE"
                            }, {
                                parent: "PRECISION",
                                target: "PRECISION_FRAGMENT"
                            }], h = 0; h < u.length; h++) ! function(e) {
                            var r = u[e];
                            Object.defineProperty(t[r.parent], "DEFAULT", {
                                get: function() {
                                    return i("PIXI." + r.parent + ".DEFAULT has been deprecated, please use PIXI.settings." + r.target), t.settings[r.target]
                                },
                                set: function(e) {
                                    i("PIXI." + r.parent + ".DEFAULT has been deprecated, please use PIXI.settings." + r.target), t.settings[r.target] = e
                                }
                            })
                        }(h);
                        Object.defineProperties(t.settings, {
                            PRECISION: {
                                get: function() {
                                    return i("PIXI.settings.PRECISION has been deprecated, please use PIXI.settings.PRECISION_FRAGMENT"), t.settings.PRECISION_FRAGMENT
                                },
                                set: function(e) {
                                    i("PIXI.settings.PRECISION has been deprecated, please use PIXI.settings.PRECISION_FRAGMENT"), t.settings.PRECISION_FRAGMENT = e
                                }
                            }
                        }), n.AnimatedSprite && Object.defineProperties(n, {
                            MovieClip: {
                                get: function() {
                                    return i("The MovieClip class has been renamed to AnimatedSprite, please use AnimatedSprite from now on."), n.AnimatedSprite
                                }
                            }
                        }), n && Object.defineProperties(n, {
                            TextureTransform: {
                                get: function() {
                                    return i("The TextureTransform class has been renamed to TextureMatrix, please use PIXI.TextureMatrix from now on."), t.TextureMatrix
                                }
                            }
                        }), t.DisplayObject.prototype.generateTexture = function(t, e, r) {
                            return i("generateTexture has moved to the renderer, please use renderer.generateTexture(displayObject)"), t.generateTexture(this, e, r)
                        }, t.Graphics.prototype.generateTexture = function(t, e) {
                            return i("graphics generate texture has moved to the renderer. Or to render a graphics to a texture using canvas please use generateCanvasTexture"), this.generateCanvasTexture(t, e)
                        }, t.GroupD8.isSwapWidthHeight = function(e) {
                            return i("GroupD8.isSwapWidthHeight was renamed to GroupD8.isVertical"), t.GroupD8.isVertical(e)
                        }, t.RenderTexture.prototype.render = function(t, e, r, n) {
                            this.legacyRenderer.render(t, this, r, e, !n), i("RenderTexture.render is now deprecated, please use renderer.render(displayObject, renderTexture)")
                        }, t.RenderTexture.prototype.getImage = function(t) {
                            return i("RenderTexture.getImage is now deprecated, please use renderer.extract.image(target)"), this.legacyRenderer.extract.image(t)
                        }, t.RenderTexture.prototype.getBase64 = function(t) {
                            return i("RenderTexture.getBase64 is now deprecated, please use renderer.extract.base64(target)"), this.legacyRenderer.extract.base64(t)
                        }, t.RenderTexture.prototype.getCanvas = function(t) {
                            return i("RenderTexture.getCanvas is now deprecated, please use renderer.extract.canvas(target)"), this.legacyRenderer.extract.canvas(t)
                        }, t.RenderTexture.prototype.getPixels = function(t) {
                            return i("RenderTexture.getPixels is now deprecated, please use renderer.extract.pixels(target)"), this.legacyRenderer.pixels(t)
                        }, t.Sprite.prototype.setTexture = function(t) {
                            this.texture = t, i("setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;")
                        }, n.BitmapText && (n.BitmapText.prototype.setText = function(t) {
                            this.text = t, i("setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';")
                        }), t.Text.prototype.setText = function(t) {
                            this.text = t, i("setText is now deprecated, please use the text property, e.g : myText.text = 'my text';")
                        }, t.Text.calculateFontProperties = function(e) {
                            return i("Text.calculateFontProperties is now deprecated, please use the TextMetrics.measureFont"), t.TextMetrics.measureFont(e)
                        }, Object.defineProperties(t.Text, {
                            fontPropertiesCache: {
                                get: function() {
                                    return i("Text.fontPropertiesCache is deprecated"), t.TextMetrics._fonts
                                }
                            },
                            fontPropertiesCanvas: {
                                get: function() {
                                    return i("Text.fontPropertiesCanvas is deprecated"), t.TextMetrics._canvas
                                }
                            },
                            fontPropertiesContext: {
                                get: function() {
                                    return i("Text.fontPropertiesContext is deprecated"), t.TextMetrics._context
                                }
                            }
                        }), t.Text.prototype.setStyle = function(t) {
                            this.style = t, i("setStyle is now deprecated, please use the style property, e.g : myText.style = style;")
                        }, t.Text.prototype.determineFontProperties = function(e) {
                            return i("determineFontProperties is now deprecated, please use TextMetrics.measureFont method"), t.TextMetrics.measureFont(e)
                        }, t.Text.getFontStyle = function(e) {
                            return i("getFontStyle is now deprecated, please use TextStyle.toFontString() instead"), e = e || {}, e instanceof t.TextStyle || (e = new t.TextStyle(e)), e.toFontString()
                        }, Object.defineProperties(t.TextStyle.prototype, {
                            font: {
                                get: function() {
                                    i("text style property 'font' is now deprecated, please use the 'fontFamily', 'fontSize', 'fontStyle', 'fontVariant' and 'fontWeight' properties from now on");
                                    var t = "number" == typeof this._fontSize ? this._fontSize + "px" : this._fontSize;
                                    return this._fontStyle + " " + this._fontVariant + " " + this._fontWeight + " " + t + " " + this._fontFamily
                                },
                                set: function(t) {
                                    i("text style property 'font' is now deprecated, please use the 'fontFamily','fontSize',fontStyle','fontVariant' and 'fontWeight' properties from now on"), t.indexOf("italic") > 1 ? this._fontStyle = "italic" : t.indexOf("oblique") > -1 ? this._fontStyle = "oblique" : this._fontStyle = "normal", t.indexOf("small-caps") > -1 ? this._fontVariant = "small-caps" : this._fontVariant = "normal";
                                    var e = t.split(" "),
                                        r = -1;
                                    this._fontSize = 26;
                                    for (var n = 0; n < e.length; ++n)
                                        if (e[n].match(/(px|pt|em|%)/)) {
                                            r = n, this._fontSize = e[n];
                                            break
                                        }
                                    this._fontWeight = "normal";
                                    for (var o = 0; o < r; ++o)
                                        if (e[o].match(/(bold|bolder|lighter|100|200|300|400|500|600|700|800|900)/)) {
                                            this._fontWeight = e[o];
                                            break
                                        }
                                    if (r > -1 && r < e.length - 1) {
                                        this._fontFamily = "";
                                        for (var a = r + 1; a < e.length; ++a) this._fontFamily += e[a] + " ";
                                        this._fontFamily = this._fontFamily.slice(0, -1)
                                    } else this._fontFamily = "Arial";
                                    this.styleID++
                                }
                            }
                        }), t.Texture.prototype.setFrame = function(t) {
                            this.frame = t, i("setFrame is now deprecated, please use the frame property, e.g: myTexture.frame = frame;")
                        }, t.Texture.addTextureToCache = function(e, r) {
                            t.Texture.addToCache(e, r), i("Texture.addTextureToCache is deprecated, please use Texture.addToCache from now on.")
                        }, t.Texture.removeTextureFromCache = function(e) {
                            return i("Texture.removeTextureFromCache is deprecated, please use Texture.removeFromCache from now on. Be aware that Texture.removeFromCache does not automatically its BaseTexture from the BaseTextureCache. For that, use BaseTexture.removeFromCache"), t.BaseTexture.removeFromCache(e), t.Texture.removeFromCache(e)
                        }, Object.defineProperties(o, {
                            AbstractFilter: {
                                get: function() {
                                    return i("AstractFilter has been renamed to Filter, please use PIXI.Filter"), t.AbstractFilter
                                }
                            },
                            SpriteMaskFilter: {
                                get: function() {
                                    return i("filters.SpriteMaskFilter is an undocumented alias, please use SpriteMaskFilter from now on."), t.SpriteMaskFilter
                                }
                            },
                            VoidFilter: {
                                get: function() {
                                    return i("VoidFilter has been renamed to AlphaFilter, please use PIXI.filters.AlphaFilter"), o.AlphaFilter
                                }
                            }
                        }), t.utils.uuid = function() {
                            return i("utils.uuid() is deprecated, please use utils.uid() from now on."), t.utils.uid()
                        }, t.utils.canUseNewCanvasBlendModes = function() {
                            return i("utils.canUseNewCanvasBlendModes() is deprecated, please use CanvasTinter.canUseMultiply from now on"), t.CanvasTinter.canUseMultiply
                        };
                        var c = !0;
                        if (Object.defineProperty(t.utils, "_saidHello", {
                                set: function(t) {
                                    t && (i("PIXI.utils._saidHello is deprecated, please use PIXI.utils.skipHello()"), this.skipHello()), c = t
                                },
                                get: function() {
                                    return c
                                }
                            }), a.BasePrepare && (a.BasePrepare.prototype.register = function(t, e) {
                                return i("renderer.plugins.prepare.register is now deprecated, please use renderer.plugins.prepare.registerFindHook & renderer.plugins.prepare.registerUploadHook"), t && this.registerFindHook(t), e && this.registerUploadHook(e), this
                            }), a.canvas && Object.defineProperty(a.canvas, "UPLOADS_PER_FRAME", {
                                set: function() {
                                    i("PIXI.CanvasPrepare.UPLOADS_PER_FRAME has been removed. Please set renderer.plugins.prepare.limiter.maxItemsPerFrame on your renderer")
                                },
                                get: function() {
                                    return i("PIXI.CanvasPrepare.UPLOADS_PER_FRAME has been removed. Please use renderer.plugins.prepare.limiter"), NaN
                                }
                            }), a.webgl && Object.defineProperty(a.webgl, "UPLOADS_PER_FRAME", {
                                set: function() {
                                    i("PIXI.WebGLPrepare.UPLOADS_PER_FRAME has been removed. Please set renderer.plugins.prepare.limiter.maxItemsPerFrame on your renderer")
                                },
                                get: function() {
                                    return i("PIXI.WebGLPrepare.UPLOADS_PER_FRAME has been removed. Please use renderer.plugins.prepare.limiter"), NaN
                                }
                            }), s.Loader) {
                            var d = s.Resource,
                                f = s.Loader;
                            Object.defineProperties(d.prototype, {
                                isJson: {
                                    get: function() {
                                        return i("The isJson property is deprecated, please use `resource.type === Resource.TYPE.JSON`."), this.type === d.TYPE.JSON
                                    }
                                },
                                isXml: {
                                    get: function() {
                                        return i("The isXml property is deprecated, please use `resource.type === Resource.TYPE.XML`."), this.type === d.TYPE.XML
                                    }
                                },
                                isImage: {
                                    get: function() {
                                        return i("The isImage property is deprecated, please use `resource.type === Resource.TYPE.IMAGE`."), this.type === d.TYPE.IMAGE
                                    }
                                },
                                isAudio: {
                                    get: function() {
                                        return i("The isAudio property is deprecated, please use `resource.type === Resource.TYPE.AUDIO`."), this.type === d.TYPE.AUDIO
                                    }
                                },
                                isVideo: {
                                    get: function() {
                                        return i("The isVideo property is deprecated, please use `resource.type === Resource.TYPE.VIDEO`."), this.type === d.TYPE.VIDEO
                                    }
                                }
                            }), Object.defineProperties(f.prototype, {
                                before: {
                                    get: function() {
                                        return i("The before() method is deprecated, please use pre()."), this.pre
                                    }
                                },
                                after: {
                                    get: function() {
                                        return i("The after() method is deprecated, please use use()."), this.use
                                    }
                                }
                            })
                        }
                        l.interactiveTarget && Object.defineProperty(l.interactiveTarget, "defaultCursor", {
                            set: function(t) {
                                i("Property defaultCursor has been replaced with 'cursor'. "), this.cursor = t
                            },
                            get: function() {
                                return i("Property defaultCursor has been replaced with 'cursor'. "), this.cursor
                            }
                        }), l.InteractionManager && (Object.defineProperty(l.InteractionManager, "defaultCursorStyle", {
                            set: function(t) {
                                i("Property defaultCursorStyle has been replaced with 'cursorStyles.default'. "), this.cursorStyles.default = t
                            },
                            get: function() {
                                return i("Property defaultCursorStyle has been replaced with 'cursorStyles.default'. "), this.cursorStyles.default
                            }
                        }), Object.defineProperty(l.InteractionManager, "currentCursorStyle", {
                            set: function(t) {
                                i("Property currentCursorStyle has been removed.See the currentCursorMode property, which works differently."), this.currentCursorMode = t
                            },
                            get: function() {
                                return i("Property currentCursorStyle has been removed.See the currentCursorMode property, which works differently."), this.currentCursorMode
                            }
                        }))
                    }
                    r.__esModule = !0, r.default = n;
                    var o = {}
                }, {}],
                132: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../../core"),
                        o = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(n),
                        a = new o.Rectangle,
                        s = function() {
                            function t(e) {
                                i(this, t), this.renderer = e, e.extract = this
                            }
                            return t.prototype.image = function(t) {
                                var e = new Image;
                                return e.src = this.base64(t), e
                            }, t.prototype.base64 = function(t) {
                                return this.canvas(t).toDataURL()
                            }, t.prototype.canvas = function(t) {
                                var e = this.renderer,
                                    r = void 0,
                                    i = void 0,
                                    n = void 0,
                                    s = void 0;
                                t && (s = t instanceof o.RenderTexture ? t : e.generateTexture(t)), s ? (r = s.baseTexture._canvasRenderTarget.context, i = s.baseTexture._canvasRenderTarget.resolution, n = s.frame) : (r = e.rootContext, i = e.resolution, n = a, n.width = this.renderer.width, n.height = this.renderer.height);
                                var l = n.width * i,
                                    u = n.height * i,
                                    h = new o.CanvasRenderTarget(l, u, 1),
                                    c = r.getImageData(n.x * i, n.y * i, l, u);
                                return h.context.putImageData(c, 0, 0), h.canvas
                            }, t.prototype.pixels = function(t) {
                                var e = this.renderer,
                                    r = void 0,
                                    i = void 0,
                                    n = void 0,
                                    s = void 0;
                                return t && (s = t instanceof o.RenderTexture ? t : e.generateTexture(t)), s ? (r = s.baseTexture._canvasRenderTarget.context, i = s.baseTexture._canvasRenderTarget.resolution, n = s.frame) : (r = e.rootContext, n = a, n.width = e.width, n.height = e.height), r.getImageData(0, 0, n.width * i, n.height * i).data
                            }, t.prototype.destroy = function() {
                                this.renderer.extract = null, this.renderer = null
                            }, t
                        }();
                    r.default = s, o.CanvasRenderer.registerPlugin("extract", s)
                }, {
                    "../../core": 65
                }],
                133: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./webgl/WebGLExtract");
                    Object.defineProperty(r, "webgl", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./canvas/CanvasExtract");
                    Object.defineProperty(r, "canvas", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    })
                }, {
                    "./canvas/CanvasExtract": 132,
                    "./webgl/WebGLExtract": 134
                }],
                134: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../../core"),
                        o = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(n),
                        a = new o.Rectangle,
                        s = function() {
                            function t(e) {
                                i(this, t), this.renderer = e, e.extract = this
                            }
                            return t.prototype.image = function(t) {
                                var e = new Image;
                                return e.src = this.base64(t), e
                            }, t.prototype.base64 = function(t) {
                                return this.canvas(t).toDataURL()
                            }, t.prototype.canvas = function(t) {
                                var e = this.renderer,
                                    r = void 0,
                                    i = void 0,
                                    n = void 0,
                                    s = !1,
                                    l = void 0,
                                    u = !1;
                                t && (t instanceof o.RenderTexture ? l = t : (l = this.renderer.generateTexture(t), u = !0)), l ? (r = l.baseTexture._glRenderTargets[this.renderer.CONTEXT_UID], i = r.resolution, n = l.frame, s = !1) : (r = this.renderer.rootRenderTarget, i = r.resolution, s = !0, n = a, n.width = r.size.width, n.height = r.size.height);
                                var h = n.width * i,
                                    c = n.height * i,
                                    d = new o.CanvasRenderTarget(h, c, 1);
                                if (r) {
                                    e.bindRenderTarget(r);
                                    var f = new Uint8Array(4 * h * c),
                                        p = e.gl;
                                    p.readPixels(n.x * i, n.y * i, h, c, p.RGBA, p.UNSIGNED_BYTE, f);
                                    var g = d.context.getImageData(0, 0, h, c);
                                    g.data.set(f), d.context.putImageData(g, 0, 0), s && (d.context.scale(1, -1), d.context.drawImage(d.canvas, 0, -c))
                                }
                                return u && l.destroy(!0), d.canvas
                            }, t.prototype.pixels = function(t) {
                                var e = this.renderer,
                                    r = void 0,
                                    i = void 0,
                                    n = void 0,
                                    s = void 0,
                                    l = !1;
                                t && (t instanceof o.RenderTexture ? s = t : (s = this.renderer.generateTexture(t), l = !0)), s ? (r = s.baseTexture._glRenderTargets[this.renderer.CONTEXT_UID], i = r.resolution, n = s.frame) : (r = this.renderer.rootRenderTarget, i = r.resolution, n = a, n.width = r.size.width, n.height = r.size.height);
                                var u = n.width * i,
                                    h = n.height * i,
                                    c = new Uint8Array(4 * u * h);
                                if (r) {
                                    e.bindRenderTarget(r);
                                    var d = e.gl;
                                    d.readPixels(n.x * i, n.y * i, u, h, d.RGBA, d.UNSIGNED_BYTE, c)
                                }
                                return l && s.destroy(!0), c
                            }, t.prototype.destroy = function() {
                                this.renderer.extract = null, this.renderer = null
                            }, t
                        }();
                    r.default = s, o.WebGLRenderer.registerPlugin("extract", s)
                }, {
                    "../../core": 65
                }],
                135: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = function(t) {
                            function e(r, o) {
                                i(this, e);
                                var a = n(this, t.call(this, r[0] instanceof l.Texture ? r[0] : r[0].texture));
                                return a._textures = null, a._durations = null, a.textures = r, a._autoUpdate = !1 !== o, a.animationSpeed = 1, a.loop = !0, a.updateAnchor = !1, a.onComplete = null, a.onFrameChange = null, a.onLoop = null, a._currentTime = 0, a.playing = !1, a
                            }
                            return o(e, t), e.prototype.stop = function() {
                                this.playing && (this.playing = !1, this._autoUpdate && l.ticker.shared.remove(this.update, this))
                            }, e.prototype.play = function() {
                                this.playing || (this.playing = !0, this._autoUpdate && l.ticker.shared.add(this.update, this, l.UPDATE_PRIORITY.HIGH))
                            }, e.prototype.gotoAndStop = function(t) {
                                this.stop();
                                var e = this.currentFrame;
                                this._currentTime = t, e !== this.currentFrame && this.updateTexture()
                            }, e.prototype.gotoAndPlay = function(t) {
                                var e = this.currentFrame;
                                this._currentTime = t, e !== this.currentFrame && this.updateTexture(), this.play()
                            }, e.prototype.update = function(t) {
                                var e = this.animationSpeed * t,
                                    r = this.currentFrame;
                                if (null !== this._durations) {
                                    var i = this._currentTime % 1 * this._durations[this.currentFrame];
                                    for (i += e / 60 * 1e3; i < 0;) this._currentTime--, i += this._durations[this.currentFrame];
                                    var n = Math.sign(this.animationSpeed * t);
                                    for (this._currentTime = Math.floor(this._currentTime); i >= this._durations[this.currentFrame];) i -= this._durations[this.currentFrame] * n, this._currentTime += n;
                                    this._currentTime += i / this._durations[this.currentFrame]
                                } else this._currentTime += e;
                                this._currentTime < 0 && !this.loop ? (this.gotoAndStop(0), this.onComplete && this.onComplete()) : this._currentTime >= this._textures.length && !this.loop ? (this.gotoAndStop(this._textures.length - 1), this.onComplete && this.onComplete()) : r !== this.currentFrame && (this.loop && this.onLoop && (this.animationSpeed > 0 && this.currentFrame < r ? this.onLoop() : this.animationSpeed < 0 && this.currentFrame > r && this.onLoop()), this.updateTexture())
                            }, e.prototype.updateTexture = function() {
                                this._texture = this._textures[this.currentFrame], this._textureID = -1, this.cachedTint = 16777215, this.updateAnchor && this._anchor.copy(this._texture.defaultAnchor), this.onFrameChange && this.onFrameChange(this.currentFrame)
                            }, e.prototype.destroy = function(e) {
                                this.stop(), t.prototype.destroy.call(this, e)
                            }, e.fromFrames = function(t) {
                                for (var r = [], i = 0; i < t.length; ++i) r.push(l.Texture.fromFrame(t[i]));
                                return new e(r)
                            }, e.fromImages = function(t) {
                                for (var r = [], i = 0; i < t.length; ++i) r.push(l.Texture.fromImage(t[i]));
                                return new e(r)
                            }, a(e, [{
                                key: "totalFrames",
                                get: function() {
                                    return this._textures.length
                                }
                            }, {
                                key: "textures",
                                get: function() {
                                    return this._textures
                                },
                                set: function(t) {
                                    if (t[0] instanceof l.Texture) this._textures = t, this._durations = null;
                                    else {
                                        this._textures = [], this._durations = [];
                                        for (var e = 0; e < t.length; e++) this._textures.push(t[e].texture), this._durations.push(t[e].time)
                                    }
                                    this.gotoAndStop(0), this.updateTexture()
                                }
                            }, {
                                key: "currentFrame",
                                get: function() {
                                    var t = Math.floor(this._currentTime) % this._textures.length;
                                    return t < 0 && (t += this._textures.length), t
                                }
                            }]), e
                        }(l.Sprite);
                    r.default = u
                }, {
                    "../core": 65
                }],
                136: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("../core"),
                        u = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(l),
                        h = t("../core/math/ObservablePoint"),
                        c = i(h),
                        d = t("../core/utils"),
                        f = t("../core/settings"),
                        p = i(f),
                        g = function(t) {
                            function e(r) {
                                var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                                n(this, e);
                                var a = o(this, t.call(this));
                                return a._textWidth = 0, a._textHeight = 0, a._glyphs = [], a._font = {
                                    tint: void 0 !== i.tint ? i.tint : 16777215,
                                    align: i.align || "left",
                                    name: null,
                                    size: 0
                                }, a.font = i.font, a._text = r, a._maxWidth = 0, a._maxLineHeight = 0, a._letterSpacing = 0, a._anchor = new c.default(function() {
                                    a.dirty = !0
                                }, a, 0, 0), a.dirty = !1, a.updateText(), a
                            }
                            return a(e, t), e.prototype.updateText = function() {
                                for (var t = e.fonts[this._font.name], r = this._font.size / t.size, i = new u.Point, n = [], o = [], a = this.text.replace(/(?:\r\n|\r)/g, "\n"), s = a.length, l = this._maxWidth * t.size / this._font.size, h = null, c = 0, d = 0, f = 0, p = -1, g = 0, y = 0, v = 0, m = 0; m < s; m++) {
                                    var x = a.charCodeAt(m),
                                        _ = a.charAt(m);
                                    if (/(?:\s)/.test(_) && (p = m, g = c), "\r" !== _ && "\n" !== _) {
                                        var T = t.chars[x];
                                        T && (h && T.kerning[h] && (i.x += T.kerning[h]), n.push({
                                            texture: T.texture,
                                            line: f,
                                            charCode: x,
                                            position: new u.Point(i.x + T.xOffset + this._letterSpacing / 2, i.y + T.yOffset)
                                        }), i.x += T.xAdvance + this._letterSpacing, c = i.x, v = Math.max(v, T.yOffset + T.texture.height), h = x, -1 !== p && l > 0 && i.x > l && (++y, u.utils.removeItems(n, 1 + p - y, 1 + m - p), m = p, p = -1, o.push(g), d = Math.max(d, g), f++, i.x = 0, i.y += t.lineHeight, h = null))
                                    } else o.push(c), d = Math.max(d, c), ++f, ++y, i.x = 0, i.y += t.lineHeight, h = null
                                }
                                var b = a.charAt(a.length - 1);
                                "\r" !== b && "\n" !== b && (/(?:\s)/.test(b) && (c = g), o.push(c), d = Math.max(d, c));
                                for (var w = [], S = 0; S <= f; S++) {
                                    var E = 0;
                                    "right" === this._font.align ? E = d - o[S] : "center" === this._font.align && (E = (d - o[S]) / 2), w.push(E)
                                }
                                for (var C = n.length, O = this.tint, M = 0; M < C; M++) {
                                    var P = this._glyphs[M];
                                    P ? P.texture = n[M].texture : (P = new u.Sprite(n[M].texture), this._glyphs.push(P)), P.position.x = (n[M].position.x + w[n[M].line]) * r, P.position.y = n[M].position.y * r, P.scale.x = P.scale.y = r, P.tint = O, P.parent || this.addChild(P)
                                }
                                for (var R = C; R < this._glyphs.length; ++R) this.removeChild(this._glyphs[R]);
                                if (this._textWidth = d * r, this._textHeight = (i.y + t.lineHeight) * r, 0 !== this.anchor.x || 0 !== this.anchor.y)
                                    for (var A = 0; A < C; A++) this._glyphs[A].x -= this._textWidth * this.anchor.x, this._glyphs[A].y -= this._textHeight * this.anchor.y;
                                this._maxLineHeight = v * r
                            }, e.prototype.updateTransform = function() {
                                this.validate(), this.containerUpdateTransform()
                            }, e.prototype.getLocalBounds = function() {
                                return this.validate(), t.prototype.getLocalBounds.call(this)
                            }, e.prototype.validate = function() {
                                this.dirty && (this.updateText(), this.dirty = !1)
                            }, e.registerFont = function(t, r) {
                                var i = {},
                                    n = t.getElementsByTagName("info")[0],
                                    o = t.getElementsByTagName("common")[0],
                                    a = t.getElementsByTagName("page"),
                                    s = (0, d.getResolutionOfUrl)(a[0].getAttribute("file"), p.default.RESOLUTION),
                                    l = {};
                                i.font = n.getAttribute("face"), i.size = parseInt(n.getAttribute("size"), 10), i.lineHeight = parseInt(o.getAttribute("lineHeight"), 10) / s, i.chars = {}, r instanceof u.Texture && (r = [r]);
                                for (var h = 0; h < a.length; h++) {
                                    var c = a[h].getAttribute("id"),
                                        f = a[h].getAttribute("file");
                                    l[c] = r instanceof Array ? r[h] : r[f]
                                }
                                for (var g = t.getElementsByTagName("char"), y = 0; y < g.length; y++) {
                                    var v = g[y],
                                        m = parseInt(v.getAttribute("id"), 10),
                                        x = v.getAttribute("page") || 0,
                                        _ = new u.Rectangle(parseInt(v.getAttribute("x"), 10) / s + l[x].frame.x / s, parseInt(v.getAttribute("y"), 10) / s + l[x].frame.y / s, parseInt(v.getAttribute("width"), 10) / s, parseInt(v.getAttribute("height"), 10) / s);
                                    i.chars[m] = {
                                        xOffset: parseInt(v.getAttribute("xoffset"), 10) / s,
                                        yOffset: parseInt(v.getAttribute("yoffset"), 10) / s,
                                        xAdvance: parseInt(v.getAttribute("xadvance"), 10) / s,
                                        kerning: {},
                                        texture: new u.Texture(l[x].baseTexture, _),
                                        page: x
                                    }
                                }
                                for (var T = t.getElementsByTagName("kerning"), b = 0; b < T.length; b++) {
                                    var w = T[b],
                                        S = parseInt(w.getAttribute("first"), 10) / s,
                                        E = parseInt(w.getAttribute("second"), 10) / s,
                                        C = parseInt(w.getAttribute("amount"), 10) / s;
                                    i.chars[E] && (i.chars[E].kerning[S] = C)
                                }
                                return e.fonts[i.font] = i, i
                            }, s(e, [{
                                key: "tint",
                                get: function() {
                                    return this._font.tint
                                },
                                set: function(t) {
                                    this._font.tint = "number" == typeof t && t >= 0 ? t : 16777215, this.dirty = !0
                                }
                            }, {
                                key: "align",
                                get: function() {
                                    return this._font.align
                                },
                                set: function(t) {
                                    this._font.align = t || "left", this.dirty = !0
                                }
                            }, {
                                key: "anchor",
                                get: function() {
                                    return this._anchor
                                },
                                set: function(t) {
                                    "number" == typeof t ? this._anchor.set(t) : this._anchor.copy(t)
                                }
                            }, {
                                key: "font",
                                get: function() {
                                    return this._font
                                },
                                set: function(t) {
                                    t && ("string" == typeof t ? (t = t.split(" "), this._font.name = 1 === t.length ? t[0] : t.slice(1).join(" "), this._font.size = t.length >= 2 ? parseInt(t[0], 10) : e.fonts[this._font.name].size) : (this._font.name = t.name, this._font.size = "number" == typeof t.size ? t.size : parseInt(t.size, 10)), this.dirty = !0)
                                }
                            }, {
                                key: "text",
                                get: function() {
                                    return this._text
                                },
                                set: function(t) {
                                    t = t.toString() || " ", this._text !== t && (this._text = t, this.dirty = !0)
                                }
                            }, {
                                key: "maxWidth",
                                get: function() {
                                    return this._maxWidth
                                },
                                set: function(t) {
                                    this._maxWidth !== t && (this._maxWidth = t, this.dirty = !0)
                                }
                            }, {
                                key: "maxLineHeight",
                                get: function() {
                                    return this.validate(), this._maxLineHeight
                                }
                            }, {
                                key: "textWidth",
                                get: function() {
                                    return this.validate(), this._textWidth
                                }
                            }, {
                                key: "letterSpacing",
                                get: function() {
                                    return this._letterSpacing
                                },
                                set: function(t) {
                                    this._letterSpacing !== t && (this._letterSpacing = t, this.dirty = !0)
                                }
                            }, {
                                key: "textHeight",
                                get: function() {
                                    return this.validate(), this._textHeight
                                }
                            }]), e
                        }(u.Container);
                    r.default = g, g.fonts = {}
                }, {
                    "../core": 65,
                    "../core/math/ObservablePoint": 68,
                    "../core/settings": 101,
                    "../core/utils": 125
                }],
                137: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = t("../core/sprites/canvas/CanvasTinter"),
                        h = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(u),
                        c = new l.Point,
                        d = function(t) {
                            function e(r) {
                                var o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 100,
                                    a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 100;
                                i(this, e);
                                var s = n(this, t.call(this, r));
                                return s.tileTransform = new l.TransformStatic, s._width = o, s._height = a, s._canvasPattern = null, s.uvTransform = r.transform || new l.TextureMatrix(r), s.pluginName = "tilingSprite", s.uvRespectAnchor = !1, s
                            }
                            return o(e, t), e.prototype._onTextureUpdate = function() {
                                this.uvTransform && (this.uvTransform.texture = this._texture), this.cachedTint = 16777215
                            }, e.prototype._renderWebGL = function(t) {
                                var e = this._texture;
                                e && e.valid && (this.tileTransform.updateLocalTransform(), this.uvTransform.update(), t.setObjectRenderer(t.plugins[this.pluginName]), t.plugins[this.pluginName].render(this))
                            }, e.prototype._renderCanvas = function(t) {
                                var e = this._texture;
                                if (e.baseTexture.hasLoaded) {
                                    var r = t.context,
                                        i = this.worldTransform,
                                        n = t.resolution,
                                        o = 2 === e.rotate,
                                        a = e.baseTexture,
                                        s = a.resolution,
                                        u = this.tilePosition.x / this.tileScale.x % e.orig.width * s,
                                        c = this.tilePosition.y / this.tileScale.y % e.orig.height * s;
                                    if (this._textureID !== this._texture._updateID || this.cachedTint !== this.tint) {
                                        this._textureID = this._texture._updateID;
                                        var d = new l.CanvasRenderTarget(e.orig.width, e.orig.height, s);
                                        if (16777215 !== this.tint) this.tintedTexture = h.default.getTintedTexture(this, this.tint), d.context.drawImage(this.tintedTexture, 0, 0);
                                        else {
                                            var f = e._frame.x * s,
                                                p = e._frame.y * s,
                                                g = e._frame.width * s,
                                                y = e._frame.height * s,
                                                v = (e.trim ? e.trim.width : e.orig.width) * s,
                                                m = (e.trim ? e.trim.height : e.orig.height) * s,
                                                x = (e.trim ? e.trim.x : 0) * s,
                                                _ = (e.trim ? e.trim.y : 0) * s;
                                            o ? (d.context.rotate(-Math.PI / 2), d.context.translate(-m, 0), d.context.drawImage(a.source, f, p, g, y, -_, x, m, v)) : d.context.drawImage(a.source, f, p, g, y, x, _, v, m)
                                        }
                                        this.cachedTint = this.tint, this._canvasPattern = d.context.createPattern(d.canvas, "repeat")
                                    }
                                    r.globalAlpha = this.worldAlpha, r.setTransform(i.a * n, i.b * n, i.c * n, i.d * n, i.tx * n, i.ty * n), t.setBlendMode(this.blendMode), r.fillStyle = this._canvasPattern, r.scale(this.tileScale.x / s, this.tileScale.y / s);
                                    var T = this.anchor.x * -this._width * s,
                                        b = this.anchor.y * -this._height * s;
                                    this.uvRespectAnchor ? (r.translate(u, c), r.fillRect(-u + T, -c + b, this._width / this.tileScale.x * s, this._height / this.tileScale.y * s)) : (r.translate(u + T, c + b), r.fillRect(-u, -c, this._width / this.tileScale.x * s, this._height / this.tileScale.y * s))
                                }
                            }, e.prototype._calculateBounds = function() {
                                var t = this._width * -this._anchor._x,
                                    e = this._height * -this._anchor._y,
                                    r = this._width * (1 - this._anchor._x),
                                    i = this._height * (1 - this._anchor._y);
                                this._bounds.addFrame(this.transform, t, e, r, i)
                            }, e.prototype.getLocalBounds = function(e) {
                                return 0 === this.children.length ? (this._bounds.minX = this._width * -this._anchor._x, this._bounds.minY = this._height * -this._anchor._y, this._bounds.maxX = this._width * (1 - this._anchor._x), this._bounds.maxY = this._height * (1 - this._anchor._y), e || (this._localBoundsRect || (this._localBoundsRect = new l.Rectangle), e = this._localBoundsRect), this._bounds.getRectangle(e)) : t.prototype.getLocalBounds.call(this, e)
                            }, e.prototype.containsPoint = function(t) {
                                this.worldTransform.applyInverse(t, c);
                                var e = this._width,
                                    r = this._height,
                                    i = -e * this.anchor._x;
                                if (c.x >= i && c.x < i + e) {
                                    var n = -r * this.anchor._y;
                                    if (c.y >= n && c.y < n + r) return !0
                                }
                                return !1
                            }, e.prototype.destroy = function(e) {
                                t.prototype.destroy.call(this, e), this.tileTransform = null, this.uvTransform = null
                            }, e.from = function(t, r, i) {
                                return new e(l.Texture.from(t), r, i)
                            }, e.fromFrame = function(t, r, i) {
                                var n = l.utils.TextureCache[t];
                                if (!n) throw new Error('The frameId "' + t + '" does not exist in the texture cache ' + this);
                                return new e(n, r, i)
                            }, e.fromImage = function(t, r, i, n, o) {
                                return new e(l.Texture.fromImage(t, n, o), r, i)
                            }, a(e, [{
                                key: "clampMargin",
                                get: function() {
                                    return this.uvTransform.clampMargin
                                },
                                set: function(t) {
                                    this.uvTransform.clampMargin = t, this.uvTransform.update(!0)
                                }
                            }, {
                                key: "tileScale",
                                get: function() {
                                    return this.tileTransform.scale
                                },
                                set: function(t) {
                                    this.tileTransform.scale.copy(t)
                                }
                            }, {
                                key: "tilePosition",
                                get: function() {
                                    return this.tileTransform.position
                                },
                                set: function(t) {
                                    this.tileTransform.position.copy(t)
                                }
                            }, {
                                key: "width",
                                get: function() {
                                    return this._width
                                },
                                set: function(t) {
                                    this._width = t
                                }
                            }, {
                                key: "height",
                                get: function() {
                                    return this._height
                                },
                                set: function(t) {
                                    this._height = t
                                }
                            }]), e
                        }(l.Sprite);
                    r.default = d
                }, {
                    "../core": 65,
                    "../core/sprites/canvas/CanvasTinter": 104
                }],
                138: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    var o = t("../core"),
                        a = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(o),
                        s = t("../core/textures/Texture"),
                        l = i(s),
                        u = t("../core/textures/BaseTexture"),
                        h = i(u),
                        c = t("../core/utils"),
                        d = a.DisplayObject,
                        f = new a.Matrix;
                    d.prototype._cacheAsBitmap = !1, d.prototype._cacheData = !1;
                    var p = function t() {
                        n(this, t), this.textureCacheId = null, this.originalRenderWebGL = null, this.originalRenderCanvas = null, this.originalCalculateBounds = null, this.originalGetLocalBounds = null, this.originalUpdateTransform = null, this.originalHitTest = null, this.originalDestroy = null, this.originalMask = null, this.originalFilterArea = null, this.sprite = null
                    };
                    Object.defineProperties(d.prototype, {
                        cacheAsBitmap: {
                            get: function() {
                                return this._cacheAsBitmap
                            },
                            set: function(t) {
                                if (this._cacheAsBitmap !== t) {
                                    this._cacheAsBitmap = t;
                                    var e = void 0;
                                    t ? (this._cacheData || (this._cacheData = new p), e = this._cacheData, e.originalRenderWebGL = this.renderWebGL, e.originalRenderCanvas = this.renderCanvas, e.originalUpdateTransform = this.updateTransform, e.originalCalculateBounds = this.calculateBounds, e.originalGetLocalBounds = this.getLocalBounds, e.originalDestroy = this.destroy, e.originalContainsPoint = this.containsPoint, e.originalMask = this._mask, e.originalFilterArea = this.filterArea, this.renderWebGL = this._renderCachedWebGL, this.renderCanvas = this._renderCachedCanvas, this.destroy = this._cacheAsBitmapDestroy) : (e = this._cacheData, e.sprite && this._destroyCachedDisplayObject(), this.renderWebGL = e.originalRenderWebGL, this.renderCanvas = e.originalRenderCanvas, this.calculateBounds = e.originalCalculateBounds, this.getLocalBounds = e.originalGetLocalBounds, this.destroy = e.originalDestroy, this.updateTransform = e.originalUpdateTransform, this.containsPoint = e.originalContainsPoint, this._mask = e.originalMask, this.filterArea = e.originalFilterArea)
                                }
                            }
                        }
                    }), d.prototype._renderCachedWebGL = function(t) {
                        !this.visible || this.worldAlpha <= 0 || !this.renderable || (this._initCachedDisplayObject(t), this._cacheData.sprite.transform._worldID = this.transform._worldID, this._cacheData.sprite.worldAlpha = this.worldAlpha, this._cacheData.sprite._renderWebGL(t))
                    }, d.prototype._initCachedDisplayObject = function(t) {
                        if (!this._cacheData || !this._cacheData.sprite) {
                            var e = this.alpha;
                            this.alpha = 1, t.currentRenderer.flush();
                            var r = this.getLocalBounds().clone();
                            if (this._filters && this._filters.length) {
                                var i = this._filters[0].padding;
                                r.pad(i)
                            }
                            r.ceil(a.settings.RESOLUTION);
                            var n = t._activeRenderTarget,
                                o = t.filterManager.filterStack,
                                s = a.RenderTexture.create(r.width, r.height),
                                u = "cacheAsBitmap_" + (0, c.uid)();
                            this._cacheData.textureCacheId = u, h.default.addToCache(s.baseTexture, u), l.default.addToCache(s, u);
                            var d = f;
                            d.tx = -r.x, d.ty = -r.y, this.transform.worldTransform.identity(), this.renderWebGL = this._cacheData.originalRenderWebGL, t.render(this, s, !0, d, !0), t.bindRenderTarget(n), t.filterManager.filterStack = o, this.renderWebGL = this._renderCachedWebGL, this.updateTransform = this.displayObjectUpdateTransform, this.calculateBounds = this._calculateCachedBounds, this.getLocalBounds = this._getCachedLocalBounds, this._mask = null, this.filterArea = null;
                            var p = new a.Sprite(s);
                            p.transform.worldTransform = this.transform.worldTransform, p.anchor.x = -r.x / r.width, p.anchor.y = -r.y / r.height, p.alpha = e, p._bounds = this._bounds, this._cacheData.sprite = p, this.transform._parentID = -1, this.parent ? this.updateTransform() : (this.parent = t._tempDisplayObjectParent, this.updateTransform(), this.parent = null), this.containsPoint = p.containsPoint.bind(p)
                        }
                    }, d.prototype._renderCachedCanvas = function(t) {
                        !this.visible || this.worldAlpha <= 0 || !this.renderable || (this._initCachedDisplayObjectCanvas(t), this._cacheData.sprite.worldAlpha = this.worldAlpha, this._cacheData.sprite._renderCanvas(t))
                    }, d.prototype._initCachedDisplayObjectCanvas = function(t) {
                        if (!this._cacheData || !this._cacheData.sprite) {
                            var e = this.getLocalBounds(),
                                r = this.alpha;
                            this.alpha = 1;
                            var i = t.context;
                            e.ceil(a.settings.RESOLUTION);
                            var n = a.RenderTexture.create(e.width, e.height),
                                o = "cacheAsBitmap_" + (0, c.uid)();
                            this._cacheData.textureCacheId = o, h.default.addToCache(n.baseTexture, o), l.default.addToCache(n, o);
                            var s = f;
                            this.transform.localTransform.copy(s), s.invert(), s.tx -= e.x, s.ty -= e.y, this.renderCanvas = this._cacheData.originalRenderCanvas, t.render(this, n, !0, s, !1), t.context = i, this.renderCanvas = this._renderCachedCanvas, this.updateTransform = this.displayObjectUpdateTransform, this.calculateBounds = this._calculateCachedBounds, this.getLocalBounds = this._getCachedLocalBounds, this._mask = null, this.filterArea = null;
                            var u = new a.Sprite(n);
                            u.transform.worldTransform = this.transform.worldTransform, u.anchor.x = -e.x / e.width, u.anchor.y = -e.y / e.height, u.alpha = r, u._bounds = this._bounds, this._cacheData.sprite = u, this.transform._parentID = -1, this.parent ? this.updateTransform() : (this.parent = t._tempDisplayObjectParent, this.updateTransform(), this.parent = null), this.containsPoint = u.containsPoint.bind(u)
                        }
                    }, d.prototype._calculateCachedBounds = function() {
                        this._bounds.clear(), this._cacheData.sprite.transform._worldID = this.transform._worldID, this._cacheData.sprite._calculateBounds(), this._lastBoundsID = this._boundsID
                    }, d.prototype._getCachedLocalBounds = function() {
                        return this._cacheData.sprite.getLocalBounds()
                    }, d.prototype._destroyCachedDisplayObject = function() {
                        this._cacheData.sprite._texture.destroy(!0), this._cacheData.sprite = null, h.default.removeFromCache(this._cacheData.textureCacheId), l.default.removeFromCache(this._cacheData.textureCacheId), this._cacheData.textureCacheId = null
                    }, d.prototype._cacheAsBitmapDestroy = function(t) {
                        this.cacheAsBitmap = !1, this.destroy(t)
                    }
                }, {
                    "../core": 65,
                    "../core/textures/BaseTexture": 112,
                    "../core/textures/Texture": 115,
                    "../core/utils": 125
                }],
                139: [function(t, e, r) {
                    "use strict";
                    var i = t("../core"),
                        n = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(i);
                    n.DisplayObject.prototype.name = null, n.Container.prototype.getChildByName = function(t) {
                        for (var e = 0; e < this.children.length; e++)
                            if (this.children[e].name === t) return this.children[e];
                        return null
                    }
                }, {
                    "../core": 65
                }],
                140: [function(t, e, r) {
                    "use strict";
                    var i = t("../core"),
                        n = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(i);
                    n.DisplayObject.prototype.getGlobalPosition = function() {
                        var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new n.Point,
                            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                        return this.parent ? this.parent.toGlobal(this.position, t, e) : (t.x = this.position.x, t.y = this.position.y), t
                    }
                }, {
                    "../core": 65
                }],
                141: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0, r.BitmapText = r.TilingSpriteRenderer = r.TilingSprite = r.AnimatedSprite = void 0;
                    var n = t("./AnimatedSprite");
                    Object.defineProperty(r, "AnimatedSprite", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./TilingSprite");
                    Object.defineProperty(r, "TilingSprite", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    });
                    var a = t("./webgl/TilingSpriteRenderer");
                    Object.defineProperty(r, "TilingSpriteRenderer", {
                        enumerable: !0,
                        get: function() {
                            return i(a).default
                        }
                    });
                    var s = t("./BitmapText");
                    Object.defineProperty(r, "BitmapText", {
                        enumerable: !0,
                        get: function() {
                            return i(s).default
                        }
                    }), t("./cacheAsBitmap"), t("./getChildByName"), t("./getGlobalPosition")
                }, {
                    "./AnimatedSprite": 135,
                    "./BitmapText": 136,
                    "./TilingSprite": 137,
                    "./cacheAsBitmap": 138,
                    "./getChildByName": 139,
                    "./getGlobalPosition": 140,
                    "./webgl/TilingSpriteRenderer": 142
                }],
                142: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = t("../../core"),
                        s = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(a),
                        l = t("../../core/const"),
                        u = (t("path"), new s.Matrix),
                        h = function(t) {
                            function e(r) {
                                i(this, e);
                                var o = n(this, t.call(this, r));
                                return o.shader = null, o.simpleShader = null, o.quad = null, o
                            }
                            return o(e, t), e.prototype.onContextChange = function() {
                                var t = this.renderer.gl;
                                this.shader = new s.Shader(t, "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mat3 uTransform;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = (uTransform * vec3(aTextureCoord, 1.0)).xy;\n}\n", "varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 uColor;\nuniform mat3 uMapCoord;\nuniform vec4 uClampFrame;\nuniform vec2 uClampOffset;\n\nvoid main(void)\n{\n    vec2 coord = mod(vTextureCoord - uClampOffset, vec2(1.0, 1.0)) + uClampOffset;\n    coord = (uMapCoord * vec3(coord, 1.0)).xy;\n    coord = clamp(coord, uClampFrame.xy, uClampFrame.zw);\n\n    vec4 sample = texture2D(uSampler, coord);\n    gl_FragColor = sample * uColor;\n}\n"), this.simpleShader = new s.Shader(t, "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mat3 uTransform;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = (uTransform * vec3(aTextureCoord, 1.0)).xy;\n}\n", "varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 uColor;\n\nvoid main(void)\n{\n    vec4 sample = texture2D(uSampler, vTextureCoord);\n    gl_FragColor = sample * uColor;\n}\n"), this.renderer.bindVao(null), this.quad = new s.Quad(t, this.renderer.state.attribState), this.quad.initVao(this.shader)
                            }, e.prototype.render = function(t) {
                                var e = this.renderer,
                                    r = this.quad;
                                e.bindVao(r.vao);
                                var i = r.vertices;
                                i[0] = i[6] = t._width * -t.anchor.x, i[1] = i[3] = t._height * -t.anchor.y, i[2] = i[4] = t._width * (1 - t.anchor.x), i[5] = i[7] = t._height * (1 - t.anchor.y), t.uvRespectAnchor && (i = r.uvs, i[0] = i[6] = -t.anchor.x, i[1] = i[3] = -t.anchor.y, i[2] = i[4] = 1 - t.anchor.x, i[5] = i[7] = 1 - t.anchor.y), r.upload();
                                var n = t._texture,
                                    o = n.baseTexture,
                                    a = t.tileTransform.localTransform,
                                    h = t.uvTransform,
                                    c = o.isPowerOfTwo && n.frame.width === o.width && n.frame.height === o.height;
                                c && (o._glTextures[e.CONTEXT_UID] ? c = o.wrapMode !== l.WRAP_MODES.CLAMP : o.wrapMode === l.WRAP_MODES.CLAMP && (o.wrapMode = l.WRAP_MODES.REPEAT));
                                var d = c ? this.simpleShader : this.shader;
                                e.bindShader(d);
                                var f = n.width,
                                    p = n.height,
                                    g = t._width,
                                    y = t._height;
                                u.set(a.a * f / g, a.b * f / y, a.c * p / g, a.d * p / y, a.tx / g, a.ty / y), u.invert(), c ? u.prepend(h.mapCoord) : (d.uniforms.uMapCoord = h.mapCoord.toArray(!0), d.uniforms.uClampFrame = h.uClampFrame, d.uniforms.uClampOffset = h.uClampOffset), d.uniforms.uTransform = u.toArray(!0), d.uniforms.uColor = s.utils.premultiplyTintToRgba(t.tint, t.worldAlpha, d.uniforms.uColor, o.premultipliedAlpha), d.uniforms.translationMatrix = t.transform.worldTransform.toArray(!0), d.uniforms.uSampler = e.bindTexture(n), e.setBlendMode(s.utils.correctBlendMode(t.blendMode, o.premultipliedAlpha)), r.vao.draw(this.renderer.gl.TRIANGLES, 6, 0)
                            }, e
                        }(s.ObjectRenderer);
                    r.default = h, s.WebGLRenderer.registerPlugin("tilingSprite", h)
                }, {
                    "../../core": 65,
                    "../../core/const": 46,
                    path: 8
                }],
                143: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = (t("path"), function(t) {
                            function e() {
                                var r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1;
                                i(this, e);
                                var o = n(this, t.call(this, "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n    vTextureCoord = aTextureCoord;\n}", "varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float uAlpha;\n\nvoid main(void)\n{\n   gl_FragColor = texture2D(uSampler, vTextureCoord) * uAlpha;\n}\n"));
                                return o.alpha = r, o.glShaderKey = "alpha", o
                            }
                            return o(e, t), a(e, [{
                                key: "alpha",
                                get: function() {
                                    return this.uniforms.uAlpha
                                },
                                set: function(t) {
                                    this.uniforms.uAlpha = t
                                }
                            }]), e
                        }(l.Filter));
                    r.default = u
                }, {
                    "../../core": 65,
                    path: 8
                }],
                144: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("../../core"),
                        u = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(l),
                        h = t("./BlurXFilter"),
                        c = i(h),
                        d = t("./BlurYFilter"),
                        f = i(d),
                        p = function(t) {
                            function e(r, i, a, s) {
                                n(this, e);
                                var l = o(this, t.call(this));
                                return l.blurXFilter = new c.default(r, i, a, s), l.blurYFilter = new f.default(r, i, a, s), l.padding = 0, l.resolution = a || u.settings.RESOLUTION, l.quality = i || 4, l.blur = r || 8, l
                            }
                            return a(e, t), e.prototype.apply = function(t, e, r) {
                                var i = t.getRenderTarget(!0);
                                this.blurXFilter.apply(t, e, i, !0), this.blurYFilter.apply(t, i, r, !1), t.returnRenderTarget(i)
                            }, s(e, [{
                                key: "blur",
                                get: function() {
                                    return this.blurXFilter.blur
                                },
                                set: function(t) {
                                    this.blurXFilter.blur = this.blurYFilter.blur = t, this.padding = 2 * Math.max(Math.abs(this.blurXFilter.strength), Math.abs(this.blurYFilter.strength))
                                }
                            }, {
                                key: "quality",
                                get: function() {
                                    return this.blurXFilter.quality
                                },
                                set: function(t) {
                                    this.blurXFilter.quality = this.blurYFilter.quality = t
                                }
                            }, {
                                key: "blurX",
                                get: function() {
                                    return this.blurXFilter.blur
                                },
                                set: function(t) {
                                    this.blurXFilter.blur = t, this.padding = 2 * Math.max(Math.abs(this.blurXFilter.strength), Math.abs(this.blurYFilter.strength))
                                }
                            }, {
                                key: "blurY",
                                get: function() {
                                    return this.blurYFilter.blur
                                },
                                set: function(t) {
                                    this.blurYFilter.blur = t, this.padding = 2 * Math.max(Math.abs(this.blurXFilter.strength), Math.abs(this.blurYFilter.strength))
                                }
                            }, {
                                key: "blendMode",
                                get: function() {
                                    return this.blurYFilter._blendMode
                                },
                                set: function(t) {
                                    this.blurYFilter._blendMode = t
                                }
                            }]), e
                        }(u.Filter);
                    r.default = p
                }, {
                    "../../core": 65,
                    "./BlurXFilter": 145,
                    "./BlurYFilter": 146
                }],
                145: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("../../core"),
                        u = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(l),
                        h = t("./generateBlurVertSource"),
                        c = i(h),
                        d = t("./generateBlurFragSource"),
                        f = i(d),
                        p = t("./getMaxBlurKernelSize"),
                        g = i(p),
                        y = function(t) {
                            function e(r, i, a, s) {
                                n(this, e), s = s || 5;
                                var l = (0, c.default)(s, !0),
                                    h = (0, f.default)(s),
                                    d = o(this, t.call(this, l, h));
                                return d.resolution = a || u.settings.RESOLUTION, d._quality = 0, d.quality = i || 4, d.strength = r || 8, d.firstRun = !0, d
                            }
                            return a(e, t), e.prototype.apply = function(t, e, r, i) {
                                if (this.firstRun) {
                                    var n = t.renderer.gl,
                                        o = (0, g.default)(n);
                                    this.vertexSrc = (0, c.default)(o, !0), this.fragmentSrc = (0, f.default)(o), this.firstRun = !1
                                }
                                if (this.uniforms.strength = 1 / r.size.width * (r.size.width / e.size.width), this.uniforms.strength *= this.strength, this.uniforms.strength /= this.passes, 1 === this.passes) t.applyFilter(this, e, r, i);
                                else {
                                    for (var a = t.getRenderTarget(!0), s = e, l = a, u = 0; u < this.passes - 1; u++) {
                                        t.applyFilter(this, s, l, !0);
                                        var h = l;
                                        l = s, s = h
                                    }
                                    t.applyFilter(this, s, r, i), t.returnRenderTarget(a)
                                }
                            }, s(e, [{
                                key: "blur",
                                get: function() {
                                    return this.strength
                                },
                                set: function(t) {
                                    this.padding = 2 * Math.abs(t), this.strength = t
                                }
                            }, {
                                key: "quality",
                                get: function() {
                                    return this._quality
                                },
                                set: function(t) {
                                    this._quality = t, this.passes = t
                                }
                            }]), e
                        }(u.Filter);
                    r.default = y
                }, {
                    "../../core": 65,
                    "./generateBlurFragSource": 147,
                    "./generateBlurVertSource": 148,
                    "./getMaxBlurKernelSize": 149
                }],
                146: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("../../core"),
                        u = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(l),
                        h = t("./generateBlurVertSource"),
                        c = i(h),
                        d = t("./generateBlurFragSource"),
                        f = i(d),
                        p = t("./getMaxBlurKernelSize"),
                        g = i(p),
                        y = function(t) {
                            function e(r, i, a, s) {
                                n(this, e), s = s || 5;
                                var l = (0, c.default)(s, !1),
                                    h = (0, f.default)(s),
                                    d = o(this, t.call(this, l, h));
                                return d.resolution = a || u.settings.RESOLUTION, d._quality = 0, d.quality = i || 4, d.strength = r || 8, d.firstRun = !0, d
                            }
                            return a(e, t), e.prototype.apply = function(t, e, r, i) {
                                if (this.firstRun) {
                                    var n = t.renderer.gl,
                                        o = (0, g.default)(n);
                                    this.vertexSrc = (0, c.default)(o, !1), this.fragmentSrc = (0, f.default)(o), this.firstRun = !1
                                }
                                if (this.uniforms.strength = 1 / r.size.height * (r.size.height / e.size.height), this.uniforms.strength *= this.strength, this.uniforms.strength /= this.passes, 1 === this.passes) t.applyFilter(this, e, r, i);
                                else {
                                    for (var a = t.getRenderTarget(!0), s = e, l = a, u = 0; u < this.passes - 1; u++) {
                                        t.applyFilter(this, s, l, !0);
                                        var h = l;
                                        l = s, s = h
                                    }
                                    t.applyFilter(this, s, r, i), t.returnRenderTarget(a)
                                }
                            }, s(e, [{
                                key: "blur",
                                get: function() {
                                    return this.strength
                                },
                                set: function(t) {
                                    this.padding = 2 * Math.abs(t), this.strength = t
                                }
                            }, {
                                key: "quality",
                                get: function() {
                                    return this._quality
                                },
                                set: function(t) {
                                    this._quality = t, this.passes = t
                                }
                            }]), e
                        }(u.Filter);
                    r.default = y
                }, {
                    "../../core": 65,
                    "./generateBlurFragSource": 147,
                    "./generateBlurVertSource": 148,
                    "./getMaxBlurKernelSize": 149
                }],
                147: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        for (var e = n[t], r = e.length, i = o, a = "", s = "gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;", l = void 0, u = 0; u < t; u++) {
                            var h = s.replace("%index%", u);
                            l = u, u >= r && (l = t - u - 1), h = h.replace("%value%", e[l]), a += h, a += "\n"
                        }
                        return i = i.replace("%blur%", a), i = i.replace("%size%", t)
                    }
                    r.__esModule = !0, r.default = i;
                    var n = {
                            5: [.153388, .221461, .250301],
                            7: [.071303, .131514, .189879, .214607],
                            9: [.028532, .067234, .124009, .179044, .20236],
                            11: [.0093, .028002, .065984, .121703, .175713, .198596],
                            13: [.002406, .009255, .027867, .065666, .121117, .174868, .197641],
                            15: [489e-6, .002403, .009246, .02784, .065602, .120999, .174697, .197448]
                        },
                        o = ["varying vec2 vBlurTexCoords[%size%];", "uniform sampler2D uSampler;", "void main(void)", "{", "    gl_FragColor = vec4(0.0);", "    %blur%", "}"].join("\n")
                }, {}],
                148: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        var r = Math.ceil(t / 2),
                            i = n,
                            o = "",
                            a = void 0;
                        a = e ? "vBlurTexCoords[%index%] = aTextureCoord + vec2(%sampleIndex% * strength, 0.0);" : "vBlurTexCoords[%index%] = aTextureCoord + vec2(0.0, %sampleIndex% * strength);";
                        for (var s = 0; s < t; s++) {
                            var l = a.replace("%index%", s);
                            l = l.replace("%sampleIndex%", s - (r - 1) + ".0"), o += l, o += "\n"
                        }
                        return i = i.replace("%blur%", o), i = i.replace("%size%", t)
                    }
                    r.__esModule = !0, r.default = i;
                    var n = ["attribute vec2 aVertexPosition;", "attribute vec2 aTextureCoord;", "uniform float strength;", "uniform mat3 projectionMatrix;", "varying vec2 vBlurTexCoords[%size%];", "void main(void)", "{", "gl_Position = vec4((projectionMatrix * vec3((aVertexPosition), 1.0)).xy, 0.0, 1.0);", "%blur%", "}"].join("\n")
                }, {}],
                149: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        for (var e = t.getParameter(t.MAX_VARYING_VECTORS), r = 15; r > e;) r -= 2;
                        return r
                    }
                    r.__esModule = !0, r.default = i
                }, {}],
                150: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = (t("path"), function(t) {
                            function e() {
                                i(this, e);
                                var r = n(this, t.call(this, "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n    vTextureCoord = aTextureCoord;\n}", "varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform float m[20];\nuniform float uAlpha;\n\nvoid main(void)\n{\n    vec4 c = texture2D(uSampler, vTextureCoord);\n\n    if (uAlpha == 0.0) {\n        gl_FragColor = c;\n        return;\n    }\n\n    // Un-premultiply alpha before applying the color matrix. See issue #3539.\n    if (c.a > 0.0) {\n      c.rgb /= c.a;\n    }\n\n    vec4 result;\n\n    result.r = (m[0] * c.r);\n        result.r += (m[1] * c.g);\n        result.r += (m[2] * c.b);\n        result.r += (m[3] * c.a);\n        result.r += m[4];\n\n    result.g = (m[5] * c.r);\n        result.g += (m[6] * c.g);\n        result.g += (m[7] * c.b);\n        result.g += (m[8] * c.a);\n        result.g += m[9];\n\n    result.b = (m[10] * c.r);\n       result.b += (m[11] * c.g);\n       result.b += (m[12] * c.b);\n       result.b += (m[13] * c.a);\n       result.b += m[14];\n\n    result.a = (m[15] * c.r);\n       result.a += (m[16] * c.g);\n       result.a += (m[17] * c.b);\n       result.a += (m[18] * c.a);\n       result.a += m[19];\n\n    vec3 rgb = mix(c.rgb, result.rgb, uAlpha);\n\n    // Premultiply alpha again.\n    rgb *= result.a;\n\n    gl_FragColor = vec4(rgb, result.a);\n}\n"));
                                return r.uniforms.m = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0], r.alpha = 1, r
                            }
                            return o(e, t), e.prototype._loadMatrix = function(t) {
                                var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                                    r = t;
                                e && (this._multiply(r, this.uniforms.m, t), r = this._colorMatrix(r)), this.uniforms.m = r
                            }, e.prototype._multiply = function(t, e, r) {
                                return t[0] = e[0] * r[0] + e[1] * r[5] + e[2] * r[10] + e[3] * r[15], t[1] = e[0] * r[1] + e[1] * r[6] + e[2] * r[11] + e[3] * r[16], t[2] = e[0] * r[2] + e[1] * r[7] + e[2] * r[12] + e[3] * r[17], t[3] = e[0] * r[3] + e[1] * r[8] + e[2] * r[13] + e[3] * r[18], t[4] = e[0] * r[4] + e[1] * r[9] + e[2] * r[14] + e[3] * r[19] + e[4], t[5] = e[5] * r[0] + e[6] * r[5] + e[7] * r[10] + e[8] * r[15], t[6] = e[5] * r[1] + e[6] * r[6] + e[7] * r[11] + e[8] * r[16], t[7] = e[5] * r[2] + e[6] * r[7] + e[7] * r[12] + e[8] * r[17], t[8] = e[5] * r[3] + e[6] * r[8] + e[7] * r[13] + e[8] * r[18], t[9] = e[5] * r[4] + e[6] * r[9] + e[7] * r[14] + e[8] * r[19] + e[9], t[10] = e[10] * r[0] + e[11] * r[5] + e[12] * r[10] + e[13] * r[15], t[11] = e[10] * r[1] + e[11] * r[6] + e[12] * r[11] + e[13] * r[16], t[12] = e[10] * r[2] + e[11] * r[7] + e[12] * r[12] + e[13] * r[17], t[13] = e[10] * r[3] + e[11] * r[8] + e[12] * r[13] + e[13] * r[18], t[14] = e[10] * r[4] + e[11] * r[9] + e[12] * r[14] + e[13] * r[19] + e[14], t[15] = e[15] * r[0] + e[16] * r[5] + e[17] * r[10] + e[18] * r[15], t[16] = e[15] * r[1] + e[16] * r[6] + e[17] * r[11] + e[18] * r[16], t[17] = e[15] * r[2] + e[16] * r[7] + e[17] * r[12] + e[18] * r[17], t[18] = e[15] * r[3] + e[16] * r[8] + e[17] * r[13] + e[18] * r[18], t[19] = e[15] * r[4] + e[16] * r[9] + e[17] * r[14] + e[18] * r[19] + e[19], t
                            }, e.prototype._colorMatrix = function(t) {
                                var e = new Float32Array(t);
                                return e[4] /= 255, e[9] /= 255, e[14] /= 255, e[19] /= 255, e
                            }, e.prototype.brightness = function(t, e) {
                                var r = [t, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(r, e)
                            }, e.prototype.greyscale = function(t, e) {
                                var r = [t, t, t, 0, 0, t, t, t, 0, 0, t, t, t, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(r, e)
                            }, e.prototype.blackAndWhite = function(t) {
                                var e = [.3, .6, .1, 0, 0, .3, .6, .1, 0, 0, .3, .6, .1, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.hue = function(t, e) {
                                t = (t || 0) / 180 * Math.PI;
                                var r = Math.cos(t),
                                    i = Math.sin(t),
                                    n = Math.sqrt,
                                    o = 1 / 3,
                                    a = n(o),
                                    s = r + (1 - r) * o,
                                    l = o * (1 - r) - a * i,
                                    u = o * (1 - r) + a * i,
                                    h = o * (1 - r) + a * i,
                                    c = r + o * (1 - r),
                                    d = o * (1 - r) - a * i,
                                    f = o * (1 - r) - a * i,
                                    p = o * (1 - r) + a * i,
                                    g = r + o * (1 - r),
                                    y = [s, l, u, 0, 0, h, c, d, 0, 0, f, p, g, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(y, e)
                            }, e.prototype.contrast = function(t, e) {
                                var r = (t || 0) + 1,
                                    i = -.5 * (r - 1),
                                    n = [r, 0, 0, 0, i, 0, r, 0, 0, i, 0, 0, r, 0, i, 0, 0, 0, 1, 0];
                                this._loadMatrix(n, e)
                            }, e.prototype.saturate = function() {
                                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                                    e = arguments[1],
                                    r = 2 * t / 3 + 1,
                                    i = -.5 * (r - 1),
                                    n = [r, i, i, 0, 0, i, r, i, 0, 0, i, i, r, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(n, e)
                            }, e.prototype.desaturate = function() {
                                this.saturate(-1)
                            }, e.prototype.negative = function(t) {
                                var e = [-1, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.sepia = function(t) {
                                var e = [.393, .7689999, .18899999, 0, 0, .349, .6859999, .16799999, 0, 0, .272, .5339999, .13099999, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.technicolor = function(t) {
                                var e = [1.9125277891456083, -.8545344976951645, -.09155508482755585, 0, 11.793603434377337, -.3087833385928097, 1.7658908555458428, -.10601743074722245, 0, -70.35205161461398, -.231103377548616, -.7501899197440212, 1.847597816108189, 0, 30.950940869491138, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.polaroid = function(t) {
                                var e = [1.438, -.062, -.062, 0, 0, -.122, 1.378, -.122, 0, 0, -.016, -.016, 1.483, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.toBGR = function(t) {
                                var e = [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.kodachrome = function(t) {
                                var e = [1.1285582396593525, -.3967382283601348, -.03992559172921793, 0, 63.72958762196502, -.16404339962244616, 1.0835251566291304, -.05498805115633132, 0, 24.732407896706203, -.16786010706155763, -.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.browni = function(t) {
                                var e = [.5997023498159715, .34553243048391263, -.2708298674538042, 0, 47.43192855600873, -.037703249837783157, .8609577587992641, .15059552388459913, 0, -36.96841498319127, .24113635128153335, -.07441037908422492, .44972182064877153, 0, -7.562075277591283, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.vintage = function(t) {
                                var e = [.6279345635605994, .3202183420819367, -.03965408211312453, 0, 9.651285835294123, .02578397704808868, .6441188644374771, .03259127616149294, 0, 7.462829176470591, .0466055556782719, -.0851232987247891, .5241648018700465, 0, 5.159190588235296, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.colorTone = function(t, e, r, i, n) {
                                t = t || .2, e = e || .15, r = r || 16770432, i = i || 3375104;
                                var o = (r >> 16 & 255) / 255,
                                    a = (r >> 8 & 255) / 255,
                                    s = (255 & r) / 255,
                                    l = (i >> 16 & 255) / 255,
                                    u = (i >> 8 & 255) / 255,
                                    h = (255 & i) / 255,
                                    c = [.3, .59, .11, 0, 0, o, a, s, t, 0, l, u, h, e, 0, o - l, a - u, s - h, 0, 0];
                                this._loadMatrix(c, n)
                            }, e.prototype.night = function(t, e) {
                                t = t || .1;
                                var r = [-2 * t, -t, 0, 0, 0, -t, 0, t, 0, 0, 0, t, 2 * t, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(r, e)
                            }, e.prototype.predator = function(t, e) {
                                var r = [11.224130630493164 * t, -4.794486999511719 * t, -2.8746118545532227 * t, 0 * t, .40342438220977783 * t, -3.6330697536468506 * t, 9.193157196044922 * t, -2.951810836791992 * t, 0 * t, -1.316135048866272 * t, -3.2184197902679443 * t, -4.2375030517578125 * t, 7.476448059082031 * t, 0 * t, .8044459223747253 * t, 0, 0, 0, 1, 0];
                                this._loadMatrix(r, e)
                            }, e.prototype.lsd = function(t) {
                                var e = [2, -.4, .5, 0, 0, -.5, 2, -.4, 0, 0, -.4, -.5, 3, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(e, t)
                            }, e.prototype.reset = function() {
                                var t = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
                                this._loadMatrix(t, !1)
                            }, a(e, [{
                                key: "matrix",
                                get: function() {
                                    return this.uniforms.m
                                },
                                set: function(t) {
                                    this.uniforms.m = t
                                }
                            }, {
                                key: "alpha",
                                get: function() {
                                    return this.uniforms.uAlpha
                                },
                                set: function(t) {
                                    this.uniforms.uAlpha = t
                                }
                            }]), e
                        }(l.Filter));
                    r.default = u, u.prototype.grayscale = u.prototype.greyscale
                }, {
                    "../../core": 65,
                    path: 8
                }],
                151: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = (t("path"), function(t) {
                            function e(r, o) {
                                i(this, e);
                                var a = new l.Matrix;
                                r.renderable = !1;
                                var s = n(this, t.call(this, "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 filterMatrix;\n\nvarying vec2 vTextureCoord;\nvarying vec2 vFilterCoord;\n\nvoid main(void)\n{\n   gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n   vFilterCoord = ( filterMatrix * vec3( aTextureCoord, 1.0)  ).xy;\n   vTextureCoord = aTextureCoord;\n}", "varying vec2 vFilterCoord;\nvarying vec2 vTextureCoord;\n\nuniform vec2 scale;\n\nuniform sampler2D uSampler;\nuniform sampler2D mapSampler;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\n\nvoid main(void)\n{\n  vec4 map =  texture2D(mapSampler, vFilterCoord);\n\n  map -= 0.5;\n  map.xy *= scale / filterArea.xy;\n\n  gl_FragColor = texture2D(uSampler, clamp(vec2(vTextureCoord.x + map.x, vTextureCoord.y + map.y), filterClamp.xy, filterClamp.zw));\n}\n"));
                                return s.maskSprite = r, s.maskMatrix = a, s.uniforms.mapSampler = r._texture, s.uniforms.filterMatrix = a, s.uniforms.scale = {
                                    x: 1,
                                    y: 1
                                }, null !== o && void 0 !== o || (o = 20), s.scale = new l.Point(o, o), s
                            }
                            return o(e, t), e.prototype.apply = function(t, e, r) {
                                this.uniforms.filterMatrix = t.calculateSpriteMatrix(this.maskMatrix, this.maskSprite), this.uniforms.scale.x = this.scale.x, this.uniforms.scale.y = this.scale.y, t.applyFilter(this, e, r)
                            }, a(e, [{
                                key: "map",
                                get: function() {
                                    return this.uniforms.mapSampler
                                },
                                set: function(t) {
                                    this.uniforms.mapSampler = t
                                }
                            }]), e
                        }(l.Filter));
                    r.default = u
                }, {
                    "../../core": 65,
                    path: 8
                }],
                152: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = t("../../core"),
                        s = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(a),
                        l = (t("path"), function(t) {
                            function e() {
                                return i(this, e), n(this, t.call(this, "\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 v_rgbNW;\nvarying vec2 v_rgbNE;\nvarying vec2 v_rgbSW;\nvarying vec2 v_rgbSE;\nvarying vec2 v_rgbM;\n\nuniform vec4 filterArea;\n\nvarying vec2 vTextureCoord;\n\nvec2 mapCoord( vec2 coord )\n{\n    coord *= filterArea.xy;\n    coord += filterArea.zw;\n\n    return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n    coord -= filterArea.zw;\n    coord /= filterArea.xy;\n\n    return coord;\n}\n\nvoid texcoords(vec2 fragCoord, vec2 resolution,\n               out vec2 v_rgbNW, out vec2 v_rgbNE,\n               out vec2 v_rgbSW, out vec2 v_rgbSE,\n               out vec2 v_rgbM) {\n    vec2 inverseVP = 1.0 / resolution.xy;\n    v_rgbNW = (fragCoord + vec2(-1.0, -1.0)) * inverseVP;\n    v_rgbNE = (fragCoord + vec2(1.0, -1.0)) * inverseVP;\n    v_rgbSW = (fragCoord + vec2(-1.0, 1.0)) * inverseVP;\n    v_rgbSE = (fragCoord + vec2(1.0, 1.0)) * inverseVP;\n    v_rgbM = vec2(fragCoord * inverseVP);\n}\n\nvoid main(void) {\n\n   gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n   vTextureCoord = aTextureCoord;\n\n   vec2 fragCoord = vTextureCoord * filterArea.xy;\n\n   texcoords(fragCoord, filterArea.xy, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);\n}", 'varying vec2 v_rgbNW;\nvarying vec2 v_rgbNE;\nvarying vec2 v_rgbSW;\nvarying vec2 v_rgbSE;\nvarying vec2 v_rgbM;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\n/**\n Basic FXAA implementation based on the code on geeks3d.com with the\n modification that the texture2DLod stuff was removed since it\'s\n unsupported by WebGL.\n \n --\n \n From:\n https://github.com/mitsuhiko/webgl-meincraft\n \n Copyright (c) 2011 by Armin Ronacher.\n \n Some rights reserved.\n \n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n \n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials provided\n with the distribution.\n \n * The names of the contributors may not be used to endorse or\n promote products derived from this software without specific\n prior written permission.\n \n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n#ifndef FXAA_REDUCE_MIN\n#define FXAA_REDUCE_MIN   (1.0/ 128.0)\n#endif\n#ifndef FXAA_REDUCE_MUL\n#define FXAA_REDUCE_MUL   (1.0 / 8.0)\n#endif\n#ifndef FXAA_SPAN_MAX\n#define FXAA_SPAN_MAX     8.0\n#endif\n\n//optimized version for mobile, where dependent\n//texture reads can be a bottleneck\nvec4 fxaa(sampler2D tex, vec2 fragCoord, vec2 resolution,\n          vec2 v_rgbNW, vec2 v_rgbNE,\n          vec2 v_rgbSW, vec2 v_rgbSE,\n          vec2 v_rgbM) {\n    vec4 color;\n    mediump vec2 inverseVP = vec2(1.0 / resolution.x, 1.0 / resolution.y);\n    vec3 rgbNW = texture2D(tex, v_rgbNW).xyz;\n    vec3 rgbNE = texture2D(tex, v_rgbNE).xyz;\n    vec3 rgbSW = texture2D(tex, v_rgbSW).xyz;\n    vec3 rgbSE = texture2D(tex, v_rgbSE).xyz;\n    vec4 texColor = texture2D(tex, v_rgbM);\n    vec3 rgbM  = texColor.xyz;\n    vec3 luma = vec3(0.299, 0.587, 0.114);\n    float lumaNW = dot(rgbNW, luma);\n    float lumaNE = dot(rgbNE, luma);\n    float lumaSW = dot(rgbSW, luma);\n    float lumaSE = dot(rgbSE, luma);\n    float lumaM  = dot(rgbM,  luma);\n    float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));\n    float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));\n    \n    mediump vec2 dir;\n    dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));\n    dir.y =  ((lumaNW + lumaSW) - (lumaNE + lumaSE));\n    \n    float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) *\n                          (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);\n    \n    float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce);\n    dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),\n              max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),\n                  dir * rcpDirMin)) * inverseVP;\n    \n    vec3 rgbA = 0.5 * (\n                       texture2D(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz +\n                       texture2D(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz);\n    vec3 rgbB = rgbA * 0.5 + 0.25 * (\n                                     texture2D(tex, fragCoord * inverseVP + dir * -0.5).xyz +\n                                     texture2D(tex, fragCoord * inverseVP + dir * 0.5).xyz);\n    \n    float lumaB = dot(rgbB, luma);\n    if ((lumaB < lumaMin) || (lumaB > lumaMax))\n        color = vec4(rgbA, texColor.a);\n    else\n        color = vec4(rgbB, texColor.a);\n    return color;\n}\n\nvoid main() {\n\n      vec2 fragCoord = vTextureCoord * filterArea.xy;\n\n      vec4 color;\n\n    color = fxaa(uSampler, fragCoord, filterArea.xy, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);\n\n      gl_FragColor = color;\n}\n'))
                            }
                            return o(e, t), e
                        }(s.Filter));
                    r.default = l
                }, {
                    "../../core": 65,
                    path: 8
                }],
                153: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./fxaa/FXAAFilter");
                    Object.defineProperty(r, "FXAAFilter", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./noise/NoiseFilter");
                    Object.defineProperty(r, "NoiseFilter", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    });
                    var a = t("./displacement/DisplacementFilter");
                    Object.defineProperty(r, "DisplacementFilter", {
                        enumerable: !0,
                        get: function() {
                            return i(a).default
                        }
                    });
                    var s = t("./blur/BlurFilter");
                    Object.defineProperty(r, "BlurFilter", {
                        enumerable: !0,
                        get: function() {
                            return i(s).default
                        }
                    });
                    var l = t("./blur/BlurXFilter");
                    Object.defineProperty(r, "BlurXFilter", {
                        enumerable: !0,
                        get: function() {
                            return i(l).default
                        }
                    });
                    var u = t("./blur/BlurYFilter");
                    Object.defineProperty(r, "BlurYFilter", {
                        enumerable: !0,
                        get: function() {
                            return i(u).default
                        }
                    });
                    var h = t("./colormatrix/ColorMatrixFilter");
                    Object.defineProperty(r, "ColorMatrixFilter", {
                        enumerable: !0,
                        get: function() {
                            return i(h).default
                        }
                    });
                    var c = t("./alpha/AlphaFilter");
                    Object.defineProperty(r, "AlphaFilter", {
                        enumerable: !0,
                        get: function() {
                            return i(c).default
                        }
                    })
                }, {
                    "./alpha/AlphaFilter": 143,
                    "./blur/BlurFilter": 144,
                    "./blur/BlurXFilter": 145,
                    "./blur/BlurYFilter": 146,
                    "./colormatrix/ColorMatrixFilter": 150,
                    "./displacement/DisplacementFilter": 151,
                    "./fxaa/FXAAFilter": 152,
                    "./noise/NoiseFilter": 154
                }],
                154: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = (t("path"), function(t) {
                            function e() {
                                var r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : .5,
                                    o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Math.random();
                                i(this, e);
                                var a = n(this, t.call(this, "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n    vTextureCoord = aTextureCoord;\n}", "precision highp float;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform float uNoise;\nuniform float uSeed;\nuniform sampler2D uSampler;\n\nfloat rand(vec2 co)\n{\n    return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main()\n{\n    vec4 color = texture2D(uSampler, vTextureCoord);\n    float randomValue = rand(gl_FragCoord.xy * uSeed);\n    float diff = (randomValue - 0.5) * uNoise;\n\n    // Un-premultiply alpha before applying the color matrix. See issue #3539.\n    if (color.a > 0.0) {\n        color.rgb /= color.a;\n    }\n\n    color.r += diff;\n    color.g += diff;\n    color.b += diff;\n\n    // Premultiply alpha again.\n    color.rgb *= color.a;\n\n    gl_FragColor = color;\n}\n"));
                                return a.noise = r, a.seed = o, a
                            }
                            return o(e, t), a(e, [{
                                key: "noise",
                                get: function() {
                                    return this.uniforms.uNoise
                                },
                                set: function(t) {
                                    this.uniforms.uNoise = t
                                }
                            }, {
                                key: "seed",
                                get: function() {
                                    return this.uniforms.uSeed
                                },
                                set: function(t) {
                                    this.uniforms.uSeed = t
                                }
                            }]), e
                        }(l.Filter));
                    r.default = u
                }, {
                    "../../core": 65,
                    path: 8
                }],
                155: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        o = t("../core"),
                        a = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(o),
                        s = function() {
                            function t() {
                                i(this, t), this.global = new a.Point, this.target = null, this.originalEvent = null, this.identifier = null, this.isPrimary = !1, this.button = 0, this.buttons = 0, this.width = 0, this.height = 0, this.tiltX = 0, this.tiltY = 0, this.pointerType = null, this.pressure = 0, this.rotationAngle = 0, this.twist = 0, this.tangentialPressure = 0
                            }
                            return t.prototype.getLocalPosition = function(t, e, r) {
                                return t.worldTransform.applyInverse(r || this.global, e)
                            }, t.prototype.copyEvent = function(t) {
                                t.isPrimary && (this.isPrimary = !0), this.button = t.button, this.buttons = Number.isInteger(t.buttons) ? t.buttons : t.which, this.width = t.width, this.height = t.height, this.tiltX = t.tiltX, this.tiltY = t.tiltY, this.pointerType = t.pointerType, this.pressure = t.pressure, this.rotationAngle = t.rotationAngle, this.twist = t.twist || 0, this.tangentialPressure = t.tangentialPressure || 0
                            }, t.prototype.reset = function() {
                                this.isPrimary = !1
                            }, n(t, [{
                                key: "pointerId",
                                get: function() {
                                    return this.identifier
                                }
                            }]), t
                        }();
                    r.default = s
                }, {
                    "../core": 65
                }],
                156: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t() {
                            i(this, t), this.stopped = !1, this.target = null, this.currentTarget = null, this.type = null, this.data = null
                        }
                        return t.prototype.stopPropagation = function() {
                            this.stopped = !0
                        }, t.prototype.reset = function() {
                            this.stopped = !1, this.currentTarget = null, this.target = null
                        }, t
                    }();
                    r.default = n
                }, {}],
                157: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
                            return typeof t
                        } : function(t) {
                            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                        },
                        l = t("../core"),
                        u = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(l),
                        h = t("./InteractionData"),
                        c = i(h),
                        d = t("./InteractionEvent"),
                        f = i(d),
                        p = t("./InteractionTrackingData"),
                        g = i(p),
                        y = t("eventemitter3"),
                        v = i(y),
                        m = t("./interactiveTarget"),
                        x = i(m);
                    u.utils.mixins.delayMixin(u.DisplayObject.prototype, x.default);
                    var _ = 1,
                        T = {
                            target: null,
                            data: {
                                global: null
                            }
                        },
                        b = function(t) {
                            function e(r, i) {
                                n(this, e);
                                var a = o(this, t.call(this));
                                return i = i || {}, a.renderer = r, a.autoPreventDefault = void 0 === i.autoPreventDefault || i.autoPreventDefault, a.interactionFrequency = i.interactionFrequency || 10, a.mouse = new c.default, a.mouse.identifier = _, a.mouse.global.set(-999999), a.activeInteractionData = {}, a.activeInteractionData[_] = a.mouse, a.interactionDataPool = [], a.eventData = new f.default, a.interactionDOMElement = null, a.moveWhenInside = !1, a.eventsAdded = !1, a.mouseOverRenderer = !1, a.supportsTouchEvents = "ontouchstart" in window, a.supportsPointerEvents = !!window.PointerEvent, a.onPointerUp = a.onPointerUp.bind(a), a.processPointerUp = a.processPointerUp.bind(a), a.onPointerCancel = a.onPointerCancel.bind(a), a.processPointerCancel = a.processPointerCancel.bind(a), a.onPointerDown = a.onPointerDown.bind(a), a.processPointerDown = a.processPointerDown.bind(a), a.onPointerMove = a.onPointerMove.bind(a), a.processPointerMove = a.processPointerMove.bind(a), a.onPointerOut = a.onPointerOut.bind(a), a.processPointerOverOut = a.processPointerOverOut.bind(a), a.onPointerOver = a.onPointerOver.bind(a), a.cursorStyles = {
                                    default: "inherit",
                                    pointer: "pointer"
                                }, a.currentCursorMode = null, a.cursor = null, a._tempPoint = new u.Point, a.resolution = 1, a.setTargetElement(a.renderer.view, a.renderer.resolution), a
                            }
                            return a(e, t), e.prototype.hitTest = function(t, e) {
                                return T.target = null, T.data.global = t, e || (e = this.renderer._lastObjectRendered), this.processInteractive(T, e, null, !0), T.target
                            }, e.prototype.setTargetElement = function(t) {
                                var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1;
                                this.removeEvents(), this.interactionDOMElement = t, this.resolution = e, this.addEvents()
                            }, e.prototype.addEvents = function() {
                                this.interactionDOMElement && (u.ticker.shared.add(this.update, this, u.UPDATE_PRIORITY.INTERACTION), window.navigator.msPointerEnabled ? (this.interactionDOMElement.style["-ms-content-zooming"] = "none", this.interactionDOMElement.style["-ms-touch-action"] = "none") : this.supportsPointerEvents && (this.interactionDOMElement.style["touch-action"] = "none"), this.supportsPointerEvents ? (window.document.addEventListener("pointermove", this.onPointerMove, !0), this.interactionDOMElement.addEventListener("pointerdown", this.onPointerDown, !0), this.interactionDOMElement.addEventListener("pointerleave", this.onPointerOut, !0), this.interactionDOMElement.addEventListener("pointerover", this.onPointerOver, !0), window.addEventListener("pointercancel", this.onPointerCancel, !0), window.addEventListener("pointerup", this.onPointerUp, !0)) : (window.document.addEventListener("mousemove", this.onPointerMove, !0), this.interactionDOMElement.addEventListener("mousedown", this.onPointerDown, !0), this.interactionDOMElement.addEventListener("mouseout", this.onPointerOut, !0), this.interactionDOMElement.addEventListener("mouseover", this.onPointerOver, !0), window.addEventListener("mouseup", this.onPointerUp, !0)), this.supportsTouchEvents && (this.interactionDOMElement.addEventListener("touchstart", this.onPointerDown, !0), this.interactionDOMElement.addEventListener("touchcancel", this.onPointerCancel, !0), this.interactionDOMElement.addEventListener("touchend", this.onPointerUp, !0), this.interactionDOMElement.addEventListener("touchmove", this.onPointerMove, !0)), this.eventsAdded = !0)
                            }, e.prototype.removeEvents = function() {
                                this.interactionDOMElement && (u.ticker.shared.remove(this.update, this), window.navigator.msPointerEnabled ? (this.interactionDOMElement.style["-ms-content-zooming"] = "", this.interactionDOMElement.style["-ms-touch-action"] = "") : this.supportsPointerEvents && (this.interactionDOMElement.style["touch-action"] = ""), this.supportsPointerEvents ? (window.document.removeEventListener("pointermove", this.onPointerMove, !0), this.interactionDOMElement.removeEventListener("pointerdown", this.onPointerDown, !0), this.interactionDOMElement.removeEventListener("pointerleave", this.onPointerOut, !0), this.interactionDOMElement.removeEventListener("pointerover", this.onPointerOver, !0), window.removeEventListener("pointercancel", this.onPointerCancel, !0), window.removeEventListener("pointerup", this.onPointerUp, !0)) : (window.document.removeEventListener("mousemove", this.onPointerMove, !0), this.interactionDOMElement.removeEventListener("mousedown", this.onPointerDown, !0), this.interactionDOMElement.removeEventListener("mouseout", this.onPointerOut, !0), this.interactionDOMElement.removeEventListener("mouseover", this.onPointerOver, !0), window.removeEventListener("mouseup", this.onPointerUp, !0)), this.supportsTouchEvents && (this.interactionDOMElement.removeEventListener("touchstart", this.onPointerDown, !0), this.interactionDOMElement.removeEventListener("touchcancel", this.onPointerCancel, !0), this.interactionDOMElement.removeEventListener("touchend", this.onPointerUp, !0), this.interactionDOMElement.removeEventListener("touchmove", this.onPointerMove, !0)), this.interactionDOMElement = null, this.eventsAdded = !1)
                            }, e.prototype.update = function(t) {
                                if (this._deltaTime += t, !(this._deltaTime < this.interactionFrequency) && (this._deltaTime = 0, this.interactionDOMElement)) {
                                    if (this.didMove) return void(this.didMove = !1);
                                    this.cursor = null;
                                    for (var e in this.activeInteractionData)
                                        if (this.activeInteractionData.hasOwnProperty(e)) {
                                            var r = this.activeInteractionData[e];
                                            if (r.originalEvent && "touch" !== r.pointerType) {
                                                var i = this.configureInteractionEventForDOMEvent(this.eventData, r.originalEvent, r);
                                                this.processInteractive(i, this.renderer._lastObjectRendered, this.processPointerOverOut, !0)
                                            }
                                        }
                                    this.setCursorMode(this.cursor)
                                }
                            }, e.prototype.setCursorMode = function(t) {
                                if (t = t || "default", this.currentCursorMode !== t) {
                                    this.currentCursorMode = t;
                                    var e = this.cursorStyles[t];
                                    if (e) switch (void 0 === e ? "undefined" : s(e)) {
                                        case "string":
                                            this.interactionDOMElement.style.cursor = e;
                                            break;
                                        case "function":
                                            e(t);
                                            break;
                                        case "object":
                                            Object.assign(this.interactionDOMElement.style, e)
                                    } else "string" != typeof t || Object.prototype.hasOwnProperty.call(this.cursorStyles, t) || (this.interactionDOMElement.style.cursor = t)
                                }
                            }, e.prototype.dispatchEvent = function(t, e, r) {
                                r.stopped || (r.currentTarget = t, r.type = e, t.emit(e, r), t[e] && t[e](r))
                            }, e.prototype.mapPositionToPoint = function(t, e, r) {
                                var i = void 0;
                                i = this.interactionDOMElement.parentElement ? this.interactionDOMElement.getBoundingClientRect() : {
                                    x: 0,
                                    y: 0,
                                    width: 0,
                                    height: 0
                                };
                                var n = navigator.isCocoonJS ? this.resolution : 1 / this.resolution;
                                t.x = (e - i.left) * (this.interactionDOMElement.width / i.width) * n,
                                    t.y = (r - i.top) * (this.interactionDOMElement.height / i.height) * n
                            }, e.prototype.processInteractive = function(t, e, r, i, n) {
                                if (!e || !e.visible) return !1;
                                var o = t.data.global;
                                n = e.interactive || n;
                                var a = !1,
                                    s = n,
                                    l = !0;
                                if (e.hitArea ? (i && (e.worldTransform.applyInverse(o, this._tempPoint), e.hitArea.contains(this._tempPoint.x, this._tempPoint.y) ? a = !0 : (i = !1, l = !1)), s = !1) : e._mask && i && (e._mask.containsPoint(o) || (i = !1, l = !1)), l && e.interactiveChildren && e.children)
                                    for (var u = e.children, h = u.length - 1; h >= 0; h--) {
                                        var c = u[h],
                                            d = this.processInteractive(t, c, r, i, s);
                                        if (d) {
                                            if (!c.parent) continue;
                                            s = !1, d && (t.target && (i = !1), a = !0)
                                        }
                                    }
                                return n && (i && !t.target && !e.hitArea && e.containsPoint && e.containsPoint(o) && (a = !0), e.interactive && (a && !t.target && (t.target = e), r && r(t, e, !!a))), a
                            }, e.prototype.onPointerDown = function(t) {
                                if (!this.supportsTouchEvents || "touch" !== t.pointerType) {
                                    var e = this.normalizeToPointerData(t);
                                    this.autoPreventDefault && e[0].isNormalized && t.preventDefault();
                                    for (var r = e.length, i = 0; i < r; i++) {
                                        var n = e[i],
                                            o = this.getInteractionDataForPointerId(n),
                                            a = this.configureInteractionEventForDOMEvent(this.eventData, n, o);
                                        if (a.data.originalEvent = t, this.processInteractive(a, this.renderer._lastObjectRendered, this.processPointerDown, !0), this.emit("pointerdown", a), "touch" === n.pointerType) this.emit("touchstart", a);
                                        else if ("mouse" === n.pointerType || "pen" === n.pointerType) {
                                            var s = 2 === n.button;
                                            this.emit(s ? "rightdown" : "mousedown", this.eventData)
                                        }
                                    }
                                }
                            }, e.prototype.processPointerDown = function(t, e, r) {
                                var i = t.data,
                                    n = t.data.identifier;
                                if (r)
                                    if (e.trackedPointers[n] || (e.trackedPointers[n] = new g.default(n)), this.dispatchEvent(e, "pointerdown", t), "touch" === i.pointerType) this.dispatchEvent(e, "touchstart", t);
                                    else if ("mouse" === i.pointerType || "pen" === i.pointerType) {
                                    var o = 2 === i.button;
                                    o ? e.trackedPointers[n].rightDown = !0 : e.trackedPointers[n].leftDown = !0, this.dispatchEvent(e, o ? "rightdown" : "mousedown", t)
                                }
                            }, e.prototype.onPointerComplete = function(t, e, r) {
                                for (var i = this.normalizeToPointerData(t), n = i.length, o = t.target !== this.interactionDOMElement ? "outside" : "", a = 0; a < n; a++) {
                                    var s = i[a],
                                        l = this.getInteractionDataForPointerId(s),
                                        u = this.configureInteractionEventForDOMEvent(this.eventData, s, l);
                                    if (u.data.originalEvent = t, this.processInteractive(u, this.renderer._lastObjectRendered, r, e || !o), this.emit(e ? "pointercancel" : "pointerup" + o, u), "mouse" === s.pointerType || "pen" === s.pointerType) {
                                        var h = 2 === s.button;
                                        this.emit(h ? "rightup" + o : "mouseup" + o, u)
                                    } else "touch" === s.pointerType && (this.emit(e ? "touchcancel" : "touchend" + o, u), this.releaseInteractionDataForPointerId(s.pointerId, l))
                                }
                            }, e.prototype.onPointerCancel = function(t) {
                                this.supportsTouchEvents && "touch" === t.pointerType || this.onPointerComplete(t, !0, this.processPointerCancel)
                            }, e.prototype.processPointerCancel = function(t, e) {
                                var r = t.data,
                                    i = t.data.identifier;
                                void 0 !== e.trackedPointers[i] && (delete e.trackedPointers[i], this.dispatchEvent(e, "pointercancel", t), "touch" === r.pointerType && this.dispatchEvent(e, "touchcancel", t))
                            }, e.prototype.onPointerUp = function(t) {
                                this.supportsTouchEvents && "touch" === t.pointerType || this.onPointerComplete(t, !1, this.processPointerUp)
                            }, e.prototype.processPointerUp = function(t, e, r) {
                                var i = t.data,
                                    n = t.data.identifier,
                                    o = e.trackedPointers[n],
                                    a = "touch" === i.pointerType,
                                    s = "mouse" === i.pointerType || "pen" === i.pointerType,
                                    l = !1;
                                if (s) {
                                    var u = 2 === i.button,
                                        h = g.default.FLAGS,
                                        c = u ? h.RIGHT_DOWN : h.LEFT_DOWN,
                                        d = void 0 !== o && o.flags & c;
                                    r ? (this.dispatchEvent(e, u ? "rightup" : "mouseup", t), d && (this.dispatchEvent(e, u ? "rightclick" : "click", t), l = !0)) : d && this.dispatchEvent(e, u ? "rightupoutside" : "mouseupoutside", t), o && (u ? o.rightDown = !1 : o.leftDown = !1)
                                }
                                r ? (this.dispatchEvent(e, "pointerup", t), a && this.dispatchEvent(e, "touchend", t), o && (s && !l || this.dispatchEvent(e, "pointertap", t), a && (this.dispatchEvent(e, "tap", t), o.over = !1))) : o && (this.dispatchEvent(e, "pointerupoutside", t), a && this.dispatchEvent(e, "touchendoutside", t)), o && o.none && delete e.trackedPointers[n]
                            }, e.prototype.onPointerMove = function(t) {
                                if (!this.supportsTouchEvents || "touch" !== t.pointerType) {
                                    var e = this.normalizeToPointerData(t);
                                    "mouse" !== e[0].pointerType && "pen" !== e[0].pointerType || (this.didMove = !0, this.cursor = null);
                                    for (var r = e.length, i = 0; i < r; i++) {
                                        var n = e[i],
                                            o = this.getInteractionDataForPointerId(n),
                                            a = this.configureInteractionEventForDOMEvent(this.eventData, n, o);
                                        a.data.originalEvent = t;
                                        var s = "touch" !== n.pointerType || this.moveWhenInside;
                                        this.processInteractive(a, this.renderer._lastObjectRendered, this.processPointerMove, s), this.emit("pointermove", a), "touch" === n.pointerType && this.emit("touchmove", a), "mouse" !== n.pointerType && "pen" !== n.pointerType || this.emit("mousemove", a)
                                    }
                                    "mouse" === e[0].pointerType && this.setCursorMode(this.cursor)
                                }
                            }, e.prototype.processPointerMove = function(t, e, r) {
                                var i = t.data,
                                    n = "touch" === i.pointerType,
                                    o = "mouse" === i.pointerType || "pen" === i.pointerType;
                                o && this.processPointerOverOut(t, e, r), this.moveWhenInside && !r || (this.dispatchEvent(e, "pointermove", t), n && this.dispatchEvent(e, "touchmove", t), o && this.dispatchEvent(e, "mousemove", t))
                            }, e.prototype.onPointerOut = function(t) {
                                if (!this.supportsTouchEvents || "touch" !== t.pointerType) {
                                    var e = this.normalizeToPointerData(t),
                                        r = e[0];
                                    "mouse" === r.pointerType && (this.mouseOverRenderer = !1, this.setCursorMode(null));
                                    var i = this.getInteractionDataForPointerId(r),
                                        n = this.configureInteractionEventForDOMEvent(this.eventData, r, i);
                                    n.data.originalEvent = r, this.processInteractive(n, this.renderer._lastObjectRendered, this.processPointerOverOut, !1), this.emit("pointerout", n), "mouse" === r.pointerType || "pen" === r.pointerType ? this.emit("mouseout", n) : this.releaseInteractionDataForPointerId(i.identifier)
                                }
                            }, e.prototype.processPointerOverOut = function(t, e, r) {
                                var i = t.data,
                                    n = t.data.identifier,
                                    o = "mouse" === i.pointerType || "pen" === i.pointerType,
                                    a = e.trackedPointers[n];
                                r && !a && (a = e.trackedPointers[n] = new g.default(n)), void 0 !== a && (r && this.mouseOverRenderer ? (a.over || (a.over = !0, this.dispatchEvent(e, "pointerover", t), o && this.dispatchEvent(e, "mouseover", t)), o && null === this.cursor && (this.cursor = e.cursor)) : a.over && (a.over = !1, this.dispatchEvent(e, "pointerout", this.eventData), o && this.dispatchEvent(e, "mouseout", t), a.none && delete e.trackedPointers[n]))
                            }, e.prototype.onPointerOver = function(t) {
                                var e = this.normalizeToPointerData(t),
                                    r = e[0],
                                    i = this.getInteractionDataForPointerId(r),
                                    n = this.configureInteractionEventForDOMEvent(this.eventData, r, i);
                                n.data.originalEvent = r, "mouse" === r.pointerType && (this.mouseOverRenderer = !0), this.emit("pointerover", n), "mouse" !== r.pointerType && "pen" !== r.pointerType || this.emit("mouseover", n)
                            }, e.prototype.getInteractionDataForPointerId = function(t) {
                                var e = t.pointerId,
                                    r = void 0;
                                return e === _ || "mouse" === t.pointerType ? r = this.mouse : this.activeInteractionData[e] ? r = this.activeInteractionData[e] : (r = this.interactionDataPool.pop() || new c.default, r.identifier = e, this.activeInteractionData[e] = r), r.copyEvent(t), r
                            }, e.prototype.releaseInteractionDataForPointerId = function(t) {
                                var e = this.activeInteractionData[t];
                                e && (delete this.activeInteractionData[t], e.reset(), this.interactionDataPool.push(e))
                            }, e.prototype.configureInteractionEventForDOMEvent = function(t, e, r) {
                                return t.data = r, this.mapPositionToPoint(r.global, e.clientX, e.clientY), navigator.isCocoonJS && "touch" === e.pointerType && (r.global.x = r.global.x / this.resolution, r.global.y = r.global.y / this.resolution), "touch" === e.pointerType && (e.globalX = r.global.x, e.globalY = r.global.y), r.originalEvent = e, t.reset(), t
                            }, e.prototype.normalizeToPointerData = function(t) {
                                var e = [];
                                if (this.supportsTouchEvents && t instanceof TouchEvent)
                                    for (var r = 0, i = t.changedTouches.length; r < i; r++) {
                                        var n = t.changedTouches[r];
                                        void 0 === n.button && (n.button = t.touches.length ? 1 : 0), void 0 === n.buttons && (n.buttons = t.touches.length ? 1 : 0), void 0 === n.isPrimary && (n.isPrimary = 1 === t.touches.length && "touchstart" === t.type), void 0 === n.width && (n.width = n.radiusX || 1), void 0 === n.height && (n.height = n.radiusY || 1), void 0 === n.tiltX && (n.tiltX = 0), void 0 === n.tiltY && (n.tiltY = 0), void 0 === n.pointerType && (n.pointerType = "touch"), void 0 === n.pointerId && (n.pointerId = n.identifier || 0), void 0 === n.pressure && (n.pressure = n.force || .5), void 0 === n.twist && (n.twist = 0), void 0 === n.tangentialPressure && (n.tangentialPressure = 0), void 0 === n.layerX && (n.layerX = n.offsetX = n.clientX), void 0 === n.layerY && (n.layerY = n.offsetY = n.clientY), n.isNormalized = !0, e.push(n)
                                    } else !(t instanceof MouseEvent) || this.supportsPointerEvents && t instanceof window.PointerEvent ? e.push(t) : (void 0 === t.isPrimary && (t.isPrimary = !0), void 0 === t.width && (t.width = 1), void 0 === t.height && (t.height = 1), void 0 === t.tiltX && (t.tiltX = 0), void 0 === t.tiltY && (t.tiltY = 0), void 0 === t.pointerType && (t.pointerType = "mouse"), void 0 === t.pointerId && (t.pointerId = _), void 0 === t.pressure && (t.pressure = .5), void 0 === t.twist && (t.twist = 0), void 0 === t.tangentialPressure && (t.tangentialPressure = 0), t.isNormalized = !0, e.push(t));
                                return e
                            }, e.prototype.destroy = function() {
                                this.removeEvents(), this.removeAllListeners(), this.renderer = null, this.mouse = null, this.eventData = null, this.interactionDOMElement = null, this.onPointerDown = null, this.processPointerDown = null, this.onPointerUp = null, this.processPointerUp = null, this.onPointerCancel = null, this.processPointerCancel = null, this.onPointerMove = null, this.processPointerMove = null, this.onPointerOut = null, this.processPointerOverOut = null, this.onPointerOver = null, this._tempPoint = null
                            }, e
                        }(v.default);
                    r.default = b, u.WebGLRenderer.registerPlugin("interaction", b), u.CanvasRenderer.registerPlugin("interaction", b)
                }, {
                    "../core": 65,
                    "./InteractionData": 155,
                    "./InteractionEvent": 156,
                    "./InteractionTrackingData": 158,
                    "./interactiveTarget": 160,
                    eventemitter3: 3
                }],
                158: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        o = function() {
                            function t(e) {
                                i(this, t), this._pointerId = e, this._flags = t.FLAGS.NONE
                            }
                            return t.prototype._doSet = function(t, e) {
                                this._flags = e ? this._flags | t : this._flags & ~t
                            }, n(t, [{
                                key: "pointerId",
                                get: function() {
                                    return this._pointerId
                                }
                            }, {
                                key: "flags",
                                get: function() {
                                    return this._flags
                                },
                                set: function(t) {
                                    this._flags = t
                                }
                            }, {
                                key: "none",
                                get: function() {
                                    return this._flags === this.constructor.FLAGS.NONE
                                }
                            }, {
                                key: "over",
                                get: function() {
                                    return 0 != (this._flags & this.constructor.FLAGS.OVER)
                                },
                                set: function(t) {
                                    this._doSet(this.constructor.FLAGS.OVER, t)
                                }
                            }, {
                                key: "rightDown",
                                get: function() {
                                    return 0 != (this._flags & this.constructor.FLAGS.RIGHT_DOWN)
                                },
                                set: function(t) {
                                    this._doSet(this.constructor.FLAGS.RIGHT_DOWN, t)
                                }
                            }, {
                                key: "leftDown",
                                get: function() {
                                    return 0 != (this._flags & this.constructor.FLAGS.LEFT_DOWN)
                                },
                                set: function(t) {
                                    this._doSet(this.constructor.FLAGS.LEFT_DOWN, t)
                                }
                            }]), t
                        }();
                    r.default = o, o.FLAGS = Object.freeze({
                        NONE: 0,
                        OVER: 1,
                        LEFT_DOWN: 2,
                        RIGHT_DOWN: 4
                    })
                }, {}],
                159: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./InteractionData");
                    Object.defineProperty(r, "InteractionData", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./InteractionManager");
                    Object.defineProperty(r, "InteractionManager", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    });
                    var a = t("./interactiveTarget");
                    Object.defineProperty(r, "interactiveTarget", {
                        enumerable: !0,
                        get: function() {
                            return i(a).default
                        }
                    });
                    var s = t("./InteractionTrackingData");
                    Object.defineProperty(r, "InteractionTrackingData", {
                        enumerable: !0,
                        get: function() {
                            return i(s).default
                        }
                    });
                    var l = t("./InteractionEvent");
                    Object.defineProperty(r, "InteractionEvent", {
                        enumerable: !0,
                        get: function() {
                            return i(l).default
                        }
                    })
                }, {
                    "./InteractionData": 155,
                    "./InteractionEvent": 156,
                    "./InteractionManager": 157,
                    "./InteractionTrackingData": 158,
                    "./interactiveTarget": 160
                }],
                160: [function(t, e, r) {
                    "use strict";
                    r.__esModule = !0, r.default = {
                        interactive: !1,
                        interactiveChildren: !0,
                        hitArea: null,
                        get buttonMode() {
                            return "pointer" === this.cursor
                        },
                        set buttonMode(t) {
                            t ? this.cursor = "pointer" : "pointer" === this.cursor && (this.cursor = null)
                        },
                        cursor: null,
                        get trackedPointers() {
                            return void 0 === this._trackedPointers && (this._trackedPointers = {}), this._trackedPointers
                        },
                        _trackedPointers: void 0
                    }
                }, {}],
                161: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        t.bitmapFont = s.BitmapText.registerFont(t.data, e)
                    }
                    r.__esModule = !0, r.parse = i, r.default = function() {
                        return function(t, e) {
                            if (!t.data || t.type !== a.Resource.TYPE.XML) return void e();
                            if (0 === t.data.getElementsByTagName("page").length || 0 === t.data.getElementsByTagName("info").length || null === t.data.getElementsByTagName("info")[0].getAttribute("face")) return void e();
                            var r = t.isDataUrl ? "" : o.dirname(t.url);
                            t.isDataUrl && ("." === r && (r = ""), this.baseUrl && r && "/" === this.baseUrl.charAt(this.baseUrl.length - 1) && (r += "/")), (r = r.replace(this.baseUrl, "")) && "/" !== r.charAt(r.length - 1) && (r += "/");
                            for (var n = t.data.getElementsByTagName("page"), s = {}, l = function(r) {
                                    s[r.metadata.pageFile] = r.texture, Object.keys(s).length === n.length && (i(t, s), e())
                                }, u = 0; u < n.length; ++u) {
                                var h = n[u].getAttribute("file"),
                                    c = r + h,
                                    d = !1;
                                for (var f in this.resources) {
                                    var p = this.resources[f];
                                    if (p.url === c) {
                                        p.metadata.pageFile = h, p.texture ? l(p) : p.onAfterMiddleware.add(l), d = !0;
                                        break
                                    }
                                }
                                if (!d) {
                                    var g = {
                                        crossOrigin: t.crossOrigin,
                                        loadType: a.Resource.LOAD_TYPE.IMAGE,
                                        metadata: Object.assign({
                                            pageFile: h
                                        }, t.metadata.imageMetadata),
                                        parentResource: t
                                    };
                                    this.add(c, g, l)
                                }
                            }
                        }
                    };
                    var n = t("path"),
                        o = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(n),
                        a = t("resource-loader"),
                        s = t("../extras")
                }, {
                    "../extras": 141,
                    path: 8,
                    "resource-loader": 36
                }],
                162: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0, r.shared = r.Resource = r.textureParser = r.getResourcePath = r.spritesheetParser = r.parseBitmapFontData = r.bitmapFontParser = r.Loader = void 0;
                    var n = t("./bitmapFontParser");
                    Object.defineProperty(r, "bitmapFontParser", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    }), Object.defineProperty(r, "parseBitmapFontData", {
                        enumerable: !0,
                        get: function() {
                            return n.parse
                        }
                    });
                    var o = t("./spritesheetParser");
                    Object.defineProperty(r, "spritesheetParser", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    }), Object.defineProperty(r, "getResourcePath", {
                        enumerable: !0,
                        get: function() {
                            return o.getResourcePath
                        }
                    });
                    var a = t("./textureParser");
                    Object.defineProperty(r, "textureParser", {
                        enumerable: !0,
                        get: function() {
                            return i(a).default
                        }
                    });
                    var s = t("resource-loader");
                    Object.defineProperty(r, "Resource", {
                        enumerable: !0,
                        get: function() {
                            return s.Resource
                        }
                    });
                    var l = t("../core/Application"),
                        u = i(l),
                        h = t("./loader"),
                        c = i(h);
                    r.Loader = c.default;
                    var d = new c.default;
                    d.destroy = function() {}, r.shared = d;
                    var f = u.default.prototype;
                    f._loader = null, Object.defineProperty(f, "loader", {
                        get: function() {
                            if (!this._loader) {
                                var t = this._options.sharedLoader;
                                this._loader = t ? d : new c.default
                            }
                            return this._loader
                        }
                    }), f._parentDestroy = f.destroy, f.destroy = function(t, e) {
                        this._loader && (this._loader.destroy(), this._loader = null), this._parentDestroy(t, e)
                    }
                }, {
                    "../core/Application": 43,
                    "./bitmapFontParser": 161,
                    "./loader": 163,
                    "./spritesheetParser": 164,
                    "./textureParser": 165,
                    "resource-loader": 36
                }],
                163: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("resource-loader"),
                        l = i(s),
                        u = t("resource-loader/lib/middlewares/parsing/blob"),
                        h = t("eventemitter3"),
                        c = i(h),
                        d = t("./textureParser"),
                        f = i(d),
                        p = t("./spritesheetParser"),
                        g = i(p),
                        y = t("./bitmapFontParser"),
                        v = i(y),
                        m = function(t) {
                            function e(r, i) {
                                n(this, e);
                                var a = o(this, t.call(this, r, i));
                                c.default.call(a);
                                for (var s = 0; s < e._pixiMiddleware.length; ++s) a.use(e._pixiMiddleware[s]());
                                return a.onStart.add(function(t) {
                                    return a.emit("start", t)
                                }), a.onProgress.add(function(t, e) {
                                    return a.emit("progress", t, e)
                                }), a.onError.add(function(t, e, r) {
                                    return a.emit("error", t, e, r)
                                }), a.onLoad.add(function(t, e) {
                                    return a.emit("load", t, e)
                                }), a.onComplete.add(function(t, e) {
                                    return a.emit("complete", t, e)
                                }), a
                            }
                            return a(e, t), e.addPixiMiddleware = function(t) {
                                e._pixiMiddleware.push(t)
                            }, e.prototype.destroy = function() {
                                this.removeAllListeners(), this.reset()
                            }, e
                        }(l.default);
                    r.default = m;
                    for (var x in c.default.prototype) m.prototype[x] = c.default.prototype[x];
                    m._pixiMiddleware = [u.blobMiddlewareFactory, f.default, g.default, v.default];
                    var _ = l.default.Resource;
                    _.setExtensionXhrType("fnt", _.XHR_RESPONSE_TYPE.DOCUMENT)
                }, {
                    "./bitmapFontParser": 161,
                    "./spritesheetParser": 164,
                    "./textureParser": 165,
                    eventemitter3: 3,
                    "resource-loader": 36,
                    "resource-loader/lib/middlewares/parsing/blob": 37
                }],
                164: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        return t.isDataUrl ? t.data.meta.image : a.default.resolve(t.url.replace(e, ""), t.data.meta.image)
                    }
                    r.__esModule = !0, r.default = function() {
                        return function(t, e) {
                            var r = t.name + "_image";
                            if (!t.data || t.type !== n.Resource.TYPE.JSON || !t.data.frames || this.resources[r]) return void e();
                            var o = {
                                    crossOrigin: t.crossOrigin,
                                    metadata: t.metadata.imageMetadata,
                                    parentResource: t
                                },
                                a = i(t, this.baseUrl);
                            this.add(r, a, o, function(r) {
                                if (r.error) return void e(r.error);
                                var i = new s.Spritesheet(r.texture.baseTexture, t.data, t.url);
                                i.parse(function() {
                                    t.spritesheet = i, t.textures = i.textures, e()
                                })
                            })
                        }
                    }, r.getResourcePath = i;
                    var n = t("resource-loader"),
                        o = t("url"),
                        a = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(o),
                        s = t("../core")
                }, {
                    "../core": 65,
                    "resource-loader": 36,
                    url: 38
                }],
                165: [function(t, e, r) {
                    "use strict";
                    r.__esModule = !0, r.default = function() {
                        return function(t, e) {
                            t.data && t.type === i.Resource.TYPE.IMAGE && (t.texture = o.default.fromLoader(t.data, t.url, t.name)), e()
                        }
                    };
                    var i = t("resource-loader"),
                        n = t("../core/textures/Texture"),
                        o = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(n)
                }, {
                    "../core/textures/Texture": 115,
                    "resource-loader": 36
                }],
                166: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = t("../core/textures/Texture"),
                        h = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(u),
                        c = new l.Point,
                        d = new l.Polygon,
                        f = function(t) {
                            function e(r, o, a, s, u) {
                                i(this, e);
                                var c = n(this, t.call(this));
                                return c._texture = r || h.default.EMPTY, c.uvs = a || new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]), c.vertices = o || new Float32Array([0, 0, 100, 0, 100, 100, 0, 100]), c.indices = s || new Uint16Array([0, 1, 3, 2]), c.dirty = 0, c.indexDirty = 0, c.vertexDirty = 0, c.autoUpdate = !0, c.blendMode = l.BLEND_MODES.NORMAL, c.canvasPadding = l.settings.MESH_CANVAS_PADDING, c.drawMode = u || e.DRAW_MODES.TRIANGLE_MESH, c.shader = null, c.tintRgb = new Float32Array([1, 1, 1]), c._glDatas = {}, c._uvTransform = new l.TextureMatrix(c._texture), c.uploadUvTransform = !1, c.pluginName = "mesh", c
                            }
                            return o(e, t), e.prototype._renderWebGL = function(t) {
                                this.refresh(), t.setObjectRenderer(t.plugins[this.pluginName]), t.plugins[this.pluginName].render(this)
                            }, e.prototype._renderCanvas = function(t) {
                                this.refresh(), t.plugins[this.pluginName].render(this)
                            }, e.prototype._onTextureUpdate = function() {
                                this._uvTransform.texture = this._texture, this.refresh()
                            }, e.prototype.multiplyUvs = function() {
                                this.uploadUvTransform || this._uvTransform.multiplyUvs(this.uvs)
                            }, e.prototype.refresh = function(t) {
                                this.autoUpdate && this.vertexDirty++, this._uvTransform.update(t) && this._refresh()
                            }, e.prototype._refresh = function() {}, e.prototype._calculateBounds = function() {
                                this._bounds.addVertices(this.transform, this.vertices, 0, this.vertices.length)
                            }, e.prototype.containsPoint = function(t) {
                                if (!this.getBounds().contains(t.x, t.y)) return !1;
                                this.worldTransform.applyInverse(t, c);
                                for (var r = this.vertices, i = d.points, n = this.indices, o = this.indices.length, a = this.drawMode === e.DRAW_MODES.TRIANGLES ? 3 : 1, s = 0; s + 2 < o; s += a) {
                                    var l = 2 * n[s],
                                        u = 2 * n[s + 1],
                                        h = 2 * n[s + 2];
                                    if (i[0] = r[l], i[1] = r[l + 1], i[2] = r[u], i[3] = r[u + 1], i[4] = r[h], i[5] = r[h + 1], d.contains(c.x, c.y)) return !0
                                }
                                return !1
                            }, e.prototype.destroy = function(e) {
                                for (var r in this._glDatas) {
                                    var i = this._glDatas[r];
                                    i.destroy ? i.destroy() : (i.vertexBuffer && (i.vertexBuffer.destroy(), i.vertexBuffer = null), i.indexBuffer && (i.indexBuffer.destroy(), i.indexBuffer = null), i.uvBuffer && (i.uvBuffer.destroy(), i.uvBuffer = null), i.vao && (i.vao.destroy(), i.vao = null))
                                }
                                this._glDatas = null, t.prototype.destroy.call(this, e)
                            }, a(e, [{
                                key: "texture",
                                get: function() {
                                    return this._texture
                                },
                                set: function(t) {
                                    this._texture !== t && (this._texture = t, t && (t.baseTexture.hasLoaded ? this._onTextureUpdate() : t.once("update", this._onTextureUpdate, this)))
                                }
                            }, {
                                key: "tint",
                                get: function() {
                                    return l.utils.rgb2hex(this.tintRgb)
                                },
                                set: function(t) {
                                    this.tintRgb = l.utils.hex2rgb(t, this.tintRgb)
                                }
                            }]), e
                        }(l.Container);
                    r.default = f, f.DRAW_MODES = {
                        TRIANGLE_MESH: 0,
                        TRIANGLES: 1
                    }
                }, {
                    "../core": 65,
                    "../core/textures/Texture": 115
                }],
                167: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        l = t("./Plane"),
                        u = i(l),
                        h = t("../core/sprites/canvas/CanvasTinter"),
                        c = i(h),
                        d = 10,
                        f = function(t) {
                            function e(r, i, a, s, l) {
                                n(this, e);
                                var u = o(this, t.call(this, r, 4, 4));
                                return u._origWidth = r.orig.width, u._origHeight = r.orig.height, u._width = u._origWidth, u._height = u._origHeight, u._leftWidth = void 0 !== i ? i : d, u._rightWidth = void 0 !== s ? s : d, u._topHeight = void 0 !== a ? a : d, u._bottomHeight = void 0 !== l ? l : d, u._cachedTint = 16777215, u._tintedTexture = null, u._canvasUvs = null, u.refresh(!0), u
                            }
                            return a(e, t), e.prototype.updateHorizontalVertices = function() {
                                var t = this.vertices,
                                    e = this._topHeight + this._bottomHeight,
                                    r = this._height > e ? 1 : this._height / e;
                                t[9] = t[11] = t[13] = t[15] = this._topHeight * r, t[17] = t[19] = t[21] = t[23] = this._height - this._bottomHeight * r, t[25] = t[27] = t[29] = t[31] = this._height
                            }, e.prototype.updateVerticalVertices = function() {
                                var t = this.vertices,
                                    e = this._leftWidth + this._rightWidth,
                                    r = this._width > e ? 1 : this._width / e;
                                t[2] = t[10] = t[18] = t[26] = this._leftWidth * r, t[4] = t[12] = t[20] = t[28] = this._width - this._rightWidth * r, t[6] = t[14] = t[22] = t[30] = this._width
                            }, e.prototype._renderCanvas = function(t) {
                                var e = t.context,
                                    r = this.worldTransform,
                                    i = t.resolution,
                                    n = 16777215 !== this.tint,
                                    o = this._texture;
                                n && this._cachedTint !== this.tint && (this._cachedTint = this.tint, this._tintedTexture = c.default.getTintedTexture(this, this.tint));
                                var a = n ? this._tintedTexture : o.baseTexture.source;
                                this._canvasUvs || (this._canvasUvs = [0, 0, 0, 0, 0, 0, 0, 0]);
                                var s = this.vertices,
                                    l = this._canvasUvs,
                                    u = n ? 0 : o.frame.x,
                                    h = n ? 0 : o.frame.y,
                                    d = u + o.frame.width,
                                    f = h + o.frame.height;
                                l[0] = u, l[1] = u + this._leftWidth, l[2] = d - this._rightWidth, l[3] = d, l[4] = h, l[5] = h + this._topHeight, l[6] = f - this._bottomHeight, l[7] = f;
                                for (var p = 0; p < 8; p++) l[p] *= o.baseTexture.resolution;
                                e.globalAlpha = this.worldAlpha, t.setBlendMode(this.blendMode), t.roundPixels ? e.setTransform(r.a * i, r.b * i, r.c * i, r.d * i, r.tx * i | 0, r.ty * i | 0) : e.setTransform(r.a * i, r.b * i, r.c * i, r.d * i, r.tx * i, r.ty * i);
                                for (var g = 0; g < 3; g++)
                                    for (var y = 0; y < 3; y++) {
                                        var v = 2 * y + 8 * g,
                                            m = Math.max(1, l[y + 1] - l[y]),
                                            x = Math.max(1, l[g + 5] - l[g + 4]),
                                            _ = Math.max(1, s[v + 10] - s[v]),
                                            T = Math.max(1, s[v + 11] - s[v + 1]);
                                        e.drawImage(a, l[y], l[g + 4], m, x, s[v], s[v + 1], _, T)
                                    }
                            }, e.prototype._refresh = function() {
                                t.prototype._refresh.call(this);
                                var e = this.uvs,
                                    r = this._texture;
                                this._origWidth = r.orig.width, this._origHeight = r.orig.height;
                                var i = 1 / this._origWidth,
                                    n = 1 / this._origHeight;
                                e[0] = e[8] = e[16] = e[24] = 0, e[1] = e[3] = e[5] = e[7] = 0, e[6] = e[14] = e[22] = e[30] = 1, e[25] = e[27] = e[29] = e[31] = 1, e[2] = e[10] = e[18] = e[26] = i * this._leftWidth, e[4] = e[12] = e[20] = e[28] = 1 - i * this._rightWidth, e[9] = e[11] = e[13] = e[15] = n * this._topHeight, e[17] = e[19] = e[21] = e[23] = 1 - n * this._bottomHeight, this.updateHorizontalVertices(), this.updateVerticalVertices(), this.dirty++, this.multiplyUvs()
                            }, s(e, [{
                                key: "width",
                                get: function() {
                                    return this._width
                                },
                                set: function(t) {
                                    this._width = t, this._refresh()
                                }
                            }, {
                                key: "height",
                                get: function() {
                                    return this._height
                                },
                                set: function(t) {
                                    this._height = t, this._refresh()
                                }
                            }, {
                                key: "leftWidth",
                                get: function() {
                                    return this._leftWidth
                                },
                                set: function(t) {
                                    this._leftWidth = t, this._refresh()
                                }
                            }, {
                                key: "rightWidth",
                                get: function() {
                                    return this._rightWidth
                                },
                                set: function(t) {
                                    this._rightWidth = t, this._refresh()
                                }
                            }, {
                                key: "topHeight",
                                get: function() {
                                    return this._topHeight
                                },
                                set: function(t) {
                                    this._topHeight = t, this._refresh()
                                }
                            }, {
                                key: "bottomHeight",
                                get: function() {
                                    return this._bottomHeight
                                },
                                set: function(t) {
                                    this._bottomHeight = t, this._refresh()
                                }
                            }]), e
                        }(u.default);
                    r.default = f
                }, {
                    "../core/sprites/canvas/CanvasTinter": 104,
                    "./Plane": 168
                }],
                168: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = t("./Mesh"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = function(t) {
                            function e(r, o, a) {
                                i(this, e);
                                var l = n(this, t.call(this, r));
                                return l._ready = !0, l.verticesX = o || 10, l.verticesY = a || 10, l.drawMode = s.default.DRAW_MODES.TRIANGLES, l.refresh(), l
                            }
                            return o(e, t), e.prototype._refresh = function() {
                                for (var t = this._texture, e = this.verticesX * this.verticesY, r = [], i = [], n = [], o = [], a = this.verticesX - 1, s = this.verticesY - 1, l = t.width / a, u = t.height / s, h = 0; h < e; h++) {
                                    var c = h % this.verticesX,
                                        d = h / this.verticesX | 0;
                                    r.push(c * l, d * u), n.push(c / a, d / s)
                                }
                                for (var f = a * s, p = 0; p < f; p++) {
                                    var g = p % a,
                                        y = p / a | 0,
                                        v = y * this.verticesX + g,
                                        m = y * this.verticesX + g + 1,
                                        x = (y + 1) * this.verticesX + g,
                                        _ = (y + 1) * this.verticesX + g + 1;
                                    o.push(v, m, x), o.push(m, _, x)
                                }
                                this.vertices = new Float32Array(r), this.uvs = new Float32Array(n), this.colors = new Float32Array(i), this.indices = new Uint16Array(o), this.dirty++, this.indexDirty++, this.multiplyUvs()
                            }, e.prototype._onTextureUpdate = function() {
                                s.default.prototype._onTextureUpdate.call(this), this._ready && this.refresh()
                            }, e
                        }(s.default);
                    r.default = l
                }, {
                    "./Mesh": 166
                }],
                169: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = t("./Mesh"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = function(t) {
                            function e(r, o) {
                                i(this, e);
                                var a = n(this, t.call(this, r));
                                return a.points = o, a.vertices = new Float32Array(4 * o.length), a.uvs = new Float32Array(4 * o.length), a.colors = new Float32Array(2 * o.length), a.indices = new Uint16Array(2 * o.length), a.autoUpdate = !0, a.refresh(), a
                            }
                            return o(e, t), e.prototype._refresh = function() {
                                var t = this.points;
                                if (!(t.length < 1) && this._texture._uvs) {
                                    this.vertices.length / 4 !== t.length && (this.vertices = new Float32Array(4 * t.length), this.uvs = new Float32Array(4 * t.length), this.colors = new Float32Array(2 * t.length), this.indices = new Uint16Array(2 * t.length));
                                    var e = this.uvs,
                                        r = this.indices,
                                        i = this.colors;
                                    e[0] = 0, e[1] = 0, e[2] = 0, e[3] = 1, i[0] = 1, i[1] = 1, r[0] = 0, r[1] = 1;
                                    for (var n = t.length, o = 1; o < n; o++) {
                                        var a = 4 * o,
                                            s = o / (n - 1);
                                        e[a] = s, e[a + 1] = 0, e[a + 2] = s, e[a + 3] = 1, a = 2 * o, i[a] = 1, i[a + 1] = 1, a = 2 * o, r[a] = a, r[a + 1] = a + 1
                                    }
                                    this.dirty++, this.indexDirty++, this.multiplyUvs(), this.refreshVertices()
                                }
                            }, e.prototype.refreshVertices = function() {
                                var t = this.points;
                                if (!(t.length < 1))
                                    for (var e = t[0], r = void 0, i = 0, n = 0, o = this.vertices, a = t.length, s = 0; s < a; s++) {
                                        var l = t[s],
                                            u = 4 * s;
                                        r = s < t.length - 1 ? t[s + 1] : l, n = -(r.x - e.x), i = r.y - e.y;
                                        var h = 10 * (1 - s / (a - 1));
                                        h > 1 && (h = 1);
                                        var c = Math.sqrt(i * i + n * n),
                                            d = this._texture.height / 2;
                                        i /= c, n /= c, i *= d, n *= d, o[u] = l.x + i, o[u + 1] = l.y + n, o[u + 2] = l.x - i, o[u + 3] = l.y - n, e = l
                                    }
                            }, e.prototype.updateTransform = function() {
                                this.autoUpdate && this.refreshVertices(), this.containerUpdateTransform()
                            }, e
                        }(s.default);
                    r.default = l
                }, {
                    "./Mesh": 166
                }],
                170: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = t("../../core"),
                        o = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(n),
                        a = t("../Mesh"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = function() {
                            function t(e) {
                                i(this, t), this.renderer = e
                            }
                            return t.prototype.render = function(t) {
                                var e = this.renderer,
                                    r = e.context,
                                    i = t.worldTransform,
                                    n = e.resolution;
                                e.roundPixels ? r.setTransform(i.a * n, i.b * n, i.c * n, i.d * n, i.tx * n | 0, i.ty * n | 0) : r.setTransform(i.a * n, i.b * n, i.c * n, i.d * n, i.tx * n, i.ty * n), e.context.globalAlpha = t.worldAlpha, e.setBlendMode(t.blendMode), t.drawMode === s.default.DRAW_MODES.TRIANGLE_MESH ? this._renderTriangleMesh(t) : this._renderTriangles(t)
                            }, t.prototype._renderTriangleMesh = function(t) {
                                for (var e = t.vertices.length / 2, r = 0; r < e - 2; r++) {
                                    var i = 2 * r;
                                    this._renderDrawTriangle(t, i, i + 2, i + 4)
                                }
                            }, t.prototype._renderTriangles = function(t) {
                                for (var e = t.indices, r = e.length, i = 0; i < r; i += 3) {
                                    var n = 2 * e[i],
                                        o = 2 * e[i + 1],
                                        a = 2 * e[i + 2];
                                    this._renderDrawTriangle(t, n, o, a)
                                }
                            }, t.prototype._renderDrawTriangle = function(t, e, r, i) {
                                var n = this.renderer.context,
                                    o = t.uvs,
                                    a = t.vertices,
                                    s = t._texture;
                                if (s.valid) {
                                    var l = s.baseTexture,
                                        u = l.source,
                                        h = l.width,
                                        c = l.height,
                                        d = void 0,
                                        f = void 0,
                                        p = void 0,
                                        g = void 0,
                                        y = void 0,
                                        v = void 0;
                                    if (t.uploadUvTransform) {
                                        var m = t._uvTransform.mapCoord;
                                        d = (o[e] * m.a + o[e + 1] * m.c + m.tx) * l.width, f = (o[r] * m.a + o[r + 1] * m.c + m.tx) * l.width, p = (o[i] * m.a + o[i + 1] * m.c + m.tx) * l.width, g = (o[e] * m.b + o[e + 1] * m.d + m.ty) * l.height, y = (o[r] * m.b + o[r + 1] * m.d + m.ty) * l.height, v = (o[i] * m.b + o[i + 1] * m.d + m.ty) * l.height
                                    } else d = o[e] * l.width, f = o[r] * l.width, p = o[i] * l.width, g = o[e + 1] * l.height, y = o[r + 1] * l.height, v = o[i + 1] * l.height;
                                    var x = a[e],
                                        _ = a[r],
                                        T = a[i],
                                        b = a[e + 1],
                                        w = a[r + 1],
                                        S = a[i + 1],
                                        E = t.canvasPadding / this.renderer.resolution;
                                    if (E > 0) {
                                        var C = E / Math.abs(t.worldTransform.a),
                                            O = E / Math.abs(t.worldTransform.d),
                                            M = (x + _ + T) / 3,
                                            P = (b + w + S) / 3,
                                            R = x - M,
                                            A = b - P,
                                            D = Math.sqrt(R * R + A * A);
                                        x = M + R / D * (D + C), b = P + A / D * (D + O), R = _ - M, A = w - P, D = Math.sqrt(R * R + A * A), _ = M + R / D * (D + C), w = P + A / D * (D + O), R = T - M, A = S - P, D = Math.sqrt(R * R + A * A), T = M + R / D * (D + C), S = P + A / D * (D + O)
                                    }
                                    n.save(), n.beginPath(), n.moveTo(x, b), n.lineTo(_, w), n.lineTo(T, S), n.closePath(), n.clip();
                                    var I = d * y + g * p + f * v - y * p - g * f - d * v,
                                        L = x * y + g * T + _ * v - y * T - g * _ - x * v,
                                        k = d * _ + x * p + f * T - _ * p - x * f - d * T,
                                        F = d * y * T + g * _ * p + x * f * v - x * y * p - g * f * T - d * _ * v,
                                        N = b * y + g * S + w * v - y * S - g * w - b * v,
                                        B = d * w + b * p + f * S - w * p - b * f - d * S,
                                        j = d * y * S + g * w * p + b * f * v - b * y * p - g * f * S - d * w * v;
                                    n.transform(L / I, N / I, k / I, B / I, F / I, j / I), n.drawImage(u, 0, 0, h * l.resolution, c * l.resolution, 0, 0, h, c), n.restore(), this.renderer.invalidateBlendMode()
                                }
                            }, t.prototype.renderMeshFlat = function(t) {
                                var e = this.renderer.context,
                                    r = t.vertices,
                                    i = r.length / 2;
                                e.beginPath();
                                for (var n = 1; n < i - 2; ++n) {
                                    var o = 2 * n,
                                        a = r[o],
                                        s = r[o + 1],
                                        l = r[o + 2],
                                        u = r[o + 3],
                                        h = r[o + 4],
                                        c = r[o + 5];
                                    e.moveTo(a, s), e.lineTo(l, u), e.lineTo(h, c)
                                }
                                e.fillStyle = "#FF0000", e.fill(), e.closePath()
                            }, t.prototype.destroy = function() {
                                this.renderer = null
                            }, t
                        }();
                    r.default = l, o.CanvasRenderer.registerPlugin("mesh", l)
                }, {
                    "../../core": 65,
                    "../Mesh": 166
                }],
                171: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./Mesh");
                    Object.defineProperty(r, "Mesh", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./webgl/MeshRenderer");
                    Object.defineProperty(r, "MeshRenderer", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    });
                    var a = t("./canvas/CanvasMeshRenderer");
                    Object.defineProperty(r, "CanvasMeshRenderer", {
                        enumerable: !0,
                        get: function() {
                            return i(a).default
                        }
                    });
                    var s = t("./Plane");
                    Object.defineProperty(r, "Plane", {
                        enumerable: !0,
                        get: function() {
                            return i(s).default
                        }
                    });
                    var l = t("./NineSlicePlane");
                    Object.defineProperty(r, "NineSlicePlane", {
                        enumerable: !0,
                        get: function() {
                            return i(l).default
                        }
                    });
                    var u = t("./Rope");
                    Object.defineProperty(r, "Rope", {
                        enumerable: !0,
                        get: function() {
                            return i(u).default
                        }
                    })
                }, {
                    "./Mesh": 166,
                    "./NineSlicePlane": 167,
                    "./Plane": 168,
                    "./Rope": 169,
                    "./canvas/CanvasMeshRenderer": 170,
                    "./webgl/MeshRenderer": 172
                }],
                172: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = t("pixi-gl-core"),
                        h = i(u),
                        c = t("../Mesh"),
                        d = i(c),
                        f = (t("path"), l.Matrix.IDENTITY),
                        p = function(t) {
                            function e(r) {
                                n(this, e);
                                var i = o(this, t.call(this, r));
                                return i.shader = null, i
                            }
                            return a(e, t), e.prototype.onContextChange = function() {
                                var t = this.renderer.gl;
                                this.shader = new l.Shader(t, "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mat3 uTransform;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = (uTransform * vec3(aTextureCoord, 1.0)).xy;\n}\n", "varying vec2 vTextureCoord;\nuniform vec4 uColor;\n\nuniform sampler2D uSampler;\n\nvoid main(void)\n{\n    gl_FragColor = texture2D(uSampler, vTextureCoord) * uColor;\n}\n")
                            }, e.prototype.render = function(t) {
                                var e = this.renderer,
                                    r = e.gl,
                                    i = t._texture;
                                if (i.valid) {
                                    var n = t._glDatas[e.CONTEXT_UID];
                                    n || (e.bindVao(null), n = {
                                        shader: this.shader,
                                        vertexBuffer: h.default.GLBuffer.createVertexBuffer(r, t.vertices, r.STREAM_DRAW),
                                        uvBuffer: h.default.GLBuffer.createVertexBuffer(r, t.uvs, r.STREAM_DRAW),
                                        indexBuffer: h.default.GLBuffer.createIndexBuffer(r, t.indices, r.STATIC_DRAW),
                                        vao: null,
                                        dirty: t.dirty,
                                        indexDirty: t.indexDirty,
                                        vertexDirty: t.vertexDirty
                                    }, n.vao = new h.default.VertexArrayObject(r).addIndex(n.indexBuffer).addAttribute(n.vertexBuffer, n.shader.attributes.aVertexPosition, r.FLOAT, !1, 8, 0).addAttribute(n.uvBuffer, n.shader.attributes.aTextureCoord, r.FLOAT, !1, 8, 0), t._glDatas[e.CONTEXT_UID] = n), e.bindVao(n.vao), t.dirty !== n.dirty && (n.dirty = t.dirty, n.uvBuffer.upload(t.uvs)), t.indexDirty !== n.indexDirty && (n.indexDirty = t.indexDirty, n.indexBuffer.upload(t.indices)), t.vertexDirty !== n.vertexDirty && (n.vertexDirty = t.vertexDirty, n.vertexBuffer.upload(t.vertices)), e.bindShader(n.shader), n.shader.uniforms.uSampler = e.bindTexture(i), e.state.setBlendMode(l.utils.correctBlendMode(t.blendMode, i.baseTexture.premultipliedAlpha)), n.shader.uniforms.uTransform && (t.uploadUvTransform ? n.shader.uniforms.uTransform = t._uvTransform.mapCoord.toArray(!0) : n.shader.uniforms.uTransform = f.toArray(!0)), n.shader.uniforms.translationMatrix = t.worldTransform.toArray(!0), n.shader.uniforms.uColor = l.utils.premultiplyRgba(t.tintRgb, t.worldAlpha, n.shader.uniforms.uColor, i.baseTexture.premultipliedAlpha);
                                    var o = t.drawMode === d.default.DRAW_MODES.TRIANGLE_MESH ? r.TRIANGLE_STRIP : r.TRIANGLES;
                                    n.vao.draw(o, t.indices.length, 0)
                                }
                            }, e
                        }(l.ObjectRenderer);
                    r.default = p, l.WebGLRenderer.registerPlugin("mesh", p)
                }, {
                    "../../core": 65,
                    "../Mesh": 166,
                    path: 8,
                    "pixi-gl-core": 15
                }],
                173: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = function() {
                            function t(t, e) {
                                for (var r = 0; r < e.length; r++) {
                                    var i = e[r];
                                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
                                }
                            }
                            return function(e, r, i) {
                                return r && t(e.prototype, r), i && t(e, i), e
                            }
                        }(),
                        s = t("../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = t("../core/utils"),
                        h = function(t) {
                            function e() {
                                var r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1500,
                                    o = arguments[1],
                                    a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 16384,
                                    s = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
                                i(this, e);
                                var u = n(this, t.call(this));
                                return a > 16384 && (a = 16384), a > r && (a = r), u._properties = [!1, !0, !1, !1, !1], u._maxSize = r, u._batchSize = a, u._glBuffers = {}, u._bufferUpdateIDs = [], u._updateID = 0, u.interactiveChildren = !1, u.blendMode = l.BLEND_MODES.NORMAL, u.autoResize = s, u.roundPixels = !0, u.baseTexture = null, u.setProperties(o), u._tint = 0, u.tintRgb = new Float32Array(4), u.tint = 16777215, u
                            }
                            return o(e, t), e.prototype.setProperties = function(t) {
                                t && (this._properties[0] = "vertices" in t || "scale" in t ? !!t.vertices || !!t.scale : this._properties[0], this._properties[1] = "position" in t ? !!t.position : this._properties[1], this._properties[2] = "rotation" in t ? !!t.rotation : this._properties[2], this._properties[3] = "uvs" in t ? !!t.uvs : this._properties[3], this._properties[4] = "tint" in t || "alpha" in t ? !!t.tint || !!t.alpha : this._properties[4])
                            }, e.prototype.updateTransform = function() {
                                this.displayObjectUpdateTransform()
                            }, e.prototype.renderWebGL = function(t) {
                                var e = this;
                                this.visible && !(this.worldAlpha <= 0) && this.children.length && this.renderable && (this.baseTexture || (this.baseTexture = this.children[0]._texture.baseTexture, this.baseTexture.hasLoaded || this.baseTexture.once("update", function() {
                                    return e.onChildrenChange(0)
                                })), t.setObjectRenderer(t.plugins.particle), t.plugins.particle.render(this))
                            }, e.prototype.onChildrenChange = function(t) {
                                for (var e = Math.floor(t / this._batchSize); this._bufferUpdateIDs.length < e;) this._bufferUpdateIDs.push(0);
                                this._bufferUpdateIDs[e] = ++this._updateID
                            }, e.prototype.renderCanvas = function(t) {
                                if (this.visible && !(this.worldAlpha <= 0) && this.children.length && this.renderable) {
                                    var e = t.context,
                                        r = this.worldTransform,
                                        i = !0,
                                        n = 0,
                                        o = 0,
                                        a = 0,
                                        s = 0;
                                    t.setBlendMode(this.blendMode), e.globalAlpha = this.worldAlpha, this.displayObjectUpdateTransform();
                                    for (var l = 0; l < this.children.length; ++l) {
                                        var u = this.children[l];
                                        if (u.visible) {
                                            var h = u._texture.frame;
                                            if (e.globalAlpha = this.worldAlpha * u.alpha, u.rotation % (2 * Math.PI) == 0) i && (e.setTransform(r.a, r.b, r.c, r.d, r.tx * t.resolution, r.ty * t.resolution), i = !1), n = u.anchor.x * (-h.width * u.scale.x) + u.position.x + .5, o = u.anchor.y * (-h.height * u.scale.y) + u.position.y + .5, a = h.width * u.scale.x, s = h.height * u.scale.y;
                                            else {
                                                i || (i = !0), u.displayObjectUpdateTransform();
                                                var c = u.worldTransform;
                                                t.roundPixels ? e.setTransform(c.a, c.b, c.c, c.d, c.tx * t.resolution | 0, c.ty * t.resolution | 0) : e.setTransform(c.a, c.b, c.c, c.d, c.tx * t.resolution, c.ty * t.resolution), n = u.anchor.x * -h.width + .5, o = u.anchor.y * -h.height + .5, a = h.width, s = h.height
                                            }
                                            var d = u._texture.baseTexture.resolution;
                                            e.drawImage(u._texture.baseTexture.source, h.x * d, h.y * d, h.width * d, h.height * d, n * t.resolution, o * t.resolution, a * t.resolution, s * t.resolution)
                                        }
                                    }
                                }
                            }, e.prototype.destroy = function(e) {
                                if (t.prototype.destroy.call(this, e), this._buffers)
                                    for (var r = 0; r < this._buffers.length; ++r) this._buffers[r].destroy();
                                this._properties = null, this._buffers = null, this._bufferUpdateIDs = null
                            }, a(e, [{
                                key: "tint",
                                get: function() {
                                    return this._tint
                                },
                                set: function(t) {
                                    this._tint = t, (0, u.hex2rgb)(t, this.tintRgb)
                                }
                            }]), e
                        }(l.Container);
                    r.default = h
                }, {
                    "../core": 65,
                    "../core/utils": 125
                }],
                174: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./ParticleContainer");
                    Object.defineProperty(r, "ParticleContainer", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./webgl/ParticleRenderer");
                    Object.defineProperty(r, "ParticleRenderer", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    })
                }, {
                    "./ParticleContainer": 173,
                    "./webgl/ParticleRenderer": 176
                }],
                175: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var o = t("pixi-gl-core"),
                        a = i(o),
                        s = t("../../core/utils/createIndicesForQuads"),
                        l = i(s),
                        u = function() {
                            function t(e, r, i, o) {
                                n(this, t), this.gl = e, this.size = o, this.dynamicProperties = [], this.staticProperties = [];
                                for (var a = 0; a < r.length; ++a) {
                                    var s = r[a];
                                    s = {
                                        attribute: s.attribute,
                                        size: s.size,
                                        uploadFunction: s.uploadFunction,
                                        unsignedByte: s.unsignedByte,
                                        offset: s.offset
                                    }, i[a] ? this.dynamicProperties.push(s) : this.staticProperties.push(s)
                                }
                                this.staticStride = 0, this.staticBuffer = null, this.staticData = null, this.staticDataUint32 = null, this.dynamicStride = 0, this.dynamicBuffer = null, this.dynamicData = null, this.dynamicDataUint32 = null, this._updateID = 0, this.initBuffers()
                            }
                            return t.prototype.initBuffers = function() {
                                var t = this.gl,
                                    e = 0;
                                this.indices = (0, l.default)(this.size), this.indexBuffer = a.default.GLBuffer.createIndexBuffer(t, this.indices, t.STATIC_DRAW), this.dynamicStride = 0;
                                for (var r = 0; r < this.dynamicProperties.length; ++r) {
                                    var i = this.dynamicProperties[r];
                                    i.offset = e, e += i.size, this.dynamicStride += i.size
                                }
                                var n = new ArrayBuffer(this.size * this.dynamicStride * 4 * 4);
                                this.dynamicData = new Float32Array(n), this.dynamicDataUint32 = new Uint32Array(n), this.dynamicBuffer = a.default.GLBuffer.createVertexBuffer(t, n, t.STREAM_DRAW);
                                var o = 0;
                                this.staticStride = 0;
                                for (var s = 0; s < this.staticProperties.length; ++s) {
                                    var u = this.staticProperties[s];
                                    u.offset = o, o += u.size, this.staticStride += u.size
                                }
                                var h = new ArrayBuffer(this.size * this.staticStride * 4 * 4);
                                this.staticData = new Float32Array(h), this.staticDataUint32 = new Uint32Array(h), this.staticBuffer = a.default.GLBuffer.createVertexBuffer(t, h, t.STATIC_DRAW), this.vao = new a.default.VertexArrayObject(t).addIndex(this.indexBuffer);
                                for (var c = 0; c < this.dynamicProperties.length; ++c) {
                                    var d = this.dynamicProperties[c];
                                    d.unsignedByte ? this.vao.addAttribute(this.dynamicBuffer, d.attribute, t.UNSIGNED_BYTE, !0, 4 * this.dynamicStride, 4 * d.offset) : this.vao.addAttribute(this.dynamicBuffer, d.attribute, t.FLOAT, !1, 4 * this.dynamicStride, 4 * d.offset)
                                }
                                for (var f = 0; f < this.staticProperties.length; ++f) {
                                    var p = this.staticProperties[f];
                                    p.unsignedByte ? this.vao.addAttribute(this.staticBuffer, p.attribute, t.UNSIGNED_BYTE, !0, 4 * this.staticStride, 4 * p.offset) : this.vao.addAttribute(this.staticBuffer, p.attribute, t.FLOAT, !1, 4 * this.staticStride, 4 * p.offset)
                                }
                            }, t.prototype.uploadDynamic = function(t, e, r) {
                                for (var i = 0; i < this.dynamicProperties.length; i++) {
                                    var n = this.dynamicProperties[i];
                                    n.uploadFunction(t, e, r, n.unsignedByte ? this.dynamicDataUint32 : this.dynamicData, this.dynamicStride, n.offset)
                                }
                                this.dynamicBuffer.upload()
                            }, t.prototype.uploadStatic = function(t, e, r) {
                                for (var i = 0; i < this.staticProperties.length; i++) {
                                    var n = this.staticProperties[i];
                                    n.uploadFunction(t, e, r, n.unsignedByte ? this.staticDataUint32 : this.staticData, this.staticStride, n.offset)
                                }
                                this.staticBuffer.upload()
                            }, t.prototype.destroy = function() {
                                this.dynamicProperties = null, this.dynamicBuffer.destroy(), this.dynamicBuffer = null, this.dynamicData = null, this.dynamicDataUint32 = null, this.staticProperties = null, this.staticBuffer.destroy(), this.staticBuffer = null, this.staticData = null, this.staticDataUint32 = null
                            }, t
                        }();
                    r.default = u
                }, {
                    "../../core/utils/createIndicesForQuads": 123,
                    "pixi-gl-core": 15
                }],
                176: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }

                    function n(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function o(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function a(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var s = t("../../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = t("./ParticleShader"),
                        h = i(u),
                        c = t("./ParticleBuffer"),
                        d = i(c),
                        f = t("../../core/utils"),
                        p = function(t) {
                            function e(r) {
                                n(this, e);
                                var i = o(this, t.call(this, r));
                                return i.shader = null, i.indexBuffer = null, i.properties = null, i.tempMatrix = new l.Matrix, i.CONTEXT_UID = 0, i
                            }
                            return a(e, t), e.prototype.onContextChange = function() {
                                var t = this.renderer.gl;
                                this.CONTEXT_UID = this.renderer.CONTEXT_UID, this.shader = new h.default(t), this.properties = [{
                                    attribute: this.shader.attributes.aVertexPosition,
                                    size: 2,
                                    uploadFunction: this.uploadVertices,
                                    offset: 0
                                }, {
                                    attribute: this.shader.attributes.aPositionCoord,
                                    size: 2,
                                    uploadFunction: this.uploadPosition,
                                    offset: 0
                                }, {
                                    attribute: this.shader.attributes.aRotation,
                                    size: 1,
                                    uploadFunction: this.uploadRotation,
                                    offset: 0
                                }, {
                                    attribute: this.shader.attributes.aTextureCoord,
                                    size: 2,
                                    uploadFunction: this.uploadUvs,
                                    offset: 0
                                }, {
                                    attribute: this.shader.attributes.aColor,
                                    size: 1,
                                    unsignedByte: !0,
                                    uploadFunction: this.uploadTint,
                                    offset: 0
                                }]
                            }, e.prototype.start = function() {
                                this.renderer.bindShader(this.shader)
                            }, e.prototype.render = function(t) {
                                var e = t.children,
                                    r = t._maxSize,
                                    i = t._batchSize,
                                    n = this.renderer,
                                    o = e.length;
                                if (0 !== o) {
                                    o > r && (o = r);
                                    var a = t._glBuffers[n.CONTEXT_UID];
                                    a || (a = t._glBuffers[n.CONTEXT_UID] = this.generateBuffers(t));
                                    var s = e[0]._texture.baseTexture;
                                    this.renderer.setBlendMode(l.utils.correctBlendMode(t.blendMode, s.premultipliedAlpha));
                                    var u = n.gl,
                                        h = t.worldTransform.copy(this.tempMatrix);
                                    h.prepend(n._activeRenderTarget.projectionMatrix), this.shader.uniforms.projectionMatrix = h.toArray(!0), this.shader.uniforms.uColor = l.utils.premultiplyRgba(t.tintRgb, t.worldAlpha, this.shader.uniforms.uColor, s.premultipliedAlpha), this.shader.uniforms.uSampler = n.bindTexture(s);
                                    for (var c = !1, d = 0, f = 0; d < o; d += i, f += 1) {
                                        var p = o - d;
                                        if (p > i && (p = i), f >= a.length) {
                                            if (!t.autoResize) break;
                                            a.push(this._generateOneMoreBuffer(t))
                                        }
                                        var g = a[f];
                                        g.uploadDynamic(e, d, p);
                                        var y = t._bufferUpdateIDs[f] || 0;
                                        c = c || g._updateID < y, c && (g._updateID = t._updateID, g.uploadStatic(e, d, p)), n.bindVao(g.vao), g.vao.draw(u.TRIANGLES, 6 * p)
                                    }
                                }
                            }, e.prototype.generateBuffers = function(t) {
                                for (var e = this.renderer.gl, r = [], i = t._maxSize, n = t._batchSize, o = t._properties, a = 0; a < i; a += n) r.push(new d.default(e, this.properties, o, n));
                                return r
                            }, e.prototype._generateOneMoreBuffer = function(t) {
                                var e = this.renderer.gl,
                                    r = t._batchSize,
                                    i = t._properties;
                                return new d.default(e, this.properties, i, r)
                            }, e.prototype.uploadVertices = function(t, e, r, i, n, o) {
                                for (var a = 0, s = 0, l = 0, u = 0, h = 0; h < r; ++h) {
                                    var c = t[e + h],
                                        d = c._texture,
                                        f = c.scale.x,
                                        p = c.scale.y,
                                        g = d.trim,
                                        y = d.orig;
                                    g ? (s = g.x - c.anchor.x * y.width, a = s + g.width, u = g.y - c.anchor.y * y.height, l = u + g.height) : (a = y.width * (1 - c.anchor.x), s = y.width * -c.anchor.x, l = y.height * (1 - c.anchor.y), u = y.height * -c.anchor.y), i[o] = s * f, i[o + 1] = u * p, i[o + n] = a * f, i[o + n + 1] = u * p, i[o + 2 * n] = a * f, i[o + 2 * n + 1] = l * p, i[o + 3 * n] = s * f, i[o + 3 * n + 1] = l * p, o += 4 * n
                                }
                            }, e.prototype.uploadPosition = function(t, e, r, i, n, o) {
                                for (var a = 0; a < r; a++) {
                                    var s = t[e + a].position;
                                    i[o] = s.x, i[o + 1] = s.y, i[o + n] = s.x, i[o + n + 1] = s.y, i[o + 2 * n] = s.x, i[o + 2 * n + 1] = s.y, i[o + 3 * n] = s.x, i[o + 3 * n + 1] = s.y, o += 4 * n
                                }
                            }, e.prototype.uploadRotation = function(t, e, r, i, n, o) {
                                for (var a = 0; a < r; a++) {
                                    var s = t[e + a].rotation;
                                    i[o] = s, i[o + n] = s, i[o + 2 * n] = s, i[o + 3 * n] = s, o += 4 * n
                                }
                            }, e.prototype.uploadUvs = function(t, e, r, i, n, o) {
                                for (var a = 0; a < r; ++a) {
                                    var s = t[e + a]._texture._uvs;
                                    s ? (i[o] = s.x0, i[o + 1] = s.y0, i[o + n] = s.x1, i[o + n + 1] = s.y1, i[o + 2 * n] = s.x2, i[o + 2 * n + 1] = s.y2, i[o + 3 * n] = s.x3, i[o + 3 * n + 1] = s.y3, o += 4 * n) : (i[o] = 0, i[o + 1] = 0, i[o + n] = 0, i[o + n + 1] = 0, i[o + 2 * n] = 0, i[o + 2 * n + 1] = 0, i[o + 3 * n] = 0, i[o + 3 * n + 1] = 0, o += 4 * n)
                                }
                            }, e.prototype.uploadTint = function(t, e, r, i, n, o) {
                                for (var a = 0; a < r; ++a) {
                                    var s = t[e + a],
                                        l = s._texture.baseTexture.premultipliedAlpha,
                                        u = s.alpha,
                                        h = u < 1 && l ? (0, f.premultiplyTint)(s._tintRGB, u) : s._tintRGB + (255 * u << 24);
                                    i[o] = h, i[o + n] = h, i[o + 2 * n] = h, i[o + 3 * n] = h, o += 4 * n
                                }
                            }, e.prototype.destroy = function() {
                                this.renderer.gl && this.renderer.gl.deleteBuffer(this.indexBuffer), t.prototype.destroy.call(this), this.shader.destroy(), this.indices = null, this.tempMatrix = null
                            }, e
                        }(l.ObjectRenderer);
                    r.default = p, l.WebGLRenderer.registerPlugin("particle", p)
                }, {
                    "../../core": 65,
                    "../../core/utils": 125,
                    "./ParticleBuffer": 175,
                    "./ParticleShader": 177
                }],
                177: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }
                    r.__esModule = !0;
                    var a = t("../../core/Shader"),
                        s = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(a),
                        l = function(t) {
                            function e(r) {
                                return i(this, e), n(this, t.call(this, r, ["attribute vec2 aVertexPosition;", "attribute vec2 aTextureCoord;", "attribute vec4 aColor;", "attribute vec2 aPositionCoord;", "attribute float aRotation;", "uniform mat3 projectionMatrix;", "uniform vec4 uColor;", "varying vec2 vTextureCoord;", "varying vec4 vColor;", "void main(void){", "   float x = (aVertexPosition.x) * cos(aRotation) - (aVertexPosition.y) * sin(aRotation);", "   float y = (aVertexPosition.x) * sin(aRotation) + (aVertexPosition.y) * cos(aRotation);", "   vec2 v = vec2(x, y);", "   v = v + aPositionCoord;", "   gl_Position = vec4((projectionMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);", "   vTextureCoord = aTextureCoord;", "   vColor = aColor * uColor;", "}"].join("\n"), ["varying vec2 vTextureCoord;", "varying vec4 vColor;", "uniform sampler2D uSampler;", "void main(void){", "  vec4 color = texture2D(uSampler, vTextureCoord) * vColor;", "  gl_FragColor = color;", "}"].join("\n")))
                            }
                            return o(e, t), e
                        }(s.default);
                    r.default = l
                }, {
                    "../../core/Shader": 44
                }],
                178: [function(t, e, r) {
                    "use strict";
                    Math.sign || (Math.sign = function(t) {
                        return t = Number(t), 0 === t || isNaN(t) ? t : t > 0 ? 1 : -1
                    })
                }, {}],
                179: [function(t, e, r) {
                    "use strict";
                    Number.isInteger || (Number.isInteger = function(t) {
                        return "number" == typeof t && isFinite(t) && Math.floor(t) === t
                    })
                }, {}],
                180: [function(t, e, r) {
                    "use strict";
                    var i = t("object-assign"),
                        n = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(i);
                    Object.assign || (Object.assign = n.default)
                }, {
                    "object-assign": 6
                }],
                181: [function(t, e, r) {
                    "use strict";
                    t("./Object.assign"), t("./requestAnimationFrame"), t("./Math.sign"), t("./Number.isInteger"), window.ArrayBuffer || (window.ArrayBuffer = Array), window.Float32Array || (window.Float32Array = Array), window.Uint32Array || (window.Uint32Array = Array), window.Uint16Array || (window.Uint16Array = Array)
                }, {
                    "./Math.sign": 178,
                    "./Number.isInteger": 179,
                    "./Object.assign": 180,
                    "./requestAnimationFrame": 182
                }],
                182: [function(t, e, r) {
                    (function(t) {
                        "use strict";
                        if (Date.now && Date.prototype.getTime || (Date.now = function() {
                                return (new Date).getTime()
                            }), !t.performance || !t.performance.now) {
                            var e = Date.now();
                            t.performance || (t.performance = {}), t.performance.now = function() {
                                return Date.now() - e
                            }
                        }
                        for (var r = Date.now(), i = ["ms", "moz", "webkit", "o"], n = 0; n < i.length && !t.requestAnimationFrame; ++n) {
                            var o = i[n];
                            t.requestAnimationFrame = t[o + "RequestAnimationFrame"], t.cancelAnimationFrame = t[o + "CancelAnimationFrame"] || t[o + "CancelRequestAnimationFrame"]
                        }
                        t.requestAnimationFrame || (t.requestAnimationFrame = function(t) {
                            if ("function" != typeof t) throw new TypeError(t + "is not a function");
                            var e = Date.now(),
                                i = 16 + r - e;
                            return i < 0 && (i = 0), r = e, setTimeout(function() {
                                r = Date.now(), t(performance.now())
                            }, i)
                        }), t.cancelAnimationFrame || (t.cancelAnimationFrame = function(t) {
                            return clearTimeout(t)
                        })
                    }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
                }, {}],
                183: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        var r = !1;
                        if (t && t._textures && t._textures.length)
                            for (var i = 0; i < t._textures.length; i++)
                                if (t._textures[i] instanceof d.Texture) {
                                    var n = t._textures[i].baseTexture; - 1 === e.indexOf(n) && (e.push(n), r = !0)
                                }
                        return r
                    }

                    function o(t, e) {
                        return t instanceof d.BaseTexture && (-1 === e.indexOf(t) && e.push(t), !0)
                    }

                    function a(t, e) {
                        if (t._texture && t._texture instanceof d.Texture) {
                            var r = t._texture.baseTexture;
                            return -1 === e.indexOf(r) && e.push(r), !0
                        }
                        return !1
                    }

                    function s(t, e) {
                        return e instanceof d.Text && (e.updateText(!0), !0)
                    }

                    function l(t, e) {
                        if (e instanceof d.TextStyle) {
                            var r = e.toFontString();
                            return d.TextMetrics.measureFont(r), !0
                        }
                        return !1
                    }

                    function u(t, e) {
                        if (t instanceof d.Text) {
                            -1 === e.indexOf(t.style) && e.push(t.style), -1 === e.indexOf(t) && e.push(t);
                            var r = t._texture.baseTexture;
                            return -1 === e.indexOf(r) && e.push(r), !0
                        }
                        return !1
                    }

                    function h(t, e) {
                        return t instanceof d.TextStyle && (-1 === e.indexOf(t) && e.push(t), !0)
                    }
                    r.__esModule = !0;
                    var c = t("../core"),
                        d = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(c),
                        f = t("./limiters/CountLimiter"),
                        p = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(f),
                        g = d.ticker.shared;
                    d.settings.UPLOADS_PER_FRAME = 4;
                    var y = function() {
                        function t(e) {
                            var r = this;
                            i(this, t), this.limiter = new p.default(d.settings.UPLOADS_PER_FRAME), this.renderer = e, this.uploadHookHelper = null, this.queue = [], this.addHooks = [], this.uploadHooks = [], this.completes = [], this.ticking = !1, this.delayedTick = function() {
                                r.queue && r.prepareItems()
                            }, this.registerFindHook(u), this.registerFindHook(h), this.registerFindHook(n), this.registerFindHook(o), this.registerFindHook(a), this.registerUploadHook(s), this.registerUploadHook(l)
                        }
                        return t.prototype.upload = function(t, e) {
                            "function" == typeof t && (e = t, t = null), t && this.add(t), this.queue.length ? (e && this.completes.push(e), this.ticking || (this.ticking = !0, g.addOnce(this.tick, this, d.UPDATE_PRIORITY.UTILITY))) : e && e()
                        }, t.prototype.tick = function() {
                            setTimeout(this.delayedTick, 0)
                        }, t.prototype.prepareItems = function() {
                            for (this.limiter.beginFrame(); this.queue.length && this.limiter.allowedToUpload();) {
                                var t = this.queue[0],
                                    e = !1;
                                if (t && !t._destroyed)
                                    for (var r = 0, i = this.uploadHooks.length; r < i; r++)
                                        if (this.uploadHooks[r](this.uploadHookHelper, t)) {
                                            this.queue.shift(), e = !0;
                                            break
                                        }
                                e || this.queue.shift()
                            }
                            if (this.queue.length) g.addOnce(this.tick, this, d.UPDATE_PRIORITY.UTILITY);
                            else {
                                this.ticking = !1;
                                var n = this.completes.slice(0);
                                this.completes.length = 0;
                                for (var o = 0, a = n.length; o < a; o++) n[o]()
                            }
                        }, t.prototype.registerFindHook = function(t) {
                            return t && this.addHooks.push(t), this
                        }, t.prototype.registerUploadHook = function(t) {
                            return t && this.uploadHooks.push(t), this
                        }, t.prototype.add = function(t) {
                            for (var e = 0, r = this.addHooks.length; e < r && !this.addHooks[e](t, this.queue); e++);
                            if (t instanceof d.Container)
                                for (var i = t.children.length - 1; i >= 0; i--) this.add(t.children[i]);
                            return this
                        }, t.prototype.destroy = function() {
                            this.ticking && g.remove(this.tick, this), this.ticking = !1, this.addHooks = null, this.uploadHooks = null, this.renderer = null, this.completes = null, this.queue = null, this.limiter = null, this.uploadHookHelper = null
                        }, t
                    }();
                    r.default = y
                }, {
                    "../core": 65,
                    "./limiters/CountLimiter": 186
                }],
                184: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }

                    function a(t, e) {
                        if (e instanceof l.BaseTexture) {
                            var r = e.source,
                                i = 0 === r.width ? t.canvas.width : Math.min(t.canvas.width, r.width),
                                n = 0 === r.height ? t.canvas.height : Math.min(t.canvas.height, r.height);
                            return t.ctx.drawImage(r, 0, 0, i, n, 0, 0, t.canvas.width, t.canvas.height), !0
                        }
                        return !1
                    }
                    r.__esModule = !0;
                    var s = t("../../core"),
                        l = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(s),
                        u = t("../BasePrepare"),
                        h = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(u),
                        c = 16,
                        d = function(t) {
                            function e(r) {
                                i(this, e);
                                var o = n(this, t.call(this, r));
                                return o.uploadHookHelper = o, o.canvas = document.createElement("canvas"), o.canvas.width = c, o.canvas.height = c, o.ctx = o.canvas.getContext("2d"), o.registerUploadHook(a), o
                            }
                            return o(e, t), e.prototype.destroy = function() {
                                t.prototype.destroy.call(this), this.ctx = null, this.canvas = null
                            }, e
                        }(h.default);
                    r.default = d, l.CanvasRenderer.registerPlugin("prepare", d)
                }, {
                    "../../core": 65,
                    "../BasePrepare": 183
                }],
                185: [function(t, e, r) {
                    "use strict";

                    function i(t) {
                        return t && t.__esModule ? t : {
                            default: t
                        }
                    }
                    r.__esModule = !0;
                    var n = t("./webgl/WebGLPrepare");
                    Object.defineProperty(r, "webgl", {
                        enumerable: !0,
                        get: function() {
                            return i(n).default
                        }
                    });
                    var o = t("./canvas/CanvasPrepare");
                    Object.defineProperty(r, "canvas", {
                        enumerable: !0,
                        get: function() {
                            return i(o).default
                        }
                    });
                    var a = t("./BasePrepare");
                    Object.defineProperty(r, "BasePrepare", {
                        enumerable: !0,
                        get: function() {
                            return i(a).default
                        }
                    });
                    var s = t("./limiters/CountLimiter");
                    Object.defineProperty(r, "CountLimiter", {
                        enumerable: !0,
                        get: function() {
                            return i(s).default
                        }
                    });
                    var l = t("./limiters/TimeLimiter");
                    Object.defineProperty(r, "TimeLimiter", {
                        enumerable: !0,
                        get: function() {
                            return i(l).default
                        }
                    })
                }, {
                    "./BasePrepare": 183,
                    "./canvas/CanvasPrepare": 184,
                    "./limiters/CountLimiter": 186,
                    "./limiters/TimeLimiter": 187,
                    "./webgl/WebGLPrepare": 188
                }],
                186: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t(e) {
                            i(this, t), this.maxItemsPerFrame = e, this.itemsLeft = 0
                        }
                        return t.prototype.beginFrame = function() {
                            this.itemsLeft = this.maxItemsPerFrame
                        }, t.prototype.allowedToUpload = function() {
                            return this.itemsLeft-- > 0
                        }, t
                    }();
                    r.default = n
                }, {}],
                187: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }
                    r.__esModule = !0;
                    var n = function() {
                        function t(e) {
                            i(this, t), this.maxMilliseconds = e, this.frameStart = 0
                        }
                        return t.prototype.beginFrame = function() {
                            this.frameStart = Date.now()
                        }, t.prototype.allowedToUpload = function() {
                            return Date.now() - this.frameStart < this.maxMilliseconds
                        }, t
                    }();
                    r.default = n
                }, {}],
                188: [function(t, e, r) {
                    "use strict";

                    function i(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }

                    function n(t, e) {
                        if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                        return !e || "object" != typeof e && "function" != typeof e ? t : e
                    }

                    function o(t, e) {
                        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
                        t.prototype = Object.create(e && e.prototype, {
                            constructor: {
                                value: t,
                                enumerable: !1,
                                writable: !0,
                                configurable: !0
                            }
                        }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
                    }

                    function a(t, e) {
                        return e instanceof h.BaseTexture && (e._glTextures[t.CONTEXT_UID] || t.textureManager.updateTexture(e), !0)
                    }

                    function s(t, e) {
                        return e instanceof h.Graphics && ((e.dirty || e.clearDirty || !e._webGL[t.plugins.graphics.CONTEXT_UID]) && t.plugins.graphics.updateGraphics(e), !0)
                    }

                    function l(t, e) {
                        return t instanceof h.Graphics && (e.push(t), !0)
                    }
                    r.__esModule = !0;
                    var u = t("../../core"),
                        h = function(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }(u),
                        c = t("../BasePrepare"),
                        d = function(t) {
                            return t && t.__esModule ? t : {
                                default: t
                            }
                        }(c),
                        f = function(t) {
                            function e(r) {
                                i(this, e);
                                var o = n(this, t.call(this, r));
                                return o.uploadHookHelper = o.renderer, o.registerFindHook(l), o.registerUploadHook(a), o.registerUploadHook(s), o
                            }
                            return o(e, t), e
                        }(d.default);
                    r.default = f, h.WebGLRenderer.registerPlugin("prepare", f)
                }, {
                    "../../core": 65,
                    "../BasePrepare": 183
                }],
                189: [function(t, e, r) {
                    (function(e) {
                        "use strict";

                        function i(t) {
                            if (t && t.__esModule) return t;
                            var e = {};
                            if (null != t)
                                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
                            return e.default = t, e
                        }
                        r.__esModule = !0, r.loader = r.prepare = r.particles = r.mesh = r.loaders = r.interaction = r.filters = r.extras = r.extract = r.accessibility = void 0;
                        var n = t("./polyfill");
                        Object.keys(n).forEach(function(t) {
                            "default" !== t && "__esModule" !== t && Object.defineProperty(r, t, {
                                enumerable: !0,
                                get: function() {
                                    return n[t]
                                }
                            })
                        });
                        var o = t("./core");
                        Object.keys(o).forEach(function(t) {
                            "default" !== t && "__esModule" !== t && Object.defineProperty(r, t, {
                                enumerable: !0,
                                get: function() {
                                    return o[t]
                                }
                            })
                        });
                        var a = t("./deprecation"),
                            s = function(t) {
                                return t && t.__esModule ? t : {
                                    default: t
                                }
                            }(a),
                            l = t("./accessibility"),
                            u = i(l),
                            h = t("./extract"),
                            c = i(h),
                            d = t("./extras"),
                            f = i(d),
                            p = t("./filters"),
                            g = i(p),
                            y = t("./interaction"),
                            v = i(y),
                            m = t("./loaders"),
                            x = i(m),
                            _ = t("./mesh"),
                            T = i(_),
                            b = t("./particles"),
                            w = i(b),
                            S = t("./prepare"),
                            E = i(S);
                        o.utils.mixins.performMixins();
                        var C = x.shared || null;
                        r.accessibility = u, r.extract = c, r.extras = f, r.filters = g, r.interaction = v, r.loaders = x, r.mesh = T, r.particles = w, r.prepare = E, r.loader = C, "function" == typeof s.default && (0, s.default)(r), e.PIXI = r
                    }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
                }, {
                    "./accessibility": 42,
                    "./core": 65,
                    "./deprecation": 131,
                    "./extract": 133,
                    "./extras": 141,
                    "./filters": 153,
                    "./interaction": 159,
                    "./loaders": 162,
                    "./mesh": 171,
                    "./particles": 174,
                    "./polyfill": 181,
                    "./prepare": 185
                }]
            }, {}, [189])(189)
        }), define("skbJet/component/pixiResourceLoader/PixiSpriteSubLoader", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/AbstractSubLoader", "com/pixijs/pixi"], function(t, e, r) {
            function i(t) {
                t = t || {}, t.fileExtFilterList = ["json"], this._initOptions("sprites", t)
            }
            return i.prototype = new e, i.prototype._load = i.prototype.load, i.prototype.load = function(e, i) {
                    this.loader = new r.loaders.Loader, this.loader.defaultQueryString = "?" === i.queryStr.charAt(0) ? i.queryStr.replace("?", "") : i.queryStr, i.queryStr = null, this._load(e, i);
                    var n = this;
                    this.loader.on("load", function(e, i) {
                        if (i.textures) {
                            for (var o in i.textures) {
                                var a = t.getFileNameWithoutExt(o);
                                r.Texture.addToCache(i.textures[o], a)
                            }
                            n._count.current++, n.options.onFileLoaded()
                        }
                    }), this.loader.once("complete", function() {
                        n._count.current === n._count.total && (n._count.complete = !0, n.options.onFileLoaded())
                    }), this.loader.on("error", this.options.onLoadFailed), this.loader.load()
                },
                i.prototype._doLoadFile = function(e) {
                    var r = t.getFileNameWithoutExt(e);
                    this.loader.add(r, e)
                }, i
        }), define("skbJet/componentManchester/webfontLoader/FontSubLoader", ["skbJet/component/resourceLoader/Util", "skbJet/component/resourceLoader/AbstractSubLoader"], function(t, e) {
            function r(t) {
                t = t || {}, t.fileExtFilterList = ["json"], t.checkInterval = t.checkInterval || 250, t.timeout = t.timeout || 3e4, t.testString = t.testString || "abcdefghijklmnopqrstuvwxyz 1234567890_-", this._initOptions("fonts", t), this._testCanvas = document.createElement("canvas"), this._testCtx = this._testCanvas.getContext("2d")
            }
            return r.prototype = new e, r.prototype._doLoadFile = function(e, r, i) {
                var n = {
                        woff: "woff",
                        woff2: "woff2",
                        ttf: "truetype"
                    },
                    o = ["woff2", "woff", "ttf"],
                    a = this._testCtx,
                    s = this.options;
                t.httpGetJson(e, function(l) {
                    function u() {
                        v += 1, a.font = p + l.family + ", sans-serif", a.measureText(s.testString).width !== g ? r() : v > s.timeout / s.checkInterval ? i() : setTimeout(u, s.checkInterval)
                    }
                    var h = t.getParentFolder(e);
                    "string" == typeof l.files && (l.files = [l.files]), l.files.sort(function(e, r) {
                        return o.indexOf(t.getFileExt(e, !0)) > o.indexOf(t.getFileExt(r, !0))
                    });
                    var c = l.files.map(function(e) {
                        var r = "url(" + h + e + s.queryStr + ") ",
                            i = t.getFileExt(e, !0);
                        return r += 'format("' + n[i] + '")'
                    });
                    if ("FontFace" in window) {
                        var d = new window.FontFace(l.family, c[0], l);
                        d.display = "block", document.fonts.add(d), d.load().then(function() {
                            r()
                        }).catch(function() {
                            i()
                        })
                    } else {
                        var f = "@font-face {";
                        f += 'font-family: "' + l.family + '";', f += "src: " + c.join(", ") + ";", f += "font-weight: " + (l.weight || "normal") + ";", f += "font-style: " + (l.style || "normal") + ";", f += "font-display: block; }";
                        var p = (l.style || "normal") + " " + (l.weight || "normal") + " 30px ";
                        a.font = p + "sans-serif";
                        var g = a.measureText(s.testString).width,
                            y = document.createElement("style");
                        document.head.appendChild(y), y.sheet.insertRule(f, 0);
                        var v = 0;
                        u()
                    }
                }, i)
            }, r
        }), define("skbJet/componentCRDC/splash/splashLoadController", ["skbJet/component/resourceLoader/ResourceLoader", "skbJet/component/resourceLoader/subLoaders/HtmlTagSubLoader", "skbJet/component/resourceLoader/subLoaders/TextFilesSubLoader", "skbJet/component/pixiResourceLoader/PixiSpriteSubLoader", "skbJet/componentManchester/webfontLoader/FontSubLoader"], function(t, e, r, i, n) {
            function o(t, o) {
                var a = new r({
                    type: "i18n",
                    parseJson: !0
                });
                a.origLoad = a.load, a.load = function(t, e) {
                    for (var r in t) r.match(/splash\.json$/) || delete t[r];
                    this.origLoad(t, e)
                }, o.addSubLoader("fonts", new n), o.addSubLoader("i18n", a), o.addSubLoader("splashSprites", new i({
                    type: "splashSprites"
                })), o.addSubLoader("splash", new e({
                    type: "splash",
                    tagName: "img"
                })), o.load(function() {
                    o.currentProgress().complete && t && t()
                }, function() {
                    o.removeHeartBeat()
                })
            }

            function a(e) {
                var r = window.location.search.match(/&?assetPack=(\w+)&?/)[1],
                    i = window.location.search.match(/&?language=([^&]+)&?/)[1],
                    n = window.location.search.match(/&?skincode=(\w+)&?/)[1];
                t.initDefault("assetPacks/" + r, i, n), o(e, t.getDefault())
            }
            return {
                load: a,
                loadByLoader: o
            }
        }), define("skbJet/componentCRDC/splash/splashUtil", ["com/pixijs/pixi"], function(t) {
            function e() {
                var e = {};
                for (var r in t.utils.TextureCache) {
                    var i = r.match(/^(\w+)_\d+$/);
                    if (i) {
                        var n = i[1];
                        e[n] || (e[n] = []), e[n].push(r)
                    }
                }
                for (var o in e) e[o].sort(function(t, e) {
                    return parseInt(t.match(/\d+$/)[0]) - parseInt(e.match(/\d+$/)[0])
                });
                return e
            }

            function r(t, e) {
                t === g.width && e === g.height || (g.width = t, g.height = e, d.resize(g.width, g.height), i(y.width, y.height))
            }

            function i(t, e) {
                if (d) {
                    var r = Number(d.view.width),
                        i = Number(d.view.height);
                    y.width = t, y.height = e, o(t, e, r, i, d.view)
                }
            }

            function n(t, e) {
                var r = t - e;
                return (r = r > 0 ? r : -r) <= 1
            }

            function o(t, e, r, i, o) {
                if (!(0 === r || 0 === i || 0 === t || 0 === e || n(t, v.w) && n(e, v.h))) {
                    v.w = t, v.h = e;
                    var a, s, l = i / r;
                    e / t > l ? (a = Math.round(t), s = Math.round(t * l), o.style.transform = "translate(0px," + (e - s) / 2 + "px)") : (s = Math.round(e), a = Math.round(e / l), o.style.transform = "translate(" + (t - a) / 2 + "px,0px)"), o.style.width = a + "px", o.style.height = s + "px"
                }
            }

            function a(e, i, n) {
                n || (n = document.getElementById("loadDiv")), d = new t.CanvasRenderer(e, i, {
                    transparent: !0,
                    resolution: 1,
                    antialias: !0
                }), n.appendChild(d.view), y.width = e, y.height = i, r(e, i), f = new t.Container, p = new t.ticker.Ticker, p.add(function() {
                    d.render(f)
                })
            }

            function s() {
                return d
            }

            function l() {
                return f
            }

            function u() {
                return p
            }

            function h(t, e) {
                for (var r in e) "object" != typeof e[r] || Array.isArray(e[r]) ? t[r] = e[r] : h(t[r], e[r])
            }

            function c(t, e) {
                for (var r in e) "number" == typeof e[r] ? t.style[r] = e[r] + "px" : t.style[r] = e[r]
            }
            var d, f, p, g = {
                    width: 0,
                    height: 0
                },
                y = {
                    width: 0,
                    height: 0
                },
                v = {
                    w: -1,
                    h: -1
                };
            return {
                searchSplashSpriteSheetAnimationFromTextureCache: e,
                addCanvas: a,
                getSplashRender: s,
                getSplashPixiContainer: l,
                getTicker: u,
                fitSize: i,
                applyStyle: h,
                applyDomStyle: c
            }
        }), define("game/splashUIController", ["skbJet/componentCRDC/splash/splashUtil", "com/pixijs/pixi", "skbJet/component/resourceLoader/resourceLib"], function(t, e, r) {
            function i() {
                Math.floor(Number(window.innerWidth)) >= Math.floor(Number(window.innerHeight)) ? (gt = "landscape", k = L.landscape) : (gt = "portrait", k = L.portrait)
            }

            function n() {
                try {
                    r.splash.landscapeLoading || r.splash.portraitLoading ? document.body.style.backgroundImage = "landscape" === gt ? "url(" + r.splash.landscapeLoading.src + ")" : "url(" + r.splash.portraitLoading.src + ")" : document.body.style.backgroundImage = "url(" + r.splash.loading.src + ")", document.body.style.backgroundSize = L.backgroundSize
                } catch (t) {}
            }

            function o(t) {
                return Math.round(t * ht) + "px"
            }

            function a() {
                t.getSplashPixiContainer().removeChildren()
            }

            function s() {
                i(), n(), a(), C(), M = window.location.search.match(/&?assetPack=([^&]+)&?/)[1], P = window.location.search.match(/&?language=([^&]+)&?/)[1], t.applyDomStyle(A, k.copyRightDiv);
                var e = k,
                    r = Math.floor(Number(window.innerWidth)),
                    s = Math.floor(Number(window.innerHeight));
                document.documentElement.style.width = r + "px", document.documentElement.style.height = s + "px", document.body.style.width = r + "px", document.body.style.height = s + "px", t.fitSize(r, s);
                var l, u = e.canvas.width + (r > s ? 2 * e.canvas.landscapeMargin : 0),
                    h = e.canvas.height,
                    c = u / h;
                l = r / s > c ? Math.floor(s * c) : r, ht = l / u, O.style.top = o(e.gameImgDiv.top), O.style.width = o(e.gameImgDiv.width), O.style.height = o(e.gameImgDiv.height), e.featureTextDiv && (R.style.top = o(e.gameImgDiv.top + e.gameImgDiv.height), R.style.width = o(e.canvas.width), R.style.height = o(e.featureTextDiv.height), R.style.padding = o(e.featureTextDiv.padding), R.style.fontSize = o(e.featureTextDiv.fontSize)), A.style.bottom = o(e.copyRightDiv.bottom), A.style.fontSize = o(e.copyRightDiv.fontSize)
            }

            function l(t) {
                dt = t.data.loaded || null, 100 === dt && ("mobile" !== M && "tablet" !== M || "portrait" !== gt ? f() : p(), setTimeout(function() {
                    B.visible = !1, j.visible = !1
                }, 200)), null !== dt && j && (j.text = dt + "%", j.pivot.x = j.width / 2, j.pivot.y = j.height / 2)
            }

            function u() {
                F || (F = new e.Sprite), t.getSplashPixiContainer().addChild(F), L.splashLogoName && (F.texture = e.Texture.fromFrame(L.splashLogoName)), t.applyStyle(F, k.gameLogoDiv), F.pivot.x = Number(k.gameLogoDiv.width / 2), F.pivot.y = Number(k.gameLogoDiv.height / 2), F.x = Math.round(Number(k.canvas.width) / 2), window.logoSprite = F
            }

            function h() {
                N || (N = new e.Sprite), t.getSplashPixiContainer().addChild(N), L.Crown && (N.texture = e.Texture.fromFrame(L.Crown)), t.applyStyle(N, k.Crown), N.anchor.set(.5), N.x = Math.round(Number(k.canvas.width) / 2), window.Crown = N
            }

            function c() {
                lt = t.searchSplashSpriteSheetAnimationFromTextureCache(), B = e.extras.AnimatedSprite.fromFrames(lt[L.swirlName]), B.animName = L.swirlName, t.getSplashPixiContainer().addChild(B), t.applyStyle(B, k.progressSwirl), B.pivot.x = Number(k.progressSwirl.width / 2), B.pivot.y = Number(k.progressSwirl.height / 2), B.x = Math.round(Number(k.canvas.width) / 2), B.gotoAndPlay(0), window.swirlAnim = B
            }

            function d(t) {
                t._style._padding = 2
            }

            function f() {
                pt || (pt = !0, ut = t.searchSplashSpriteSheetAnimationFromTextureCache(), U = e.extras.AnimatedSprite.fromFrames(ut[L.close]), U.animName = L.close, t.getSplashPixiContainer().addChild(U), t.applyStyle(U, k.close), U.gotoAndPlay(0), window.close = U)
            }

            function p() {
                pt || (pt = !0, U = new e.Sprite, U.texture = e.Texture.fromFrame(L.portraitClose), t.applyStyle(U, k.close), t.getSplashPixiContainer().addChild(U), requestAnimationFrame(g))
            }

            function g() {
                U.y += (0 - k.close.y) / k.close.v, parseInt(U.y) < 0 && requestAnimationFrame(g)
            }

            function y() {
                j || (j = new e.Text), j.name = "progress", t.applyStyle(j, k.progressTextDiv), j.style.align = "center", j.text = dt + "%", j.pivot.x = j.width / 2, j.pivot.y = j.height / 2, t.getSplashPixiContainer().addChild(j), j.x = Math.round(Number(k.canvas.width) / 2), t.applyStyle(j, k.progressTextDiv), j.style.align = "center", window.progressText = j
            }

            function v(t, e) {
                t.scale.set(1), t.width > e && t.scale.set(e / t.width)
            }

            function m() {
                if (!L.flagLeft) return S(), J = new e.Text, t.applyStyle(J, k.flagText06), J.style.align = "center", d(J), J.text = r.i18n.splash.splashScreen.loadPage.flagBottom, J.pivot.x = J.width / 2, J.pivot.y = J.height / 2, nt && t.getSplashPixiContainer().removeChild(nt), nt = new e.Container, v(J, k.allText.flagText06W, k.allText.flagText06H), nt.width = k.allText.flagText06W, nt.height = k.allText.flagText06H, nt.x = Math.round(Number(k.canvas.width) / 2), nt.y = k.flagText06.y, nt.addChild(J), void t.getSplashPixiContainer().addChild(nt);
                D && (t.getSplashPixiContainer().removeChild(D), S());
                var i = r.i18n.splash.splashScreen.loadPage.flagLeft.split("\n");
                D = new e.Container, t.applyStyle(D, k.flagLeft), D.x = k.flagLeft.x, D.y = k.flagLeft.y, W = new e.Sprite, D.addChild(W), L.flagLeft && (W.texture = e.Texture.fromFrame(L.flagLeft)), W.position.set(0, 0), G = new e.Text, t.applyStyle(G, k.flagText01), d(G), G.text = i[0], G.style.align = "center", G.pivot.x = G.width / 2, G.pivot.y = G.height / 2, $ = new e.Container, v(G, k.allText.flagText01W, k.allText.flagText01H), $.width = k.allText.flagText01W, $.height = k.allText.flagText01H, $.position.set(k.flagText01.x, k.flagText01.y), $.addChild(G), D.addChild($), H = new e.Sprite, D.addChild(H), L.LoadingCrown && (H.texture = e.Texture.fromFrame(L.LoadingCrown)), H.position.set(k.LoadingCrown.x, k.LoadingCrown.y), z = new e.Text, t.applyStyle(z, k.flagText02), d(z), z.style.align = "center", z.text = i[1], z.pivot.x = z.width / 2, z.pivot.y = z.height / 2, tt = new e.Container, v(z, k.allText.flagText02W, k.allText.flagText02H), tt.width = k.allText.flagText02W, tt.height = k.allText.flagText02H, tt.position.set(k.flagText02.x, k.flagText02.y), tt.addChild(z), D.addChild(tt), Y = new e.Text, t.applyStyle(Y, k.commonText), Y.style.align = "center", d(Y), Y.text = i[2], Y.pivot.x = Y.width / 2, Y.pivot.y = Y.height / 2, et = new e.Container, v(Y, k.allText.flagText03W, k.allText.flagText03H), et.width = k.allText.flagText03W, et.height = k.allText.flagText03H, et.position.set(Math.round(Number(k.flagLeft.width) / 2), k.commonText.y1), et.addChild(Y), D.addChild(et), I && t.getSplashPixiContainer().removeChild(I);
                var n = r.i18n.splash.splashScreen.loadPage.flagRight.split("\n");
                I = new e.Container, t.applyStyle(I, k.flagRight), I.x = k.flagRight.x, I.y = k.flagRight.y, X = new e.Sprite, I.addChild(X), L.flagRight && (X.texture = e.Texture.fromFrame(L.flagRight)), X.position.set(0, 0), V = new e.Text, t.applyStyle(V, k.commonText), V.style.align = "center", d(V), V.text = n[0], V.pivot.x = V.width / 2, V.pivot.y = V.height / 2, rt = new e.Container, v(V, k.allText.flagText04W, k.allText.flagText04H), rt.width = k.allText.flagText04W, rt.height = k.allText.flagText04H, "sv" === P ? rt.position.set(Math.round(Number(k.flagRight.width) / 2) - 2, k.commonText.y2 + 4) : rt.position.set(Math.round(Number(k.flagRight.width) / 2) - 2, k.commonText.y2), rt.addChild(V), I.addChild(rt), q = new e.Text, t.applyStyle(q, k.commonText), q.style.align = "center", d(q), q.text = n[1], q.pivot.x = q.width / 2, q.pivot.y = q.height / 2, it = new e.Container, v(q, k.allText.flagText05W, k.allText.flagText05H), it.width = k.allText.flagText05W, it.height = k.allText.flagText05H, it.position.set(Math.round(Number(k.flagRight.width) / 2) - 8, k.commonText.y3), it.addChild(q), I.addChild(it), J = new e.Text, t.applyStyle(J, k.flagText06), J.style.align = "center", d(J), J.text = r.i18n.splash.splashScreen.loadPage.flagBottom, J.pivot.x = J.width / 2, J.pivot.y = J.height / 2, nt = new e.Container, v(J, k.allText.flagText06W, k.allText.flagText06H), nt.width = k.allText.flagText06W, nt.height = k.allText.flagText06H, nt.addChild(J), nt.x = Math.round(Number(k.canvas.width) / 2), nt.y = k.flagText06.y, t.getSplashPixiContainer().addChild(nt), t.getSplashPixiContainer().addChild(D), t.getSplashPixiContainer().addChild(I)
            }

            function x() {
                if (!L.flagLeft) return S(), J = new e.Text, t.applyStyle(J, k.flagText06), J.style.align = "center", d(J), J.text = r.i18n.splash.splashScreen.loadPage.flagBottom, J.pivot.x = J.width / 2, J.pivot.y = J.height / 2, nt && t.getSplashPixiContainer().removeChild(nt), nt = new e.Container, v(J, k.allText.flagText06W, k.allText.flagText06H), nt.width = k.allText.flagText06W, nt.height = k.allText.flagText06H, nt.x = Math.round(Number(k.canvas.width) / 2), nt.y = k.flagText06.y, nt.addChild(J), void t.getSplashPixiContainer().addChild(nt);
                D && (t.getSplashPixiContainer().removeChild(D), S());
                var i = r.i18n.splash.splashScreen.loadPage.flagLeft.split("\n");
                D = new e.Container, t.applyStyle(D, k.flagLeft), D.x = k.flagLeft.x, D.y = k.flagLeft.y, W = new e.Sprite, D.addChild(W), L.flagLeft && (W.texture = e.Texture.fromFrame(L.flagLeft)), W.position.set(0, 0), G = new e.Text, t.applyStyle(G, k.flagText08), G.style.align = "center", d(G), G.text = i[0].substr(0, 16), G.position.set(0, 0), $ = new e.Container, v(G, k.allText.flagText08W, k.allText.flagText08H), $.width = k.allText.flagText08W, $.height = k.allText.flagText08H, $.position.set(k.flagText08.x, k.flagText08.y), $.addChild(G), D.addChild($), Z = new e.Text, t.applyStyle(Z, k.flagText09), Z.style.align = "center", d(Z), Z.text = i[0].substr(16, i[0].length - 1), Z.position.set(0, 0), at = new e.Container, v(Z, k.allText.flagText09W, k.allText.flagText09H), at.width = k.allText.flagText09W, at.height = k.allText.flagText09H, at.position.set(k.flagText09.x, k.flagText09.y), at.addChild(Z), D.addChild(at), H = new e.Sprite, D.addChild(H), L.LoadingCrown && (H.texture = e.Texture.fromFrame(L.LoadingCrown)), H.position.set(k.LoadingCrown.x, k.LoadingCrown.y), z = new e.Text, t.applyStyle(z, k.flagText10), d(z), z.style.align = "center", z.text = i[1].substr(0, 31), z.position.set(0, 0), tt = new e.Container, v(z, k.allText.flagText10W, k.allText.flagText10H), tt.width = k.allText.flagText10W, tt.height = k.allText.flagText10H, tt.position.set(k.flagText10.x, k.flagText10.y), tt.addChild(z), D.addChild(tt), Q = new e.Text, t.applyStyle(Q, k.flagText11), d(Q), Q.style.align = "center", Q.text = i[1].substr(31, i[1].length - 1), Q.position.set(0, 0), st = new e.Container, v(Q, k.allText.flagText11W, k.allText.flagText11H), st.width = k.allText.flagText11W, st.height = k.allText.flagText11H, st.position.set(k.flagText11.x, k.flagText11.y), st.addChild(Q), D.addChild(st), Y = new e.Text, t.applyStyle(Y, k.commonText), Y.style.align = "center", d(Y), Y.text = i[2], Y.pivot.x = Y.width / 2, Y.pivot.y = Y.height / 2, et = new e.Container, v(Y, k.allText.flagText03W, k.allText.flagText03H), et.width = k.allText.flagText03W, et.height = k.allText.flagText03H, et.position.set(Math.round(Number(k.flagLeft.width) / 2) - 4, k.commonText.y1), et.addChild(Y), D.addChild(et), I && t.getSplashPixiContainer().removeChild(I);
                var n = r.i18n.splash.splashScreen.loadPage.flagRight.split("\n");
                I = new e.Container, t.applyStyle(I, k.flagRight), I.x = k.flagRight.x, I.y = k.flagRight.y, X = new e.Sprite, I.addChild(X), L.flagRight && (X.texture = e.Texture.fromFrame(L.flagRight)), X.position.set(0, 0), V = new e.Text, t.applyStyle(V, k.commonText), V.style.align = "center", d(V), V.text = n[0], V.pivot.x = V.width / 2, V.pivot.y = V.height / 2, rt = new e.Container, v(V, k.allText.flagText04W, k.allText.flagText04H), rt.width = k.allText.flagText04W, rt.height = k.allText.flagText04H, rt.position.set(Math.round(Number(k.flagRight.width) / 2) - 2, k.commonText.y2), rt.addChild(V), I.addChild(rt), q = new e.Text, t.applyStyle(q, k.commonText), q.style.align = "center", d(q), q.text = n[1], q.pivot.x = q.width / 2, q.pivot.y = q.height / 2, it = new e.Container, v(q, k.allText.flagText05W, k.allText.flagText05H), it.width = k.allText.flagText05W, it.height = k.allText.flagText05H, it.position.set(Math.round(Number(k.flagRight.width) / 2) - 8, k.commonText.y3), it.addChild(q), I.addChild(it), J = new e.Text, t.applyStyle(J, k.flagText06), J.style.align = "center", d(J), J.text = r.i18n.splash.splashScreen.loadPage.flagBottom, J.pivot.x = J.width / 2, J.pivot.y = J.height / 2, nt = new e.Container, v(J, k.allText.flagText06W, k.allText.flagText06H), nt.width = k.allText.flagText06W, nt.height = k.allText.flagText06H, nt.addChild(J), nt.x = Math.round(Number(k.canvas.width) / 2), nt.y = k.flagText06.y, t.getSplashPixiContainer().addChild(nt), t.getSplashPixiContainer().addChild(D), t.getSplashPixiContainer().addChild(I)
            }

            function _() {
                "fr-CA" === P ? x() : m()
            }

            function T() {
                D && (t.getSplashPixiContainer().removeChild(D), S());
                var i = r.i18n.splash.splashScreen.loadPage.flagLeftPortrait.split("\n");
                D = new e.Container, t.applyStyle(D, k.flagLeft), D.x = k.flagLeft.x, D.y = k.flagLeft.y, W = new e.Sprite, D.addChild(W), L.portraitFlagLeft && (W.texture = e.Texture.fromFrame(L.portraitFlagLeft)), W.position.set(0, 0), G = new e.Text, t.applyStyle(G, k.flagText01), G.style.align = "center", d(G), G.text = i[0], G.pivot.x = G.width / 2, G.pivot.y = G.height / 2, $ = new e.Container, v(G, k.allText.flagText01W, k.allText.flagText01H), $.width = k.allText.flagText01W, $.height = k.allText.flagText01H, "it" === P ? $.position.set(1.34 * k.flagText01.x, k.flagText01.y) : $.position.set(k.flagText01.x, k.flagText01.y), $.addChild(G), D.addChild($), H = new e.Sprite, D.addChild(H), L.LoadingCrown && (H.texture = e.Texture.fromFrame(L.LoadingCrown), t.applyStyle(H, k.LoadingCrown)), H.position.set(k.LoadingCrown.x, k.LoadingCrown.y), z = new e.Text, t.applyStyle(z, k.flagText02), d(z), z.text = i[1], z.pivot.x = z.width / 2, z.pivot.y = z.height / 2, tt = new e.Container, v(z, k.allText.flagText02W, k.allText.flagText02H), tt.width = k.allText.flagText02W, tt.height = k.allText.flagText02H, "sv" === P || "da" === P || "it" === P ? tt.position.set(.86 * k.flagText02.x, k.flagText02.y) : tt.position.set(k.flagText02.x, k.flagText02.y), tt.addChild(z), D.addChild(tt), Y = new e.Text, t.applyStyle(Y, k.commonText), Y.style.align = "center", d(Y), Y.text = i[3], Y.pivot.x = Y.width / 2, Y.pivot.y = Y.height / 2, et = new e.Container, v(Y, k.allText.flagText03W, k.allText.flagText03H), et.width = k.allText.flagText03W, et.height = k.allText.flagText03H, et.position.set(Math.round(Number(k.flagLeft.width) / 2), k.commonText.y1), et.addChild(Y), D.addChild(et), K = new e.Text, t.applyStyle(K, k.flagText07), K.style.align = "center", d(K), K.text = i[2], K.pivot.x = K.width / 2, K.pivot.y = K.height / 2, rt = new e.Container, v(K, k.allText.flagText04W, k.allText.flagText04H), rt.width = k.allText.flagText04W, rt.height = k.allText.flagText04H, rt.position.set(Math.round(Number(k.flagLeft.width) / 2), k.flagText07.y), rt.addChild(K), D.addChild(rt), I && t.getSplashPixiContainer().removeChild(I);
                var n = r.i18n.splash.splashScreen.loadPage.flagRight.split("\n");
                I = new e.Container, t.applyStyle(I, k.flagRight), I.x = k.flagRight.x, I.y = k.flagRight.y, X = new e.Sprite, I.addChild(X), L.portraitFlagRight && (X.texture = e.Texture.fromFrame(L.portraitFlagRight)), X.position.set(0, 0), V = new e.Text, t.applyStyle(V, k.commonText), V.style.align = "center", d(V), V.text = n[0], V.pivot.x = V.width / 2, V.pivot.y = V.height / 2, it = new e.Container, v(V, k.allText.flagText05W, k.allText.flagText05H), it.width = k.allText.flagText05W, it.height = k.allText.flagText05H, it.position.set(k.commonText.x1 + 2, k.commonText.y2), it.addChild(V), I.addChild(it), q = new e.Text, t.applyStyle(q, k.commonText), q.style.align = "center", d(q), q.text = n[1], q.pivot.x = q.width / 2, q.pivot.y = q.height / 2, nt = new e.Container, v(q, k.allText.flagText06W, k.allText.flagText06H), nt.width = k.allText.flagText06W, nt.height = k.allText.flagText06H, nt.position.set(k.commonText.x1, k.commonText.y3), nt.addChild(q), I.addChild(nt), J = new e.Text, t.applyStyle(J, k.flagText06), J.style.align = "center", d(J), J.text = r.i18n.splash.splashScreen.loadPage.flagBottom, J.pivot.x = J.width / 2, J.pivot.y = J.height / 2, ot = new e.Container, v(J, k.allText.flagText07W, k.allText.flagText07H), ot.width = k.allText.flagText07W, ot.height = k.allText.flagText07H, ot.x = Math.round(Number(k.canvas.width) / 2), ot.y = k.flagText06.y, ot.addChild(J), t.getSplashPixiContainer().addChild(ot), t.getSplashPixiContainer().addChild(D), t.getSplashPixiContainer().addChild(I)
            }

            function b() {
                D && (t.getSplashPixiContainer().removeChild(D), S());
                var i = r.i18n.splash.splashScreen.loadPage.flagLeftPortrait.split("\n");
                D = new e.Container, t.applyStyle(D, k.flagLeft), D.x = k.flagLeft.x, D.y = k.flagLeft.y, W = new e.Sprite, D.addChild(W), L.portraitFlagLeft && (W.texture = e.Texture.fromFrame(L.portraitFlagLeft)), W.position.set(0, 0), G = new e.Text, t.applyStyle(G, k.flagText08), d(G), G.text = i[0].substr(0, 16), G.position.set(0, 0), $ = new e.Container, v(G, k.allText.flagText08W, k.allText.flagText08H), $.width = k.allText.flagText08W, $.height = k.allText.flagText08H, $.position.set(k.flagText08.x, k.flagText08.y), $.addChild(G), D.addChild($), Z = new e.Text, t.applyStyle(Z, k.flagText09), d(Z), Z.text = i[0].substr(16, i[0].length - 1), Z.position.set(0, 0), at = new e.Container, v(Z, k.allText.flagText09W, k.allText.flagText09H), at.width = k.allText.flagText09W, at.height = k.allText.flagText09H, at.position.set(k.flagText09.x, k.flagText09.y), at.addChild(Z), D.addChild(at), H = new e.Sprite, D.addChild(H), L.LoadingCrown && (H.texture = e.Texture.fromFrame(L.LoadingCrown), t.applyStyle(H, k.LoadingCrown)), H.position.set(k.LoadingCrown.x, k.LoadingCrown.y), z = new e.Text, t.applyStyle(z, k.flagText10), d(z), z.text = i[1].substr(0, 13), z.position.set(0, 0), tt = new e.Container, v(z, k.allText.flagText10W, k.allText.flagText10H), tt.width = k.allText.flagText10W, tt.height = k.allText.flagText10H, tt.position.set(k.flagText10.x, k.flagText10.y), tt.addChild(z), D.addChild(tt), Q = new e.Text, t.applyStyle(Q, k.flagText11), d(Q), Q.text = i[1].substr(13, i[1].length - 1), Q.position.set(0, 0), st = new e.Container, v(Q, k.allText.flagText11W, k.allText.flagText11H), st.width = k.allText.flagText11W, st.height = k.allText.flagText11H, st.position.set(k.flagText11.x, k.flagText11.y), st.addChild(Q), D.addChild(st), Y = new e.Text, t.applyStyle(Y, k.commonText), Y.style.align = "center", d(Y), Y.text = i[3], Y.pivot.x = Y.width / 2, Y.pivot.y = Y.height / 2, et = new e.Container, v(Y, k.allText.flagText03W, k.allText.flagText03H), et.width = k.allText.flagText03W, et.height = k.allText.flagText03H, et.position.set(Math.round(Number(k.flagLeft.width) / 2), k.commonText.y1), et.addChild(Y), D.addChild(et), K = new e.Text, t.applyStyle(K, k.flagText07), K.style.align = "center", d(K), K.text = i[2], K.pivot.x = K.width / 2, K.pivot.y = K.height / 2, rt = new e.Container, v(K, k.allText.flagText04W, k.allText.flagText04H), rt.width = k.allText.flagText04W, rt.height = k.allText.flagText04H, rt.position.set(Math.round(Number(k.flagLeft.width) / 2), k.flagText07.y), rt.addChild(K), D.addChild(rt), I && t.getSplashPixiContainer().removeChild(I);
                var n = r.i18n.splash.splashScreen.loadPage.flagRight.split("\n");
                I = new e.Container, t.applyStyle(I, k.flagRight), I.x = k.flagRight.x, I.y = k.flagRight.y, X = new e.Sprite, I.addChild(X), L.portraitFlagRight && (X.texture = e.Texture.fromFrame(L.portraitFlagRight)), X.position.set(0, 0), V = new e.Text, t.applyStyle(V, k.commonText), V.style.align = "center", d(V), V.text = n[0], V.pivot.x = V.width / 2, V.pivot.y = V.height / 2, it = new e.Container, v(V, k.allText.flagText05W, k.allText.flagText05H), it.width = k.allText.flagText05W, it.height = k.allText.flagText05H, it.position.set(k.commonText.x1, k.commonText.y2), it.addChild(V), I.addChild(it), q = new e.Text, t.applyStyle(q, k.commonText), q.style.align = "center", d(q), q.text = n[1], q.pivot.x = q.width / 2, q.pivot.y = q.height / 2, nt = new e.Container, v(q, k.allText.flagText06W, k.allText.flagText06H), nt.width = k.allText.flagText06W, nt.height = k.allText.flagText06H, nt.position.set(k.commonText.x1, k.commonText.y3), nt.addChild(q), I.addChild(nt), J = new e.Text, t.applyStyle(J, k.flagText06), J.style.align = "center", d(J), J.text = r.i18n.splash.splashScreen.loadPage.flagBottom, J.pivot.x = J.width / 2, J.pivot.y = J.height / 2, ot = new e.Container, v(J, k.allText.flagText07W, k.allText.flagText07H), ot.width = k.allText.flagText07W, ot.height = k.allText.flagText07H, ot.x = Math.round(Number(k.canvas.width) / 2), ot.y = k.flagText06.y, ot.addChild(J), t.getSplashPixiContainer().addChild(ot), t.getSplashPixiContainer().addChild(D), t.getSplashPixiContainer().addChild(I)
            }

            function w() {
                "fr-CA" === P ? b() : T()
            }

            function S() {
                $ && $.removeChildren(), tt && tt.removeChildren(), et && et.removeChildren(), rt && rt.removeChildren(), it && it.removeChildren(), nt && nt.removeChildren(), ot && ot.removeChildren(), at && at.removeChildren(), st && st.removeChildren()
            }

            function E() {
                t.getSplashRender().resize(k.canvas.width, k.canvas.height)
            }

            function C() {
                E(), u(), h(), c(), y(), "mobile" !== M && "tablet" !== M || "portrait" !== gt ? _() : w()
            }
            var O, M, P, R, A, D, I, L, k, F, N, B, j, U, W, H, X, G, z, Y, V, q, J, K, Z, Q, $, tt, et, rt, it, nt, ot, at, st, lt, ut, ht = 1,
                ct = "slot",
                dt = 1,
                ft = !0,
                pt = !1,
                gt = "landscape";
            return function() {
                M = window.location.search.match(/&?assetPack=([^&]+)&?/)[1], P = window.location.search.match(/&?language=([^&]+)&?/)[1], O = document.createElement("div"), O.id = "gameImgDiv", document.body.appendChild(O), O.style.position = "absolute", O.style.backgroundSize = "contain", O.style.backgroundRepeat = "no-repeat", O.style.left = 0, R = document.createElement("div"), R.id = "featureTextDiv", document.body.appendChild(R), R.style.position = "absolute", R.style.textAlign = "center", A = document.createElement("div"), A.id = "copyRightDiv", document.body.appendChild(A), A.style.position = "absolute", A.style.width = "100%", A.style.textAlign = "center"
            }(), {
                onSplashLoadDone: function() {
                    i(), n();
                    var e = "";
                    ft && (e += "" === e ? r.i18n.splash.splashScreen.footer.shortVersion : "<br>" + r.i18n.splash.splashScreen.footer.shortVersion), A.innerHTML = e, s(), window.addEventListener("message", l, !1), window.addEventListener("resize", s), t.getTicker().start()
                },
                init: function(e) {
                    ct = e && e.layoutType ? e.layoutType : "slot", L = e.predefinedData, !1 === e.showCopyRight && (ft = e.showCopyRight), i(), t.addCanvas(k.canvas.width, k.canvas.height, document.body)
                },
                scale: o
            }
        }), define("splash", ["skbJet/component/resourceLoader/resourceLib", "skbJet/componentCRDC/splash/splashLoadController", "game/splashUIController"], function(t, e, r) {
            function i() {
                r.onSplashLoadDone(), window.postMessage("splashLoaded", window.location.origin)
            }
            var n = window.location.search.match(/&?assetPack=(\w+)&?/)[1],
                o = {
                    desktop: {
                        swirlName: "activityAnim",
                        splashLogoName: "loadLogo",
                        backgroundSize: "100% 100%",
                        close: "curtainClose",
                        flagLeft: "landscapeLoadingFlagA",
                        flagRight: "landscapeLoadingFlagB",
                        LoadingCrown: "landscapeLoadingCrown",
                        Crown: "landscapeLoadingBGCrown",
                        landscape: {
                            canvas: {
                                width: 1440,
                                height: 810,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 254,
                                height: 226,
                                y: 100
                            },
                            flagLeft: {
                                width: 498,
                                height: 113,
                                x: 220,
                                y: 420
                            },
                            flagRight: {
                                width: 498,
                                height: 113,
                                x: 760,
                                y: 420
                            },
                            LoadingCrown: {
                                x: 116,
                                y: 10
                            },
                            close: {
                                width: 1440,
                                height: 810,
                                top: 0,
                                animationSpeed: .4,
                                loop: !1,
                                left: 0
                            },
                            allText: {
                                flagText01W: 100,
                                flagText01H: 32,
                                flagText02W: 310,
                                flagText02H: 32,
                                flagText03W: 300,
                                flagText03H: 36,
                                flagText04W: 280,
                                flagText04H: 36,
                                flagText05W: 280,
                                flagText05H: 36,
                                flagText06W: 1e3,
                                flagText06H: 36,
                                flagText08W: 100,
                                flagText08H: 16,
                                flagText09W: 100,
                                flagText09H: 16,
                                flagText10W: 300,
                                flagText10H: 16,
                                flagText11W: 300,
                                flagText11H: 16
                            },
                            flagText01: {
                                x: 33,
                                y: 16,
                                style: {
                                    fontSize: 24,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText02: {
                                x: 160,
                                y: 16,
                                style: {
                                    fontSize: 24,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText06: {
                                y: 280,
                                style: {
                                    fontSize: 30,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            flagText08: {
                                x: 14,
                                y: 14,
                                style: {
                                    fontSize: 16,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText09: {
                                x: 14,
                                y: 28,
                                style: {
                                    fontSize: 16,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText10: {
                                x: 180,
                                y: 14,
                                style: {
                                    fontSize: 16,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText11: {
                                x: 180,
                                y: 32,
                                style: {
                                    fontSize: 16,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            commonText: {
                                y1: 68,
                                y2: 32,
                                y3: 68,
                                style: {
                                    fontSize: 28,
                                    fill: "#fcfc00",
                                    fontFamily: "Oswald",
                                    stroke: "#691563",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            gameImgDiv: {
                                width: 1440,
                                height: 810,
                                top: 0
                            },
                            progressSwirl: {
                                width: 106,
                                height: 106,
                                animationSpeed: .5,
                                loop: !0,
                                y: 680,
                                scale: {
                                    x: 1,
                                    y: 1
                                }
                            },
                            progressTextDiv: {
                                y: 680,
                                style: {
                                    fontSize: 25,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 1e3,
                                height: 187,
                                y: 320
                            },
                            copyRightDiv: {
                                bottom: 20,
                                fontSize: 18,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        },
                        portrait: {
                            canvas: {
                                width: 1440,
                                height: 810,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 254,
                                height: 226,
                                y: 100
                            },
                            flagLeft: {
                                width: 498,
                                height: 113,
                                x: 220,
                                y: 420
                            },
                            flagRight: {
                                width: 498,
                                height: 113,
                                x: 760,
                                y: 420
                            },
                            LoadingCrown: {
                                x: 116,
                                y: 10
                            },
                            close: {
                                width: 1440,
                                height: 810,
                                top: 0,
                                animationSpeed: .4,
                                loop: !1,
                                left: 0
                            },
                            allText: {
                                flagText01W: 100,
                                flagText01H: 32,
                                flagText02W: 310,
                                flagText02H: 32,
                                flagText03W: 300,
                                flagText03H: 36,
                                flagText04W: 280,
                                flagText04H: 36,
                                flagText05W: 280,
                                flagText05H: 36,
                                flagText06W: 1e3,
                                flagText06H: 36,
                                flagText08W: 100,
                                flagText08H: 16,
                                flagText09W: 100,
                                flagText09H: 16,
                                flagText10W: 300,
                                flagText10H: 16,
                                flagText11W: 300,
                                flagText11H: 16
                            },
                            flagText01: {
                                x: 33,
                                y: 16,
                                style: {
                                    fontSize: 24,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText02: {
                                x: 160,
                                y: 16,
                                style: {
                                    fontSize: 24,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText06: {
                                y: 280,
                                style: {
                                    fontSize: 30,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            flagText08: {
                                x: 14,
                                y: 14,
                                style: {
                                    fontSize: 16,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText09: {
                                x: 14,
                                y: 28,
                                style: {
                                    fontSize: 16,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText10: {
                                x: 180,
                                y: 14,
                                style: {
                                    fontSize: 16,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText11: {
                                x: 180,
                                y: 32,
                                style: {
                                    fontSize: 16,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            commonText: {
                                y1: 68,
                                y2: 32,
                                y3: 68,
                                style: {
                                    fontSize: 28,
                                    fill: "#fcfc00",
                                    fontFamily: "Oswald",
                                    stroke: "#691563",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            gameImgDiv: {
                                width: 1440,
                                height: 810,
                                top: 0
                            },
                            progressSwirl: {
                                width: 106,
                                height: 106,
                                animationSpeed: .5,
                                loop: !0,
                                y: 680,
                                scale: {
                                    x: 1,
                                    y: 1
                                }
                            },
                            progressTextDiv: {
                                y: 680,
                                style: {
                                    fontSize: 25,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 1e3,
                                height: 187,
                                y: 320
                            },
                            copyRightDiv: {
                                bottom: 20,
                                fontSize: 18,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        }
                    },
                    desktopmini: {
                        swirlName: "activityAnim",
                        splashLogoName: "loadLogo",
                        backgroundSize: "100% 100%",
                        close: "curtainClose",
                        Crown: "landscapeLoadingBGCrown",
                        landscape: {
                            canvas: {
                                width: 480,
                                height: 320,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 162,
                                height: 151,
                                y: 50
                            },
                            close: {
                                width: 480,
                                height: 320,
                                top: 0,
                                animationSpeed: .4,
                                loop: !1,
                                left: 0
                            },
                            allText: {
                                flagText06W: 440,
                                flagText06H: 25
                            },
                            flagText06: {
                                y: 100,
                                style: {
                                    fontSize: 20,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            gameImgDiv: {
                                width: 480,
                                height: 320,
                                top: 0
                            },
                            progressSwirl: {
                                width: 44,
                                height: 44,
                                animationSpeed: .5,
                                loop: !0,
                                y: 260
                            },
                            progressTextDiv: {
                                y: 260,
                                style: {
                                    fontSize: 12,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 455,
                                height: 88,
                                y: 140
                            },
                            copyRightDiv: {
                                bottom: 0,
                                fontSize: 15,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        },
                        portrait: {
                            canvas: {
                                width: 480,
                                height: 320,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 162,
                                height: 151,
                                y: 50
                            },
                            close: {
                                width: 480,
                                height: 320,
                                top: 0,
                                animationSpeed: .4,
                                loop: !1,
                                left: 0
                            },
                            allText: {
                                flagText06W: 440,
                                flagText06H: 25
                            },
                            flagText06: {
                                y: 100,
                                style: {
                                    fontSize: 20,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            gameImgDiv: {
                                width: 480,
                                height: 320,
                                top: 0
                            },
                            progressSwirl: {
                                width: 44,
                                height: 44,
                                animationSpeed: .5,
                                loop: !0,
                                y: 260
                            },
                            progressTextDiv: {
                                y: 260,
                                style: {
                                    fontSize: 12,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 455,
                                height: 88,
                                y: 140
                            },
                            copyRightDiv: {
                                bottom: 0,
                                fontSize: 15,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        }
                    },
                    tabletmini: {
                        swirlName: "activityAnim",
                        splashLogoName: "loadLogo",
                        backgroundSize: "100% 100%",
                        close: "curtainClose",
                        Crown: "landscapeLoadingBGCrown",
                        landscape: {
                            canvas: {
                                width: 480,
                                height: 320,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 162,
                                height: 151,
                                y: 50
                            },
                            close: {
                                width: 480,
                                height: 320,
                                top: 0,
                                animationSpeed: .4,
                                loop: !1,
                                left: 0
                            },
                            allText: {
                                flagText06W: 440,
                                flagText06H: 25
                            },
                            flagText06: {
                                y: 100,
                                style: {
                                    fontSize: 20,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            gameImgDiv: {
                                width: 480,
                                height: 320,
                                top: 0
                            },
                            progressSwirl: {
                                width: 44,
                                height: 44,
                                animationSpeed: .5,
                                loop: !0,
                                y: 260
                            },
                            progressTextDiv: {
                                y: 260,
                                style: {
                                    fontSize: 12,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 455,
                                height: 88,
                                y: 140
                            },
                            copyRightDiv: {
                                bottom: 0,
                                fontSize: 15,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        },
                        portrait: {
                            canvas: {
                                width: 480,
                                height: 320,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 162,
                                height: 151,
                                y: 50
                            },
                            close: {
                                width: 480,
                                height: 320,
                                top: 0,
                                animationSpeed: .4,
                                loop: !1,
                                left: 0
                            },
                            allText: {
                                flagText06W: 440,
                                flagText06H: 25
                            },
                            flagText06: {
                                y: 100,
                                style: {
                                    fontSize: 20,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            gameImgDiv: {
                                width: 480,
                                height: 320,
                                top: 0
                            },
                            progressSwirl: {
                                width: 44,
                                height: 44,
                                animationSpeed: .5,
                                loop: !0,
                                y: 260
                            },
                            progressTextDiv: {
                                y: 260,
                                style: {
                                    fontSize: 12,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 455,
                                height: 88,
                                y: 140
                            },
                            copyRightDiv: {
                                bottom: 0,
                                fontSize: 15,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        }
                    },
                    tablet: {
                        swirlName: "activityAnim",
                        splashLogoName: "loadLogo",
                        backgroundSize: "100% 100%",
                        close: "curtainClose",
                        flagLeft: "landscapeLoadingFlagA",
                        flagRight: "landscapeLoadingFlagB",
                        LoadingCrown: "landscapeLoadingCrown",
                        Crown: "landscapeLoadingBGCrown",
                        portraitClose: "curtainClosePortrait",
                        portraitFlagLeft: "portraitLoadingFlagA",
                        portraitFlagRight: "portraitLoadingFlagB",
                        landscape: {
                            canvas: {
                                width: 1440,
                                height: 810,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 254,
                                height: 226,
                                y: 100
                            },
                            flagLeft: {
                                width: 498,
                                height: 113,
                                x: 220,
                                y: 420
                            },
                            flagRight: {
                                width: 498,
                                height: 113,
                                x: 760,
                                y: 420
                            },
                            LoadingCrown: {
                                x: 116,
                                y: 10
                            },
                            allText: {
                                flagText01W: 100,
                                flagText01H: 32,
                                flagText02W: 310,
                                flagText02H: 32,
                                flagText03W: 300,
                                flagText03H: 36,
                                flagText04W: 300,
                                flagText04H: 36,
                                flagText05W: 300,
                                flagText05H: 36,
                                flagText06W: 800,
                                flagText06H: 36,
                                flagText08W: 180,
                                flagText08H: 16,
                                flagText09W: 180,
                                flagText09H: 16,
                                flagText10W: 360,
                                flagText10H: 14,
                                flagText11W: 360,
                                flagText11H: 14
                            },
                            close: {
                                width: 1440,
                                height: 810,
                                top: 0,
                                animationSpeed: .4,
                                loop: !1,
                                left: 0
                            },
                            flagText01: {
                                x: 34,
                                y: 15,
                                style: {
                                    fontSize: 24,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText02: {
                                x: 160,
                                y: 15,
                                style: {
                                    fontSize: 24,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText06: {
                                y: 280,
                                style: {
                                    fontSize: 30,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            flagText08: {
                                x: 12,
                                y: 12,
                                style: {
                                    fontSize: 14,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText09: {
                                x: 12,
                                y: 26,
                                style: {
                                    fontSize: 14,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText10: {
                                x: 180,
                                y: 10,
                                style: {
                                    fontSize: 14,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText11: {
                                x: 180,
                                y: 26,
                                style: {
                                    fontSize: 14,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            commonText: {
                                y1: 68,
                                y2: 32,
                                y3: 68,
                                style: {
                                    fontSize: 28,
                                    fill: "#fcfc00",
                                    fontFamily: "Oswald",
                                    stroke: "#691563",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            gameImgDiv: {
                                width: 1440,
                                height: 810,
                                top: 0
                            },
                            progressSwirl: {
                                width: 106,
                                height: 106,
                                animationSpeed: .5,
                                loop: !0,
                                y: 680,
                                scale: {
                                    x: 1,
                                    y: 1
                                }
                            },
                            progressTextDiv: {
                                y: 680,
                                style: {
                                    fontSize: 25,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 1e3,
                                height: 187,
                                y: 320
                            },
                            copyRightDiv: {
                                bottom: 20,
                                fontSize: 18,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        },
                        portrait: {
                            canvas: {
                                width: 1080,
                                height: 1440,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 256,
                                height: 228,
                                y: 180,
                                scale: {
                                    x: 1.6,
                                    y: 1.6
                                }
                            },
                            flagLeft: {
                                width: 385,
                                height: 205,
                                x: 120,
                                y: 600
                            },
                            flagRight: {
                                width: 385,
                                height: 205,
                                x: 560,
                                y: 600
                            },
                            allText: {
                                flagText01W: 146,
                                flagText01H: 36,
                                flagText02W: 100,
                                flagText02H: 36,
                                flagText03W: 300,
                                flagText03H: 45,
                                flagText04W: 300,
                                flagText04H: 36,
                                flagText05W: 190,
                                flagText05H: 45,
                                flagText06W: 190,
                                flagText06H: 45,
                                flagText07W: 700,
                                flagText07H: 58,
                                flagText08W: 200,
                                flagText08H: 14,
                                flagText09W: 200,
                                flagText09H: 23,
                                flagText10W: 200,
                                flagText10H: 23,
                                flagText11W: 200,
                                flagText11H: 23
                            },
                            LoadingCrown: {
                                x: 200,
                                y: 32,
                                width: 50,
                                height: 44,
                                scale: {
                                    x: 1.2,
                                    y: 1.2
                                }
                            },
                            close: {
                                width: 1080,
                                height: 1440,
                                x: 0,
                                y: -1440,
                                v: 30
                            },
                            flagText01: {
                                x: 60,
                                y: 28,
                                style: {
                                    fontSize: 28,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText02: {
                                x: 156,
                                y: 28,
                                style: {
                                    fontSize: 28,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText06: {
                                y: 500,
                                style: {
                                    fontSize: 50,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            flagText07: {
                                y: 52,
                                style: {
                                    fontSize: 28,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText08: {
                                x: 50,
                                y: 38,
                                style: {
                                    fontSize: 18,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText09: {
                                x: 50,
                                y: 64,
                                style: {
                                    fontSize: 18,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText10: {
                                x: 260,
                                y: 38,
                                style: {
                                    fontSize: 18,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText11: {
                                x: 260,
                                y: 64,
                                style: {
                                    fontSize: 18,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            commonText: {
                                y1: 150,
                                y2: 75,
                                y3: 125,
                                x1: 200,
                                x2: 200,
                                style: {
                                    fontSize: 36,
                                    fill: "#fcfc00",
                                    fontFamily: "Oswald",
                                    stroke: "#691563",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            gameImgDiv: {
                                width: 810,
                                height: 1440,
                                top: 0
                            },
                            progressSwirl: {
                                width: 106,
                                height: 106,
                                animationSpeed: .5,
                                loop: !0,
                                y: 1240,
                                scale: {
                                    x: 1.7,
                                    y: 1.7
                                }
                            },
                            progressTextDiv: {
                                y: 1240,
                                style: {
                                    fontSize: 50,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 1002,
                                height: 189,
                                y: 500,
                                scale: {
                                    x: 1,
                                    y: 1
                                }
                            },
                            copyRightDiv: {
                                bottom: 20,
                                fontSize: 36,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        }
                    },
                    mobile: {
                        swirlName: "activityAnim",
                        splashLogoName: "loadLogo",
                        backgroundSize: "100% 100%",
                        LoadingCrown: "landscapeLoadingCrown",
                        Crown: "landscapeLoadingBGCrown",
                        close: "curtainClose",
                        flagLeft: "landscapeLoadingFlagA",
                        flagRight: "landscapeLoadingFlagB",
                        portraitClose: "curtainClosePortrait",
                        portraitFlagLeft: "portraitLoadingFlagA",
                        portraitFlagRight: "portraitLoadingFlagB",
                        landscape: {
                            canvas: {
                                width: 960,
                                height: 540,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 169,
                                height: 153,
                                y: 60
                            },
                            flagLeft: {
                                width: 335,
                                height: 78,
                                x: 120,
                                y: 290
                            },
                            flagRight: {
                                width: 335,
                                height: 78,
                                x: 520,
                                y: 290
                            },
                            LoadingCrown: {
                                x: 80,
                                y: 6
                            },
                            allText: {
                                flagText01W: 70,
                                flagText01H: 22,
                                flagText02W: 204,
                                flagText02H: 22,
                                flagText03W: 260,
                                flagText03H: 23,
                                flagText04W: 180,
                                flagText04H: 23,
                                flagText05W: 180,
                                flagText05H: 23,
                                flagText06W: 800,
                                flagText06H: 30,
                                flagText08W: 80,
                                flagText08H: 16,
                                flagText09W: 80,
                                flagText09H: 16,
                                flagText10W: 260,
                                flagText10H: 14,
                                flagText11W: 260,
                                flagText11H: 14
                            },
                            close: {
                                width: 960,
                                height: 540,
                                top: 0,
                                animationSpeed: .4,
                                loop: !1,
                                left: 0
                            },
                            flagText01: {
                                x: 23,
                                y: 10,
                                style: {
                                    fontSize: 14,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText02: {
                                x: 107,
                                y: 10,
                                style: {
                                    fontSize: 14,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText06: {
                                y: 190,
                                style: {
                                    fontSize: 24,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            flagText08: {
                                x: 10,
                                y: 10,
                                style: {
                                    fontSize: 10,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText09: {
                                x: 10,
                                y: 20,
                                style: {
                                    fontSize: 10,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText10: {
                                x: 110,
                                y: 10,
                                style: {
                                    fontSize: 10,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText11: {
                                x: 110,
                                y: 20,
                                style: {
                                    fontSize: 10,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            commonText: {
                                y1: 46,
                                y2: 20,
                                y3: 46,
                                style: {
                                    fontSize: 18,
                                    fill: "#fcfc00",
                                    fontFamily: "Oswald",
                                    stroke: "#691563",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            gameImgDiv: {
                                width: 960,
                                height: 540,
                                top: 0
                            },
                            progressSwirl: {
                                width: 72,
                                height: 72,
                                animationSpeed: .5,
                                loop: !0,
                                y: 450
                            },
                            progressTextDiv: {
                                y: 450,
                                style: {
                                    fontSize: 20,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 667,
                                height: 124,
                                y: 220
                            },
                            copyRightDiv: {
                                bottom: 20,
                                fontSize: 18,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        },
                        portrait: {
                            canvas: {
                                width: 540,
                                height: 960,
                                landscapeMargin: 0
                            },
                            Crown: {
                                width: 171,
                                height: 155,
                                y: 140,
                                scale: {
                                    x: 1.9,
                                    y: 1.9
                                }
                            },
                            flagLeft: {
                                width: 258,
                                height: 137,
                                x: 6,
                                y: 400
                            },
                            flagRight: {
                                width: 335,
                                height: 137,
                                x: 266,
                                y: 400
                            },
                            allText: {
                                flagText01W: 100,
                                flagText01H: 23,
                                flagText02W: 70,
                                flagText02H: 23,
                                flagText03W: 200,
                                flagText03H: 30,
                                flagText04W: 200,
                                flagText04H: 23,
                                flagText05W: 130,
                                flagText05H: 30,
                                flagText06W: 130,
                                flagText06H: 30,
                                flagText07W: 460,
                                flagText07H: 34,
                                flagText08W: 100,
                                flagText08H: 14,
                                flagText09W: 100,
                                flagText09H: 23,
                                flagText10W: 60,
                                flagText10H: 23,
                                flagText11W: 60,
                                flagText11H: 23
                            },
                            LoadingCrown: {
                                x: 132,
                                y: 26,
                                width: 34,
                                height: 30,
                                scale: {
                                    x: 1.2,
                                    y: 1.2
                                }
                            },
                            close: {
                                width: 540,
                                height: 960,
                                x: 0,
                                y: -960,
                                v: 40
                            },
                            flagText01: {
                                x: 40,
                                y: 21,
                                style: {
                                    fontSize: 18,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText02: {
                                x: 103,
                                y: 21,
                                style: {
                                    fontSize: 18,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText06: {
                                y: 300,
                                style: {
                                    fontSize: 28,
                                    fill: ["#fff600"],
                                    fontFamily: '"Oswald"',
                                    stroke: "#000000",
                                    strokeThickness: 3,
                                    miterLimit: 2
                                }
                            },
                            flagText07: {
                                y: 36,
                                style: {
                                    fontSize: 18,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText08: {
                                x: 30,
                                y: 24,
                                style: {
                                    fontSize: 12,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText09: {
                                x: 30,
                                y: 40,
                                style: {
                                    fontSize: 12,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText10: {
                                x: 170,
                                y: 26,
                                style: {
                                    fontSize: 12,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            flagText11: {
                                x: 170,
                                y: 40,
                                style: {
                                    fontSize: 12,
                                    fill: "#fcfc00",
                                    fontFamily: '"Oswald"',
                                    stroke: "#691563 ",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            commonText: {
                                y1: 100,
                                y2: 50,
                                y3: 90,
                                x1: 134,
                                x2: 134,
                                style: {
                                    fontSize: 22,
                                    fill: "#fcfc00",
                                    fontFamily: "Oswald",
                                    stroke: "#691563",
                                    strokeThickness: 3,
                                    miterLimit: 2,
                                    dropShadow: !0,
                                    dropShadowColor: "#000000",
                                    dropShadowBlur: 1,
                                    dropShadowAngle: Math.PI / 2,
                                    dropShadowDistance: 2
                                }
                            },
                            gameImgDiv: {
                                width: 540,
                                height: 960,
                                top: 0
                            },
                            progressSwirl: {
                                width: 72,
                                height: 72,
                                animationSpeed: .5,
                                loop: !0,
                                y: 780,
                                scale: {
                                    x: 2,
                                    y: 2
                                }
                            },
                            progressTextDiv: {
                                y: 780,
                                style: {
                                    fontSize: 36,
                                    fill: "#ffffff",
                                    fontFamily: '"Oswald"'
                                }
                            },
                            gameLogoDiv: {
                                width: 667,
                                height: 124,
                                y: 340,
                                scale: {
                                    x: .8,
                                    y: .8
                                }
                            },
                            copyRightDiv: {
                                bottom: 20,
                                fontSize: 18,
                                color: "#FFFFFF",
                                fontFamily: '"Oswald"'
                            }
                        }
                    }
                };
            return function() {
                r.init({
                    predefinedData: o[n]
                }), e.load(i)
            }(), {}
        })
}();